diff --git a/plugins/the-workshop/README.md b/plugins/the-workshop/README.md index 5dadb901..0e3fda42 100644 --- a/plugins/the-workshop/README.md +++ b/plugins/the-workshop/README.md @@ -19,6 +19,7 @@ A **desk** isn't a sub-agent — it's a peer with a history. Sub-agents inherit | Type | Name | Description | |------|------|-------------| | Agent | [Workshop TA](../../agents/workshop-ta.agent.md) | Room coordinator — sees all desks, routes work, tracks state, emits signals | +| Skill | [Workshop Create](../../skills/workshop-create/) | Create a new workshop — the root where desks live — locally or backed by a new private GitHub repo | | Skill | [Desk Open](../../skills/desk-open/) | Create a new desk with journal and folder structure | | Skill | [Desk Journal](../../skills/desk-journal/) | Read/write persistent memory across sessions — the cairn trail | | Skill | [Signal Write](../../skills/signal-write/) | Emit structured signals: hands-up, blocked, done, checkpoint | diff --git a/skills/bench-read/SKILL.md b/skills/bench-read/SKILL.md index 683a628f..665a3a99 100644 --- a/skills/bench-read/SKILL.md +++ b/skills/bench-read/SKILL.md @@ -17,10 +17,11 @@ leave work products for each other. ## What the bench is -The bench is the shared filesystem of the workshop. It's not a +The bench is `/bench/` — the shared workspace directory +that `workshop-create` establishes for cross-desk work. It's not a message queue or a chat channel — it's files. When Desk A produces a finding and Desk B needs to review it, the finding is a file -on the bench. When the operator asks "what did the scanning desk +in `bench/`. When the operator asks "what did the scanning desk find?" — you read the bench. Typical bench artifacts: @@ -31,15 +32,19 @@ Typical bench artifacts: ## Where to look -The bench is the workshop directory itself and its subdirectories. -Common patterns: +The primary shared location is the `bench/` directory at the +workshop root — the designated cross-desk workspace. Desk-local +artifacts under `desks//` are a secondary source: read +them when you need a specific desk's own work, but shared artifacts +belong in `bench/`. ``` -desks// # each desk's own workspace - journal.md # the desk's memory - # work products from this desk - - # cross-desk artifacts +/ + bench/ # PRIMARY — shared cross-desk artifacts + + desks// # secondary — a desk's own workspace + journal.md # the desk's memory + # work still local to this desk ``` ## How to read diff --git a/skills/workshop-create/SKILL.md b/skills/workshop-create/SKILL.md index b427cc61..0f12c8cb 100644 --- a/skills/workshop-create/SKILL.md +++ b/skills/workshop-create/SKILL.md @@ -41,19 +41,32 @@ they cloned, maybe it's a local project folder. The operator wants a fresh workshop backed by a GitHub repo. 1. **Get the workshop name.** Short, no spaces, kebab-case preferred. -2. **Create the repo:** `gh repo create / --private --clone` - - Use the operator's signed-in GitHub account as `` - - Clone it to a sensible location (ask the operator where, or use - their configured workshops directory) -3. **Scaffold the workshop structure** inside the cloned repo: +2. **Pick and validate a clone parent.** `gh repo create --clone` clones + into the **current working directory**, so choose an explicit parent + directory first (ask the operator, or use their configured workshops + directory) and confirm it is **not** already inside a git repo: + ```bash + git -C rev-parse --is-inside-work-tree + ``` + If that prints `true`, pick a different parent — otherwise the new + repo nests inside the existing one. Create the parent if needed. +3. **Create and clone the repo from that parent:** + ```bash + cd + gh repo create / --private --clone + ``` + Use the operator's signed-in GitHub account as ``. +4. **Scaffold the workshop structure** inside the cloned repo. Git does + not track empty directories, so add a placeholder in each otherwise + empty folder or the scaffold will not survive the next clone: ``` / - desks/ - bench/ + desks/.gitkeep + bench/.gitkeep CAIRN.md README.md ``` -4. **Commit and push** the scaffold. +5. **Commit and push** the scaffold, including the `.gitkeep` placeholders. ### Critical: Never nest repos