Workshop Create
GitHubOfficialFirst committed by jennyf19Distributed by GitHub
- Skill
- Workflow
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The workshop-create skill establishes a standardized workspace for managing projects. It supports two primary modes: initializing a local directory with a specific folder structure and documentation, or creating a new private GitHub repository to serve as a remote-backed workshop. The skill ensures structural consistency by scaffolding required directories and configuration files, such as CAIRN.md, while strictly preventing nested repository conflicts.
What it does
- Scaffolds a standard directory structure including desks, bench, and documentation.
- Initializes a new private GitHub repository with proper structure and initial commit.
- Detects existing workshop markers to avoid overwriting or duplicating work.
- Validates directory paths to prevent nested git repository creation.
- Adds .gitkeep files to ensure empty directories are tracked in version control.
- Provides a consistent operating disposition via the CAIRN.md file.
When to use it
- When you need to start a new project or workshop from scratch.
- When you want to organize existing local work into a structured workshop format.
- When you need a new, clean GitHub repository to host a collaborative workspace.
- When you want to ensure your project environment follows a consistent organizational pattern.
Advantages
- Prevents accidental nesting of git repositories.
- Maintains structural integrity by only adding missing components to existing folders.
- Promotes consistent project organization across different workspaces.
- Automates the setup of essential documentation and shared workspace folders.
Usage examples
- “Create a new workshop for my current project.”
- The agent identifies the current directory, scaffolds the necessary folders and CAIRN.md, and confirms the workshop is ready for desk operations.
- “Start a new workshop named 'data-analysis-project' in my projects folder.”
- The agent creates a new private GitHub repository, clones it into the specified path, adds the required structure, and pushes the initial commit.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/github/workshop-create/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip workshop-create.zip -d .agents/skills
Documentation by jennyf19
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.
Confirm the path exists. If not, ask the operator for a valid path.
Detect existing workshop markers. Look for
desks/orclassroom/folders, aworkshop.md,CAIRN.md, orhands-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.Scaffold the workshop structure (only what's missing):
<path>/ desks/ # where desks live bench/ # shared workspace CAIRN.md # operating disposition README.md # workshop mapDo NOT run
git init. The directory may already be a git repo, or the operator may not want one yet. Leave git state alone.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.
Get the workshop name. Short, no spaces, kebab-case preferred.
Pick and validate a clone parent.
gh repo create --cloneclones 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-treeIf that prints
true, pick a different parent — otherwise the new repo nests inside the existing one. Create the parent if needed.Create and clone the repo from that parent:
cd <parent-dir> gh repo create <owner>/<name> --private --cloneUse the operator's signed-in GitHub account as
<owner>.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.mdCommit and push the scaffold, including the
.gitkeepplaceholders.
Critical: Never nest repos
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-treeIf 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:
# 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-openThat 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.
Files
- ATTRIBUTION.mdAdded by AutoGineer863 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md4.7 KiB
SKILL.md
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.
Confirm the path exists. If not, ask the operator for a valid path.
Detect existing workshop markers. Look for
desks/orclassroom/folders, aworkshop.md,CAIRN.md, orhands-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.Scaffold the workshop structure (only what's missing):
<path>/ desks/ # where desks live bench/ # shared workspace CAIRN.md # operating disposition README.md # workshop mapDo NOT run
git init. The directory may already be a git repo, or the operator may not want one yet. Leave git state alone.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.
Get the workshop name. Short, no spaces, kebab-case preferred.
Pick and validate a clone parent.
gh repo create --cloneclones 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-treeIf that prints
true, pick a different parent — otherwise the new repo nests inside the existing one. Create the parent if needed.Create and clone the repo from that parent:
cd <parent-dir> gh repo create <owner>/<name> --private --cloneUse the operator's signed-in GitHub account as
<owner>.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.mdCommit and push the scaffold, including the
.gitkeepplaceholders.
Critical: Never nest repos
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-treeIf 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:
# 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-openThat 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.
Requirements and compatibility
Written for: GitHub Copilot
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs a command-line tool
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
jennyf19
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/workshop-create · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- jennyf19
AutoGineer is not affiliated with or endorsed by jennyf19 or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download workshop-create.zip