A request such as "add title search" sounds small. It still leaves important questions open: which field is searched, does the query survive a reload, and what can a user see when the work is complete? A clear plan answers those questions before the agent implements anything.
Note: the current AgentKit beta (since 3.0.0-beta.35, October 21, 2026) changed skill names from ak:<name> to ak-<name>, and the commands in this post use the new names: Claude Code calls /ak-plan, Codex calls $ak-plan. On an older version, swap ak- back to ak: to get the matching command.
ak-plan creates an implementation plan with scope, verification criteria, assumptions, and steps, as described in the Plan documentation. ak-cook implements authorized work, reads the actual repository, and runs suitable checks, as described in the Cook documentation. ak-plan does not change product code. ak-cook makes the change and verifies its result.
These are two skills, not a runtime mode. See the article comparing runtime mode with the AgentKit ak-plan skill for that distinction.
Example: adding title search
The request in this article is: "Add a title search field. Use the q parameter. Keep q when the page reloads and show items with matching titles."
Plan should make at least three points clear:
- The scope is title search in the existing list. It does not expand to body content.
qis visible in the URL and must remain there after a reload.- The acceptance behavior is observable: enter a term, see the matching results, reload, and still see the matching results. Related checks must pass.
Cook does not treat plan.md as proof that the repository has already been inspected. Cook must read the real route structure, the application's existing query handling, available checks, and repository conventions. If the plan guessed the path or missed a constraint, Cook must correct it within the authorized scope or stop and ask.
| Plan | Cook |
|---|---|
| Creates the implementation plan and acceptance criteria | Implements the authorized scope and verifies the result |
Returns a summary in plan.md | Returns code changes, check results, and remaining issues when present |
| Clarifies scope before code is written | Reads the actual repository before choosing an edit |
plan.md is a summary. The paths for actual phases can vary. Before invoking the skills, install Engineer Kit for Claude Code and open the project you intend to change. An illustrative invocation may look like this:
/ak-plan Add title search and preserve q after reload
/ak-cook ./plans/search/plan.mdThe ./plans/search/plan.md path is illustrative. Replace it with the real path returned by Plan. Type slash commands in the Claude Code input field; do not run them in the shell. For a short, clear, low-risk task with sufficient criteria, the user may go directly to Cook.
Opens when your account has subscriber access
This guide is for subscribers
Once your account has access, the full piece, the interactive visual and the agent call all open.
- Sign in or create a modernEngineer accountReading access belongs to your account email.
- Choose a plan on the pricing page1, 3 or 12 months, paid by VietQR bank transfer. Access opens about a minute after the money arrives.
- Or redeem a Facebook subscriber codePeople supporting the page on Facebook get an activation code by message each month.
Already a subscriber? Sign in to read.
Use this piece in your agent
Get an API keyCopy the text below and paste it into Claude Code, Codex or whichever agent you use. The agent reads the piece and checks it against the repo you have open.
Read "From ak-plan to ak-cook: Hand Off Work So the Agent Does It Right" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "agentkit-plan-cook-ban-giao". If the modernengineer MCP server is not connected, stop and walk me through connecting it from https://modernengineer.dev/en/mcp.
2. Summarize the main steps of the piece and point out which apply to this repo.
3. Propose concrete changes and ask me before editing any file.Connect MCP in Claude Code (once)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Reading the full piece over MCP needs an API key from a subscriber account or one that bought this guide. Without access, the agent only gets the opening.
- Version
- v1.0.0
- Updated
- 18/10/2026
- Licence
- Subscriber-only; redistribution prohibited
- Slug
- agentkit-plan-cook-ban-giao


