Executar uma tarefa rápida com garantias GSD (commits atômicos, rastreamento de estado) mas pulando agentes opcionais
O modo quick é o mesmo sistema com um caminho mais curto:
.planning/quick/ separadas das fases planejadasPadrão: Pula pesquisa, discussão, plan-checker e verificador. Use quando você sabe exatamente o que fazer.
Flag --discuss: Fase de discussão leve antes do planejamento. Levanta suposições, esclarece áreas ambíguas, registra decisões no CONTEXT.md. Use quando a tarefa tem ambiguidades que valem resolver antes de começar.
Flag --full: Ativa o pipeline completo de qualidade — discussão + pesquisa + verificação de plano + verificação. Uma flag para tudo.
Flag --validate: Ativa a verificação do plano (máx. 2 iterações) e verificação pós-execução apenas. Use quando quiser garantias de qualidade sem discussão ou pesquisa.
Flag --research: Inicia um agente de pesquisa focado antes do planejamento. Investiga abordagens de implementação, opções de bibliotecas e armadilhas da tarefa. Use quando não tiver certeza da melhor abordagem.
Flags granulares são combináveis: --discuss --research --validate dá o mesmo resultado que --full.
Subcomandos:
list — Listar todas as tarefas quick com statusstatus <slug> — Exibir o status de uma tarefa quick específicaresume <slug> — Retomar uma tarefa quick específica pelo slug
</objective>
<execution_context> @$HOME/.claude/get-shit-done/workflows/quick.md </execution_context>
Os arquivos de contexto são resolvidos internamente pelo workflow (init quick) e delegados via blocos <files_to_read>.
</context>
Analisar $ARGUMENTS em busca de subcomandos PRIMEIRO:
Sanitização de slug (para status e resume): Remover quaisquer caracteres que não correspondam a [a-z0-9-]. Rejeitar slugs com mais de 60 caracteres ou que contenham .. ou /. Se inválido, exibir "Slug de sessão inválido." e parar.
Quando SUBCMD=list:
ls -d .planning/quick/*/ 2>/dev/null
Para cada diretório encontrado:
status do seu frontmatter via:
node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" frontmatter get .planning/quick/{dir}/SUMMARY.md --field status 2>/dev/null
stat -f "%SB" -t "%Y-%m-%d" (macOS) ou stat -c "%w" (Linux); usar o prefixo de data no nome do diretório como fallback (formato: prefixo YYYYMMDD-)complete ✓incompletein-progressabandoned? (>7 days, no summary)SEGURANÇA: Nomes de diretório são lidos do sistema de arquivos. Antes de exibir qualquer slug, sanitizar: remover caracteres não imprimíveis, sequências de escape ANSI e separadores de caminho usando: name.replace(/[^\x20-\x7E]/g, '').replace(/[/\\]/g, ''). Nunca passar nomes de diretório brutos para comandos shell via interpolação de string.
Formato de exibição:
Tarefas Rápidas
────────────────────────────────────────────────────────────
slug data status
backup-s3-policy 2026-04-10 in-progress
auth-token-refresh-fix 2026-04-09 complete ✓
update-node-deps 2026-04-08 abandoned? (>7 days, no summary)
────────────────────────────────────────────────────────────
3 tarefas (1 completa, 2 incompletas/em andamento)
Se nenhum diretório for encontrado: exibir Nenhuma tarefa rápida encontrada. e parar.
PARAR após exibir a lista. NÃO prosseguir para outras etapas.
Quando SUBCMD=status e SLUG está definido (já sanitizado):
Localizar diretório correspondente ao padrão *-{SLUG}:
dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
Se nenhum diretório for encontrado, exibir Nenhuma tarefa rápida encontrada com slug: {SLUG} e parar.
Ler PLAN.md e SUMMARY.md (se existir) para o slug informado. Exibir:
Tarefa Rápida: {slug}
─────────────────────────────────────
Arquivo do plano: .planning/quick/{dir}/PLAN.md
Status: {status do frontmatter de SUMMARY.md, ou "sem resumo ainda"}
Descrição: {primeira linha não vazia do PLAN.md após o frontmatter}
Última ação: {última linha significativa do SUMMARY.md, ou "nenhuma"}
─────────────────────────────────────
Retomar com: /gsd-quick resume {slug}
Sem spawn de agente. PARAR após exibir.
Quando SUBCMD=resume e SLUG está definido (já sanitizado):
Localizar o diretório correspondente ao padrão *-{SLUG}:
dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
Se nenhum diretório for encontrado, exibir Nenhuma tarefa rápida encontrada com slug: {SLUG} e parar.
Ler PLAN.md para extrair a descrição e SUMMARY.md (se existir) para extrair o status.
Exibir antes de iniciar:
[quick] Retomando: .planning/quick/{dir}/
[quick] Plano: {descrição do PLAN.md}
[quick] Status: {status do SUMMARY.md, ou "in-progress"}
Carregar contexto via:
node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" init quick
Prosseguir para executar o workflow quick com contexto de retomada, passando o slug e o diretório do plano para que o executor continue de onde parou.
Quando SUBCMD=run:
Executar o workflow quick de @$HOME/.claude/get-shit-done/workflows/quick.md do início ao fim. Preservar todos os pontos de controle do workflow (validação, descrição da tarefa, planejamento, execução, atualizações de estado, commits).
<security_notes>