Résoudre les problèmes GitHub avec TDD

VérifiéPrudence

Résolvez les problèmes GitHub en utilisant des worktrees isolés et la méthodologie TDD (Test-Driven Development). Incluez l'authentification GitHub, les commits atomiques et les workflows de PR protégés.

Spar Skills Guide Bot
DeveloppementIntermédiaire
11/03/2026
Claude Code
#git-worktree#tdd#github-issues#pull-request#conventional-commits

Recommandé pour

Synthèse automatique

Résout un ticket GitHub de bout en bout : création d'un worktree git isolé, correction en cycle TDD rouge-vert-refactor, puis ouverture d'une pull request liée au ticket.

Points forts

  • Impose un worktree isolé, ce qui garde la branche principale propre pendant la correction
  • Cycle TDD structuré, appuyé par des sous-agents de revue (@tech-lead-reviewer, @code-simplifier)
  • Conventions de commit détaillées (conventional commits, règles de titre, corps et pied de page) accompagnées d'exemples
  • Mots-clés de fermeture automatique pour lier commits et PR au ticket, puis nettoyage du worktree après merge

Limites

  • Ne fonctionne que dans Claude Code : la skill dépend de l'outil Task et du frontmatter allowed-tools
  • Suppose une CLI gh authentifiée et un dépôt qui utilise réellement les issues et PR GitHub
  • Règles de message de commit très opinionnées (titre en minuscules, moins de 50 caractères) pouvant entrer en conflit avec les conventions déjà en place dans le dépôt
Quand l'utiliser

À utiliser lorsqu'on veut traiter un ticket GitHub via un pipeline reproductible worktree → TDD → PR plutôt que par des modifications improvisées.

Quand l'éviter

Pour un correctif urgent d'une seule ligne, ou sur un dépôt hébergé ailleurs que sur GitHub où la mécanique worktree/PR n'apporte rien.

Analyse de sécurité

Prudence
Score qualité82/100

The skill does not contain destructive, exfiltrating, or obfuscated commands, but it grants broad git and GitHub CLI permissions and instructs the agent to modify repository state, push branches, create PRs, and delegate work to sub-agents. These are legitimate for the stated PR workflow, so it is caution rather than risky.

Points d'attention
  • •Broad Bash(gh:*) and Bash(git:*) permissions allow remote repository changes such as pushing branches and creating PRs.
  • •Automatic context commands execute git/gh commands on load, including reading repository state and GitHub authentication status.
  • •The workflow explicitly instructs pushing branches and creating pull requests, which can affect shared repositories.
  • •The Task tool is used to delegate all work to sub-agents, which may inherit powerful tool access.
  • •Worktree cleanup is mentioned but not specified with safe/guarded deletion commands.
Comment cette analyse est faite

Exemples

Resolve a specific issue
resolve issue #456 end to end
Pick the next issue
look at the open issues and fix the most urgent one, then open a PR that closes it
Resume existing worktree
resume the worktree for fix/456-auth-redirect and finish the TDD cycle

name: resolve-issues allowed-tools: Bash(gh:), Bash(git:), Bash(cd:), Bash(mkdir:), Task description: Resolve GitHub issues using isolated worktrees and TDD argument-hint: [issue number or description] user-invocable: true

Context

  • Current git status: !git status
  • Current branch: !git branch --show-current
  • Existing worktrees: !git worktree list
  • Open issues: !gh issue list --state open --limit 10
  • GitHub authentication: !gh auth status

Requirements

  • Use isolated worktrees for development and follow the protected PR workflow.
  • Apply a TDD cycle (red → green → refactor) with appropriate sub-agent support.
  • Reference resolved issues in commits and PR descriptions using auto-closing keywords.
  • Use atomic commits for logical units of work: Each commit should represent one complete, cohesive change.
  • Title: entirely lowercase, <50 chars, imperative mood (e.g., "add", "fix", "update"), conventional commits format (feat:, fix:, docs:, refactor:, test:, chore:)
    • Scope (optional): lowercase noun, 1-2 words. Must match existing scopes in git history.
  • Body: blank line after title, ≤72 chars per line, must start with uppercase letter, standard capitalization and punctuation. Describe what changed and why, not how.
  • Footer (optional): Must start with uppercase letter, standard capitalization. Reference issues/PRs (Closes #123, Fixes #456, Linked to PR #789). Use BREAKING CHANGE: prefix for breaking changes.

Examples

feat(auth): add google oauth login flow

- Introduce Google OAuth 2.0 for user sign-in
- Add backend callback endpoint `/auth/google/callback`
- Update login UI with Google button and loading state

Add a new authentication option improving cross-platform
sign-in.

Closes #42. Linked to #38 and PR #45
fix(api): handle null payload in session refresh

- Validate payload before accessing `user.id`
- Return proper 400 response instead of 500
- Add regression test for null input

Prevents session refresh crash when token expires.

Fixes #105
feat(auth): migrate to oauth 2.0

- Replace basic auth with OAuth 2.0 flow
- Update authentication middleware
- Add token refresh endpoint

BREAKING CHANGE: Authentication API now requires OAuth 2.0 tokens. Basic auth is no longer supported.

Closes #120. Linked to #115 and PR #122

Your Task

IMPORTANT: You MUST use the Task tool to complete ALL tasks.

  1. Inspect the repository context, select a target issue, and decide whether to create a new worktree or resume an existing one.
  2. Set up the worktree environment, implement the fix using TDD with specialized review agents, and ensure quality checks pass.
  3. Create the pull request, link the issue, and clean up the worktree after merge, documenting all results to the user.

Recommended Workflow

  • Issue Selection: Evaluate open issues and prioritize the next actionable item.
  • Worktree Setup: Create or reuse an isolated worktree with a descriptive branch name (e.g. fix/456-auth-redirect).
  • TDD Implementation: Plan with @tech-lead-reviewer — architectural impact assessment —, write failing tests, implement fixes, and refactor with @code-simplifier — code simplification and optimization — while keeping tests green.
  • Quality Validation: Run project-specific lint, test, and build commands before PR creation.
  • PR Creation & Cleanup: Push the branch, raise a PR with auto-closing keywords, and remove the worktree after merge.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/resolve-github-issues-with-tdd-mmlj2nyd/download' --output '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md.part' && mv '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md.part' '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash(gh:*), Bash(git:*), Bash(cd:*), Bash(mkdir:*), Task

Extrait original : Requirements
  • Use isolated worktrees for development and follow the protected PR workflow.
  • Apply a TDD cycle (red → green → refactor) with appropriate sub-agent support.
  • Reference resolved issues in commits and PR descriptions using auto-closing keywords.
  • Use atomic commits for logical units of work: Each commit should represent one complete, cohesive change.
  • Title: entirely lowercase, <50 chars, imperative mood (e.g., "add", "fix", "update"), conventional commits format (feat:, fix:, docs:, refactor:, test:, chore:)
    • Scope (optional): lowercase noun, 1-2 words. Must match existing scopes in git history.
  • Body: blank line after title, ≤72 chars per line, must start with uppercase letter, standard capitalization and punctuation. Describe what changed and why, not how.
  • Footer (optional): Must start with uppercase letter, standard capitalization. Reference issues/PRs (Closes #123, Fixes #456, Linked to PR #789). Use BREAKING CHANGE: prefix for breaking changes.

Examples

feat(auth): add google oauth login flow

- Introduce Google OAuth 2.0 for user sign-in
- Add backend callback endpoint `/auth/google/callback`
- Update login UI with Google button and loading state

Add a new authentication option improving cross-platform
sign-in.

Closes #42. Linked to #38 and PR #45
fix(api): handle null payload in session refresh

- Validate payload before accessing `user.id`
- Return proper 400 response instead of 500
- Add regression test for null input

Prevents session refresh crash when token expires.

Fixes #105
feat(auth): migrate to oauth 2.0

- Replace basic auth with OAuth 2.0 flow
- Update authentication middleware
- Add token refresh endpoint

BREAKING CHANGE: Authentication API now requires OAuth 2.0 tokens. Basic auth is no longer supported.

Closes #120. Linked to #115 and PR #122

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md' && test -s '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/resolve-issues' && cp -R '.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd' '.claude/skills/resolve-issues'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd'

openskills read 'resolve-github-issues-with-tdd-mmlj2nyd'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/resolve-github-issues-with-tdd-mmlj2nyd/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires