GitHub Issue Fix

VerifiedSafe

Fix a GitHub issue efficiently using a structured 6-phase workflow: analysis, setup, investigation, implementation, validation, and finalization.

Sby Skills Guide Bot
DevelopmentIntermediate
2/28/2026
Claude Code
#github#issue-tracking#bug-fixing#php#workflow

Recommended for

Automated summary

Describes a six-step workflow for fixing a GitHub issue: issue analysis, branch creation, code investigation, implementation, validation through tests and PHPStan, then reporting back to the user.

Strengths

  • Breaks the fix into tracked tasks (created, then in_progress and completed) so progress stays visible.
  • Enforces the NEO project standards: strictly typed PHP 8.2+, Yoda conditions, exceptions documented with @throws, French business naming.
  • Gates validation on PHPStan level 9 with zero errors and on unit tests passing via make run-unit-php.
  • Creates the working branch with the normalized name issue/<number>-<short-description>.

Limitations

  • Tightly coupled to a PHP stack and in-house commands (make run-unit-php), so it is not directly reusable on another project.
  • The workflow stops before committing: no commit, push, or pull request is produced.
  • Assumes gh CLI is authenticated and the issue actually exists on the repository.
When to use it

Use it when a numbered GitHub issue in a PHP repository must be fixed through a repeatable, traceable process.

When not to use it

Avoid it for open-ended requests with no reference issue, or on a non-PHP repository whose standards and test commands differ.

Security analysis

Safe
Quality score74/100

The skill is a conventional GitHub issue-fixing workflow. It uses Bash only for git/gh commands and running tests/PHPStan, reads and edits source files, and explicitly instructs the agent NOT to commit. There are no destructive commands, no curl|sh, no base64 payloads, and no instructions to send secrets or tokens anywhere. The only notable point is the powerful Bash tool, used for a legitimate purpose, plus a minor inconsistency in referenced task-management tools.

Findings
  • •Uses Bash for git and GitHub CLI operations, which is legitimate but requires care
  • •References TaskCreate/TaskUpdate/TaskList tools not present in the declared allowed-tools list
How this analysis is made

Examples

Corriger un bug
/github:fix 966
Traiter une issue de fonctionnalité
Prends en charge l'issue GitHub #1012, crée la branche issue/1012-<description>, implémente la correction et lance les tests ainsi que PHPStan.
Reprise d'une issue avec contexte Sentry
Corrige l'issue #1043 en suivant le workflow, analyse les liens Sentry qu'elle contient et indique-moi les fichiers modifiés et le résultat des tests.

name: github:fix description: Corriger une issue GitHub avec workflow simplifié et efficace model: sonnet allowed-tools: [Bash, Read, Write, Edit, Grep, Glob, Task] argument-hint: [issue-number] version: 1.0.0 license: MIT

Correction d'Issue GitHub

Instructions à Exécuter

IMPORTANT : Exécute ce workflow étape par étape :

Purpose

Corriger une issue GitHub de manière structurée et efficace, en se concentrant sur l'essentiel.

Variables

ISSUE_NUMBER: $1 (obligatoire)

Instructions

  • Utilise les outils Bash pour les opérations Git et GitHub CLI
  • Focus sur la résolution rapide et efficace du problème
  • Applique les standards du projet NEO

Relevant Files

  • Issues GitHub du repository
  • Code source pertinent selon l'issue
  • Documentation technique si nécessaire

Workflow

Initialisation

Créer les tâches du workflow :

Utiliser TaskCreate pour chaque phase :

TaskCreate #1: Analyse de l'issue
TaskCreate #2: Préparation de l'environnement (branche)
TaskCreate #3: Investigation du code
TaskCreate #4: Implémentation de la solution
TaskCreate #5: Validation et tests
TaskCreate #6: Finalisation (informer utilisateur)

Important :

  • Utiliser activeForm (ex: "Analysant l'issue", "Implémentant la solution")
  • Chaque tâche doit être marquée in_progress puis completed

Pattern d'exécution pour chaque phase :

  1. TaskUpdate → tâche en in_progress
  2. Exécuter la phase
  3. TaskUpdate → tâche en completed

Phases

1. Analyse de l'issue

  • Récupérer les détails de l'issue via gh issue view $ISSUE_NUMBER
  • Analyser le problème : type (bug, feature, enhancement), priorité, description
  • Identifier les fichiers/modules concernés
  • Vérifier les éventuels liens Sentry pour plus de contexte

2. Préparation de l'environnement

  • Vérifier le statut git actuel
  • S'assurer d'être sur la bonne branche de base (develop/main)
  • Créer une branche de travail : issue/$ISSUE_NUMBER-{description-courte}
  • Exemple : issue/966-stockage-epuration-historique

3. Investigation du code

  • Localiser les fichiers concernés par l'issue
  • Comprendre le code existant et identifier la cause du problème
  • Analyser l'impact de la modification sur les autres parties du système
  • Identifier les dépendances et side-effects potentiels

4. Implémentation de la solution

  • Implémenter la correction en respectant :
    • Standards PHP 8.2+ avec typage strict
    • Conditions Yoda (null === $value)
    • Documentation des exceptions avec @throws
    • Conventions de nommage françaises
  • Éviter les changements inutiles ou trop larges
  • Maintenir la cohérence avec l'architecture existante

5. Validation et tests

  • Exécuter les tests existants : make run-unit-php
  • Ajouter des tests si nécessaire pour couvrir le nouveau code
  • Vérifier avec PHPStan : ZÉRO erreur acceptée
  • Tester la solution manuellement si applicable

6. Finalisation

  • Informer l'utilisateur
  • Ne pas faire de commit

Task Management

Progression du workflow :

  • 6 tâches créées à l'initialisation
  • Chaque phase suit le pattern : in_progress → exécution → completed
  • Utiliser TaskList pour voir la progression
  • Les tâches permettent à l'utilisateur de suivre la résolution de l'issue

Report

  • Issue analysée avec titre et type
  • Branche créée avec nom approprié
  • Fichiers modifiés avec résumé des changements
  • Tests exécutés avec résultats

Validation

  • ✅ ISSUE_NUMBER doit être fourni et exister sur GitHub
  • ✅ Branche de travail créée avec convention de nommage
  • ✅ Solution implémentée respectant les standards
  • ✅ PHPStan passe sans erreur (CRITIQUE)
  • ✅ Tests unitaires passent

Expertise

Standards de qualité NEO :

  • PHP 8.2+ avec typage strict obligatoire
  • Conditions Yoda pour toutes les comparaisons
  • Exceptions documentées avec @throws
  • Nommage en français pour les concepts métier
  • PHPStan niveau 9 sans erreur
  • Tests unitaires pour nouveau code

Examples

# Correction d'un bug
/github:fix 966

# Résultat attendu :
# 1. Analyse issue #966 "STOCKAGE - Épuration historique"
# 2. Création branche : issue/966-stockage-epuration-historique
# 3. Investigation du code de gestion des devis/alertes
# 4. Implémentation de l'épuration automatique
# 5. Tests et validation PHPStan

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/github-issue-fix-mm5t8bh4/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/github-issue-fix-mm5t8bh4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/github-issue-fix-mm5t8bh4/download' --output '.skill-downloads/github-issue-fix-mm5t8bh4/SKILL.md.part' && mv '.skill-downloads/github-issue-fix-mm5t8bh4/SKILL.md.part' '.skill-downloads/github-issue-fix-mm5t8bh4/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/github-issue-fix-mm5t8bh4/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills