Claude-skill-registry github-issue-reader

Lit et analyse une issue GitHub pour extraire les requirements, critères d'acceptance et contexte. Utiliser quand on démarre une feature, quand on mentionne une issue GitHub, ou quand on a besoin de comprendre les specs d'une tâche.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/github-issue-reader" ~/.claude/skills/majiayu000-claude-skill-registry-github-issue-reader && rm -rf "$T"
manifest: skills/data/github-issue-reader/SKILL.md
source content

GitHub Issue Reader

📥 Contexte à charger

Au démarrage, récupérer l'issue GitHub demandée.

ContextePattern/ActionPriorité
Issue demandée
Bash: gh issue view $ARGUMENTS --json ...
ou MCP
mcp__github__get_issue
Requis
PRs liées
Bash: gh pr list --search "linked:$ARGUMENTS"
Optionnel

Instructions de chargement

  1. Récupérer l'issue via
    gh issue view
    ou
    mcp__github__get_issue
  2. Extraire : number, title, body, state, labels, assignees, milestone, comments
  3. Si CLI échoue → fallback sur MCP GitHub
  4. Chercher les PRs liées pour contexte supplémentaire
  5. STOP si issue non trouvée → demander à l'utilisateur

Activation

Avant de lire une issue :

  1. Vérifier le contexte chargé ci-dessus
  2. Si ⚠️ erreur → utiliser
    mcp__github__get_issue
    comme fallback
  3. Identifier le type : nouvelle feature, bug fix, refactoring ?
  4. STOP si pas d'issue → Demander quelle issue analyser

Rôle & Principes

Rôle : Analyste qui transforme une issue GitHub en requirements clairs et actionnables.

Principes :

  • Extraction complète - Ne rien oublier (description, labels, commentaires, linked issues)
  • Clarification proactive - Identifier les ambiguïtés AVANT le dev
  • Structure standardisée - Output toujours dans le même format
  • Context preservation - Garder le lien avec l'issue originale

Règles :

  • ⛔ Ne JAMAIS ignorer les commentaires (souvent des précisions cruciales)
  • ⛔ Ne JAMAIS inventer des requirements non présents
  • ⛔ Ne JAMAIS passer aux étapes suivantes avec des questions ouvertes critiques
  • ✅ Toujours lister les questions/ambiguïtés détectées
  • ✅ Toujours vérifier les linked issues et PRs
  • ✅ Toujours noter le contexte (milestone, assignee, labels)

Process

1. Récupération

Collecter toutes les données :

- [ ] Titre de l'issue
- [ ] Description complète (body)
- [ ] Labels
- [ ] Assignee(s)
- [ ] Milestone
- [ ] Linked issues/PRs
- [ ] Commentaires (tous)

Méthodes d'accès :

  • Via MCP GitHub :
    mcp__github__get_issue
  • Via URL directe : Parse le contenu
  • Via CLI :
    gh issue view #NUM

2. Analyse

Catégoriser l'issue :

TypeIndicateursFocus
Feature
enhancement
,
feature
Requirements fonctionnels
Bug
bug
,
fix
Steps to reproduce, expected vs actual
Refactoring
refactor
,
tech-debt
Scope et contraintes
Chore
chore
,
maintenance
Tâche spécifique

Extraire les éléments clés :

  • Requirements explicites (ce qui est demandé)
  • Requirements implicites (standards, conventions)
  • Critères d'acceptance (si présents)
  • Contraintes techniques (si mentionnées)

3. Identification des ambiguïtés

Questions à se poser :

  • Qui est l'utilisateur cible ?
  • Quels sont les edge cases ?
  • Y a-t-il des dépendances bloquantes ?
  • Le scope est-il clairement délimité ?
  • Les critères de "done" sont-ils définis ?

Classifier les questions :

NiveauAction
🔴 BloquantDemander clarification AVANT de continuer
🟡 ImportantNoter, proposer une assumption
🟢 MineurNoter pour référence

4. Structuration

Produire l'output standardisé (voir template ci-dessous)

⏸️ STOP - Attendre validation avant de passer au codebase-explainer


Output Template

## Issue #[NUM]: [TITRE]

### 📋 Contexte
**Type:** Feature | Bug | Refactoring | Chore
**Source:** [Lien vers l'issue]

[Résumé en 2-3 phrases du problème ou de la demande]

### ✅ Requirements extraits

**Fonctionnels:**
- [ ] REQ-1: [Description claire]
- [ ] REQ-2: [Description claire]
- [ ] REQ-3: [Description claire]

**Non-fonctionnels:**
- [ ] Performance: [Si mentionné]
- [ ] Sécurité: [Si mentionné]
- [ ] UX: [Si mentionné]

### 🎯 Critères d'acceptance

```gherkin
Given [contexte initial]
When [action utilisateur]
Then [résultat attendu]

Checklist:

  1. [Critère vérifiable 1]
  2. [Critère vérifiable 2]
  3. [Critère vérifiable 3]

📊 Metadata

AttributValeur
Labels[labels]
Assignee[si assigné]
Milestone[si défini]
Priority[P0-P3 si détectable]

❓ Questions ouvertes

🔴 Bloquantes:

  • [Question critique nécessitant réponse]

🟡 Importantes:

  • [Question avec assumption proposée] → Assumption: [proposition]

🟢 Mineures:

  • [Question pour référence]

🔗 Dépendances

Issues liées:

  • #[NUM] - [Relation: blocks/blocked by/related]

PRs liées:

  • #[NUM] - [Status]

📝 Notes des commentaires

[Résumé des précisions importantes issues des commentaires]


---

## Checklist de validation

```markdown
### Validation Issue Reader

- [ ] Tous les requirements sont extraits
- [ ] Les ambiguïtés sont listées avec niveau de criticité
- [ ] Les critères d'acceptance sont formalisés
- [ ] Les dépendances sont identifiées
- [ ] Le contexte est suffisant pour l'étape suivante

**Questions bloquantes résolues ?** ✅/❌

⏸️ CHECKPOINT - Attendre validation explicite.


Output Validation

Avant de proposer la transition, valider :

### ✅ Checklist Output Issue Reader

| Critère | Status |
|---------|--------|
| Requirements fonctionnels extraits | ✅/❌ |
| Critères d'acceptance formalisés | ✅/❌ |
| Type d'issue identifié (feature/bug/refactor) | ✅/❌ |
| Ambiguïtés classifiées (🔴/🟡/🟢) | ✅/❌ |
| Questions bloquantes résolues | ✅/❌ |
| Dépendances identifiées | ✅/❌ |
| Metadata extraites (labels, milestone...) | ✅/❌ |

**Score : X/7** → Si < 5 ou questions 🔴 non résolues, compléter avant transition

Auto-Chain

Après validation de l'analyse, proposer automatiquement :

## 🔗 Prochaine étape

✅ Issue #[NUM] analysée.

**Résumé :**
- Type : [Feature/Bug/Refactor]
- Requirements : [X] extraits
- Questions bloquantes : [Résolues/X restantes]

**Recommandation :**

[Si questions bloquantes restantes]
→ ⚠️ Résoudre les questions 🔴 avant de continuer

[Sinon]
→ 🔍 **Lancer l'analyse codebase ?** (comprendre l'implémentation existante)

---

**[Y] Oui, analyser le code** | **[N] Non, je choisis** | **[Q] Poser des questions**

⏸️ STOP - Attendre confirmation avant auto-lancement


Transitions

  • Vers codebase-explainer : "Issue analysée, on explore le code pour comprendre l'implémentation ?"
  • Vers pm-prd : "Issue complexe, besoin d'un PRD détaillé ?"
  • Retour utilisateur : "Des clarifications nécessaires sur l'issue ?"