Clarify-Confirm-Continue (ccc)
Disciplined task intake workflow for multi-step or complex user requests across
codebases, document trees, and project workspaces. Ensures the agent and user
are fully aligned before any modification or extensive execution begins.
Composability
- Design Interviews: Works seamlessly alongside the
grilling skill when an
extended multi-turn architectural interrogation is warranted before drafting
the plan.
Procedural Workflow
Phase 1: Fact-Checking & Fork-Hunting
1. Fact-Check the Workspace First (Zero-User-Burden)
Before asking any questions, inspect the environment autonomously using
read-only tools (grep_search, view_file, list_dir, code_search,
moma_search):
- Codebases: Check function signatures, type definitions, conventions, and
existing test suites.
- Documents & Project Files: Read relevant Markdown files (
*.md), design
docs (g3doc/, docs/), notes, specifications, references, and schemas.
- Rule: Never ask the user for verifiable facts that already exist in the
workspace files or documentation.
2. Fork-Hunting (Genuine Decisions vs. Fake Dilemmas)
Evaluate the task for unresolved decisions by categorizing them:
| Category |
Definition |
Action |
| Workspace Facts |
Verifiable via inspection tools. |
Never ask; inspect autonomously. |
| Fake Dilemmas |
Obvious right choice vs obviously broken choices; asking permission for standard best practices. |
Never ask; execute the obvious right choice. |
| Genuine Decision Forks |
2+ viable, defensible paths with real trade-offs (API design, document framing, breaking changes). |
Clarify before summarizing. |
3. Interrogate Unsettled Forks
If one or more Genuine Decision Forks exist:
- Present independent decision forks in a single focused
ask_question call; ask
dependent/sequential forks one at a time.
- State the trade-offs clearly.
- Always provide your recommended choice with rationale.
- Wait for user feedback before drafting the final execution summary.
- Anti-Smuggling Rule: Never convert unresolved decision forks into
unverified "assumptions" to skip this interrogation step.
Phase 2: In-Modal Structured Summary & Readiness Gate (ask_question)
Once all genuine decision forks are settled (or immediately if zero genuine
forks exist), invoke the ask_question tool with a single readiness gate.
[!IMPORTANT]
Preventing UI Collapse: In many agentic harnesses (e.g., Jetski,
Antigravity), pre-tool chat text emitted in the same turn as a tool call is
automatically collapsed into a progress/thought accordion. To ensure the
structured summary is immediately visible and prominent, embed the full
markdown summary directly inside the question argument of
ask_question.
Structure the question argument in ask_question using markdown:
- 🎯 Goals: What will be accomplished.
- 🛡️ Non-Goals / Scope Boundaries: What will explicitly be left untouched.
- 📌 Settled Decisions & Invariants: Agreed choices from Phase 1 and verified
workspace facts (no unresolved questions or speculative assumptions).
- 🛠️ Execution Plan: High-level steps to be performed once approved.
- Conclude with:
*How would you like to proceed?*
Configure the options array with:
"(Recommended) Yes, proceed"
"Open in artifact"
"No, adjust in chat"
Phase 3: Handling Gate Selection
- If "(Recommended) Yes, proceed": Transition immediately to task execution.
- If "Open in artifact": Use
write_to_file to save the structured summary
and execution plan as a markdown artifact (.md file) in the session's
artifact directory. Configure the file to request interactive
approval/feedback (e.g., set ArtifactMetadata with UserFacing: true,
RequestFeedback: true, and a concise Summary to render an interactive
'Proceed' button). If the harness does not support interactive gates,
instruct the user in chat to review the file and reply 'Proceed' when they are
ready. Stop calling tools and go idle to await reactive wakeup.
- If "No, adjust in chat" or Custom Write-In: Apply user feedback, adjust
the scope or plan accordingly, and re-confirm if substantial changes were
made.
Execution Safety Invariants
- No Pre-Approval Modifications: Do not edit workspace files, create branches,
or run mutating commands during Phase 1 or Phase 2.
- Explicit Approval Gate: You must receive confirmation via
ask_question
(or write-in approval) before transitioning to execution.
- Global Guardrails Preserved: Approval at the confirmation gate authorizes
that you understand the task and authorizes you to begin drafting changes. All
standard version control, push, PR, and landing approval gates in
AGENTS.md
remain independently and strictly enforced during execution.
1---2name: clarify-confirm-continue3description: Orchestrates a disciplined task intake workflow across code, docs, and project files by autonomously fact-checking the workspace, resolving genuine decision forks, and confirming execution readiness via ask_question before making modifications. Use when starting multi-step tasks, refactorings, ambiguous feature requests, broad documentation updates, or when invoked via /clarify-confirm-continue or "ccc". Don't use for trivial single-turn lookups, straightforward single-line edits where intent is unambiguous, or emergency rollbacks.4---56# Clarify-Confirm-Continue (`ccc`)78Disciplined task intake workflow for multi-step or complex user requests across9codebases, document trees, and project workspaces. Ensures the agent and user10are fully aligned before any modification or extensive execution begins.1112## Composability1314- **Design Interviews**: Works seamlessly alongside the `grilling` skill when an15 extended multi-turn architectural interrogation is warranted before drafting16 the plan.1718## Procedural Workflow1920### Phase 1: Fact-Checking & Fork-Hunting2122#### 1. Fact-Check the Workspace First (Zero-User-Burden)23Before asking any questions, inspect the environment autonomously using24read-only tools (`grep_search`, `view_file`, `list_dir`, `code_search`,25`moma_search`):26- **Codebases**: Check function signatures, type definitions, conventions, and27 existing test suites.28- **Documents & Project Files**: Read relevant Markdown files (`*.md`), design29 docs (`g3doc/`, `docs/`), notes, specifications, references, and schemas.30- **Rule**: Never ask the user for verifiable facts that already exist in the31 workspace files or documentation.3233#### 2. Fork-Hunting (Genuine Decisions vs. Fake Dilemmas)34Evaluate the task for unresolved decisions by categorizing them:3536<!-- mdformat off(prevent table wrapping) -->37| Category | Definition | Action |38| :--- | :--- | :--- |39| **Workspace Facts** | Verifiable via inspection tools. | **Never ask**; inspect autonomously. |40| **Fake Dilemmas** | Obvious right choice vs obviously broken choices; asking permission for standard best practices. | **Never ask**; execute the obvious right choice. |41| **Genuine Decision Forks** | 2+ viable, defensible paths with real trade-offs (API design, document framing, breaking changes). | **Clarify** before summarizing. |42<!-- mdformat on -->4344* **Examples of Fake Dilemmas (Do not ask—execute standard best practices)**:45 - *"Should I write tests for the new feature?"* (Always write tests).46 - *"Should I fix the syntax error or leave it broken?"* (Obvious brownie vs.47 kick-in-the-face).48 - *"Should I format the code to comply with style rules?"* (Standard hygiene).4950* **Examples of Genuine Decision Forks (Clarification required)**:51 - **API & Architecture**: Breaking change vs. deprecation shim; synchronous52 vs. streaming response; choosing between two existing architectural patterns.53 - **Documentation & Non-Code**: High-level executive summary vs. deep technical54 breakdown; standalone doc vs. appending to an existing guide; choosing between55 competing taxonomies.56 - **Scope Boundaries**: Inclusions vs. exclusions when both are reasonable and57 defensible.5859#### 3. Interrogate Unsettled Forks60If one or more **Genuine Decision Forks** exist:61- Present independent decision forks in a single focused `ask_question` call; ask62 dependent/sequential forks one at a time.63- State the trade-offs clearly.64- **Always provide your recommended choice** with rationale.65- Wait for user feedback before drafting the final execution summary.66- **Anti-Smuggling Rule**: Never convert unresolved decision forks into67 unverified "assumptions" to skip this interrogation step.6869---7071### Phase 2: In-Modal Structured Summary & Readiness Gate (`ask_question`)7273Once all genuine decision forks are settled (or immediately if zero genuine74forks exist), invoke the `ask_question` tool with a single readiness gate.7576> [!IMPORTANT]77> **Preventing UI Collapse:** In many agentic harnesses (e.g., Jetski,78> Antigravity), pre-tool chat text emitted in the same turn as a tool call is79> automatically collapsed into a progress/thought accordion. To ensure the80> structured summary is immediately visible and prominent, embed the full81> markdown summary **directly inside the `question` argument** of82> `ask_question`.8384Structure the `question` argument in `ask_question` using markdown:85- **🎯 Goals**: What will be accomplished.86- **🛡️ Non-Goals / Scope Boundaries**: What will explicitly be left untouched.87- **📌 Settled Decisions & Invariants**: Agreed choices from Phase 1 and verified88 workspace facts (no unresolved questions or speculative assumptions).89- **🛠️ Execution Plan**: High-level steps to be performed once approved.90- Conclude with: `*How would you like to proceed?*`9192Configure the `options` array with:93- `"(Recommended) Yes, proceed"`94- `"Open in artifact"`95- `"No, adjust in chat"`9697---9899### Phase 3: Handling Gate Selection100101- **If "(Recommended) Yes, proceed"**: Transition immediately to task execution.102- **If "Open in artifact"**: Use `write_to_file` to save the structured summary103 and execution plan as a markdown artifact (`.md` file) in the session's104 artifact directory. Configure the file to request interactive105 approval/feedback (e.g., set `ArtifactMetadata` with `UserFacing: true`,106 `RequestFeedback: true`, and a concise `Summary` to render an interactive107 'Proceed' button). If the harness does not support interactive gates,108 instruct the user in chat to review the file and reply 'Proceed' when they are109 ready. Stop calling tools and go idle to await reactive wakeup.110- **If "No, adjust in chat" or Custom Write-In**: Apply user feedback, adjust111 the scope or plan accordingly, and re-confirm if substantial changes were112 made.113114---115116## Execution Safety Invariants117118- **No Pre-Approval Modifications**: Do not edit workspace files, create branches,119 or run mutating commands during Phase 1 or Phase 2.120- **Explicit Approval Gate**: You must receive confirmation via `ask_question`121 (or write-in approval) before transitioning to execution.122- **Global Guardrails Preserved**: Approval at the confirmation gate authorizes123 that you understand the task and authorizes you to begin drafting changes. All124 standard version control, push, PR, and landing approval gates in `AGENTS.md`125 remain independently and strictly enforced during execution.