Skip to content

Handouts: every step has the command or the prompt to paste, on macOS, Linux and Windows - #1

Open
alexiocassanifm wants to merge 2 commits into
mainfrom
kit/guided-prompts
Open

alexiocassanifm wants to merge 2 commits into
mainfrom
kit/guided-prompts

Conversation

@alexiocassanifm

Copy link
Copy Markdown
Contributor

What changes for a participant

Every step of the five handouts now says what to type in the terminal, what to paste in Claude Code and what to expect. Where the lesson is a design choice (the loop's stop, its interval, where the review writes), a Variant prompt changes that one thing so the point still lands. The merge policy in exercise 5 stays a team discussion, because the decision is the exercise.

Windows runs natively: py workshop …, Git for Windows (Claude Code runs its shell through Git Bash), no jq, export or \ line continuation in any handout.

Behaviour changes

  • workshop events <file> replaces the two jq pipelines of exercise 1 and also reads a UTF-16 log (a Windows PowerShell 5.1 > redirect).
  • workshop hook / log-tool replace the hand-written hook. The hook goes into the gitignored .claude/settings.local.json, calls the interpreter by absolute path, and reset removes it.
  • .claude/settings.json (new, committed) pre-approves the test, git and read/comment gh commands. Measured: without it, the exercise 1 headless run had every test command it tried denied. It does not pre-approve merges, deletes or raw gh api calls, which still ask.
  • Claude Code ignores that file until the folder is trusted, and /goal is not available until then either, so README gains a trust step and doctor checks it (parent folders included, since trusting a folder trusts what is inside it).
  • /goal starts working as soon as it is set, so exercise 3 run 1 is one paste.
  • A fixed-interval /loop cannot stop itself, but a self-paced one can, so Loop A is self-paced. The fixed-interval version is now the "forgotten stop" variant.

⚠️ Before merging: the starting branches must be rebuilt in the same sitting

reset replays the template's main → exN-start diff. If this merges while ex2-start, ex3-*-start and ex4-start are still the old builds, reset ex2/ex3/ex4 rolls this PR back on every participant's copy. After merging, run the FACILITATOR recipe (solutions merges main, build_branches.py, verify.sh, force-push the four starting branches). The companion PR into solutions adds a verify.sh check that fails in exactly that case: rehearsed, it is green on rebuilt branches and fails on the stale ones.

Tested and untested

  • Tested: exercise 1 end to end with a real claude -p run (0 denials, hook log matching the stream), events on UTF-8 and UTF-16, reset removing the hook, pytest, verify.sh ALL VERIFIED on rebuilt branches.
  • Not run live: the ex2–ex5 prompts. Their wording follows the current docs for /loop, /goal and routines.
  • Not tested on Windows at all. Known risk: exercise 3 run 2. The plugin's loop gate calls python3 from Git Bash, and a python.org or winget Python only answers to python/py. doctor checks it on Windows, and README says so.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UMGFBjF5h1nKda8qUaoRVV

alexiocassanifm and others added 2 commits September 22, 2026 22:20
Each step now says what to type in the terminal and what to paste in Claude Code,
with what to expect. Where the lesson is a design choice (the loop's stop, its
interval, where the review writes), a variant prompt changes that one thing.

Windows runs natively: `py workshop`, Git for Windows for Claude Code's shell, no
jq in any handout. `workshop` gains `events` (reads the stream-json log, UTF-16
too) and `hook` / `log-tool` (the exercise 1 hook, with no jq). A committed
.claude/settings.json pre-approves the test, git and gh commands: without it, the
exercise 1 headless run was denied every test it tried. Claude Code ignores that
file until the folder is trusted, so README gains the step and doctor checks it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UMGFBjF5h1nKda8qUaoRVV
…3 named

/goal starts working as soon as it is set, so the condition carries the task and
there is no second prompt to land mid-run. The allow-list keeps the gh verbs that
read or comment: pre-approving `gh pr *` also pre-approved `gh pr merge --admin`,
the act exercise 5 says only a prompt forbids. Exercise 5's duplicate filing
happens in the same copy, the only place its search can see. On Windows, doctor
checks the `python3` the loop gate calls from Git Bash, and README says exercise 3
run 2 is untested there.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UMGFBjF5h1nKda8qUaoRVV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant