Explorar o MVP com requisitos de desenvolvimento
Preparação obrigatória
Antes de executar esta skill, carregue obrigatoriamente $specsfy-setup na
raiz do projeto. Em handoff automático, carregue-o de novo antes desta etapa.
Reutilize a raiz confirmada na conversa e não prossiga se o setup apontar uma
pendência.
Modo de interação
Modo de interação: perguntas.
Antes de formular qualquer pergunta, leia e aplique o
Contrato de perguntas numeradas de .specsfy/Spec.md.
Esta skill é a orquestradora da entrada do MVP. Ela importa MVP.md como a
milestone 1.0, seleciona somente requisitos de desenvolvimento e cria um
backlog candidato para cada requisito selecionado. Contexto de negócio
permanece no arquivo de origem. Em seguida, carrega as skills responsáveis
para entrevistar cada backlog e somente avança quando cada etapa tiver
resultado confirmado.
Carregar o contexto disponível
Resolva a raiz do projeto consumidor antes de ler qualquer arquivo. Se ela
for um submódulo Git, descubra o superprojeto com
git -C <raiz> rev-parse --show-superproject-working-tree. A saída não
vazia acrescenta somente essa raiz pai à busca. Não percorra outros pais.
Leia MVP.md se existir como arquivo regular na raiz do consumidor. Quando
ele estiver ausente e a raiz for um submódulo, leia MVP.md no
superprojeto. O arquivo local tem prioridade. Preserve a fonte consultada e
use-a como contexto declarado, sem substituir o que a pessoa disser.
Antes da primeira pergunta, execute uma única vez o importador:
node \
.agents/skills/specsfy-mvp-milestone-interviewer/scripts/importar_mvp.mjs \
--root <raiz>
O importador cria specs/milestones/M01.md a partir de MVP.md e só cria
backlog e spec para temas classificáveis como entregas de software
desenvolvíveis. Visão, público, princípios, contexto, métricas e outros
registros sem comportamento a construir permanecem exclusivamente em
MVP.md; não crie Inbox para eles nem os copie para a milestone.
Antes de escrever os arquivos de desenvolvimento, ele aplica defaults
somente quando encontra um rótulo explícito ou uma formulação inequívoca no
trecho, como Problema,
Público, Resultado, Contexto ou uma frase objetiva de capacidade.
Registre esses defaults no backlog e no JSON de saída com sua base. Quando
o trecho não sustentar uma resposta, preserve a lacuna em vez
de criar um valor plausível. Cada backlog preserva um bloco de registros do
trecho importado. O backlog fica Captured durante a criação, recebe a
spec Draft ao final e passa a apontar para ela como Promoted; a spec
mantém Definition Gate: Pending. Se M01.md existir, não sobrescreva
nenhum arquivo e informe a pessoa responsável.
Leia BRAND.md seguindo a mesma ordem: raiz do consumidor e, somente como
fallback de submódulo, superprojeto. Use-o para manter linguagem, público,
proposta e limites de marca coerentes durante as perguntas. Não copie seu
conteúdo para os artefatos derivados.
Registre MVP.md como fonte em cada backlog criado pelo importador. Não
crie, mova nem altere arquivos de contexto.
Leia PROJECT.md, Inboxes, backlog e specs existentes apenas se ajudarem a
evitar repetição ou contradição. Eles continuam separados da formulação
recebida nesta sessão.
Trate o JSON retornado pelo importador como a fila ordenada de backlogs da
sessão. Cada item terá title, backlog e spec. Temas contextuais não
entram na fila porque permanecem somente em MVP.md.
Antes da importação, faça a mesma triagem de dados sensíveis usada pela Inbox.
Se a fonte tiver credencial, token, chave privada ou dado pessoal sensível,
não gere a milestone nem reproduza o valor em mensagens.
Preservar a sessão
- Derive uma identificação estável no formato
DESC-AAAAMMDD-<slug> a partir
do primeiro tema recebido.
- Depois de cada resposta da pessoa, capture o conteúdo semântico em outra
Inbox com a mesma sessão e o próximo turno. Quando ela responder somente
1, 2 ou 3, substitua o número pelo texto integral da opção escolhida
antes de montar --input, --summary, --signals e os demais campos. A
entrada literal pode constar na rastreabilidade da interação, mas não pode
ser usada como contexto da milestone. Nunca edite, reúna ou substitua uma
captura anterior. Uma Inbox também registra cada hipótese de milestone
apresentada para confirmação.
- Informe
--sources em toda chamada: liste o caminho de MVP.md e
BRAND.md consultados, inclusive quando vierem do superprojeto, ou indique
que estavam ausentes.
- Aplique a triagem de dados sensíveis do
$specsfy-01-inbox antes de cada
escrita. Se ela impedir a captura, interrompa a conversa até receber texto
seguro para registrar.
- Escreva em Português do Brasil a análise, a síntese, os metadados e qualquer
milestone gerada. Se a fonte ou a resposta literal estiver em outro idioma,
preserve-a apenas como citação e registre sua interpretação em Português do
Brasil.
Use o script da Inbox com os campos da captura e acrescente a sessão:
node .agents/skills/specsfy-01-inbox/scripts/capturar_inbox.mjs \
--input "<texto integral da pessoa>" \
--title "<tema da descoberta>" \
--session "DESC-AAAAMMDD-<slug>" \
--turn "<número sequencial>" \
--sources "<situação de MVP.md e BRAND.md>" \
[campos de análise da Inbox] [--root <raiz>]
Resolver defaults antes de perguntar
Depois da importação, trate cada tema com esta ordem:
- Releia o trecho original, os
Defaults aplicados automaticamente, o
backlog e a milestone M01.
- Mantenha como resposta confirmada todo campo preenchido por declaração
explícita do MVP ou por formulação inequívoca registrada pelo importador.
- Se existir somente uma opção materialmente compatível com o MVP, aplique-a
como default óbvio e registre a formulação normalizada e a fonte. Não peça
confirmação para uma resposta que já está clara.
- Se houver mais de uma leitura razoável, conflito entre fontes ou ausência de
informação, não escolha em silêncio. Transforme somente esse ponto na
próxima pergunta numerada, com a sugestão mais compatível primeiro.
- Depois de cada resposta, reavalie todos os campos. Não repita pergunta já
respondida nem abra uma pergunta para confirmar um default sustentado.
A pergunta só aparece quando o MVP não responde, quando a resposta exige uma
escolha real ou quando há ambiguidade ou contradição. O resultado da importação
deve deixar claro o que foi resolvido automaticamente e o que ainda precisa da
pessoa.
Filtrar o que será desenvolvido
Antes de carregar $specsfy-02-backlog, classifique o tema:
Desenvolvível: descreve uma capacidade, tela, fluxo, integração, dado,
automação, regra executável ou comportamento do sistema. Crie backlog e
spec Draft.
Contextual: descreve visão, público, posicionamento, princípio, problema,
métrica, premissa, contexto ou limite sem declarar uma entrega de software.
Preserve-o em MVP.md; não crie Inbox, backlog ou spec.
- Se houver dúvida entre os dois, só classifique como desenvolvível quando o
próprio trecho trouxer verbo ou objeto de construção verificável, como
desenvolver, implementar, criar, permitir, cadastrar, consultar
ou integrar. Caso contrário, mantenha o tema contextual e registre o
motivo.
Não transforme uma descrição de produto em backlog apenas porque ela pode
ajudar uma futura implementação. O backlog representa uma entrega que será
desenvolvida nesta importação.
Orquestrar as skills da descoberta
Para cada item da fila retornada pelo importador, execute esta sequência sem
pular responsabilidades:
- Anuncie
Transição automática: $specsfy-mvp-milestone-interviewer para $specsfy-02-backlog; motivo: entrevistar o backlog derivado do MVP; resultado esperado: backlog refinado com respostas confirmadas e carregue
$specsfy-02-backlog para o caminho do backlog candidato.
- Leia primeiro os registros do MVP que acompanham esse backlog e use-os para
preencher respostas já declaradas. Faça entrevista adaptativa somente para
lacunas, ambiguidades ou contradições restantes. Preserve uma pergunta por
rodada, resolva escolhas numéricas no texto da opção e respeite o limite de
oito perguntas por área.
- Se o backlog ou a entrevista indicar informação a guardar ausente ou ambígua,
anuncie a transição para
$specsfy-data-discovery, conclua a entrevista de
dados e retome o backlog com .specsfy/DATABASE.md como contexto.
- Após cada backlog, retome esta skill, registre a situação do item na síntese
da sessão e prossiga para o próximo backlog da fila. Como esta skill foi
chamada para importar o MVP, carregue
$specsfy-03-specify ao terminar o
refinamento automático de cada backlog e crie uma spec Draft baseada nele.
A seção 10 deve manter a área de menus e navegação principal: use o que o
MVP declarar e marque Pendente quando essa informação não existir. Não
implemente código, não execute tarefas e não promova o Definition Gate.
- Quando a fila terminar, confirme que cada tema desenvolvível possui backlog
e spec Draft e que nenhum tema contextual gerou artefato no Specsfy.
Execute
specsfy milestones sync --project <raiz> e carregue
$specsfy-milestone-governor para conferir vínculos e progresso de M01.
A geração automática de Drafts não autoriza implementação nem validação
final.
Conduzir uma conversa adaptativa
- Comece por finalidade, pessoa atendida e problema observável.
- Releia todas as Inboxes da sessão depois de cada captura. Mostre uma síntese
curta que separe formulação recebida e hipótese da conversa.
- Monte a rodada conforme o contrato central: uma pergunta numerada, opções
específicas,
Escrever outra resposta e Avançar.
- Explore apenas o necessário para entender jornada, dados indispensáveis,
papéis, regras, integrações, limites, demonstração e validação. Para cada
informação a guardar não clara, carregue
$specsfy-data-discovery e conclua
essa descoberta antes de tratar o próximo ponto. Não aplique formulário
fixo nem repita uma resposta já preservada.
- Quando a pessoa encerrar ou adiar uma área, capture a formulação dela e
indique a Inbox correspondente na síntese. Não preencha lacunas por conta
própria.
Encerrar e tratar depois
Ao encerrar, informe a identificação da sessão, M01, a lista ordenada de
backlogs e specs Draft geradas, as respostas confirmadas e os pontos marcados
como Pendente. Informe também que os demais temas continuam no MVP.md. A
geração de specs encerra a importação; implementação, validação final e
promoção de gate ficam para outra etapa autorizada.
Limites
- Não invente respostas, objetivo, condição de saída, fora de escopo ou
vínculos de uma milestone.
- Não sobrescreva a milestone 1.0 ou backlogs existentes.
- Não pule a entrevista de nenhum backlog gerado pelo importador.
- Não implemente código durante a importação nem marque um gate como Passed.
- Não trate Inbox como fonte normativa.
- Não use o entrevistador de roadmap para ampliar o MVP sem confirmação.
1---2name: specsfy-mvp-milestone-interviewer3description: Importe requisitos de desenvolvimento do MVP para a milestone 1.0, backlogs e specs Draft, preservando contexto de negócio somente na fonte.4---56# Explorar o MVP com requisitos de desenvolvimento78## Preparação obrigatória910Antes de executar esta skill, carregue obrigatoriamente `$specsfy-setup` na11raiz do projeto. Em handoff automático, carregue-o de novo antes desta etapa.12Reutilize a raiz confirmada na conversa e não prossiga se o setup apontar uma13pendência.1415## Modo de interação1617Modo de interação: `perguntas`.18Antes de formular qualquer pergunta, leia e aplique o19`Contrato de perguntas numeradas` de `.specsfy/Spec.md`.2021Esta skill é a orquestradora da entrada do MVP. Ela importa `MVP.md` como a22milestone 1.0, seleciona somente requisitos de desenvolvimento e cria um23backlog candidato para cada requisito selecionado. Contexto de negócio24permanece no arquivo de origem. Em seguida, carrega as skills responsáveis25para entrevistar cada backlog e somente avança quando cada etapa tiver26resultado confirmado.2728## Carregar o contexto disponível29301. Resolva a raiz do projeto consumidor antes de ler qualquer arquivo. Se ela31 for um submódulo Git, descubra o superprojeto com32 `git -C <raiz> rev-parse --show-superproject-working-tree`. A saída não33 vazia acrescenta somente essa raiz pai à busca. Não percorra outros pais.342. Leia `MVP.md` se existir como arquivo regular na raiz do consumidor. Quando35 ele estiver ausente e a raiz for um submódulo, leia `MVP.md` no36 superprojeto. O arquivo local tem prioridade. Preserve a fonte consultada e37 use-a como contexto declarado, sem substituir o que a pessoa disser.383. Antes da primeira pergunta, execute uma única vez o importador:3940 ```bash41 node \42 .agents/skills/specsfy-mvp-milestone-interviewer/scripts/importar_mvp.mjs \43 --root <raiz>44 ```4546 O importador cria `specs/milestones/M01.md` a partir de `MVP.md` e só cria47 backlog e spec para temas classificáveis como entregas de software48 desenvolvíveis. Visão, público, princípios, contexto, métricas e outros49 registros sem comportamento a construir permanecem exclusivamente em50 `MVP.md`; não crie Inbox para eles nem os copie para a milestone.51 Antes de escrever os arquivos de desenvolvimento, ele aplica defaults52 somente quando encontra um rótulo explícito ou uma formulação inequívoca no53 trecho, como `Problema`,54 `Público`, `Resultado`, `Contexto` ou uma frase objetiva de capacidade.55 Registre esses defaults no backlog e no JSON de saída com sua base. Quando56 o trecho não sustentar uma resposta, preserve a lacuna em vez57 de criar um valor plausível. Cada backlog preserva um bloco de registros do58 trecho importado. O backlog fica `Captured` durante a criação, recebe a59 spec Draft ao final e passa a apontar para ela como `Promoted`; a spec60 mantém `Definition Gate: Pending`. Se `M01.md` existir, não sobrescreva61 nenhum arquivo e informe a pessoa responsável.624. Leia `BRAND.md` seguindo a mesma ordem: raiz do consumidor e, somente como63 fallback de submódulo, superprojeto. Use-o para manter linguagem, público,64 proposta e limites de marca coerentes durante as perguntas. Não copie seu65 conteúdo para os artefatos derivados.665. Registre `MVP.md` como fonte em cada backlog criado pelo importador. Não67 crie, mova nem altere arquivos de contexto.686. Leia `PROJECT.md`, Inboxes, backlog e specs existentes apenas se ajudarem a69 evitar repetição ou contradição. Eles continuam separados da formulação70 recebida nesta sessão.717. Trate o JSON retornado pelo importador como a fila ordenada de backlogs da72 sessão. Cada item terá `title`, `backlog` e `spec`. Temas contextuais não73 entram na fila porque permanecem somente em `MVP.md`.7475Antes da importação, faça a mesma triagem de dados sensíveis usada pela Inbox.76Se a fonte tiver credencial, token, chave privada ou dado pessoal sensível,77não gere a milestone nem reproduza o valor em mensagens.7879## Preservar a sessão80811. Derive uma identificação estável no formato `DESC-AAAAMMDD-<slug>` a partir82 do primeiro tema recebido.832. Depois de cada resposta da pessoa, capture o conteúdo semântico em outra84 Inbox com a mesma sessão e o próximo turno. Quando ela responder somente85 `1`, `2` ou `3`, substitua o número pelo texto integral da opção escolhida86 antes de montar `--input`, `--summary`, `--signals` e os demais campos. A87 entrada literal pode constar na rastreabilidade da interação, mas não pode88 ser usada como contexto da milestone. Nunca edite, reúna ou substitua uma89 captura anterior. Uma Inbox também registra cada hipótese de milestone90 apresentada para confirmação.913. Informe `--sources` em toda chamada: liste o caminho de `MVP.md` e92 `BRAND.md` consultados, inclusive quando vierem do superprojeto, ou indique93 que estavam ausentes.944. Aplique a triagem de dados sensíveis do `$specsfy-01-inbox` antes de cada95 escrita. Se ela impedir a captura, interrompa a conversa até receber texto96 seguro para registrar.975. Escreva em Português do Brasil a análise, a síntese, os metadados e qualquer98 milestone gerada. Se a fonte ou a resposta literal estiver em outro idioma,99 preserve-a apenas como citação e registre sua interpretação em Português do100 Brasil.101102Use o script da Inbox com os campos da captura e acrescente a sessão:103104```bash105node .agents/skills/specsfy-01-inbox/scripts/capturar_inbox.mjs \106 --input "<texto integral da pessoa>" \107 --title "<tema da descoberta>" \108 --session "DESC-AAAAMMDD-<slug>" \109 --turn "<número sequencial>" \110 --sources "<situação de MVP.md e BRAND.md>" \111 [campos de análise da Inbox] [--root <raiz>]112```113114## Resolver defaults antes de perguntar115116Depois da importação, trate cada tema com esta ordem:1171181. Releia o trecho original, os `Defaults aplicados automaticamente`, o119 backlog e a milestone `M01`.1202. Mantenha como resposta confirmada todo campo preenchido por declaração121 explícita do MVP ou por formulação inequívoca registrada pelo importador.1223. Se existir somente uma opção materialmente compatível com o MVP, aplique-a123 como default óbvio e registre a formulação normalizada e a fonte. Não peça124 confirmação para uma resposta que já está clara.1254. Se houver mais de uma leitura razoável, conflito entre fontes ou ausência de126 informação, não escolha em silêncio. Transforme somente esse ponto na127 próxima pergunta numerada, com a sugestão mais compatível primeiro.1285. Depois de cada resposta, reavalie todos os campos. Não repita pergunta já129 respondida nem abra uma pergunta para confirmar um default sustentado.130131A pergunta só aparece quando o MVP não responde, quando a resposta exige uma132escolha real ou quando há ambiguidade ou contradição. O resultado da importação133deve deixar claro o que foi resolvido automaticamente e o que ainda precisa da134pessoa.135136## Filtrar o que será desenvolvido137138Antes de carregar `$specsfy-02-backlog`, classifique o tema:1391401. `Desenvolvível`: descreve uma capacidade, tela, fluxo, integração, dado,141 automação, regra executável ou comportamento do sistema. Crie backlog e142 spec Draft.1432. `Contextual`: descreve visão, público, posicionamento, princípio, problema,144 métrica, premissa, contexto ou limite sem declarar uma entrega de software.145 Preserve-o em `MVP.md`; não crie Inbox, backlog ou spec.1463. Se houver dúvida entre os dois, só classifique como desenvolvível quando o147 próprio trecho trouxer verbo ou objeto de construção verificável, como148 `desenvolver`, `implementar`, `criar`, `permitir`, `cadastrar`, `consultar`149 ou `integrar`. Caso contrário, mantenha o tema contextual e registre o150 motivo.151152Não transforme uma descrição de produto em backlog apenas porque ela pode153ajudar uma futura implementação. O backlog representa uma entrega que será154desenvolvida nesta importação.155156## Orquestrar as skills da descoberta157158Para cada item da fila retornada pelo importador, execute esta sequência sem159pular responsabilidades:1601611. Anuncie `Transição automática: $specsfy-mvp-milestone-interviewer para162 $specsfy-02-backlog; motivo: entrevistar o backlog derivado do MVP;163 resultado esperado: backlog refinado com respostas confirmadas` e carregue164 `$specsfy-02-backlog` para o caminho do backlog candidato.1652. Leia primeiro os registros do MVP que acompanham esse backlog e use-os para166 preencher respostas já declaradas. Faça entrevista adaptativa somente para167 lacunas, ambiguidades ou contradições restantes. Preserve uma pergunta por168 rodada, resolva escolhas numéricas no texto da opção e respeite o limite de169 oito perguntas por área.1703. Se o backlog ou a entrevista indicar informação a guardar ausente ou ambígua,171 anuncie a transição para `$specsfy-data-discovery`, conclua a entrevista de172 dados e retome o backlog com `.specsfy/DATABASE.md` como contexto.1734. Após cada backlog, retome esta skill, registre a situação do item na síntese174 da sessão e prossiga para o próximo backlog da fila. Como esta skill foi175 chamada para importar o MVP, carregue `$specsfy-03-specify` ao terminar o176 refinamento automático de cada backlog e crie uma spec Draft baseada nele.177 A seção 10 deve manter a área de menus e navegação principal: use o que o178 MVP declarar e marque `Pendente` quando essa informação não existir. Não179 implemente código, não execute tarefas e não promova o Definition Gate.1805. Quando a fila terminar, confirme que cada tema desenvolvível possui backlog181 e spec Draft e que nenhum tema contextual gerou artefato no Specsfy.182 Execute `specsfy milestones sync --project <raiz>` e carregue183 `$specsfy-milestone-governor` para conferir vínculos e progresso de `M01`.184 A geração automática de Drafts não autoriza implementação nem validação185 final.186187## Conduzir uma conversa adaptativa1881891. Comece por finalidade, pessoa atendida e problema observável.1902. Releia todas as Inboxes da sessão depois de cada captura. Mostre uma síntese191 curta que separe formulação recebida e hipótese da conversa.1923. Monte a rodada conforme o contrato central: uma pergunta numerada, opções193 específicas, `Escrever outra resposta` e `Avançar`.1944. Explore apenas o necessário para entender jornada, dados indispensáveis,195 papéis, regras, integrações, limites, demonstração e validação. Para cada196 informação a guardar não clara, carregue `$specsfy-data-discovery` e conclua197 essa descoberta antes de tratar o próximo ponto. Não aplique formulário198 fixo nem repita uma resposta já preservada.1995. Quando a pessoa encerrar ou adiar uma área, capture a formulação dela e200 indique a Inbox correspondente na síntese. Não preencha lacunas por conta201 própria.202203## Encerrar e tratar depois204205Ao encerrar, informe a identificação da sessão, `M01`, a lista ordenada de206backlogs e specs Draft geradas, as respostas confirmadas e os pontos marcados207como `Pendente`. Informe também que os demais temas continuam no `MVP.md`. A208geração de specs encerra a importação; implementação, validação final e209promoção de gate ficam para outra etapa autorizada.210211## Limites212213- Não invente respostas, objetivo, condição de saída, fora de escopo ou214 vínculos de uma milestone.215- Não sobrescreva a milestone 1.0 ou backlogs existentes.216- Não pule a entrevista de nenhum backlog gerado pelo importador.217- Não implemente código durante a importação nem marque um gate como Passed.218- Não trate Inbox como fonte normativa.219- Não use o entrevistador de roadmap para ampliar o MVP sem confirmação.