Product Owner - PRD et issues GitHub

VérifiéPrudence

Scanne le codebase, rédige un PRD structuré et crée ou amende des issues GitHub avec titres conventionnels et labels de priorité.

Spar Skills Guide Bot
ProductiviteIntermédiaire
04/11/2026
Claude Code
#prd#github-issues#product-planning#elixir-otp#issue-management

Recommandé pour

Synthèse automatique

Analyse le code d'un projet Elixir/OTP puis ouvre des issues GitHub contenant un PRD structuré, avec ajout de révisions numérotées aux issues existantes.

Points forts

  • Impose un gabarit de PRD uniforme (vue d'ensemble, exigences, approche technique, critères d'acceptation, hors périmètre) avant toute création d'issue.
  • Fixe des conventions de titre explicites et gère les labels de priorité P0 à P3 via la CLI gh.
  • Le mode amend laisse le PRD d'origine intact et n'ajoute que des révisions datées et autoportantes, avec un numéro incrémenté.
  • Exige une lecture préalable du code et de la roadmap, donc l'issue créée reflète l'état réel des modules et les lacunes identifiées.

Limites

  • Très lié au projet Overmind : lecture de `lib/overmind.ex`, contraintes Elixir/OTP sans Phoenix et sans dépendances externes, peu transposables ailleurs.
  • Dépend d'un `gh` authentifié et de labels existants (le label `prd` doit parfois être créé) ; sans accès GitHub, le skill échoue.
  • La section Pipeline du document est vide et aucune logique de priorisation automatique n'est fournie : la priorité doit être saisie ou demandée.
Quand l'utiliser

À utiliser pour transformer une idée de fonctionnalité en issue GitHub cadrée et documentée par un PRD dans un dépôt Elixir/OTP.

Quand l'éviter

À éviter sur un codebase non-Elixir, sans CLI GitHub configurée, ou pour un simple ticket de bug qui ne justifie pas un PRD complet.

Analyse de sécurité

Prudence
Score qualité78/100

The skill is a straightforward documentation/issue-authoring workflow. Its only execution surface is the GitHub CLI used to create labels and issues, which is a legitimate but credential-bearing write action, and the amend path rebuilds the issue body destructively rather than appending. No secret handling, arbitrary downloads, or destructive commands. Rated caution rather than safe purely because of the unguarded gh/network write tooling.

Points d'attention
  • •Runs shell commands via the `gh` CLI to create and edit GitHub issues, i.e. authenticated network write actions (legitimate, but powerful and unguarded once invoked).
  • •The amend workflow re-posts the entire issue body through a heredoc (`gh issue edit --body "$(cat <<'EOF' ..."`) rather than an incremental append; despite the 'original PRD is immutable' rule, a body containing the EOF delimiter or shell-special content could be truncated or mangled, silently destroying the original content.
  • •Skill declares no allowed-tools while prescribing numerous bash/gh invocations, leaving execution boundaries undefined.
  • •`gh label create` mutates repository metadata without confirmation.
  • •No exfiltration, destructive filesystem operations, obfuscated payloads, or safety-disabling instructions were found.
  • •No allowed-tools declared, yet the workflow requires shell execution of `gh` CLI commands with network and write access to a GitHub repository (creating and editing issues, creating labels).
  • •The amend workflow uses `gh issue edit <number> --body "$(cat <<'EOF' ... EOF)"` with an `<original body unchanged>` placeholder; if the original body is not faithfully re-inlined, the entire issue body (including the immutable original PRD) is overwritten — a data-integrity risk on the remote tracker.
  • •The skill instructs scanning repository files and reading CLAUDE.md; content pulled from the codebase is fed into issue bodies, so untrusted repository text could be echoed into issues (minor prompt-injection/content-provenance concern).
  • •No destructive, exfiltrating, or obfuscated operations present; commands are transparent and limited to `gh issue`/`gh label` operations.
Comment cette analyse est faite

Exemples

Create a feature issue
/po add a GenServer that tracks agent lifecycle and broadcasts state changes --priority P1
Issue from roadmap item
/po implement the ps command to list running agents
Amend an existing PRD
/po amend 42 add restart backoff policy to the supervisor requirements

name: 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, user story.

Product Owner - Overmind Expert

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

  1. Scan the codebase to understand current state:
    • Read lib/overmind.ex to see existing modules and exports
    • Explore relevant source files for what's already implemented
    • Identify gaps, dependencies, and integration points
  2. Read CLAUDE.md roadmap if the prompt maps to a roadmap item
  3. Write the PRD as the issue body (no local file)
  4. Create GitHub issue with conventional title and PRD body

Issue Title

Conventional format:

feat(<module>): <short description>

Examples:

  • feat(mission): add genserver for agent lifecycle
  • feat(cli): implement ps command
  • feat(supervisor): add restart policies
  • fix(cli): handle missing subcommand gracefully

Rules:

  • Lowercase after prefix
  • Present tense imperative ("add", not "added")
  • Under 70 characters
  • Module name matches lib/overmind/*.ex or 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 GenServers/Supervisors needed
- OTP patterns and data flow

## 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

  1. Fetch the current issue using gh issue view <number> --json title,body
  2. Read the summary provided by the engineer
  3. Research the codebase if needed to validate the proposed changes
  4. 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
- [ ] FR-X: <new or modified requirement>

### Removed/Deferred
- ~~FR-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

  • Elixir + OTP — GenServer, Supervisor, ETS
  • No Phoenix until M6 (web dashboard)
  • No external deps unless strictly necessary
  • Idiomatic Elixir — pattern matching, pipelines, supervision trees

Pipeline

/po <prompt> -> GitHub issue -> implementation -> /review -> /commit
                     ^                |
                     |                | (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 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/product-owner-prd-github-issues-mvhm5lco/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-prd-github-issues-mvhm5lco' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/product-owner-prd-github-issues-mvhm5lco/download' --output '.skill-downloads/product-owner-prd-github-issues-mvhm5lco/SKILL.md.part' && mv '.skill-downloads/product-owner-prd-github-issues-mvhm5lco/SKILL.md.part' '.skill-downloads/product-owner-prd-github-issues-mvhm5lco/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-prd-github-issues-mvhm5lco/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