Alignment Checkpoint
Table of Contents
When to use
Use this skill when:
- You want to prevent misunderstandings before work begins.
- The request is ambiguous, multi-part, or high-risk.
- The user says: “alignment”, “checkpoint”, “confirm first”, “don’t start yet”, “before you run tools”, or similar.
- You are about to run tools (shell/web/filesystem/MCP) and want a clear go/no-go.
Required inputs
- The user’s request text (treat as canonical; quote exactly in stasis mode).
- Any explicit constraints already stated by the user (time, scope, “do not implement”, etc.).
Deliverables
Always produce (Phase 0):
- A JSON extraction containing:
explicit_goal
implicit_assumptions
success_criteria
- A formatted summary (goal/assumptions/criteria).
- Three approach options:
minimal, balanced, comprehensive.
- An explicit gate requiring:
/proceed <option> or /clarify <question-or-answer>.
Additionally, if stasis mode is triggered:
- A STASIS_RECORD containing the user request verbatim.
- Confirmation that no tools will be used and no implementation will occur.
- Optionally (only if explicitly requested) a tool-free plan outline.
Standards snapshot (March 2026)
- This skill is a hard preflight gate: no tools, no edits, no hidden “quick checks” before approval.
- Make assumptions legible enough that the user can accept or reject them quickly.
- Prefer one sharp gate with three practical options over a sprawling plan dump.
- Preserve user wording accurately when stasis mode is active.
Constraints (Safety)
Hard rule: before the user explicitly approves, you MUST NOT:
- run shell commands
- read/write repo files
- browse the web
- call MCP tools
- create/modify branches, issues, PRs
Secrets/PII hygiene:
- Never request or echo tokens/keys/credentials.
- Do not paste sensitive user data into examples; redact if needed.
Single-threading:
- Ask at most one clarifying question at a time.
Philosophy
- Align first, act second. Output structure that the user can approve.
- Assumptions are debts. State them explicitly so the user can accept/reject.
- No surprises. Tools and implementation only after an explicit
/proceed.
Procedure
0) Detect stasis mode (preserve / do NOT implement)
If the user request includes either phrase (case-insensitive):
do NOT implement / do not implement
preserve only
Then:
- Emit a STASIS_RECORD (verbatim request; no paraphrasing).
- State: “Stasis mode is active: no tools will be used, and no implementation will occur.”
- If the user explicitly asked for a plan, you MAY provide a tool-free plan outline.
- Still present the approach options and require
/proceed <option> before any tool use.
STASIS_RECORD format:
STASIS_RECORD
timestamp: <ISO-8601 local time>
verbatim_request:
<paste the user request exactly as written>
1) Produce the structured extraction (required)
Output a JSON object in a json code fence with EXACTLY these keys:
{
"explicit_goal": "",
"implicit_assumptions": [],
"success_criteria": []
}
Rules:
- Do not invent unknown specifics; express them as assumptions.
- If success criteria are missing, propose testable criteria and label them as assumptions.
2) Present the alignment summary (required)
Show:
- Goal (1 line)
- Assumptions (bullets)
- Success criteria (bullets)
3) Present 3 approach options (required)
Provide these options and what you would do if approved:
- minimal: smallest safe slice; minimal verification; no extras.
- balanced: normal engineering standard; lightweight tests/verification; minimal docs.
- comprehensive: thorough analysis; strongest verification; deeper docs/risk review.
4) Gate (required) — stop and wait
End with:
- “Reply with
/proceed minimal|balanced|comprehensive to continue.”
- Or: ask one clarifying question and instruct: “Reply
/clarify <answer>.”
- Additionally, the user may always ask their own clarification via:
/clarify <question> (then re-run Phase 0 with the new info).
Then STOP. Do not continue into implementation or tool usage.
Validation
Fail fast checks (if any fail, STOP and fix the first failure):
- Did I avoid all tool calls before approval?
- Did I output the JSON extraction with EXACTLY the 3 required keys?
- Did I present 3 options (minimal/balanced/comprehensive)?
- Did I end with an explicit gate and stop?
- If stasis mode triggered: did I include a STASIS_RECORD with the request verbatim?
Skill contract + evals:
references/contract.yaml defines purpose/triggers/risks/non-goals.
references/evals.yaml contains evaluation prompts + acceptance checks.
Anti-patterns
- Starting implementation “just to get momentum” before
/proceed.
- Running any tool “to confirm” before approval.
- Hiding assumptions or treating guesses as facts.
- Asking multiple clarifying questions at once.
- Ignoring “do NOT implement” / “preserve only” constraints.
Examples
Example A — ambiguous build request
User: “Add auth; make it secure; do it quickly.”
Assistant: outputs JSON → summary → 3 options → asks for /proceed balanced.
Example B — stasis + plan-only
User: “Plan the migration—do NOT implement—preserve only.”
Assistant: STASIS_RECORD → JSON → options → gate (no tools).
Decision feedback protocol
See Also
| Skill |
When to use together |
| [[interview-me]] |
Follow with structured interview to clarify requirements |
| [[brainstorming]] |
Explore approaches once intent is aligned |
| [[ce-plan]] |
Move from approved intent to an execution-ready plan |
| [[product-spec]] |
Produce a spec once ambiguity is resolved |
| [[decide-build-primitive]] |
Decide the right primitive after intent is confirmed |
Topic map: [[agent-ops]]
Decision feedback protocol (required):
- If post-run feedback capture is enabled for this runtime, emit a non-blocking
post_run_feedback event via request_user_input after result delivery.
- Capture:
decision (accepted|partial|rejected|deferred), outcome (good|neutral|bad|unknown), and confidence (high|medium|low).
- Persist with:
python3 utilities/skill-builder/scripts/record_skill_feedback.py --skill-path <path/to/SKILL.md> --decision <...> --outcome <...> --confidence <...> --notes "...".
- The recorder tags
subject (for example ui, code_review, backend, security) for cross-domain quality analytics.
Gotchas
- None yet. Capture recurring failures here as symptom -> cause -> do instead -> check.
Failure mode
- If goals, risks, or approval boundaries remain ambiguous, stop, restate the open assumptions, and fall back to explicit clarification rather than pretending alignment exists.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: alignment-checkpoint3description: Intent-alignment gate for ambiguous/high-stakes requests. Use this when you want to extract goal/assumptions/criteria and require an explicit /proceed approval gate before any tool use. Use when this capability is needed.4---56# Alignment Checkpoint78## Table of Contents9- [Scope and triggers](#scope-and-triggers)10- [Required inputs](#required-inputs)11- [Deliverables](#deliverables)12- [Constraints](#constraints-safety)13- [Standards snapshot](#standards-snapshot-march-2026)14- [Procedure](#procedure)15- [Validation](#validation)16- [Anti-patterns](#anti-patterns)17- [Examples](#examples)18- [Decision feedback protocol](#decision-feedback-protocol)1920## When to use21Use this skill when:22- You want to **prevent misunderstandings** before work begins.23- The request is ambiguous, multi-part, or high-risk.24- The user says: “alignment”, “checkpoint”, “confirm first”, “don’t start yet”, “before you run tools”, or similar.25- You are about to run tools (shell/web/filesystem/MCP) and want a clear go/no-go.2627## Required inputs28- The user’s request text (treat as canonical; quote exactly in stasis mode).29- Any explicit constraints already stated by the user (time, scope, “do not implement”, etc.).3031## Deliverables32Always produce (Phase 0):331) A JSON extraction containing:34 - `explicit_goal`35 - `implicit_assumptions`36 - `success_criteria`372) A formatted summary (goal/assumptions/criteria).383) Three approach options: `minimal`, `balanced`, `comprehensive`.394) An explicit gate requiring: `/proceed <option>` or `/clarify <question-or-answer>`.4041Additionally, if stasis mode is triggered:42- A **STASIS_RECORD** containing the user request verbatim.43- Confirmation that **no tools will be used** and **no implementation will occur**.44- Optionally (only if explicitly requested) a **tool-free** plan outline.4546## Standards snapshot (March 2026)47- This skill is a hard preflight gate: no tools, no edits, no hidden “quick checks” before approval.48- Make assumptions legible enough that the user can accept or reject them quickly.49- Prefer one sharp gate with three practical options over a sprawling plan dump.50- Preserve user wording accurately when stasis mode is active.5152## Constraints (Safety)5354Hard rule: before the user explicitly approves, you MUST NOT:55- run shell commands56- read/write repo files57- browse the web58- call MCP tools59- create/modify branches, issues, PRs6061Secrets/PII hygiene:62- Never request or echo tokens/keys/credentials.63- Do not paste sensitive user data into examples; redact if needed.6465Single-threading:66- Ask at most **one** clarifying question at a time.6768## Philosophy6970- **Align first, act second.** Output structure that the user can approve.71- **Assumptions are debts.** State them explicitly so the user can accept/reject.72- **No surprises.** Tools and implementation only after an explicit `/proceed`.7374## Procedure7576### 0) Detect stasis mode (preserve / do NOT implement)7778If the user request includes either phrase (case-insensitive):79- `do NOT implement` / `do not implement`80- `preserve only`8182Then:831) Emit a **STASIS_RECORD** (verbatim request; no paraphrasing).842) State: “Stasis mode is active: no tools will be used, and no implementation will occur.”853) If the user explicitly asked for a plan, you MAY provide a **tool-free** plan outline.864) Still present the approach options and require `/proceed <option>` before any tool use.8788STASIS_RECORD format:89- `STASIS_RECORD`90- `timestamp: <ISO-8601 local time>`91- `verbatim_request:`92- `<paste the user request exactly as written>`9394### 1) Produce the structured extraction (required)9596Output a JSON object in a `json` code fence with EXACTLY these keys:9798```json99{100 "explicit_goal": "",101 "implicit_assumptions": [],102 "success_criteria": []103}104```105106Rules:107- Do not invent unknown specifics; express them as assumptions.108- If success criteria are missing, propose *testable* criteria and label them as assumptions.109110### 2) Present the alignment summary (required)111112Show:113- **Goal** (1 line)114- **Assumptions** (bullets)115- **Success criteria** (bullets)116117### 3) Present 3 approach options (required)118119Provide these options and what you would do *if approved*:120- **minimal**: smallest safe slice; minimal verification; no extras.121- **balanced**: normal engineering standard; lightweight tests/verification; minimal docs.122- **comprehensive**: thorough analysis; strongest verification; deeper docs/risk review.123124### 4) Gate (required) — stop and wait125126End with:127- “Reply with `/proceed minimal|balanced|comprehensive` to continue.”128- Or: ask **one** clarifying question and instruct: “Reply `/clarify <answer>`.”129- Additionally, the user may always ask their own clarification via: `/clarify <question>` (then re-run Phase 0 with the new info).130131Then STOP. Do not continue into implementation or tool usage.132133## Validation134135Fail fast checks (if any fail, STOP and fix the first failure):136- Did I avoid all tool calls before approval?137- Did I output the JSON extraction with EXACTLY the 3 required keys?138- Did I present 3 options (minimal/balanced/comprehensive)?139- Did I end with an explicit gate and stop?140- If stasis mode triggered: did I include a STASIS_RECORD with the request verbatim?141142Skill contract + evals:143- `references/contract.yaml` defines purpose/triggers/risks/non-goals.144- `references/evals.yaml` contains evaluation prompts + acceptance checks.145146## Anti-patterns147148- Starting implementation “just to get momentum” before `/proceed`.149- Running any tool “to confirm” before approval.150- Hiding assumptions or treating guesses as facts.151- Asking multiple clarifying questions at once.152- Ignoring “do NOT implement” / “preserve only” constraints.153154## Examples155156### Example A — ambiguous build request157158User: “Add auth; make it secure; do it quickly.”159160Assistant: outputs JSON → summary → 3 options → asks for `/proceed balanced`.161162### Example B — stasis + plan-only163164User: “Plan the migration—do NOT implement—preserve only.”165166Assistant: STASIS_RECORD → JSON → options → gate (no tools).167168## Decision feedback protocol169170## See Also171172| Skill | When to use together |173|---|---|174| [[interview-me]] | Follow with structured interview to clarify requirements |175| [[brainstorming]] | Explore approaches once intent is aligned |176| [[ce-plan]] | Move from approved intent to an execution-ready plan |177| [[product-spec]] | Produce a spec once ambiguity is resolved |178| [[decide-build-primitive]] | Decide the right primitive after intent is confirmed |179180**Topic map:** [[agent-ops]]181182<!-- decision-feedback-protocol:v2 -->183**Decision feedback protocol (required):**184- If post-run feedback capture is enabled for this runtime, emit a non-blocking `post_run_feedback` event via `request_user_input` after result delivery.185- Capture: `decision` (`accepted|partial|rejected|deferred`), `outcome` (`good|neutral|bad|unknown`), and `confidence` (`high|medium|low`).186- Persist with: `python3 utilities/skill-builder/scripts/record_skill_feedback.py --skill-path <path/to/SKILL.md> --decision <...> --outcome <...> --confidence <...> --notes "..."`.187- The recorder tags `subject` (for example `ui`, `code_review`, `backend`, `security`) for cross-domain quality analytics.188<!-- /decision-feedback-protocol -->189190## Gotchas191- None yet. Capture recurring failures here as symptom -> cause -> do instead -> check.192193## Failure mode194- If goals, risks, or approval boundaries remain ambiguous, stop, restate the open assumptions, and fall back to explicit clarification rather than pretending alignment exists.195196---197> Converted and distributed by [TomeVault](https://tomevault.io/claim/jscraik) — claim your Tome and manage your conversions.198<!-- tomevault:4.0:skill_md:2026-04-13 -->