mirror of
https://github.com/github/awesome-copilot.git
synced 2026-07-21 12:54:13 +00:00
91 lines
3.0 KiB
Markdown
91 lines
3.0 KiB
Markdown
---
|
|
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.
|