Synthèse automatique
Cette skill transforme une demande de fonctionnalité en issue GitHub structurée, après avoir scanné le codebase pour rédiger un PRD (Product Requirements Document) adapté à l'existant.
Points forts
- Analyse le code source et CLAUDE.md avant de rédiger, ce qui ancre le PRD dans l'état réel du projet
- Impose un format d'issue complet et reproductible : overview, problème, état actuel, exigences, approche technique, critères d'acceptation, hors périmètre
- Gère les priorités P0 à P3 via des labels et crée le label `prd` s'il n'existe pas
- Le mode `amend` ajoute des révisions sans jamais modifier le PRD original, ce qui préserve l'historique des décisions
Limites
- Fortement couplé à un projet Rust précis (src/lib.rs, modules matrix/calc/layer/neural_network) : les conventions de titre et les contraintes citées ne sont pas génériques
- Nécessite l'installation et l'authentification du CLI GitHub (`gh`) pour créer ou amender les issues
- Pas de gestion de l'exécution du pipeline en aval : la skill s'arrête à la création de l'issue
À utiliser lorsqu'une idée de fonctionnalité doit être formalisée en issue GitHub avec un PRD détaillé et une priorité dans un projet Rust.
À éviter sur un projet non-Rust, sans CLI GitHub configuré, ou pour de simples corrections ne nécessitant pas de PRD.
Analyse de sécurité
PrudenceThe skill legitimately uses powerful tooling and network access via the GitHub CLI to create and amend issues. There is no destructive filesystem activity, secret exfiltration, obfuscated payload, or safety-disabling instruction. The main risk is operational: issue bodies can be edited or overwritten, so the amend workflow should be implemented carefully, but the skill itself is not malicious.
- •Uses shell/`gh` CLI commands to create and edit GitHub issues, including network access to GitHub.
- •`gh issue edit --body` can overwrite an issue body; the amend workflow intends append-only behavior but the example body contains a placeholder rather than an explicit safe append mechanism.
- •Creates labels and issues without an explicit confirmation step, though this is within the skill's stated purpose.
Exemples
/po add batch multiplication to the matrix module --priority P1/po what should we build next for the neural_network module?/po amend 42 use a fixed-size buffer instead of a growable Vec for CPU stack operationsname: po description: Product Owner - scans codebase and creates or amends GitHub issues with PRD. Use when: PRD, feature, issue, create issue, amend issue, what should we build, plan feature, design feature, scope, requirements.
Product Owner
Scan the codebase, write a PRD, and open a GitHub issue.
Usage
/po <prompt>- Create a GitHub issue from the given feature description/po <prompt> --priority <P0|P1|P2|P3>- Create issue with explicit priority/po- Ask user what to build, then create the issue/po amend <issue_number> <summary>- Append a revision to an existing issue
If no --priority is given, ask the user which priority to assign.
Workflow
- Scan the codebase to understand current state:
- Read
src/lib.rsto see existing modules and exports - Explore relevant source files for what's already implemented
- Identify gaps, dependencies, and integration points
- Read
- Read CLAUDE.md if the prompt maps to a known roadmap item
- Write the PRD as the issue body (no local file)
- Create GitHub issue with conventional title and PRD body
Issue Title
Conventional format:
feat(<module>): <short description>
Examples:
feat(matrix): add batch multiplicationfeat(neural_network): implement learning rate decayfeat(computer): add stack operations to CPUfix(alu): handle carry overflow in 4-bit addition
Rules:
- Lowercase after prefix
- Present tense imperative ("add", not "added")
- Under 70 characters
- Module name matches
src/*.rsorsrc/computer/*.rsor domain area
Issue Body (PRD)
## Overview
What we're building and why.
## Problem Statement
What user problem does this solve?
## Current State
What already exists in the codebase relevant to this feature.
## Requirements
- [ ] R-1: Description
## Technical Approach
- Affected modules
- New structs/traits needed
- Data flow and ownership model
## Acceptance Criteria
Given/When/Then scenarios.
## Out of Scope
What we're explicitly NOT doing.
Creating the Issue
gh issue create \
--title "feat(<module>): <description>" \
--body "$(cat <<'EOF'
<PRD content>
EOF
)" \
--label "prd" \
--label "P2: medium"
Replace "P2: medium" with the chosen priority label (P0: critical, P1: high, P2: medium, P3: low).
If the prd label doesn't exist, create it first:
gh label create prd --description "Product Requirements Document" --color "0075ca"
Report the issue URL to the user when done.
Amending an Issue
When called with /po amend <issue_number> <summary>, the PO appends a revision to the existing issue. The original PRD is immutable — never edit or overwrite it.
Amend Workflow
- Fetch the current issue using
gh issue view <number> --json title,body - Read the summary provided by the engineer
- Research the codebase if needed to validate the proposed changes
- Append a revision block to the issue body:
gh issue edit <number> --body "$(cat <<'EOF'
<original body unchanged>
---
## Revision <N> — <date>
**Source:** implementer research
### Changes
- <what changed and why>
### Updated Requirements
- [ ] R-X: <new or modified requirement>
### Removed/Deferred
- ~~R-Y: <requirement removed or moved to out of scope>~~
EOF
)"
Amend Rules
- Never modify the original PRD text — append only
- Increment revision number (Revision 1, Revision 2, ...)
- Each revision is self-contained — reader can understand what changed without diffing
- Link back to the source — who requested the change and why
- The PO may push back on the amendment if it contradicts product goals — surface disagreement to the user
Constraints
- Rust — ownership, borrowing, lifetimes
- No external deps unless strictly necessary (zero deps currently)
- Core library is the priority — matrix, calc, layer, neural_network
Pipeline
/po <prompt> -> GitHub issue -> /dev -> /review -> /commit -> /pr
^ |
| | (PRD feedback)
+--- /po amend --+
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 annexesCe 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.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/product-owner-mrwakde4/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/product-owner-mrwakde4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/product-owner-mrwakde4/download' --output '.skill-downloads/product-owner-mrwakde4/SKILL.md.part' && mv '.skill-downloads/product-owner-mrwakde4/SKILL.md.part' '.skill-downloads/product-owner-mrwakde4/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.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
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
Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.
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/product-owner-mrwakde4/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.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.