Recap and final exam
Sixteen modules to move from occasional use of Claude Code to a proper engineering practice: Kiosque now has its CLAUDE.md, its rules, six skills, two subagents, three hooks, two MCP servers, a plugin, a CI that answers @claude, and a controlled budget. Here is the course condensed, the threads that run through it, and the checklist of a repo that has adopted Claude Code.
The course at a glance
| Module | The essential point |
|---|---|
| 1. Install | Claude Code is a terminal agent; /init, /doctor, /model, and /effort set the stage. |
| 2. Loop and context | The loop calls built-in tools; /context reveals what fills the window, /compact trims it, /clear starts over. |
| 3. CLAUDE.md and memory | Precedence managed > user > project > local; targeted rules live in .claude/rules/, auto memory is re-read with /memory. |
| 4. Commands (1/2) | Help, session, context, configuration, model, memory, permissions, account: the reference in eight families. |
| 5. Commands (2/2) | Quality, parallelism, automation, extensions, integrations, bundled skills, diagnostics, MCP prompts. |
| 6. Skills | .claude/skills/<name>/SKILL.md folder; frontmatter, $ARGUMENTS, !`cmd`, context: fork, restricted allowed-tools. |
| 7. Permissions and settings | Tool(pattern) rules, six modes, Bash sandbox, settings precedence, /config key=value. |
| 8. Plan, checkpoints, sessions | Shift+Tab to switch modes; Esc Esc to rewind; /branch, /fork, /subtask to branch; worktrees to parallelize. |
| 9. Hooks | PreToolUse, PostToolUse, Stop, UserPromptSubmit, SessionStart…; exit codes 0/2, JSON decision. |
| 10. Subagents | .claude/agents/<name>.md with tools, model, skills, hooks; depth and concurrency under CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH. |
| 11. MCP | claude mcp add, scopes, committed .mcp.json; prompts as /mcp__server__prompt, permissions mcp__server__tool. |
| 12. Plugins | .claude-plugin/plugin.json bundles skills, agents, hooks, MCP, LSP; official, community, or private marketplaces. |
| 13. Daily workflow | Delegate rather than dictate; /plan, /code-review, /verify, PR, /autofix-pr. |
| 14. Headless and CI | claude -p with --allowedTools, --permission-mode, --output-format json; @claude in GitHub Actions; Agent SDK. |
| 15. Costs and security | Cache, /usage, injection through read data, least privilege, managed settings, ZDR. |
| 16. Kiosque project | Final repo tree, seven steps, ten-minute demo, grading rubric, variants. |
The threads running through the course
Claude Code is configured like a compiler, not like a chatbot. The tool's power comes from committed files: CLAUDE.md, .claude/settings.json, .claude/skills/, .claude/agents/, .mcp.json, hooks, plugin, workflow. Any decision made in-session without being written into one of those files will be lost at the next /clear — or worse, applied inconsistently by a teammate. Module 1 sets the stage, module 16 assembles the palette; between them, every module adds a file.
The prompt is never enough. An injection in a read page slips past the best system prompt in the world; only a deterministic PreToolUse blocks it. A skill that "never forgets" only exists through restrictive allowed-tools and explicit disallowed-tools. A subagent that "does not modify the tests" only exists through a frontmatter without Edit or Write. Every guarantee must be enforced by the configuration code, not by a sentence.
Context is a measurable budget, not an unlimited resource. /context, /compact, context: fork, and subagents all serve to isolate what is expensive. The prompt cache is broken by the smallest change in the system prompt, the CLAUDE.md, or the model: being aware of this changes design decisions from one day to the next. Module 15 formalizes what modules 2 and 10 had already made visible.
Delegation demands interfaces. Skills are interfaces to named workflows, subagents to named roles, MCP to named external systems, plugins to named teams. Designing an industrial use of Claude Code amounts to designing these four types of interfaces long before polishing a clever prompt.
Checklist for a repo that has adopted Claude Code
- A
CLAUDE.mdof fewer than one hundred lines, complemented by targeted.claude/rules/*.md(paths:glob) and invokable skills. - A
.claude/settings.jsonwith explicitpermissions.deny(.env,migrations/,Bash(rm -rf *),Bash(git push --force *)),permissions.allowfor build commands,defaultModenotbypassPermissions. - At least three "button" skills (
/commit,/review-code,/targeted-testsor equivalents) with narrowallowed-tools; verbose skills delegated throughcontext: fork. - Two typed subagents: a
reviewerin read-only, atesterallowed to run the short suite; frontmatter coherent with their role. - At least three hooks:
PostToolUsefor formatting,PreToolUsefor critical-path protection,Stopthat requires green tests before handing control back. - A committed
.mcp.jsonthat declares stable servers (GitHub, read-only database); personal servers stay in user scope. - A plugin that packages skills, agents, hooks, and MCP when several repos share the same palette.
- A
.github/workflows/claude.ymlworkflow that responds to@claude, with--allowedToolsand--permission-mode dontAsk; never--dangerously-skip-permissionson a non-isolated runner. - A known monthly budget, alerted through
/usageor the API, and a quarterly review ritual forCLAUDE.md, rules, and skills. - An internal
READMEthat explains in ten lines how to get started:git clone,claude,/plugin install kiosque-tools,/initif the repo is new.
The final exam
The exam has 40 questions covering the sixteen modules: install and surfaces, loop and context, CLAUDE.md and memory, slash command reference, skill creation, permissions and sandbox, plan and checkpoints, hooks, subagents and parallelism, MCP, plugins, workflows, headless and Agent SDK, costs and security, team project.
Several questions present situations to diagnose: which command to type to restart from a clean conversation without losing the project; which frontmatter gives a skill an isolated context; which permission rule blocks a git push --force without breaking a normal git push; why a PostToolUse hook does not fire; why a subagent returns text without having written a file. It is judgement that is assessed — naming the configuration file to fix, choosing the right command — not the recitation of a vocabulary.
On success, your certificate of completion is issued immediately; its number is verifiable by any third party on the platform.
Go back through the checklist above. For every line, ask yourself "would I know how to write the file that guarantees this property?". If you can write a SKILL.md with narrow allowed-tools, a read-only subagent, a PreToolUse protection hook, and a project .mcp.json, you are ready. Good luck!
Final exam
Ready to validate this course?
40 questions drawn at random from the course bank · passing score 70% · verifiable PDF certificate issued immediately on success.
Start the examYou need to be signed in to your InSkillML account with an active subscription. You can also start the exam from My courses.