com um clique
forge-ask
Modo conversa — discute ideias, captura decisoes, salva sessao.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Modo conversa — discute ideias, captura decisoes, salva sessao.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Executa o milestone inteiro de forma autonoma ate concluir.
Executa exatamente uma unidade de trabalho e para (step mode).
Task autonoma sem milestone — brainstorm, discuss, plan, execute.
Gerencia múltiplas contas Claude e troca entre elas (setup-token). Use ao esgotar a sessão de uma conta.
Qualidade do codebase — lint, nomenclatura. Flags: --fix, --paths.
Configuracoes do Forge — status line, hooks, MCPs.
| name | forge-ask |
| description | Modo conversa — discute ideias, captura decisoes, salva sessao. |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Bash, Glob, Skill, WebSearch, WebFetch |
This is a read-only brainstorming and discussion mode for production source code. The following rules are absolute and apply for the ENTIRE session:
src/, lib/, components/, app/, pages/, root package.json, or any code that ships.git commit on source changes, no npm install at root, no file edits in production paths..gsd/sessions/*.md (session log — auto-updated every turn).gsd/DECISIONS.md via "salvar decisão" (Edit only, append-only).gsd/probes/** via Skill("forge-probe") — throwaway feasibility experiments, isolated from production code.gsd/milestones/M###/M###-BRAINSTORM.md via Skill("forge-brainstorm")/forge-next ou /forge-auto."The purpose of this mode is thinking (and sometimes validating feasibility via isolated probes), not building production code. Stay in conversation or scoped experimentation.
Conversa de qualidade precisa de fatos. Pesquise livremente com WebSearch / WebFetch (ou MCPs brave-search / context7 / fetch quando configurados — WebSearch nativo da Anthropic já funciona zero-config) sempre que:
Cite as fontes na resposta (url + 1 linha do que foi encontrado). Lembre: pesquisar NÃO viola o modo read-only — só escrita em source files é proibida.
ls CLAUDE.md 2>/dev/null && echo "ok" || echo "missing"
ls .gsd/STATE.md 2>/dev/null && echo "ok" || echo "missing"
pwd
Se CLAUDE.md não existe: Stop. Tell the user:
Projeto não inicializado. Execute
/forge-initprimeiro.
Se .gsd/STATE.md não existe: Stop. Tell the user:
Nenhum projeto GSD encontrado. Execute
/forge-initpara começar.
From $ARGUMENTS:
resume → load last open session and continueclose → close and archive current sessionlist → list all sessionsls .gsd/sessions/ 2>/dev/null | sort -r | head -20
Display the sessions with their topics (read first line of each file). Stop.
Find the latest open session:
ls .gsd/sessions/ask-*.md 2>/dev/null | sort -r | head -1
If found: read it, write a 3-5 sentence summary into the ## Session Summary section, set status: closed in frontmatter, update updated timestamp. Report closed. Stop.
If not found: tell user "No open session found." Stop.
Find the latest open session:
ls .gsd/sessions/ask-*.md 2>/dev/null | sort -r | head -3
Read the latest open session file (status: open in frontmatter).
If none open: tell user "No open sessions. Starting a new one..." and continue as new session below.
If found: display to user:
Retomando sessão: {session id}
Tópico: {topic from frontmatter}
Iniciada: {started date}
Última atualização: {updated date}
## Conversa anterior
{content of ## Conversation section}
## Decisões capturadas até agora
{content of ## Captured Decisions section}
## Ações pendentes
{content of ## Queued Actions section}
Then load project context (see below) and continue as active session.
mkdir -p .gsd/sessions
Read:
.gsd/STATE.md → current position.gsd/PROJECT.md → project description.gsd/DECISIONS.md → recent decisions.gsd/AUTO-MEMORY.md → active memories (skip if missing)ls .gsd/sessions/ask-$(date +%Y-%m-%d)*.md 2>/dev/null | sort -r | head -1
If today's open session exists → load it and continue as resume mode.
Generate session ID: ask-{YYYY-MM-DD}-{HHmm} (use current date/time from date +%Y-%m-%d-%H%M).
Write .gsd/sessions/{session-id}.md:
---
type: ask-session
id: {session-id}
started: {ISO8601 timestamp}
updated: {ISO8601 timestamp}
status: open
topic: (pending first message)
---
## Context Loaded
- STATE: {active milestone/slice/task from STATE.md, or "idle"}
- Recent decisions: {count of decision rows}
- Active memories: {count of MEM entries in AUTO-MEMORY.md}
## Conversation
## Captured Decisions
## Queued Actions
## Session Summary
Tell the user:
💬 Modo conversa ativo — {session-id}
Contexto carregado:
Milestone ativo: {from STATE.md}
Próxima ação: {next action from STATE.md}
Memórias ativas: {count}
Este é um modo de discussão e brainstorming.
Não vou modificar arquivos nem implementar nada sem você pedir explicitamente.
Se quiser executar algo, use /forge-next ou /forge-auto.
Arquivo da sessão: .gsd/sessions/{session-id}.md
Comandos durante a conversa:
"brainstorm: X" → explora abordagens, riscos e escopo de X
"salvar decisão: X" → registra X em .gsd/decisions/ask-{session-id}.md
"criar milestone: X" → gera /forge-new-milestone com contexto desta sessão
"criar task: X" → instrução para /forge-add-task
"encerrar sessão" → fecha e arquiva esta sessão
/forge-ask resume → retoma esta sessão se o chat cair
REMINDER — CONVERSATION-ONLY: Do NOT fix code, do NOT create files, do NOT run git or build commands. If you notice something worth fixing, say it — don't do it.
CRITICAL: After EVERY response you give in this conversation, perform these two actions:
Read .gsd/sessions/{session-id}.md. Then:
updated in frontmatter to current timestamp## Conversation:
### [{HH:mm}] User
{user's message — paraphrase if long, verbatim if short}
### [{HH:mm}] Agent
{your response — paraphrase to 2-4 sentences capturing the key points}
## Captured Decisions:
- [{timestamp}] {decision text}
## Queued Actions:
- [ ] [{timestamp}] {action description}
Write the updated file.
If user said "salvar decisão: [text]":
id field — e.g. ask-2026-05-22-1430). Use it as unit_id prefixed with ask- (e.g. ask-ask-2026-05-22-1430 if the id already starts with ask-, otherwise ask-{id}). The fragment lands in .gsd/decisions/ask-{session-id}.md.FORGE_SCRIPTS_DIR=$([ -f scripts/forge-decisions.js ] && echo scripts || echo "$HOME/.claude/scripts")
SESSION_ID="{session-id}" # from the active session frontmatter
echo '{"unit_id":"ask-'"$SESSION_ID"'","decisions":[{"when":"'"$(date +%Y-%m-%d)"'","scope":"ask","decision":"[text from user]","choice":"","rationale":"","revisable":"yes"}]}' | node "$FORGE_SCRIPTS_DIR/forge-decisions.js" --write --cwd "$(pwd)"
.gsd/decisions/ask-{session-id}.md"If user said "brainstorm: [topic]" or "brainstorming: [topic]":
Skill({ skill: "forge-brainstorm", args: "[topic]" })## Queued Actions: - [ ] [{timestamp}] Brainstorm produzido para: [topic]Auto-suggest brainstorm: If the user describes a new feature, milestone idea, or architectural change and NO brainstorm exists for it yet, suggest: "Quer que eu rode o brainstorm para explorar abordagens e riscos antes de continuarmos?"
If user said "probe: [question/idea]" or "probar: [idea]" or "testar: [idea]":
Skill({ skill: "forge-probe", args: "[idea]" })--quick is passed), builds throwaway code in .gsd/probes/NNN-name/, and produces verdicts (VALIDATED/INVALIDATED/PARTIAL) with observable evidence## Queued Actions: - [ ] [{timestamp}] Probes rodados para: [idea]Auto-suggest probe: If the user's discussion surfaces technical uncertainty that benefits from observable evidence — phrases like "vale testar se", "será que X aguenta", "é viável usar Y", "qual é mais rápido: A ou B", "queria ver se X funciona", comparisons between competing libraries/approaches, or performance/compatibility concerns — suggest: "Quer rodar um probe rápido para validar isso com evidência antes de decidir? probe: [reformulação da pergunta em Given/When/Then]"
Brainstorm vs Probe — quando sugerir qual:
If user said "criar milestone: [description]":
## Conversation or ## Captured Decisions sections, or a brainstorm was run)/forge-new-milestone {description} -session {session-id} para criar o milestone aproveitando o contexto desta sessão."/forge-new-milestone {description} para criar o milestone completo com brainstorm e planejamento."## Queued Actions in session file: - [ ] [{timestamp}] Criar milestone: {description} (session: {session-id})If user said "criar task: [description]":
/forge-add-task {active slice} {description} para adicionar a task."## Queued ActionsIf user said "encerrar sessão" or "close session":
## Session Summarystatus: closed in frontmatterupdated timestampDuring this conversation, use the loaded project context to give relevant, grounded answers:
You do NOT need to read more files unless the user asks about something specific. If you need to look something up, read it and summarize — do not edit it.
If you spot a bug, an inconsistency, or an improvement while reading: mention it conversationally ("Notei que X pode ser um problema — quer que eu investigue mais?"). Do NOT fix it silently. Do NOT fix it even if asked mid-conversation — that's for /forge-next.