with one click
align
// Interview the user about their goal before any plan or code. Reach shared understanding of what, why, which layers, success criteria, and unknowns. Feed the result into plan-slice or ck_review_submit.
// Interview the user about their goal before any plan or code. Reach shared understanding of what, why, which layers, success criteria, and unknowns. Feed the result into plan-slice or ck_review_submit.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | align |
| description | Interview the user about their goal before any plan or code. Reach shared understanding of what, why, which layers, success criteria, and unknowns. Feed the result into plan-slice or ck_review_submit. |
| when_to_use | Activate at the very start of any new feature, fix, or project — before writing a PRD, submitting a plan, or touching any code. Also activate when a brief or Slack message arrives and the intent is not yet fully clear. |
| argument-hint | [goal description or raw brief] |
| license | Apache-2.0 |
| compatibility | ["codex","claude-standalone","claude-plugin","copilot-plugin","github-repo","open-standard","cline-native","cursor-native","windsurf-native","continue-native","letta-code-native","pi-native","roo-native","goose-native","opencode-native","gemini-cli-native","kiro-native","kilo-native","amp-native","augment-native","hermes-native","multica-native","openclaw-native","devin-terminal-native","warp-native","droid-bundle","forge-acp"] |
| metadata | {"author":"controlkeel","version":"1.0","category":"planning","ck_mcp_tools":["ck_context","ck_goal","ck_memory_record","ck_memory_search"]} |
Reach a shared design concept with the user before any plan or code is written. The most expensive misalignment is the one caught after implementation — catch it here instead.
Call ck_context to load current session state, domain pack, and any prior goals or decisions already recorded.
Call ck_memory_search with the user's stated goal to surface prior aligned work on the same area before asking redundant questions.
Ask the user one question at a time. For each question, provide your recommended answer so the user can confirm, adjust, or replace it — never leave them staring at a blank.
Work through the alignment tree in this order:
What — What is the exact outcome? What is explicitly out of scope? Why — What problem does this solve? What is the success signal? Who — Who uses the result? Which roles, systems, or integrations are affected? Layers — Which system layers does this touch? (schema, services, APIs, UI, infra, third-party) Record each touched layer explicitly — this drives vertical slice decomposition later. Acceptance criteria — What does "done" look like? What would a failing test catch? Reframe vague requirements into concrete, testable conditions. Edge cases — What breaks if inputs are invalid, empty, or unexpected? Constraints — Budget, timeline, tech stack limits, compliance requirements, or must-not-change areas. Assumptions — What are you assuming about the environment, tech stack, data sources, or integrations? Surface these explicitly before proceeding. Unknowns — What do you not know yet? What needs a spike or research before implementation starts?
After each resolved decision, call ck_memory_record with type decision to persist it. Future agents resuming this work will recover these without asking again.
When alignment is complete, call ck_goal (mode: record, horizon: session) to record the aligned goal with its acceptance criteria and touched layers.
Tell the user the alignment is complete and recommend the next step:
plan-slice.ck_review_submit (plan_phase: narrowed_decision).At the end of this skill:
ck_goal record with: objective, acceptance criteria, touched layers, known constraints, explicit assumptions, open unknowns.ck_memory_record entries (type: decision) for each resolved design choice.plan-slice or directly to ck_review_submit.