docs(the-workshop): fix workshop scaffold, bench location, and component list

Address the remaining doc/skill review findings:
- workshop-create: 'gh repo create --clone' clones into the CWD, which
  nests the new repo when run from inside a checkout. Add an explicit
  clone-parent selection + 'rev-parse --is-inside-work-tree' guard, and
  run the create from that parent.
- workshop-create: desks/ and bench/ were scaffolded empty, so Git drops
  them and a later clone loses the scaffold. Scaffold .gitkeep in each
  and commit the placeholders.
- bench-read: make <workshop>/bench/ the primary shared location (the
  directory workshop-create actually establishes) with desk-local
  artifacts as a secondary source, instead of treating the repo root as
  the bench.
- the-workshop README: add the Workshop Create skill to the component
  table so all six packaged components are documented.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 26faf13e-639c-4a21-ac05-c0dc2bff7c62
This commit is contained in:
jennyf19
2026-07-18 19:56:18 -07:00
parent f9061f6fcc
commit fa1f154155
3 changed files with 36 additions and 17 deletions
+1
View File
@@ -19,6 +19,7 @@ A **desk** isn't a sub-agent — it's a peer with a history. Sub-agents inherit
| Type | Name | Description | | Type | Name | Description |
|------|------|-------------| |------|------|-------------|
| Agent | [Workshop TA](../../agents/workshop-ta.agent.md) | Room coordinator — sees all desks, routes work, tracks state, emits signals | | 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 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 | [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 | | Skill | [Signal Write](../../skills/signal-write/) | Emit structured signals: hands-up, blocked, done, checkpoint |
+13 -8
View File
@@ -17,10 +17,11 @@ leave work products for each other.
## What the bench is ## What the bench is
The bench is the shared filesystem of the workshop. It's not a The bench is `<workshop>/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 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 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. find?" — you read the bench.
Typical bench artifacts: Typical bench artifacts:
@@ -31,15 +32,19 @@ Typical bench artifacts:
## Where to look ## Where to look
The bench is the workshop directory itself and its subdirectories. The primary shared location is the `bench/` directory at the
Common patterns: workshop root — the designated cross-desk workspace. Desk-local
artifacts under `desks/<desk-name>/` are a secondary source: read
them when you need a specific desk's own work, but shared artifacts
belong in `bench/`.
``` ```
desks/<desk-name>/ # each desk's own workspace <workshop>/
bench/ # PRIMARY — shared cross-desk artifacts
<findings, verdicts, drafts, reports>
desks/<desk-name>/ # secondary — a desk's own workspace
journal.md # the desk's memory journal.md # the desk's memory
<artifacts> # work products from this desk <artifacts> # work still local to this desk
<shared files at root> # cross-desk artifacts
``` ```
## How to read ## How to read
+21 -8
View File
@@ -41,19 +41,32 @@ they cloned, maybe it's a local project folder.
The operator wants a fresh workshop backed by a GitHub repo. The operator wants a fresh workshop backed by a GitHub repo.
1. **Get the workshop name.** Short, no spaces, kebab-case preferred. 1. **Get the workshop name.** Short, no spaces, kebab-case preferred.
2. **Create the repo:** `gh repo create <owner>/<name> --private --clone` 2. **Pick and validate a clone parent.** `gh repo create --clone` clones
- Use the operator's signed-in GitHub account as `<owner>` into the **current working directory**, so choose an explicit parent
- Clone it to a sensible location (ask the operator where, or use directory first (ask the operator, or use their configured workshops
their configured workshops directory) directory) and confirm it is **not** already inside a git repo:
3. **Scaffold the workshop structure** inside the cloned repo: ```bash
git -C <parent-dir> 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 <parent-dir>
gh repo create <owner>/<name> --private --clone
```
Use the operator's signed-in GitHub account as `<owner>`.
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:
``` ```
<name>/ <name>/
desks/ desks/.gitkeep
bench/ bench/.gitkeep
CAIRN.md CAIRN.md
README.md README.md
``` ```
4. **Commit and push** the scaffold. 5. **Commit and push** the scaffold, including the `.gitkeep` placeholders.
### Critical: Never nest repos ### Critical: Never nest repos