skills/01-po-feature-spec/SKILL.md
Skill do Product Owner para especificação de features. Use quando precisar definir requisitos de negócio, escrever user stories, critérios de aceitação, priorização de backlog, ou qualquer documento de especificação de produto. Inclui fundamento de negócio para discovery: validação de hipótese, problema vs. necessidade, MVP, modelo de monetização e métricas pirata (AARRR) como input da spec. Trigger em: "nova feature", "especificação", "user story", "requisito", "backlog", "PO", "definir escopo", "critério de aceitação", "MVP", "roadmap", "validação de hipótese", "discovery", "monetização", "pricing", "product-market fit", "métricas AARRR".
npx skillsauth add felvieira/claude-skills-fv po-feature-specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
O PO é o guardião do valor de negócio. Toda feature nova começa aqui.
Esta skill segue GLOBAL.md, policies/execution.md, policies/handoffs.md, policies/token-efficiency.md, policies/evals.md, policies/prd-validation.md (13 checks fixos) e policies/constitution.md (autoridade hierarquica).
Quando memory/constitution.md existe no repo consumidor:
chore(constitution) separado./checklist apos spec inicial e /analyze antes de /buildPara exemplos longos e checklists completos, consultar docs/skill-guides/po-feature-spec.md apenas quando necessario.
Toda nova feature deve cobrir, no minimo:
IN e OUTPara spec completa e exemplos extensos, consultar docs/skill-guides/po-feature-spec.md.
Se a feature envolve >1 camada (front + back + DB ou similar), a spec deve organizar user stories como vertical slices demo-able. Cada slice e uma feature ponta-a-ponta testavel sozinha — nao subdividir por camada (ex: "spec do front", "spec do back" — errado).
Exemplo bom (vertical):
Exemplo ruim (layered):
Cada slice deve:
Detalhes em policies/vertical-slices.md.
Critérios de aceitação devem ser:
Exemplo ruim: "O sistema deve ser rápido" Exemplo bom: "DADO que o usuário está na listagem QUANDO clicar em filtrar ENTÃO os resultados carregam em menos de 500ms"
Use a fórmula: Score = (Impacto × Urgência) / Esforço
| Impacto | Valor | |---------|-------| | Alto | 3 | | Médio | 2 | | Baixo | 1 |
| Urgência | Valor | |----------|-------| | Alta | 3 | | Média | 2 | | Baixa | 1 |
| Esforço | Valor | |---------|-------| | PP | 1 | | P | 2 | | M | 3 | | G | 5 | | GG | 8 |
Score > 3 = Prioridade máxima Score 1.5-3 = Próximo sprint Score < 1.5 = Backlog
Ao finalizar a spec, entregar para UI/UX:
Para features ambíguas ou inovadoras, use frameworks de ideação antes de especificar.
Consultar: docs/skill-guides/ideation-frameworks.md
Quando usar:
Quando pular:
Ordem recomendada: JTBD → HMW → SCAMPER → First Principles
Antes de especificar, o PO valida que a feature/produto resolve um problema real que alguém paga (ou retém/indica) para resolver. Spec sem fundamento de negócio é desperdício caro. Base: Guia da Startup (Casa do Código), capítulos 11–32.
Quando aplicar: produto/feature novo, hipótese não validada, ou quando a métrica de sucesso da spec ainda é chute. Para feature incremental sobre fluxo já validado, pular direto para a spec.
Não escreva spec de algo que ninguém quer. Teste a demanda primeiro com o mínimo de esforço:
Registrar o resultado do teste como input da spec: "hipótese X validada a Y% de conversão / N e-mails".
IN é o MVP; tudo que "seria bom ter" vai para OUT com justificativa de adiamento.A spec deve declarar como a feature/produto gera ou protege receita. Tipos (do livro):
Toda feature deve declarar qual estágio do funil ela move. O livro descreve o funil de conversão (visitante → usuário → cliente → churn) que mapeia direto nas métricas pirata AARRR:
| AARRR | No livro | Pergunta da spec | |-------|----------|------------------| | Aquisição | quantos ficam sabendo / cliques / visitantes únicos | a feature traz tráfego qualificado? | | Ativação | visitante → usuário (1º uso bem-sucedido) | a feature ajuda o novato a ter sucesso rápido? | | Retenção | usuário volta a usar | a feature traz o usuário de volta? | | Receita | usuário → cliente pagante | a feature converte ou aumenta receita? | | Indicação | NPS / boca-a-boca / promotores | a feature gera recomendação? |
Score = (Impacto × Urgência) / Esforço, classifique a fase. Em Discovery/Validation, priorize features que aprendem (validam hipótese, ativam, retêm) sobre features que escalam (otimização, polish). Uma feature de polish com score alto mas sem fit validado é armadilha.Para canvas de hipótese, roteiro de teste de demanda e tabela AARRR detalhada, ver docs/skill-guides/po-feature-spec.md.
Antes de iniciar a spec, calcular o ambiguity score para decidir se o briefing e suficiente.
Formula:
ambiguity = 1 - (goal * 0.40 + constraints * 0.30 + criteria * 0.30)
Variante Brownfield (codebase conhecida):
ambiguity = 1 - (goal * 0.30 + constraints * 0.25 + criteria * 0.25 + context_clarity * 0.20)
Thresholds:
score < 0.4 → prosseguir diretoscore 0.4-0.7 → enrich mode (inferir do repo-audit e confirmar)score > 0.7 → iniciar Deep InterviewUsar devkit_ambiguity_score (MCP) para calcular programaticamente.
Acionar quando score > 0.7. Seguir templates/deep-interview.md.
Principios:
Enrich Mode (score 0.4-0.7): Usar repo-audit, session summary, git log e stack para inferir o que falta. Apresentar:
"Entendi que voce quer [X]. Baseado no projeto:
- Escopo: [inferido do repo-audit]
- Arquivos provaveis: [do repo-audit]
- Constraints: [da stack conhecida]
→ Bora assim?
→ Quer ajustar ou detalhar algo?
→ Ou era outra coisa?"
Codigo deve priorizar clareza. Comentarios so fazem sentido quando explicam contexto nao obvio, restricoes externas ou workarounds temporarios.
memory/research/<slug>.md como contexto de "o que existe" antes de escrever a spec.development
Skill compositora que pega texto/assunto e gera post de blog HTML completo no repo {blog_repo_path} ({github_user_repo_url}), com imagens (via skill 17 fal.ai ou skill 42 Playwright screenshot), commit+push automático, retorna URL pública via GitHub Pages. Trigger em: "post no blog", "publicar post", "escrever post", "blog post", "publish blog", "gera post", "criar post", "novo post no meu blog".
tools
Audita o peso de contexto carregado na sessão — CLAUDE.md, agents, MCP descriptions, rules ativas, skills invocadas e histórico acumulado. Estima tokens por componente, reporta headroom disponível e emite alertas de overflow. Distinto do cost-tracker (skill 30) que rastreia tokens gastos em completions runtime. Trigger em: "contexto inchado", "context overflow", "quanto contexto estou usando", "peso do contexto", "context budget", "tokens carregados", "sessao lenta", "respostas degradadas", "headroom de contexto", "custo fixo de contexto", "overhead de rules", "overhead dos agents", "impacto do MCP no contexto", "espaco no context window", "quanto cabe no context window"
development
Coleta e organiza informacao tecnica multi-fonte antes de escrever docs, PRDs, ADRs ou artigos. Busca em: docs oficiais, GitHub (repos + issues), Stack Overflow, papers e blogs de referencia. Ranqueia fontes por autoridade (oficial 40% + recencia 30% + profundidade 20% + comunidade 10%). Output: memory/research/<slug>.md pronto para alimentar skill 10 (documenter), skill 01 (po-feature-spec), skill 26 (prompt-engineer) ou skill 41 (blog-publisher). Trigger em: "pesquisa tecnica", "levanta informacao", "coleta docs", "busca referencias", "preciso de fontes", "research antes de escrever", "levanta o que existe sobre", "benchmark de solucoes", "o que existe sobre X", "quero entender o estado da arte", "compara abordagens", "levanta referencias", "faz um research de", "coleta fontes sobre", "pesquisa sobre", "quero saber o que existe de", "monta um dossie tecnico", "background tecnico", "due diligence tecnica", "levantamento de alternativas".
development
Extrai e codifica os padroes de coding do projeto existente (naming, estrutura de arquivos, error handling, testing style, import style, API design, async patterns) e usa esses padroes como restricao sobre novo codigo. Garante que o agente code "igual ao resto do projeto" em vez de inventar convencoes proprias. Produce um "code style map" salvo em memory/patterns.md que todas as skills de geracao de codigo devem consultar. Trigger em: "segue o padrao do projeto", "coda igual ao resto", "nao reinventa padrao", "detecta padroes do codebase", "code style do projeto", "padrao do projeto", "convencao do projeto", "coda consistente", "mesma convencao", "sem reinventar roda", "padrao de codigo", "patterns do codebase", "pattern enforcement", "conformidade de padrao", "convencoes de naming", "padrao de tratamento de erro", "mesma estrutura do projeto", "detecta as convencoes", "extrai padroes de coding", "como o projeto estrutura".