56 results available
Sign in
Skills directory

desk-open

github

·

Last changed
Not yet hardened

This version isn't hardened by Chainguard

No hardening report available.


SKILL.md

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

Workspace root: Resolve all desks/ paths relative to the repository root — the nearest ancestor directory containing a .git/ entry, starting from the current working directory. If no repository root can be determined, stop and ask the operator to confirm the intended base directory before proceeding. Never resolve desks/ relative to $HOME or /.

  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

    Before performing any filesystem operation, validate that <desk-name> matches the pattern ^[a-z0-9-]{1,64}$ — only lowercase ASCII letters (a–z), digits (0–9), and hyphens (-). Dots, slashes, spaces, underscores, and all other characters are forbidden. The name must be between 1 and 64 characters long. If the name does not match this pattern, stop immediately and tell the operator which characters are invalid and what the allowed pattern is. Do not proceed to Step 2 or beyond.

  2. Check if it already exists. Only after the name has passed validation above, check whether desks/<desk-name>/journal.md already exists. If it does, 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. Only after the name has passed validation in Step 1 and the workspace root has been established, create 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

# <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.

Install

Need this version hardened?

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream source

—

Upstream commitfa5489328cc19d9962f841c7bdabe03cacffdb72
OCI reference

—

License

MIT

Files

HARDENING.md

LICENSE

SKILL.md


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.