Skills
Create an implementation roadmap with ak:plan
Research a change, verify it against the codebase, and produce a phased plan with explicit risks, dependencies, and completion checks.
Use ak:plan to turn an accepted outcome into an implementation roadmap that
another workflow can execute. The Skill inspects the current project, challenges
unnecessary scope, records dependencies and file ownership, and verifies the
plan before offering implementation.
Choose ak:plan when the delivery needs a roadmap
Use ak:plan when
- A feature, refactor, bug repair, or architecture change needs multiple phases.
- The implementation must coordinate files, interfaces, tests, or dependencies.
- Unknown technology or an unfamiliar codebase requires research before design.
- You want a durable plan that can be validated, red-teamed, or handed to
ak:cook.
Choose another workflow when
- The outcome or approach is still unclear. Use
ak:brainstormfirst. - You only need a bounded codebase map. Use
ak:scout. - The task is a direct, low-risk edit with accepted requirements. Use
ak:cookif a separate plan adds no value. - You want implementation rather than planning.
ak:plandoes not change product code.
Run a feature-delivery workflow
Use ak:plan as the decision boundary in a longer chain, not as a command that
automatically starts implementation. A reliable feature workflow has seven
separate, reviewable stages:
| Stage | Skill | Required input | Output and gate |
|---|---|---|---|
| 1. Frame | ak:brainstorm | User problem, constraints, non-goals | Chosen direction; stop if the outcome is still ambiguous. |
| 2. Establish evidence | ak:scout or ak:research | Approved direction and bounded questions | Repository map or sourced evidence; stop on missing authority or conflicting facts. |
| 3. Plan | ak:plan | Direction, evidence, constraints, acceptance criteria | Phased roadmap with dependencies, owners, tests, risks, and approval points. Review this artifact before implementation. |
| 4. Implement | ak:cook | Approved plan or one approved phase | Bounded code and focused checks; do not silently absorb unplanned scope. |
| 5. Verify | ak:test | Changed behavior and acceptance criteria | Independent test evidence; return failures to implementation instead of weakening the criteria. |
| 6. Review | ak:code-review | Final diff, tests, and known risks | Risk-ranked findings and an explicit readiness decision. |
| 7. Deliver | ak:ship | Review-approved branch | Delivery preparation behind its own commit, push, PR, and merge gates. |
Pass a compact contract to every next stage:
Goal:
Approved scope and non-goals:
Evidence and decisions:
Artifacts produced:
Acceptance criteria:
Open risks or blockers:
Authority granted for this stage:If a stage fails, resume from that stage with the new evidence. Do not restart
the whole chain unless the chosen direction or acceptance criteria changed.
Use ak:handoff before switching session, runtime, or Kit.
Prepare the project and runtime
Before you start:
- Complete Onboarding, confirm Engineer
Kit is installed, and make the
akCLI available for plan scaffolding and phase-state operations. - Open the project to plan. Project scope writes under
<project>/<plans-dir>/<timestamp>-<slug>/. A project-relativepaths.plansvalue in.agentkit/config.yamlselects<plans-dir>; otherwise it defaults toplans/. - Provide an accepted outcome, constraints, non-goals, and acceptance criteria.
- Preserve unfinished plan files and identify any known overlapping work.
- Ensure any optional GitHub or AgentWiki projection has the required client, authentication, repository visibility, and publication authority.
| Runtime | Invocation | Availability boundary |
|---|---|---|
| Claude Code | /ak:plan ... | Native delivery is the default; explicit plugin delivery is also supported. |
| Cursor | /ak:plan ... | Slash invocation is user-verified. Broader parity is not established. |
| Codex | $ak:plan ... | The Skill uses native Codex discovery; Hook projection and statusline support differ. |
Run the Skill
/ak:plan "Add offline draft recovery to the editor. Preserve the current document format, avoid a new service, and cover crash plus reload recovery." --hard --tdd/ak:plan "Add offline draft recovery to the editor. Preserve the current document format, avoid a new service, and cover crash plus reload recovery." --hard --tdd$ak:plan "Add offline draft recovery to the editor. Preserve the current document format, avoid a new service, and cover crash plus reload recovery." --hard --tddWith no clear task, the Skill asks whether to create a plan or run one of its maintenance operations:
| Operation | Outcome |
|---|---|
| Default | Create a new implementation plan |
archive | Close plan visibility in the plan index while keeping plan files |
red-team | Adversarially review an existing plan with codebase evidence |
validate | Interview material assumptions and propagate accepted decisions |
Choose planning depth deliberately
The default is --auto, which selects a mode from scope and uncertainty.
| Mode | Research and review behavior | Best fit |
|---|---|---|
--fast | Skips research, red team, and validation | Clear, small, low-risk work |
--hard | Uses focused research and codebase inspection, then red team and optional validation | Complex or unfamiliar work |
--deep | Adds deeper research, per-phase scouting, red team, and validation | Major refactors across many areas |
--parallel | Adds exclusive file ownership and a dependency graph for concurrent phases | Three or more genuinely independent workstreams |
--two | Produces two researched approaches, then reviews the selected one | A material design fork remains |
Composable options change the artifact or handoff:
| Option | Effect | Boundary |
|---|---|---|
--tdd | Adds tests-before, refactor, tests-after, and regression gates to relevant phases | Does not implement or run the tests |
--no-tasks | Skips mirroring phases into a live task view | Plan files remain authoritative |
--html | Makes self-contained plan.html the primary reviewed artifact | May also create assets and a concise Markdown index |
--github | Creates or updates a GitHub issue labeled ready to review after validation | Requires explicit network publication and authenticated GitHub access |
--wiki | Shares the reviewed plan privately through AgentWiki when available | Public document or site publication needs explicit permission |
--advice | Adds advisory-only checkpoints | Advice cannot edit, approve, or replace plan gates |
--yagni | Challenges and cuts scope not needed for the stated outcome | Without this opt-in, the plan preserves the full requested scope; pass the literal flag to downstream Skills and delegated work |
Use --global only when you explicitly want the configured global plans root
or no project context exists. Confirm exact plan CLI syntax from live
ak plan --help; the Skill does not treat remembered subcommands as authority.
The V1 CLI boundary accepts only a safe project-relative paths.plans value.
If the value is missing, malformed, absolute, points outside the project or
inside .agentkit, or cannot be followed safely, ak plan, journals, and the
dashboard fall back to <project>/plans/. An absolute path may still be visible
to the Skill, so confirm the CLI-resolved location before scaffolding instead of
assuming every plan surface uses that external directory.
Describe the plan clearly
A strong request names:
- Delivery contract: outcome, constraints, non-goals, and acceptance criteria.
- Affected surface: likely modules, public contracts, data, runtime, and deployment boundaries.
- Known risks: compatibility, security, performance, migration, or rollback concerns.
- Load-bearing assumptions: premises the design fails without, which ones current evidence can resolve, and which may break during delivery.
- Evidence: prior research, scout reports, incidents, or existing plans.
- Authority: whether external research, GitHub issue creation, private sharing, or public publication is allowed.
For the draft-recovery example, specify the states that must survive, current format compatibility, storage limits, recovery timing, test expectations, and that no new service or deployment belongs in scope.
Understand what happens during a run
- The Skill checks plan context. It scans unfinished plans, identifies overlap, and records blocking relationships in both affected plans when confirmed.
- The Skill establishes the scope baseline. Except for trivial work, it
restates the full requested scope, identifies reusable behavior, and rejects
unrequested complexity before research.
--fastchanges planning depth only; it does not authorize scope reduction. With--yagni, the Skill also challenges and cuts requested scope that is not needed for the stated outcome. - The Skill selects the mode. It honors an explicit flag or chooses a depth based on uncertainty, blast radius, and independent workstreams.
- The Skill gathers evidence. It reads repository instructions and current code, tests, contracts, and documentation. Research or scouting is added only when the mode or missing evidence requires it.
- The Skill designs and scaffolds the plan. It compares worst plausible
cases and, when a load-bearing assumption remains unresolved, favors the
design that is cheapest to leave. It records the condition under which the
design stops meeting its success criteria, switching cost, and lock-in. It
then uses live
ak planhelp and CLI-managed scaffolding, reads every generated stub, and writesplan.mdand detailedphase-*.mdfiles. - The Skill reviews the plan. Relevant modes perform evidence-backed red team and validation passes. Red-team review targets assumptions that are both essential and breakable during the plan's life. Any accepted change triggers a whole-plan consistency sweep.
- The Skill projects optional views. It may hydrate a live task view,
generate
plan.html, create a GitHub issue, or share through AgentWiki according to the requested options and available authentication. - The Skill prepares the handoff. It reports the authoritative artifact, unresolved questions, validation state, and an explicit choice to validate, red-team, execute, or stop.
Understand the plan artifacts
The durable source is file-first:
- In project scope, the canonical plan folder is
<project>/<plans-dir>/<timestamp>-<slug>/, using the resolved directory boundary above. plan.mdsummarizes the contract, status, dependencies, and phase links.phase-NN-*.mdrecords architecture, affected files, steps, success criteria, tests, risks, and dependencies for each phase. For an unresolved breakable assumption, its risk entry includes an observable failure signal and a pre-decided response: adjust within the plan or stop and replan.- The local plan index is rebuildable from those files. If index and files
drift, use the reindex operation shown by live
ak plan --help. - A live task view is a convenience projection. Plan files win when states disagree.
- With
--html,plan.htmlis authoritative and contains visible phase outlines, detailed views, implementation flow, risks, and UI mockups when relevant. - A GitHub issue or AgentWiki document is a visibility projection, not the canonical plan.
Keep approval and safety with you
Planning does not authorize delivery
ak:plan creates and reviews planning artifacts. It does not authorize code
implementation, external publication, public hosting, credential access, or
irreversible repository actions.
The Skill asks before resolving ambiguous cross-plan dependencies, accepting material red-team findings, or changing a significant assumption. It should not recommend implementation while verification failures or whole-plan contradictions remain.
External effects are option-specific:
--githubcan create labels, issues, or comments through GitHub. The Skill scans the content for secrets and reports an authentication or publication failure without treating the local plan as failed.--wikidefaults to private or workspace sharing. Public documents and hosted HTML sites require explicit authority and may use an external provider.--htmlwrites a portable local artifact and can generate local image assets. Image providers may have their own availability or cost boundary.archivechanges plan-index visibility; it does not delete, move, or erase the Markdown files.
Any commit, push, implementation, deployment, destructive removal, or acceptance of a failed verification remains a separate user decision.
Verify the result
A complete plan should provide:
- A bounded overview with requirements, non-goals, and acceptance criteria.
- Explicit phases, dependencies, priorities, and affected files.
- Architecture and implementation steps grounded in current project evidence.
- Test, security, performance, migration, and rollback considerations where relevant.
- Load-bearing assumptions, the design's stop condition, switching cost, and observable signals with adjust-or-replan responses.
- Verification results with failures or unverified claims kept visible.
- A consistency sweep showing no unresolved contradictions before execution.
- The authoritative artifact path and the status of optional GitHub, AgentWiki, HTML, or task projections.
- Unresolved questions listed last.
Treat the plan as ready for ak:cook only after you approve it, codebase
verification has no blocking failure, and the whole-plan consistency sweep has
no unresolved contradiction.
Troubleshoot or continue
| Symptom | Safe next step |
|---|---|
| Plan scaffolding fails | Run the live plan help, correct CLI availability or arguments, and retry. Do not silently replace CLI-managed scaffolding with arbitrary files. |
| The Skill finds overlapping plans | Review the proposed blockedBy and blocks relationship; confirm or reject it before both plans change. |
| A validation claim fails | Revise the affected plan and phases, then repeat the consistency sweep before cooking. |
| GitHub or AgentWiki projection is skipped | Authenticate the requested provider or continue with the fully usable local plan files. |
| Task status disagrees with Markdown | Reconcile against the phase checklists and reindex or rehydrate; the durable files win. |
| The runtime does not recognize the Skill | Confirm target and scope, restart the runtime session, then follow Runtime cannot find a Skill or Agent. |
Continue with ak:plan validate <plan-path> or
ak:plan red-team <plan-path> when another gate is useful. After approval,
hand the reported plan path to ak:cook. See Projects, artifacts, and
checkpoints for recovery and
ownership context.
Know the current limits
- Research quality depends on available project evidence, providers, network access, and authentication.
- Runtime task hydration is optional and capability-discovered; it is not guaranteed in every client.
- Cursor slash invocation is user-verified evidence, not proof of full runtime parity.
Expand edge cases with ak:scenario
Decompose a feature across twelve dimensions and produce bounded, deduplicated scenario evidence for planning and tests.
Reconcile delivery progress with ak:project-management
Hydrate optional runtime work tracking from durable plans, sync verified progress back across every phase, and produce concise status reports.