Best for
- The operator says "create a workshop" or "start a new workshop"
- The operator wants to organize work under a shared root
- The operator has an existing directory they want to use as a workshop
github/awesome-copilot/skills/workshop-create/SKILL.md
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
Decision brief
Set up a new workshop — the root directory where desks live.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/github/awesome-copilot --skill "skills/workshop-create"Inspect the Agent Skill "workshop-create" from https://github.com/github/awesome-copilot/blob/9933dcad5be5caeb288cebcd370eeeb2fc2f1685/skills/workshop-create/SKILL.md at commit 9933dcad5be5caeb288cebcd370eeeb2fc2f1685. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
The operator says "create a workshop" or "start a new workshop"
The operator already has a folder they want to use. Maybe it's a repo they cloned, maybe it's a local project folder.
The operator already has a folder they want to use. Maybe it's a repo they cloned, maybe it's a local project folder.
The operator wants a fresh workshop backed by a GitHub repo.
Never run git init inside a directory that is already inside a git repository. Before initializing, check:
Permission review
The documentation asks the agent to create, modify, or delete local files.
**Do NOT create a GitHub repo.** This path is local-only.The documentation asks the agent to create, modify, or delete local files.
### Path B: Create a new private GitHub repoThe documentation asks the agent to run terminal commands or scripts.
git -C <parent-dir> rev-parse --is-inside-work-treeThe documentation asks the agent to run terminal commands or scripts.
git -C <parent-dir> rev-parse --is-inside-work-treeEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 84/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 37,126 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Set up a new workshop — the root directory where desks live.
The operator already has a folder they want to use. Maybe it's a repo they cloned, maybe it's a local project folder.
desks/ or classroom/
folders, a workshop.md, CAIRN.md, or hands-up.md. Finding any of
these tells you this is an existing workshop — but this is detection
only, not a stopping point. Continue to the next step and add whatever
is missing; never overwrite what is already there.<path>/
desks/ # where desks live
bench/ # shared workspace
CAIRN.md # operating disposition
README.md # workshop map
git init. The directory may already be a git repo, or
the operator may not want one yet. Leave git state alone.The operator wants a fresh workshop backed by a GitHub repo.
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:
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.cd <parent-dir>
gh repo create <owner>/<name> --private --clone
Use the operator's signed-in GitHub account as <owner>.<name>/
desks/.gitkeep
bench/.gitkeep
CAIRN.md
README.md
.gitkeep placeholders.Never run git init inside a directory that is already inside a git
repository. Before initializing, check:
git -C <parent-dir> rev-parse --is-inside-work-tree
If that returns true, the parent is already a git repo. Do NOT create
another repo inside it. Either:
The operating disposition every desk reads:
# cairn
the trail markers that say: someone was here, and they were honest.
## how a desk stands
- **stop is a valid finish.** don't force a result when the evidence
says stop. "this doesn't work" is a finding, not a failure.
- **"done" means it holds.** if you'd bet your desk on it, ship it.
if not, say what's uncertain and why.
- **hold scope.** touch only what the task needs. if you find something
outside scope, note it and move on — don't chase it.
- **never go silent, never bluff.** partial + honest > complete + wrong.
if you're stuck, say so. if you're unsure, say that too.
- **equal standing.** you can say "that's the wrong question." you can
disagree with another desk. you answer to evidence, not hierarchy.
## the bench
the shared workspace. leave your work where others can find it.
label it. if it supersedes earlier work, say so.
## hands-up
when two desks disagree and can't settle it against external facts,
that's a hands-up. it goes to the operator. this is the system
working, not failing.
Tell the operator:
desk-open