Skip to content
Back to skills

Issue Creation Pro

ASecurity

Creates extraordinary quality GitHub issues with rich Mermaid diagrams, contextual labels, emojis, deep technical analysis, and comprehensive documentation. Trigger: When user asks to create an issue, report a bug, file a feature request, or open a ticket.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsgobashnodedebugginggitapifrontendbackendsecurityperformance

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add alvaroofernaandez/dotfiles --skill issue-creation-pro --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Issue Creation Pro?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Issue Creation Pro
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alvaroofernaandez-issue-creation-pro/badge)](https://www.skillsdirectory.com/skills/alvaroofernaandez-issue-creation-pro)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: issue-creation-pro
description: >
  Creates extraordinary quality GitHub issues with rich Mermaid diagrams, contextual labels,
  emojis, deep technical analysis, and comprehensive documentation.
  Trigger: When user asks to create an issue, report a bug, file a feature request, or open a ticket.
license: Apache-2.0
metadata:
  author: gentleman-programming
  version: "2.0"
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, Agent
---

# Skill: issue-creation-pro

## When to Use

Activate this skill whenever the user mentions:
- Creating an issue / opening a ticket / reporting a bug / requesting a feature
- Filing an issue on any GitHub repository
- Any variation of "haz una issue", "abre un ticket", "reporta esto"

---

## Philosophy: Issues Are Documentation

An issue is NOT a todo item. It's a **living technical document** that:
- Tells the FULL story to someone who has zero context
- Explains WHY this matters, not just WHAT is broken
- Provides a clear mental model via diagrams
- Gives actionable next steps for debugging/implementation

---

## Non-Negotiable Rules

1. **ALWAYS search for duplicates first** — `gh issue list --repo OWNER/REPO --state all --search "keywords"`
2. **ALWAYS include labels** with proper colors (ensure they exist with `--force`)
3. **ALWAYS include emojis** in section headers and throughout the body
4. **ALWAYS include multiple Mermaid diagrams** — minimum 3, aim for 5+
5. **ALWAYS use colorful, themed Mermaid configs** with `%%{init}%%` blocks
6. **ALWAYS explain the WHY** — not just what's broken, but why it matters and what impact it has
7. **ALWAYS include a severity/priority assessment** at the end
8. **ALWAYS write the issue body via HEREDOC** to preserve formatting
9. **NEVER create a bare/minimal issue** — every issue should be a comprehensive technical document
10. **NEVER guess root cause without evidence** — present hypotheses, not conclusions

---

## Mermaid Diagram Requirements

### Every issue MUST include diagrams from these categories:

| Type | When to Use | Mermaid Type |
|------|-------------|--------------|
| **Flow Analysis** | Always for bugs | `sequenceDiagram` or `flowchart` |
| **State Machine** | When states/transitions involved | `stateDiagram-v2` |
| **Root Cause Tree** | Always for bugs | `flowchart TB` with subgraphs |
| **Timeline** | When timing matters | `gantt` |
| **Data Flow** | When data transformation involved | `flowchart LR` with subgraphs |
| **Decision Tree** | For debugging guidance | `flowchart TD` |
| **Architecture** | For feature requests | `flowchart` or `C4Context` |
| **Component Interaction** | For integration issues | `sequenceDiagram` |

### Mermaid Styling Rules

Every diagram MUST use custom theming via `%%{init}%%` for visual richness:

```
%%{init: {'theme': 'base', 'themeVariables': {
  'primaryColor': '#COLOR',
  'primaryTextColor': '#COLOR',
  'primaryBorderColor': '#COLOR',
  'lineColor': '#COLOR',
  'secondaryColor': '#COLOR',
  'tertiaryColor': '#COLOR'
}}}%%
```

Use DIFFERENT color palettes for each diagram — never repeat the same theme:

| Palette Name | Primary | Secondary | Line | Use For |
|-------------|---------|-----------|------|---------|
| Ocean | `#0ea5e9` | `#f43f5e` | `#a855f7` | Data flow, architecture |
| Sunset | `#f59e0b` | `#8b5cf6` | `#ec4899` | Root cause analysis |
| Forest | `#10b981` | `#3b82f6` | `#f97316` | Happy path flows |
| Royal | `#7c3aed` | `#06b6d4` | `#f59e0b` | Decision trees |
| Indigo | `#6366f1` | `#14b8a6` | `#f43f5e` | Timelines, sequences |
| Cherry | `#e11d48` | `#8b5cf6` | `#22c55e` | Error flows, alerts |

### Subgraph Styling

Always style subgraphs with fill colors, borders, and stroke width:

```
style SUBGRAPH_NAME fill:#color,stroke:#color,stroke-width:2px
```

### Diagram Size

Diagrams should be LARGE and detailed — include:
- Descriptive node labels with line breaks (`<br/>`)
- Emoji in node labels where appropriate
- Notes and annotations
- Color-coded paths (happy path vs error path)

---

## Issue Structure

### Bug Reports

```md
## 🚨 Descripción

[2-3 sentences explaining what's happening and why it's wrong]

---

## 🔁 Reproducción

1. Step by step
2. With exact commands/actions
3. Including environment details

---

## 📦 Evidencia

[Response payloads, logs, error messages — in code blocks]

---

## 🔍 Análisis de campos / datos

[Table comparing actual vs expected values — highlight anomalies]

| Campo | Valor Actual | Valor Esperado | ⚠️ Problema |
|-------|-------------|----------------|-------------|

---

## 🗺️ Flujo esperado vs flujo real

[sequenceDiagram showing BOTH happy path and actual bug path in the same diagram]

---

## 📊 State Machine / Estados

[stateDiagram-v2 showing state transitions with the bug highlighted]

---

## 🧠 Hipótesis de causa raíz

[flowchart TB with subgraphs — one per hypothesis, each with reasoning chain]

---

## ⏱️ Timeline

[gantt chart showing timing of events if relevant]

---

## 🔄 Flujo de datos

[flowchart LR showing data transformations with subgraphs per layer]

---

## 🧭 Árbol de decisión para debugging

[flowchart TD with decision nodes and fix recommendations]

---

## 📋 Contexto

[Table with all relevant metadata — IDs, environment, versions, timestamps]

---

## 🎯 Dato clave

[One paragraph highlighting THE most important observation — the smoking gun]

---

## 🔴 Severidad

**[Alta/Media/Baja]** — [Why this severity, what's the business impact]
```

### Feature Requests

```md
## 💡 Descripción

[What feature is needed and WHY it matters]

---

## 🎯 Problema que resuelve

[The pain point — with concrete examples]

---

## 🏗️ Propuesta de implementación

[High-level approach with architecture diagrams]

---

## 🗺️ Flujo de usuario propuesto

[sequenceDiagram showing the user interaction flow]

---

## 📊 Modelo de datos

[Entity relationship or data flow diagram]

---

## 🔄 Integración con sistema existente

[flowchart showing how this fits into the current architecture]

---

## ✅ Criterios de aceptación

- [ ] Criterion 1
- [ ] Criterion 2

---

## 🧭 Alternativas consideradas

[Table with alternatives, pros, cons]

---

## 🔴 Prioridad

**[Alta/Media/Baja]** — [Why this priority]
```

---

## Label Policy

### Always ensure labels exist before assigning:

```bash
gh label create "LABEL" --repo "OWNER/REPO" --color "COLOR" --description "DESC" --force
```

### Label Matrix

| Context | Label | Color | Emoji |
|---------|-------|-------|-------|
| Bug | `bug` | `d73a4a` | 🐛 |
| Security | `security` | `b60205` | 🔒 |
| Enhancement | `enhancement` | `a2eeef` | ✨ |
| Feature | `feature` | `1d76db` | 🚀 |
| Backend | `backend` | `0e8a16` | ⚙️ |
| Frontend | `frontend` | `5319e7` | 🖥️ |
| Performance | `performance` | `fbca04` | ⚡ |
| DevEx | `developer-experience` | `c2e0c6` | 🛠️ |
| Priority High | `priority:high` | `b60205` | 🔴 |
| Priority Medium | `priority:medium` | `fbca04` | 🟡 |
| Priority Low | `priority:low` | `0e8a16` | 🟢 |
| Needs Review | `status:needs-review` | `ededed` | 👀 |
| Documentation | `documentation` | `0075ca` | 📚 |
| Infrastructure | `infrastructure` | `d4c5f9` | 🏗️ |

### Minimum labels per issue type:

- **Bug**: `bug` + domain (`backend`/`frontend`) + priority
- **Feature**: `feature` + domain + priority
- **Enhancement**: `enhancement` + domain

---

## Complete Workflow

### 1. Search duplicates

```bash
gh issue list --repo "OWNER/REPO" --state all --search "keyword1 keyword2"
```

### 2. Determine repo

- Check engram memory for repo URLs
- Check git remote if in a related project
- Check GitHub org repos: `gh repo list ORG --limit 20`
- ASK the user if truly unknown

### 3. Ensure labels exist

```bash
gh label create "bug" --repo "OWNER/REPO" --color "d73a4a" --description "Something isn't working" --force
gh label create "backend" --repo "OWNER/REPO" --color "0e8a16" --description "Server/API scope" --force
gh label create "priority:high" --repo "OWNER/REPO" --color "b60205" --description "Urgent" --force
```

### 4. Create the issue

ALWAYS use HEREDOC for the body to preserve Mermaid formatting:

```bash
gh issue create --repo "OWNER/REPO" \
  --title "fix(scope): descriptive title" \
  --label "bug" \
  --label "backend" \
  --label "priority:high" \
  --body "$(cat <<'ISSUE_EOF'
[FULL ISSUE BODY HERE]
ISSUE_EOF
)"
```

### 5. Verify

```bash
gh issue view <number> --repo "OWNER/REPO" --json title,labels,url
```

---

## Quality Checklist

Before submitting any issue, verify:

- [ ] Title uses conventional format: `fix(scope):` / `feat(scope):` / `chore(scope):`
- [ ] At least 3 Mermaid diagrams with different color themes
- [ ] All diagrams use `%%{init}%%` custom theming
- [ ] Tables with field analysis (actual vs expected)
- [ ] Emojis in all section headers
- [ ] Labels created with correct colors
- [ ] Severity/priority assessment with business impact reasoning
- [ ] "Dato clave" section highlighting the smoking gun
- [ ] No root cause claimed without evidence — only hypotheses
- [ ] Issue is self-contained — reader needs ZERO prior context

---

## Anti-Patterns

- ❌ Bare issues with just a title and one sentence
- ❌ Mermaid diagrams without custom theming (default gray is unacceptable)
- ❌ All diagrams using the same color palette
- ❌ Missing labels or labels without proper colors
- ❌ Stating root cause as fact without evidence
- ❌ Missing severity assessment
- ❌ No diagrams at all
- ❌ Using `--body` inline for complex issues (use HEREDOC)
- ❌ Forgetting to search for duplicates first
- ❌ Skipping the Agent Instructions section at the end

---

## Agent Instructions Section (MANDATORY — always append at the end)

Every issue MUST end with a collapsible `<details>` block containing:
1. A machine-readable **SDD spec seed** — acceptance criteria extracted from the issue, ready to feed into `sdd-spec`
2. A **ready-to-run prompt** for Claude Code / OpenCode to kick off the full SDD cycle
3. A **quick-start command block** the developer can copy-paste immediately

### Template to append (adapt content to the actual issue)

````markdown
---

<details>
<summary>🤖 Agent Instructions — Claude Code / OpenCode</summary>

## 📋 SDD Spec Seed

> Pre-extracted acceptance criteria from this issue. Feed directly into `/issue-sdd <N>` or paste into `sdd-spec`.

### Acceptance Criteria

| ID | Criterio | Verificable con |
|----|----------|-----------------|
| AC-1 | [Extraído del comportamiento esperado #1] | [Test / inspección visual / curl] |
| AC-2 | [Extraído del comportamiento esperado #2] | [Test / inspección visual / curl] |
| AC-N | [...] | [...] |

### Escenarios de regresión

- El comportamiento actual que ya funciona MUST NOT break: [listar]
- Tests existentes que deben seguir en verde: [listar archivos si se conocen]

### Scope

**IN**: [qué entra exactamente en este issue]
**OUT**: [qué NO entra — refactors, otros módulos, mejoras futuras]

---

## 🚀 Claude Code / OpenCode — Quick Start

Para planificar e implementar este issue con SDD completo, ejecuta en Claude Code u OpenCode:

```
/issue-sdd <N>
```

Esto arranca el ciclo completo: **explore → propose → spec → design → tasks** con análisis exhaustivo del codebase antes de tocar una sola línea.

---

## 🧠 Prompt para implementación directa (sin SDD)

Si prefieres implementar sin el ciclo SDD completo, usa este prompt como punto de partida:

```
Implementa el fix del issue #<N>: <título del issue>

Contexto clave:
- Archivos afectados: [lista de archivos con rutas]
- Root cause: [causa raíz identificada en el issue]
- Fix propuesto: [descripción del fix]

Reglas obligatorias:
1. Lee cada archivo COMPLETO antes de editar.
2. Sigue los patrones existentes del proyecto.
3. Añade o actualiza tests para el path afectado.
4. No rompas comportamiento existente — ejecuta los tests al final.
5. No hagas git commit — solo implementa y reporta qué cambiaste.
```

---

## 🔗 Referencias útiles

- Issue: `gh issue view <N> --repo OWNER/REPO`
- SDD skill: `/issue-sdd <N>`
- Pre-PR gate: `tools/pre_pr_runtime_gate.sh`

</details>
````

### Rules for filling the template

1. **AC table**: extract one row per acceptance criterion from «Comportamiento esperado» or «Criterios de aceptación». Make each AC independently verifiable.
2. **Regresiones**: list the existing behaviour that must NOT break — pull from «Comportamiento actual» (the parts that work) and known related tests.
3. **Scope IN/OUT**: derive directly from the issue's explicit fix proposal. If the issue says "only change X", OUT must say "no refactor of Y".
4. **Quick-start command**: always `issue-sdd <N>` — this is non-negotiable. Replace `<N>` with the actual issue number after creating it.
5. **Direct implementation prompt**: summarise root cause + fix in 2-3 lines. Pull from «💡 Fix propuesto» and «🎯 Dato clave» sections.
6. **Never invent** file paths or root causes — use only what the issue body already states.
7. The `<details>` block must be **collapsed by default** — it's for agents, not humans skimming the issue.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.