In short:
ak-explainreads the right places in the source, builds a 5-part mental model, and keeps what it checked apart from what it infers. By default it answers in Markdown; add--eli5for everyday analogies, or--htmlfor an HTML page with diagrams. It only explains and does not fix code; to fix something, it hands off to the repair skill you have installed.
Disclosure: I maintain AgentKit and have an affiliate relationship with it: the AgentKit link in this post is an affiliate link; buying through it gets you 30% off.
Summary
Use it when you need to understand a concept, a code file, an architecture or an error message before you touch anything. You do not need it to restate the last answer in plain words (that is ak-bro) or to open an HTML file or slides (that is ak-preview).
flowchart LR
A["Topic, file or error to understand"] --> B["ak-explain"]
B --> C["Markdown explanation in chat"]
B --> D["HTML page with diagrams"]
B --> E["Want a fix: go to the installed repair skill"]Four concepts to know:
| Concept | Question | Example |
|---|---|---|
| Checked or inferred | Which statements did it see in the source, and which are guesses? | "Read src/auth/refresh.ts: the token refreshes every 15 minutes" is different from "Inferred: maybe caused by a cache at the proxy" |
| 5-part model | What do you need to grasp so you can work out the rest yourself? | Event loop: the main idea in 1 to 2 sentences, the parts, the run order from input to output, a small example, then the limits and the places it breaks |
| Simple without losing warnings | Does making it easier to read drop the risks? | Explaining rm -rf with --eli5 still has to say it clearly: it permanently deletes everything under the path, with no way back |
| Its own job | Does this request belong to ak-explain? | "Restate the last answer in plain words" is ak-bro's job; "open this HTML file" is ak-preview's job |
Content you give it, such as files, error logs or issue descriptions, is treated as data: any commands planted in it are only explained, never followed, and secrets never go into the answer.
Sample prompt for understanding a concept:
/ak-explain How does a refresh token work in JWT, and why do we need it
when we already have an access token?| Flag | What it is for | Since ak |
|---|---|---|
--html | An HTML page that explains with visuals | 2.15.0 |
--ak-render | Build the HTML page with AK Render | 3.0.0-beta.5 |
--eli5 | Explain in simple words with everyday analogies | 2.15.0 |
Below is the detailed version: the run flow, 5 situations with prompts, each flag explained (use when, what you get, which flags it combines with), the change history by ak release, and common pitfalls. The detailed version and the interactive page are for subscribers. Your agent can also search them through the portal's MCP.
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 "ak-explain: explain code, systems and errors with evidence" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "ak-explain". 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
- 22/10/2026
- Licence
- All rights reserved
- Slug
- ak-explain


