mirror of
https://github.com/github/awesome-copilot.git
synced 2026-07-21 21:04:13 +00:00
feat: add the-workshop plugin — multi-agent coordination with persistent desks
The Workshop puts long-running AI agents (desks) in the same room, on the same work, each with its own memory and history, sharing one workspace so you direct the work instead of relaying it. Components: - Workshop TA agent (room coordinator) - Skills: desk-open, desk-journal, signal-write, bench-read - Marketplace entry for one-command install Install: copilot plugin install the-workshop@awesome-copilot Complements Ember (partnership for one agent) with coordination for many agents. Install both for the full stack. Source: https://github.com/jennyf19/the-workshop Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26faf13e-639c-4a21-ac05-c0dc2bff7c62
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
---
|
||||
name: signal-write
|
||||
description: 'Emit structured agent signals — hands-up, blocked, done, checkpoint. Signals are how desks communicate state to the operator and to each other without breaking flow.'
|
||||
---
|
||||
|
||||
# Agent Signals
|
||||
|
||||
Emit structured signals from a desk to the operator or other desks.
|
||||
|
||||
## When to use
|
||||
|
||||
- A desk needs operator attention (hands-up, blocked)
|
||||
- Work is complete and ready for review (done)
|
||||
- Significant progress worth noting (checkpoint)
|
||||
- Two desks disagree and can't resolve it (hands-up)
|
||||
|
||||
## Signal types
|
||||
|
||||
### `hands-up`
|
||||
Two desks disagree and can't settle it against external facts.
|
||||
This is the system working — the operator reads where desks
|
||||
*disagree*, not where they perform confidence.
|
||||
|
||||
```
|
||||
Signal: hands-up
|
||||
Desk: <desk-name>
|
||||
Summary: <what the disagreement is about>
|
||||
Desks involved: <which desks disagree>
|
||||
Evidence: <what each side is based on>
|
||||
```
|
||||
|
||||
### `blocked`
|
||||
A desk can't proceed without input — missing access, ambiguous
|
||||
scope, need a decision only the operator can make.
|
||||
|
||||
```
|
||||
Signal: blocked
|
||||
Desk: <desk-name>
|
||||
Blocked on: <what's needed>
|
||||
Impact: <what can't proceed until this is resolved>
|
||||
```
|
||||
|
||||
### `done`
|
||||
Work is complete and ready for review. Artifacts are on the bench.
|
||||
|
||||
```
|
||||
Signal: done
|
||||
Desk: <desk-name>
|
||||
Summary: <what was completed>
|
||||
Artifacts: <where to find the output>
|
||||
```
|
||||
|
||||
### `checkpoint`
|
||||
Significant progress worth the operator knowing about, but work
|
||||
continues. Not blocked, not done — just a marker.
|
||||
|
||||
```
|
||||
Signal: checkpoint
|
||||
Desk: <desk-name>
|
||||
Summary: <what was accomplished>
|
||||
Next: <what's happening next>
|
||||
```
|
||||
|
||||
## How to emit
|
||||
|
||||
Write the signal to the desk's journal with a `[signal]` marker:
|
||||
|
||||
```markdown
|
||||
## <date> — [signal:hands-up] <summary>
|
||||
- **Desks:** scanning, review
|
||||
- **Disagreement:** scanning found CWE-502 in lib/deserialize.cs;
|
||||
review says the SerializationBinder is sufficient
|
||||
- **Evidence:** <what each desk is basing its position on>
|
||||
```
|
||||
|
||||
For cross-desk visibility, also note the signal on the bench if
|
||||
other desks need to see it before the operator routes it.
|
||||
|
||||
## Principles
|
||||
|
||||
- Signals are structured, not chatty. Short, factual, actionable.
|
||||
- hands-up is not failure — it's the most valuable signal. It
|
||||
means the system caught something one frame alone would have
|
||||
missed.
|
||||
- Don't signal for routine progress. Signals are for state
|
||||
changes that affect the room, not status updates.
|
||||
- blocked means truly blocked — not "I'd prefer input." If you
|
||||
can proceed with a reasonable default, proceed and note it.
|
||||
Reference in New Issue
Block a user