workshop-create — скилл для GitHub Copilot: что делает
Разворачивает рабочее пространство workshop локально или создаёт приватный репозиторий на GitHub. Нужен для организации структуры с папками desks и bench.
npx skills add github/awesome-copilot --skill workshop-createЧто делает workshop-create
Скилл готовит корневую директорию workshop под командную работу субагентов или разработчика. Внутри создаются папки desks/ для рабочих столов, bench/ для общих файлов, а также файлы CAIRN.md и README.md.
Сценарий зависит от задачи. Если папка уже существует на диске, скилл только добавит недостающие элементы и не станет трогать git. Если нужен новый приватный репозиторий, используется команда gh repo create. Перед клонированием утилита проверяет родительскую директорию через git rev-parse, чтобы случайно не вложить один git-репозиторий внутрь другого.
Ставьте этот скилл, если ведете проекты через систему desks и Cairn. Без этой методологии создавать такую структуру каталогов вручную нет смысла.
Какие задачи решает
- Создать приватный репозиторий на GitHub со структурой workshop
- Развернуть папки desks и bench в существующем проекте без перезаписи файлов
- Предотвратить случайное вложение одного git-репозитория в другой
- Добавить правила взаимодействия CAIRN.md в корневой каталог
Примеры запросов агенту
- create a workshop
- start a new workshop
- сделай из текущей папки workshop
Как установить workshop-create
1Через Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill workshop-create2GitHub CLI
gh skill install github/awesome-copilot workshop-create3Вручную: положить файлы
.github/skills/workshop-create/SKILL.md1Через Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill workshop-create -a claude-code2Вручную: положить файлы
~/.claude/skills/workshop-create/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/workshop-create/
Вручную: положить файлы
.agents/skills/workshop-create/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/workshop-create/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
Командой платформы
gemini skills install https://github.com/github/awesome-copilot --path skills/workshop-createВручную: положить файлы
.devin/skills/workshop-create/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора554
Весь набор →Похожие
Вопросы о workshop-create
Как установить workshop-create для GitHub Copilot?
Выполните команду gh skill install github/awesome-copilot workshop-create или запустите npx skills add github/awesome-copilot --skill workshop-create. Файл скилла запишется в .github/skills/workshop-create/SKILL.md.
Что делает скилл workshop-create?
Он инициализирует корневое пространство workshop. В зависимости от выбора скилл либо дополняет локальную папку каталогами desks/, bench/ и файлом CAIRN.md, либо клонирует новый приватный репозиторий через GitHub CLI.
Что происходит, если целевая папка уже находится внутри git-репозитория?
Скилл проверяет путь командой git rev-parse. Он блокирует создание вложенного репозитория и предлагает либо локальную разметку без вызова git init, либо выбор другого каталога.
Исходный текст
SKILL.md · MIT
---
name: workshop-create
description: '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.'
---
# Create a Workshop
Set up a new workshop — the root directory where desks live.
## When to use
- 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
## Two paths
### Path A: Use an existing directory
The operator already has a folder they want to use. Maybe it's a repo
they cloned, maybe it's a local project folder.
1. **Confirm the path exists.** If not, ask the operator for a valid path.
2. **Detect existing workshop markers.** Look for `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.
3. **Scaffold the workshop structure** (only what's missing):
```
<path>/
desks/ # where desks live
bench/ # shared workspace
CAIRN.md # operating disposition
README.md # workshop map
```
4. **Do NOT run `git init`.** The directory may already be a git repo, or
the operator may not want one yet. Leave git state alone.
5. **Do NOT create a GitHub repo.** This path is local-only.
### Path B: Create a new private GitHub repo
The operator wants a fresh workshop backed by a GitHub repo.
1. **Get the workshop name.** Short, no spaces, kebab-case preferred.
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 <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>/
desks/.gitkeep
bench/.gitkeep
CAIRN.md
README.md
```
5. **Commit and push** the scaffold, including the `.gitkeep` placeholders.
### Critical: Never nest repos
**Never run `git init` inside a directory that is already inside a git
repository.** Before initializing, check:
```bash
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:
- Use Path A (just scaffold, no git)
- Or clone to a different location that isn't inside a repo
## CAIRN.md content
The operating disposition every desk reads:
```markdown
# 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.
```
## After creation
Tell the operator:
- Where the workshop lives (full path)
- That they can now open desks in it with `desk-open`
- That Cairn will show signals once desks start emitting them
## Principles
- A workshop is a place, not a product. Keep it simple.
- The operator decides where things go. Don't assume.
- If an existing directory already has work in it, preserve everything.
Only add what's missing.
© github · MIT · github/awesome-copilot