跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

desk-open · 创建并开启工作台桌面

在工作坊目录下新建一个 desk,生成标准目录结构、初始 journal 与信号目录,让后续会话读取 journal 延续上下文。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

新建一个名为 api-review 的桌面,专注 API 评审工作,并在初始 journal 中写明覆盖的仓库和下一步。

输出

预期交付:desks/<名称>/journal.md 与 desks/<名称>/.signals/ 目录。(编辑说明,非实际运行结果)

方法说明

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