desk-open — GitHub Copilot skill: what it does, how to install
Opens a new desk in the workshop: a folder, a first journal entry and a signals directory, so the next Copilot session finds the trail.
npx skills add github/awesome-copilot --skill desk-openWhat desk-open does
The skill lays out one desk as a folder, desks/<desk-name>/, holding journal.md and a .signals/ directory for JSON signals that a dashboard reads. Names stay short and kebab-case: security-scan, api-review, ops. The first journal entry records what the desk is for, which repos or work it covers, and what the next session should pick up.
It sets up storage. It does not start a session. A desk goes live when a Copilot session points at its directory and reads the journal. Memory sits in the file, so sessions stay independent while state carries forward. Keep one focus per desk: a broad scope is better split in two, since a diluted frame is worth less.
There is a hard rule. If desks/<desk-name>/journal.md is already there, the skill will not overwrite it; it reads the journal and resumes from the last entry. A clean start means renaming or archiving the old desk first, so check the name before you run it.
What it helps with
- carve out a separate desk for a new workstream
- carry context between sessions in
journal.md - reopen an existing desk without losing its notes
- drop structured signals into
.signals/for the dashboard
Example prompts for the agent
- Open a desk called `api-review` and write down what it covers in the journal.
- Sit at the `security-scan` desk, read `desks/security-scan/journal.md` and continue from the last entry.
- Set up a separate desk `cloud-workshop`, this work does not fit the current one.
How to install desk-open
1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill desk-open2GitHub CLI
gh skill install github/awesome-copilot desk-open3Manually: put the files in place
.github/skills/desk-open/SKILL.md1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill desk-open -a claude-code2Manually: put the files in place
~/.claude/skills/desk-open/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/desk-open/
Manually: put the files in place
.agents/skills/desk-open/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/desk-open/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
Platform CLI
gemini skills install https://github.com/github/awesome-copilot --path skills/desk-openManually: put the files in place
.devin/skills/desk-open/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set554
The whole set →Similar
Questions about desk-open
How do I install desk-open in GitHub Copilot?
Run npx skills add github/awesome-copilot --skill desk-open. The skill file lands at .github/skills/desk-open/SKILL.md.
What does desk-open do?
It creates the desk folder with a journal and a .signals/ directory, then writes the opening entry: purpose, scope, next step. Starting a session stays with you, not the skill.
What happens if a desk with that name already exists?
The journal is left alone. The skill reads it and continues from the last entry. Starting fresh requires renaming or archiving the old desk first.
Source text
SKILL.md · MIT
--- name: desk-open description: 'Create and open a new desk in the workshop. Sets up the folder structure, initial journal, and desk identity so the next session that sits down finds the trail.' --- # Open a Desk Create a new desk in the workshop with the standard structure. ## When to use - The operator wants to start a new workstream - Work arrives that doesn't belong to any existing desk - A topic needs its own frame (its own history, its own priors) ## What it creates Given a workshop directory and a desk name, create: ``` desks/<desk-name>/ journal.md # persistent memory — read at start, written at end .signals/ # structured signal output (JSON) — dashboard reads this ``` ## How to use 1. **Choose a name.** Short, descriptive, kebab-case. The name is how the operator and other desks refer to this desk. Examples: `security-scan`, `api-review`, `ops`, `cloud-workshop` 2. **Check if it already exists.** If `desks/<desk-name>/` already has a `journal.md`, the desk is live — **do not overwrite it.** Instead, resume it: read the journal and continue from where it left off. If the operator explicitly wants a fresh start, they must rename or archive the existing desk first. 3. **Create the structure.** Make the directory, initial journal, and signals folder: ``` desks/<desk-name>/journal.md desks/<desk-name>/.signals/ ``` 4. **Write the first journal entry.** The journal starts with: - What this desk is for (its focus/purpose) - What repos or work it covers (if applicable) - Any initial context the first session needs 5. **Announce it.** Tell the operator what was created and what the desk's focus is. ## Session orientation This skill initializes storage — it does not launch a session. A desk becomes active when a Copilot session references its directory. The session workflow: 1. The operator (or TA) starts a session and says "sit at the `<desk-name>` desk" 2. The session reads `desks/<desk-name>/journal.md` to load priors 3. Work happens — the session uses `signal-write` to emit signals and `desk-journal` to persist state at the end 4. The next session repeats from step 2 The desk identity comes from which journal is read, not from a persistent process. Desks are long-running in *state* (the journal carries forward), not in *runtime* (each session is independent). ## Journal format ```markdown # <Desk Name> — Journal ## <date> — Desk opened - **Purpose:** <what this desk focuses on> - **Scope:** <repos, areas, or work this desk covers> - **Next step:** <what the first session should do> ``` ## Principles - A desk is a peer, not a sub-agent. It has equal standing to disagree with other desks. - The journal is the memory. Without it, the next session starts blind. Write enough that someone starting from zero finds the way. - One desk, one focus. If the scope is too broad, open two desks. Each desk's value comes from its specific frame — dilute the frame and you lose the value.
© github · MIT · github/awesome-copilot