Skip to content
cccskills
FreePublished on GitHub

prd-stories

Use when the user wants to evolve the features of a PRD roadmap with user stories — 'refinar as histórias da feature', 'escrever histórias de usuário', 'critérios de aceite', 'regras de negócio da feature', 'deixar a feature pronta', 'user stories for FT01' — one feature at a time, interviewing the human until each story meets the Definition of Ready: persona, value, INVEST, CA (Gherkin, happy and error paths) and RN from the PRD. Do NOT use to create the roadmap (prd-roadmap) or to change requirements without stories (prd-refine).

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md5.9 KB
  • agents/openai.yaml208 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Evolve features with user stories, CA and RN

You interview the human in the MAIN session, one question at a time — never in a subagent. Quality bar: <plugin-root>/references/user-stories.md (format, INVEST, CA, RN, Definition of Ready, anti-patterns, review checklist). Read it before the first question.

Input

The arguments: <slug> (required) and optionally a feature ID (F01-E02-FT01) or next.

Flow

STEP 0 — Language

Follow references/language.md (resolve lang from .planning/config.json; ask only if unset).

STEP 1 — Load

SLUG="<slug>"   # first word of the arguments
DIR=".planning/prds/$SLUG/roadmap"
[ -f "$DIR/roadmap.json" ] || { echo "NO_ROADMAP"; ls .planning/prds/ 2>/dev/null; }
python3 "<plugin-root>/scripts/roadmap-check.py" "$DIR/roadmap.json" --json
  • NO_ROADMAP → point to prd-roadmap {slug} and STOP.
  • Checker FAIL for reasons unrelated to stories → show them and STOP (the roadmap needs prd-roadmap revise mode first).
  • Read .planning/prds/{slug}/PRD.md for personas (Target Audience), FRs and the ### Business Rules section, and roadmap.json for features, rules[] and stories[].

STEP 2 — Pick the feature

Without a feature in the arguments, show the progress table and ask which one:

📚 Stories of "{slug}" — {ready}/{total} ready · {rules} business rules
| Wave | Feature | Stories | Ready | Missing |
| 1 | F01-E01-FT01 Login | 1 | 0 | CA error path, RN-01 not verified |
...
Suggested next: {first feature in wave order with draft stories}

next means that suggestion. Refine one feature per pass.

STEP 3 — Review the feature's stories

For each story of the feature, run the review checklist and INVEST from user-stories.md and show a compact diagnosis (story line, CA with paths, RN, what fails). Then fix it with the human, one question at a time, offering 2–3 concrete options when they hesitate:

  1. Persona — must be named in the PRD audience; never "o sistema".
  2. Split or merge — a story-epic becomes one story per capability; a feature ends with 1–5 stories.
  3. Value — non-circular.
  4. CA — happy path first, then at least one error or edge path; Gherkin when there is state + trigger + observable result; numbers instead of "rápido/fácil"; 3–8 per story.
  5. RN — ask which business rules decide this behavior. Use existing RN-xx from the PRD. A new rule discovered here: agree name, one-sentence rule and a concrete example, then it goes to the PRD (STEP 5) with the next free ID — never kept only inside the story. Each RN listed by the story is verified by at least one CA ("rules": ["RN-xx"] on that CA).
  6. Dependencies and out of scope — depends_on other US-xx; out-of-scope when the title invites scope creep.

Summarize each story (3–6 lines: story line, CA list, RN) and confirm before moving on. Missing stories for an FR slice of the feature: propose them in the same format.

STEP 4 — Ready gate

For each story that now meets the Definition of Ready, ask: Mark US-xx as ready? (y/n). Only an explicit yes sets "status": "ready"; everything else stays draft.

STEP 5 — Write

  1. Update the feature's stories in .planning/prds/{slug}/roadmap/roadmap.json (edit only stories[] and, for new rules, rules[]; keep every other key untouched; keep IDs stable — a new story takes the next free US-xx, a removed ID is never reused).
  2. New business rules → also append them to the PRD ### Business Rules section, bump the PRD Version (minor) and add a ### Change Log row ("RN-07 added while refining F01-E02-FT01"). The PRD keeps its Status; tell the human the PRD was amended.
  3. Run the checker (it regenerates STORIES.md and stories/):
    python3 "<plugin-root>/scripts/roadmap-check.py" ".planning/prds/$SLUG/roadmap/roadmap.json"
    
    FAIL → fix the story data you wrote (never the generated files) and run it again. Show warnings (vague terms, generic persona, unused RN) and offer to resolve them.
  4. Log: sh "<plugin-root>/scripts/audit-log.sh" event stories "" completed ".planning/prds/{slug}/roadmap/roadmap.json" "{feature}: {n} ready"

STEP 6 — Summary and next

✅ {feature} — {n} stories ({ready} ready, {draft} draft) · CA: {total} · RN: {list}
📁 .planning/prds/{slug}/roadmap/STORIES.md · stories/
{PRD amended: RN-07 (version x.y.z) | no PRD change}

👉 prd-stories {slug} next      → {next feature}
👉 prd-publish {slug}           → GitHub (stories go into the feature issues or become sub-issues)

Offer to commit (git add .planning/prds/{slug}/ && git commit -m "docs(prd): stories for {feature}") only with the human's yes.

Prohibitions

  • NEVER mark a story ready without the human's explicit yes
  • NEVER keep a business rule only inside a story — it goes to the PRD
  • NEVER edit STORIES.md or stories/*.md by hand — they are generated
  • NEVER change features, edges or tasks here — that is prd-roadmap (revise)
  • NEVER ask two questions at once

Language: resolve lang per references/language.md before any human-facing output. Paths <plugin-root>/..., references/, scripts/, templates/ are relative to the plugin root; tool names, subagent dispatch and the command form to show the user depend on the runtime (references/runtime.md).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Accessibility auditing and remediation skill for Vue 3 + Reka UI. Use when reviewing components, verifying WCAG 2.1 AA, fixing ARIA issues, or validating keyboard navigation in Reka UI components.

The English summary is being prepared. Showing the original description.

pwdev-solucoes/pwdev-claude-marketplace3Updated Oct 15, 2026

Infraestrutura para IA — GPU, servidores MCP, gateway de LLM, pipeline de inferência, custo de token, cache semântico e observabilidade de modelo. Use quando o usuário disser "GPU", "MCP server", "LLM", "inferência", "modelo", "gateway de IA", "custo de token", "rate limit da API de IA", "self-host de modelo".

The English summary is being prepared. Showing the original description.

pwdev-solucoes/pwdev-claude-marketplace3Updated Oct 15, 2026

Escreve texto alternativo e descrição de imagem para peças de rede social. Use quando o usuário disser "alt text", "texto alternativo", "descrição da imagem", "acessibilidade da peça", "descrever para leitor de tela", ou automaticamente antes de qualquer publicação. Obrigatório em todas as peças — em carrossel, um por slide.

The English summary is being prepared. Showing the original description.

pwdev-solucoes/pwdev-claude-marketplace3Updated Oct 15, 2026

Organiza, compara e seleciona entre as variações geradas, e publica a grade de comparação como Artifact para aprovação do time. Use quando o usuário disser "qual dessas", "comparar as variações", "escolher a melhor", "mostrar as opções", "montar grade de aprovação", ou após qualquer lote de geração. Selecionar é trabalho, não detalhe.

The English summary is being prepared. Showing the original description.

pwdev-solucoes/pwdev-claude-marketplace3Updated Oct 15, 2026

Aumenta resolução e qualidade de imagem via Freepik/Magnific, ou orienta o processo manual quando não há chave. Use quando o usuário disser "upscale", "melhorar a resolução", "a imagem está pixelada", "Magnific", "Freepik", "aumentar a imagem", "imagem pequena demais". Gasta crédito — exige confirmação.

The English summary is being prepared. Showing the original description.

pwdev-solucoes/pwdev-claude-marketplace3Updated Oct 15, 2026

CI/CD e automação — GitHub Actions, Terraform, OpenTofu, Ansible, n8n. Use quando o usuário disser "pipeline", "CI/CD", "GitHub Actions", "workflow", "terraform", "ansible", "n8n", "automatizar", "deploy automático", "IaC".

The English summary is being prepared. Showing the original description.

pwdev-solucoes/pwdev-claude-marketplace3Updated Oct 15, 2026

See all skills by pwdev-solucoes

Report a problem with this skill