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.
Use it when a numbered GitHub issue in a PHP repository must be fixed through a repeatable, traceable process.
Avoid it for open-ended requests with no reference issue, or on a non-PHP repository whose standards and test commands differ.
Security analysis
SafeThe 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.
- •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
Examples
/github:fix 966Prends en charge l'issue GitHub #1012, crée la branche issue/1012-<description>, implémente la correction et lance les tests ainsi que PHPStan.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_progresspuiscompleted
Pattern d'exécution pour chaque phase :
TaskUpdate→ tâche enin_progress- Exécuter la phase
TaskUpdate→ tâche encompleted
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
TaskListpour 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_NUMBERdoit ê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 filesThis 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.mdFrom 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.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.