Build & submit taskBetaadvanced

Capstone: Assemble the Full Claude Code Stack on a Real Repo

Take newsroom, a small working digest generator, and assemble every Claude Code building block from this course on it: CLAUDE.md steering, a reusable skill, a PreToolUse hook that provably blocks writes to the planted secrets file, a read-only review subagent, a headless nightly driver, and an operations runbook. This is a composition grade: the pieces must reference each other and hold up as one system. A local self-check runs your real hook and your real tests, then you submit for rubric-based feedback.

2 hrs

Est. time

4

Outcomes

6

Rubric criteria

70%

Pass score

What you'll learn

Skills you'll have real reps in after shipping this.

One repo, six mechanisms, one system: steering (CLAUDE.md), a packaged workflow (a skill), enforcement (a hook), scoped delegation (a subagent), a driver (a headless run), and operations knowledge (a runbook) each cover a failure mode the others cannot.
Advisory context and hard enforcement are different layers. CLAUDE.md asks, permissions.deny declares, and a PreToolUse hook physically blocks; unattended automation needs all three because nobody is watching the session.
Deterministic gates make agent runs schedulable: chaining the model step with a test suite and a build that either pass or fail turns 'the agent probably did it right' into a checkable pipeline.
Composition is what makes a configuration trustworthy. When every name in the runbook and the driver resolves to a real file in the repo, a teammate can verify the system instead of believing a description of it.

The scenario

You run a tiny newsroom: five story files, a digest generator, a green test suite. The digest should rebuild itself every night without you in the loop, and you want Claude Code to drive that run. Unattended means nobody is watching the session, so the configuration has to carry everything a human operator would otherwise provide: what the repo is and how it works (steering), the workflow to execute (a skill), a guard that physically cannot be talked out of protecting the credentials file (a hook), a reviewer that can read but never change anything (a subagent), a script that chains the agent run with deterministic gates (the driver), and a document the on-call person debugs from at 2 a.m. (the runbook).

This capstone is that assembly. Every component is one you built in an earlier level; what is new is the composition. The skill your driver invokes must actually exist, the runbook must name the hook file and subagent you actually shipped, and the hook must provably fire: the kit's check.py runs your real hook against simulated tool-call events and your real test suite, and writes your proof-of-work evidence only when those executable gates genuinely pass.

Your role

You are the engineer putting a small production repo on autopilot. Your deliverable is its complete Claude Code operations stack (steering, skill, hook, subagent, driver, runbook) shipped as one coherent submission, with machine-generated evidence that the guardrail fires and the tests pass.

Start the task to unlock the full brief

You'll get the step-by-step requirements, setup commands, the 6-criterion grading rubric, tips, and the ability to submit your solution for instant AI grading.

Free to start · submit when you're ready

Assemble the full Claude Code stack on a real repo, hands-on

This capstone has you wire every Claude Code mechanism onto one small working repo and prove the result behaves as a system. You write CLAUDE.md steering a real digest generator, package its refresh workflow as a skill, enforce a no-writes rule on the credentials file with a PreToolUse hook that a local self-check actually executes, scope a read-only review subagent, chain a headless claude -p run with deterministic test and build gates in a nightly driver script, and document the whole thing in an operations runbook. The self-check verifies the pieces reference each other: the skill your driver invokes must exist, and the runbook must name the hook and subagent you actually shipped. You come away having practiced the full configuration surface of Claude Code (steering, skills, hooks, subagents, headless automation) and the composition discipline that makes an unattended agent pipeline trustworthy.

Frequently asked questions

Do I need an API key or a live Claude Code session to finish this?

No. The self-check runs your real hook against simulated tool-call events and runs the repo's real test suite, so the executable parts are verified offline and deterministically. The nightly driver is graded as a script (structure, gates, and the skill it invokes), so writing it correctly does not require burning a live session. Running the stack live afterwards is a great sanity check.

What makes this different from the earlier hook and skill tasks?

Every component here is one you already built once. The capstone grades composition: the skill name in your driver's prompt must match a real skill directory, your runbook must name the actual hook file and subagent in the bundle, and the grader cross-checks every reference against what you shipped. Six working pieces that ignore each other will not pass the glue checks.

Can I fake the evidence file?

The evidence is generated by check.py only after it has executed your hook against simulated Write and Edit events and run the unittest suite. It carries a canary token, a per-component status table, hook exit codes, and test output, and the grader cross-checks it against the actual hook script and component names in your bundle. Hand-written evidence, or a hook that blocks everything indiscriminately, does not hold up.