| 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. |
CSTK Adaptation
Adapted from JotJunior/cstk skill briefing at commit 35922cf.
Use this as a Codex skill; follow local repository instructions and Codex tool names when source text mentions Claude-specific commands or slash commands.
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
the user's request
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
-- AGENTS.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:
docs/01-briefing-discovery/briefing.md
docs/01-briefing-discovery/BRIEFING-*.md
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 the user's request 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 Structure
se ja existe, ou pedindo ao usuario no proprio briefing).
-
Gerar scripts/bootstrap-deps.sh na raiz do projeto-alvo com uma
linha por workspace agrupando as dependencias canonicas. Formato:
#!/bin/sh
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.sh
UMA 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 permite
npm install autonomo).
-
Se o briefing identifica que o projeto NAO e multi-workspace,
pular esse passo — bootstrap-deps.sh so faz sentido quando ha 2+
workspaces. Para single-package, o agente lida com npm install
onda-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.sh antes da decisao de stack vira lixo. Aplicar apos
o plan.md materializar §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
/advisor critica
- 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
/constitution e /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.
Source License
This skill includes material adapted from JotJunior/cstk, licensed under MIT. The copyright and permission notice are included in references/cstk-license.md.