Catalog
github/workshop-create

github

workshop-create

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.

global
New~1.2k
v1.0Saved Jul 22, 2026

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:
    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:
    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:

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:

# 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.
Files1
1 files · 1.0 KB

Select a file to preview

Overall Score

78/100

Grade

B

Good

Safety

82

Quality

72

Clarity

85

Completeness

68

Summary

A skill for creating workshop directories—the root organizational container for collaborative work units called "desks." It supports two paths: (A) scaffolding an existing local directory with workshop structure (desks/, bench/, CAIRN.md), or (B) creating a new private GitHub repository with the same scaffold. The skill is philosophically grounded in principles of clarity, honesty, and scope preservation, with explicit guardrails against repo nesting.

Detected Capabilities

directory creationfile writegit repository creation (GitHub)git repository detectiongit operations (clone, commit, push)shell command executionGitHub CLI invocation

Trigger Keywords

Phrases that MCP clients use to match this skill to user intent.

create workshopnew workshop directorygithub repo scaffoldworkshop setupshared workspace initorganize desksestablish collaboration root

Risk Signals

INFO

Git repository nesting detection

Path B, step 2 and Critical section
INFO

GitHub private repo creation via gh CLI

Path B, step 3
WARNING

Directory traversal via operator-provided paths in Path A

Path A, step 1
INFO

No validation of parent directory accessibility before git operations

Path B, step 3

Use Cases

  • Set up a new collaborative workspace with GitHub backing
  • Convert an existing local directory into a workshop structure
  • Initialize a multi-desk project with shared bench space
  • Create a structured repository template for team-based workflows
  • Establish workshop scaffolding without forcing git initialization on existing directories

Quality Notes

  • Explicit two-path design with clear decision points and distinct responsibilities
  • Strong emphasis on non-destructive operations (detect only, never overwrite)
  • Well-documented critical constraint (repo nesting) with specific bash check
  • Clear scaffold structure with explanation of .gitkeep for empty directories
  • Philosophical grounding (CAIRN.md) provides context for workshop culture and principles
  • Path A instructions lack validation—no guidance on confirming directory is readable/writable before scaffolding
  • Missing error handling for gh CLI failures (e.g., authentication issues, repo already exists)
  • No guidance on validating workshop name format (kebab-case preferred but not enforced)
  • Incomplete handling of Path B failure cases (e.g., clone fails, parent is not a directory)
Model: claude-haiku-4-5-20251001Analyzed: Jul 22, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Use github/workshop-create in your dev environment

Command Palette

Search for a command to run...