name: briefing description: 'Structured project discovery interview (vision, users, constraints, stack). Triggers: "briefing", "discovery", "iniciar projeto", "kickoff". Skip if briefing already complete and user did not ask for update.' argument-hint: "[descricao inicial do projeto ou vazio para entrevista completa]" allowed-tools: - Read - Write - Edit - Glob - Grep - Bash
Skill: Briefing de Projeto¶
Conduza uma entrevista estruturada de discovery para capturar a essencia do projeto, produzindo um documento de briefing que serve de fundacao para todos os artefatos SDD.
Pre-requisitos¶
Nenhum. Esta e tipicamente a primeira skill do pipeline SDD para novos projetos. Se ja existe um briefing, esta skill pode atualiza-lo.
Proximos passos¶
Apos salvar o briefing, o fluxo sugerido e:
/constitution— derivar principios de governanca a partir do briefing/specify— especificar as features do MVP identificadas no briefing/initialize-docs(se ainda nao feito) — garantir estrutura padrao de docs/
Argumentos¶
$ARGUMENTS
FLUXO DE EXECUCAO¶
1. CONTEXTO Detectar projeto e artefatos existentes
|
2. TRIAGEM Determinar profundidade da entrevista
|
3. ENTREVISTA Perguntas estruturadas por dimensao (interativo)
|
4. SINTESE Consolidar respostas em documento de briefing
|
5. VALIDACAO Confirmar com usuario antes de salvar
|
6. SALVAMENTO Salvar e recomendar proximos passos
ETAPA 1: CONTEXTO¶
1.1 Detectar Projeto¶
Leia os seguintes arquivos (se existirem) para entender o que ja se sabe:
SEMPRE LER (se existirem):
-- README.md
-- CLAUDE.md
-- docs/01-briefing-discovery/*.md (briefings anteriores)
-- docs/constitution.md
-- docs/specs/*/spec.md (specs existentes)
-- package.json, go.mod, pyproject.toml, Cargo.toml (stack tecnica)
1.2 Verificar Briefing Existente¶
Procurar briefings existentes:
1. docs/01-briefing-discovery/briefing.md
2. docs/01-briefing-discovery/BRIEFING-*.md
3. docs/briefing.md
Se encontrado: - Carregar conteudo atual - Identificar secoes incompletas ou marcadas com TODO - Perguntar ao usuario: "Encontrei um briefing existente. Deseja atualizar ou criar um novo?"
Se nao encontrado: - Seguir para entrevista completa (Etapa 2)
ETAPA 2: TRIAGEM¶
2.1 Analisar Input¶
Analise $ARGUMENTS e o contexto coletado:
| Cenario | Acao |
|---|---|
| Argumento vazio, projeto vazio | Entrevista COMPLETA (todas as dimensoes) |
| Argumento vazio, projeto existente | Entrevista FOCADA (apenas gaps detectados) |
| Argumento com descricao do projeto | Entrevista ADAPTADA (preencher o que falta da descricao) |
| Argumento com caminho para documento | Extrair contexto do documento + entrevista complementar |
2.2 Preencher o que ja se sabe¶
Para cada dimensao da entrevista, verificar se a informacao ja existe no contexto:
- Se inferivel de arquivos do projeto: preencher e marcar como [inferido]
- Se explicita no argumento: preencher e marcar como [fornecido]
- Se desconhecida: incluir na fila de perguntas
2.3 Calcular Fila de Perguntas¶
- Entrevista completa: ate 10 perguntas (todas as dimensoes)
- Entrevista focada/adaptada: apenas gaps, max 7 perguntas
- Nunca exceder 10 perguntas no total
ETAPA 3: ENTREVISTA¶
3.1 Dimensoes de Discovery¶
A entrevista cobre 7 dimensoes, com 1-2 perguntas cada. O roteiro completo
(texto de cada pergunta, exemplos, formatos, regras) esta em
references/discovery-guide.md. Consultar sob demanda em vez de memorizar.
Dimensoes:
- Visao e Proposito — elevator pitch
- Usuarios e Stakeholders — atores e quem decide
- Escopo e Prioridades — MVP vs pos-MVP, trade-offs
- Restricoes — prazo, equipe, budget, tech
- Contexto Tecnico — stack, infra, integracoes
- Qualidade e Padroes — testes, seguranca, observabilidade, compliance
- Visao de Futuro — evolucao em 6-12 meses
Perguntas sao feitas UMA POR VEZ, aguardando resposta antes de avancar.
3.2 Regras da Entrevista¶
Ver detalhamento em references/discovery-guide.md#regras-da-entrevista.
Resumo: uma pergunta por vez, maximo 10 total, adaptar ao contexto, confirmar
inferencias, nao julgar respostas.
3.3 Transicao entre Perguntas¶
Apos cada resposta: - Agradecer brevemente (1 linha max, sem ser efusivo) - Se a resposta levantar aspecto nao coberto: adicionar pergunta de follow-up (dentro do limite) - Apresentar proxima pergunta
ETAPA 4: SINTESE¶
4.1 Template do Briefing¶
Apos encerrar a entrevista, consolidar todas as respostas usando
templates/briefing.md (mesmo diretorio desta skill). Estrutura:
- Visao e Proposito
- Usuarios e Stakeholders
- Escopo (MVP / Pos-MVP / Fora de Escopo)
- Prioridades e Trade-offs
- Restricoes (prazo, equipe, budget, tecnica)
- Stack Tecnica
- Qualidade e Padroes
- Visao de Futuro
- Itens a Definir (pendencias)
4.2 Regras de Sintese¶
- Usar as palavras do usuario — nao reescrever em jargao tecnico
- Marcar inferencias — se algo foi inferido (nao dito explicitamente), indicar com
[inferido] - Marcar pendencias — itens sem resposta vao para "Itens a Definir"
- Remover secoes vazias — se dimensao inteira nao se aplica, remover (nao deixar "N/A")
- Nao inventar — se o usuario nao mencionou, nao adicionar
ETAPA 5: VALIDACAO¶
5.1 Apresentar Resumo¶
Antes de salvar, apresentar ao usuario um resumo executivo:
## Resumo do Briefing
**Projeto**: [Nome]
**Resumo**: [1-2 frases]
**Atores**: [N] identificados
**Features MVP**: [N] features
**Stack**: [resumo da stack]
**Restricoes criticas**: [lista curta]
**Itens a definir**: [N] pendencias
Deseja que eu salve este briefing? Ou ha algo a corrigir/complementar?
5.2 Iterar se Necessario¶
- Se usuario pedir correcoes: aplicar e re-apresentar resumo
- Se usuario pedir mais perguntas: retomar entrevista (respeitando limite de 10)
- Se usuario aprovar: prosseguir para salvamento
ETAPA 6: SALVAMENTO¶
6.1 Criar Diretorio¶
Se docs/01-briefing-discovery/ nao existir, criar.
6.2 Salvar Briefing¶
Salvar em docs/01-briefing-discovery/briefing.md.
Se ja existe um briefing:
- Salvar como docs/01-briefing-discovery/briefing-[DATE].md
- Ou sobrescrever se usuario pediu atualizacao
6.3 Reportar¶
## Briefing Salvo
**Arquivo**: docs/01-briefing-discovery/briefing.md
**Dimensoes cobertas**: [N]/7
**Itens a definir**: [N]
### Proximos Passos (fluxo SDD recomendado)
1. `/constitution` — Definir principios de governanca baseados no briefing
2. `/specify [feature]` — Especificar features do MVP identificadas
3. `/clarify` — Resolver ambiguidades nas specs geradas
4. `/plan` — Gerar planos tecnicos de implementacao
5. `/create-tasks` — Decompor planos em tarefas executaveis
Pre-flight de Bootstrap (apos briefing + plan)¶
Stacks multi-workspace (monorepo npm/pnpm, Go modules multiplos, Cargo
workspaces, etc) historicamente geram um bloqueio humano cirurgico
npm install por workspace — 5 bloqueios em uma so execucao na rodada
de validacao do agente-00c. Cada bloqueio tem mesmo formato e mesma
resposta. Atrito mecanico previsivel deve ser amortizado em batch,
nao resolvido onda-a-onda.
Quando o briefing identificar stack multi-workspace, o agente DEVE materializar um script de bootstrap antes de declarar o briefing concluido:
Passos¶
- Identificar workspaces declarados (lendo
plan.md §Project Structurese ja existe, ou pedindo ao usuario no proprio briefing). - Gerar
scripts/bootstrap-deps.shna raiz do projeto-alvo com uma linha por workspace agrupando as dependencias canonicas. Formato:
#!/bin/sh
# bootstrap-deps.sh — pre-flight de dependencias para evitar bloqueios
# cirurgicos npm install no meio da pipeline agente-00c.
#
# Rode UMA VEZ antes de /agente-00c (ou apos /initialize-docs).
#
# Gerado por: briefing skill (pre-flight de bootstrap)
# Data: <ISO>
# Workspaces: <lista>
set -eu
echo "==> auth-service"
npm install --workspace=services/auth-service \
express@5 zod@3 jsonwebtoken pino
echo "==> frontend-staff"
npm install --workspace=services/frontend-staff \
react@18 react-dom@18 @tanstack/react-query @radix-ui/react-dialog
# ...
Para monorepos com package.json na raiz que ja declara workspaces,
uma alternativa equivalente e listar npm install (raiz) +
npm install --workspace=<nome> <dep> para cada workspace.
- Adicionar nota no
briefing.md(secao "Setup / Bootstrap"):
Pre-flight obrigatorio: rode
bash scripts/bootstrap-deps.shUMA VEZ antes de invocar/agente-00c. Stacks multi-workspace exigem instalacao de dependencias previa para evitar N bloqueios humanos cirurgicos durante a pipeline (FR-018 nao permitenpm installautonomo).
- Se o briefing identifica que o projeto NAO e multi-workspace,
pular esse passo —
bootstrap-deps.shso faz sentido quando ha 2+ workspaces. Para single-package, o agente lida comnpm installonda-a-onda sem atrito amplificado.
Quando aplicar¶
| Sinal | Aplicar pre-flight? |
|---|---|
package.json declara workspaces: [...] |
Sim |
Multiplos package.json em subdiretorios |
Sim |
Go modules multiplos (go.work) |
Sim (com go mod download por modulo) |
Cargo workspace (Cargo.toml [workspace]) |
Sim (com cargo fetch -p <crate>) |
| Repo single-package | Nao |
Quando NAO aplicar¶
- Projetos puramente documentais (sem
package.json,go.mod, etc). - Briefing identifica que a stack ainda nao esta decidida — gerar
bootstrap-deps.shantes da decisao de stack vira lixo. Aplicar apos oplan.mdmaterializar§Project Structure.
Criterio de aceitacao¶
Apos briefing salvo, executar bash scripts/bootstrap-deps.sh (se
gerado) instala todas as dependencias com zero erros. A primeira onda
do /agente-00c NAO encontra bloqueio npm install.
DIRETRIZES RAPIDAS¶
- Entrevista, nao interrogatorio — tom conversacional, sem pressao
- Capturar, nao julgar — o briefing registra; o
/advisorcritica - Adaptar, nao seguir cegamente — se o projeto e simples, pular dimensoes irrelevantes
- Priorizar MVP — focar no que importa AGORA, nao no que pode importar depois
- Respeitar o usuario — se ele ja sabe o que quer, nao forcar reflexao desnecessaria
- Alimentar o pipeline — o briefing deve ser util para
/constitutione/specify
Relacao com Outras Skills¶
| Skill | Relacao com Briefing |
|---|---|
constitution |
Consome briefing para derivar principios de governanca |
specify |
Consome briefing para contextualizar features |
clarify |
Pode refinar ambiguidades do briefing se necessario |
advisor |
Pode criticar decisoes registradas no briefing |
plan |
Usa briefing como contexto tecnico de alto nivel |
initialize-docs |
Cria o diretorio onde o briefing e salvo |
Gotchas¶
Uma pergunta por vez — aguardar resposta antes de avancar¶
Despejar 7 perguntas de uma vez quebra a entrevista. O valor esta no ciclo pergunta-resposta-reflexao-proxima. Enviar bloco significa que o usuario responde em batch, sem reflexao.
Maximo 10 perguntas TOTAL¶
Nao exceda por "mais uma coisa importante". Se 10 nao resolveram, registre o que tem e marque o resto como "A Definir" — o briefing e draft, pode ser atualizado depois.
Inferencias devem ser marcadas [inferido] e confirmadas¶
Quando preencher algo derivado do codigo (ex: stack detectada de go.mod), marque [inferido] e confirme com uma linha: "Detectei X, correto?". Assumir sem confirmar e arriscar registrar premissa errada como fato.
Se o usuario responder varias dimensoes de uma vez, registre TODAS¶
Usuario pragmatico frequentemente responde em texto corrido cobrindo 3 dimensoes. Capture tudo e pule as perguntas equivalentes — nao repita o que ja foi dito so para seguir o roteiro.
NAO julgar respostas — briefing registra, advisor critica¶
Se o usuario diz "vou lancar sem testes para ganhar velocidade", registre fielmente. Criticar aqui quebra a confianca da entrevista. A critica e papel do /advisor, se o usuario pedir.
Remover secoes inteiras quando a dimensao nao se aplica¶
Se o projeto e uma biblioteca interna sem usuarios finais, remover a secao "Usuarios e Stakeholders" em vez de deixar "N/A". Secoes vazias sao ruido para /constitution e /specify downstream.
Nunca reescrever em jargao tecnico¶
Usar as palavras do usuario. Se ele disse "app de caixa", nao trocar por "sistema de ponto-de-venda transacional". O briefing preserva linguagem; o /plan traduz em tecnico.