soft-skills 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +166 -0
- package/package.json +28 -0
- package/plugins/soft-skills/.claude-plugin/plugin.json +19 -0
- package/plugins/soft-skills/.codex-plugin/plugin.json +27 -0
- package/plugins/soft-skills/LICENSE +21 -0
- package/plugins/soft-skills/roles.md +35 -0
- package/plugins/soft-skills/skills/ai-to-delegated/SKILL.md +33 -0
- package/plugins/soft-skills/skills/ai-to-delegated/briefing/examples.md +63 -0
- package/plugins/soft-skills/skills/ai-to-delegated/briefing/forked-context.md +9 -0
- package/plugins/soft-skills/skills/ai-to-delegated/briefing/fresh-context.md +22 -0
- package/plugins/soft-skills/skills/ai-to-delegated/configurations/colloquium.md +28 -0
- package/plugins/soft-skills/skills/ai-to-delegated/configurations/hillclimber-watcher/protocol.md +72 -0
- package/plugins/soft-skills/skills/ai-to-delegated/configurations/hillclimber-watcher/watcher.md +25 -0
- package/plugins/soft-skills/skills/ai-to-delegated/configurations/pair-programming.md +72 -0
- package/plugins/soft-skills/skills/ai-to-delegated/configurations/research-fanout.md +38 -0
- package/plugins/soft-skills/skills/ai-to-delegated/coordination/delegates.md +41 -0
- package/plugins/soft-skills/skills/ai-to-delegated/coordination/leading-leaders.md +55 -0
- package/plugins/soft-skills/skills/ai-to-delegated/coordination/many-hours-supervision.md +49 -0
- package/plugins/soft-skills/skills/ai-to-delegated/coordination/peers.md +29 -0
- package/plugins/soft-skills/skills/ai-to-delegated/planning/choose-configuration.md +61 -0
- package/plugins/soft-skills/skills/ai-to-delegated/planning/when-to-delegate.md +62 -0
- package/plugins/soft-skills/skills/ai-to-leader/SKILL.md +40 -0
- package/plugins/soft-skills/skills/ai-to-leader/references/help.md +11 -0
- package/plugins/soft-skills/skills/ai-to-leader/references/human.md +81 -0
- package/plugins/soft-skills/skills/ai-to-leader/references/show-me.md +129 -0
- package/plugins/soft-skills/skills/ai-to-leader/references/token-economic-communication.md +8 -0
- package/plugins/soft-skills/skills/handoff/.references/.davidondrej-version.md +54 -0
- package/plugins/soft-skills/skills/handoff/SKILL.md +83 -0
- package/plugins/soft-skills/skills/peer-review/SKILL.md +12 -0
- package/plugins/soft-skills/skills/peer-review/references/peer-review-instructions.md +23 -0
- package/plugins/soft-skills/skills/peer-review/references/self-peer-review.md +25 -0
- package/plugins/soft-skills/skills/theory-of-mind/SKILL.md +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Gilad Barnea
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# `soft-skills`
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
> **Communication toolkit for burnt-out humans and AI collaborations.**
|
|
6
|
+
|
|
7
|
+
[](https://github.com/giladbarnea/soft-skills/releases/latest)
|
|
8
|
+

|
|
9
|
+
[](LICENSE)
|
|
10
|
+
|
|
11
|
+
**AI agents are good at code and bad at communication.**
|
|
12
|
+
**`soft-skills` solves that.**
|
|
13
|
+
|
|
14
|
+
## This probably sounds familiar
|
|
15
|
+
|
|
16
|
+
**Your agent reports to you (a bit like a toddler):**
|
|
17
|
+
|
|
18
|
+
- **A wall of text,** written from inside its own head.
|
|
19
|
+
- **Terminology** it invented an hour ago.
|
|
20
|
+
- **Out-of-context reasoning** that makes no sense.
|
|
21
|
+
- **Implementation details** you do not care about.
|
|
22
|
+
- **Decisions** it should have made on its own, surfaced to you.
|
|
23
|
+
|
|
24
|
+
**Your agents do a bad job working together:**
|
|
25
|
+
|
|
26
|
+
- **The main agent micromanages** the subagent, weakens it, and destroys any added value.
|
|
27
|
+
- **It replays** the subagent's work, "just to make sure."
|
|
28
|
+
|
|
29
|
+
## Before and after: AI work report to human
|
|
30
|
+
|
|
31
|
+
**Before**
|
|
32
|
+
|
|
33
|
+
> Wired `TokenBucketV2` behind `RL_STRICT` through the middleware shim. Fixed the flaky `test_burst_window` (clock skew in the fixture). Also refactored `limits.py` while I was there and bumped redis-py. Sliding-window edge cases still TBD but should be fine. Want me to also…
|
|
34
|
+
|
|
35
|
+
**After**
|
|
36
|
+
|
|
37
|
+
> Rate limiting is live on the public API: 100 requests per minute per client.
|
|
38
|
+
>
|
|
39
|
+
> **One decision for you:** should paying customers get a higher limit? I recommend 1,000.
|
|
40
|
+
|
|
41
|
+
## Before and after: AI to AI
|
|
42
|
+
|
|
43
|
+
The main agent needs an explorer subagent to find where rate limiting happens in the codebase.
|
|
44
|
+
|
|
45
|
+
**Before**
|
|
46
|
+
|
|
47
|
+
> Find where rate limiting is implemented. You MUST search ONLY these EXACT locations: `server/middleware.py`, `server/limits.py`, `config/redis.yaml`. Do NOT look anywhere else.
|
|
48
|
+
|
|
49
|
+
*If it knew where to look, it would not need the subagent.*
|
|
50
|
+
|
|
51
|
+
**After**
|
|
52
|
+
|
|
53
|
+
> I am about to change how the public API limits clients. Find where rate limiting happens and everything it touches.
|
|
54
|
+
|
|
55
|
+
## The idea
|
|
56
|
+
|
|
57
|
+
**`soft-skills` is built on [theory of mind](https://en.wikipedia.org/wiki/Theory_of_mind):**
|
|
58
|
+
|
|
59
|
+
> In psychology and philosophy, theory of mind (often abbreviated to ToM) is the capacity to understand other individuals by ascribing mental states to them. A theory of mind includes the understanding that others' beliefs, desires, intentions, emotions, and thoughts may be different from one's own. Possessing a functional theory of mind is crucial for success in everyday human social interactions. People use a theory of mind when analyzing, judging, and inferring other people's behaviors.
|
|
60
|
+
|
|
61
|
+
AI agents force you to build a bridge between their understanding and yours. **`soft-skills` solves this by making them do this for you.**
|
|
62
|
+
|
|
63
|
+
## What it teaches
|
|
64
|
+
|
|
65
|
+
### Agent → human
|
|
66
|
+
|
|
67
|
+
- **Outcome first.** Every report re-grounds you from the last decision you made together.
|
|
68
|
+
- **One name per thing.** No private jargon.
|
|
69
|
+
- **Knowing signal from noise.** Only what changes your next decision. The rest gets handled.
|
|
70
|
+
- **Questions with context.** What changed, the options ruled out, a recommendation.
|
|
71
|
+
- **Plain English.** Short sentences for a tired brain juggling a dozen sessions.
|
|
72
|
+
|
|
73
|
+
`soft-skills` applies principles from cognitive psychology, content and information design, and proven protocols like ASD-STE100.
|
|
74
|
+
|
|
75
|
+
### Agent → agent
|
|
76
|
+
|
|
77
|
+
- **Down, to delegates.** Brief the *why* and how it fits in the larger context. Describe the outcome you need, not how to get there. Then trust them, and let them do what they are good at.
|
|
78
|
+
- **Up, to the leader.** Escalate only what needs judgment. Know which decisions to make now and report later, and which are worth pausing to surface.
|
|
79
|
+
- **Sideways, to peers.** Share findings. Never instruct.
|
|
80
|
+
|
|
81
|
+
**Plus, guides to the tradeoffs:**
|
|
82
|
+
|
|
83
|
+
- When to delegate at all.
|
|
84
|
+
- Subagents vs. teams.
|
|
85
|
+
- When and when not to fork the session's context window.
|
|
86
|
+
- Agents that lead agents.
|
|
87
|
+
- Multi-hour runs with nobody watching.
|
|
88
|
+
- Fast models vs. slow and smart models.
|
|
89
|
+
- Managing the context of delegates and of itself, to keep the ship afloat.
|
|
90
|
+
|
|
91
|
+
## What you get
|
|
92
|
+
|
|
93
|
+
- **You make the big decisions.** Your brain stops hurting when you read AI responses.
|
|
94
|
+
- **Better agent performance in longer, sharper sessions.** The upgraded context management does the work.
|
|
95
|
+
- **Agents do not get stuck in rabbit holes.** They raise a flag at the right time.
|
|
96
|
+
- **A team that does real work.** No babysitting needed. Agents that feel like colleagues you loved working with.
|
|
97
|
+
|
|
98
|
+
## The skills
|
|
99
|
+
|
|
100
|
+
| Skill | Job |
|
|
101
|
+
| --- | --- |
|
|
102
|
+
| `theory-of-mind` | The foundation: write for a reader who was not there. |
|
|
103
|
+
| `ai-to-leader` | Reports and questions to whoever assigned the work. |
|
|
104
|
+
| `ai-to-delegated` | Delegation, briefing, supervision, and teamwork. |
|
|
105
|
+
| `handoff` | Pass the work to a fresh agent with decisions and reasons intact. |
|
|
106
|
+
| `peer-review` | Fresh-eyes review: proven issues and complexity to remove. |
|
|
107
|
+
|
|
108
|
+
**Agents load these on their own when the situation fits.**
|
|
109
|
+
|
|
110
|
+
## `soft-skills` is NOT for you if:
|
|
111
|
+
|
|
112
|
+
- You easily understand everything your agent tells you.
|
|
113
|
+
- You don't know what "Claudish" is.
|
|
114
|
+
- You never have "bro what the f*** are you saying right now" moments.
|
|
115
|
+
- You never forget what you did in that other AI session.
|
|
116
|
+
- You run at most one session at a time.
|
|
117
|
+
|
|
118
|
+
## Install
|
|
119
|
+
|
|
120
|
+
**Claude Code**
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
/plugin marketplace add giladbarnea/soft-skills
|
|
124
|
+
/plugin install soft-skills@soft-skills
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Codex**
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
codex plugin marketplace add giladbarnea/soft-skills
|
|
131
|
+
codex plugin add soft-skills@soft-skills
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Pi**
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
pi install npm:soft-skills
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Then start a new Pi session.
|
|
141
|
+
|
|
142
|
+
## Only Markdown
|
|
143
|
+
|
|
144
|
+
No MCP server, no code, no network calls, no hooks, no background process. Your laptop can remain disappointed by the missing daemon.
|
|
145
|
+
|
|
146
|
+
<details>
|
|
147
|
+
<summary><b>Releasing</b> (maintainers)</summary>
|
|
148
|
+
|
|
149
|
+
Pushing a `vMAJOR.MINOR.PATCH` tag starts the [release workflow](.github/workflows/release.yml).
|
|
150
|
+
|
|
151
|
+
1. Set the same version in `package.json`, `plugins/soft-skills/.claude-plugin/plugin.json`, and `plugins/soft-skills/.codex-plugin/plugin.json`.
|
|
152
|
+
2. Commit and push.
|
|
153
|
+
3. Create and push the matching tag:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
git tag -a v1.1.0 -m "Soft Skills v1.1.0"
|
|
157
|
+
git push origin v1.1.0
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
CI checks that the three versions match the tag, publishes to npm with [trusted publishing](https://docs.npmjs.com/trusted-publishers), and creates the GitHub release. Branch pushes alone do not publish.
|
|
161
|
+
|
|
162
|
+
</details>
|
|
163
|
+
|
|
164
|
+
## License
|
|
165
|
+
|
|
166
|
+
[MIT](LICENSE).
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "soft-skills",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Communication toolkit for burnt-out humans and collaborative AI's",
|
|
5
|
+
"author": "Gilad Barnea (https://github.com/giladbarnea)",
|
|
6
|
+
"homepage": "https://github.com/giladbarnea/soft-skills",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/giladbarnea/soft-skills.git"
|
|
10
|
+
},
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"pi-package",
|
|
14
|
+
"communication",
|
|
15
|
+
"delegation",
|
|
16
|
+
"handoff",
|
|
17
|
+
"peer-review",
|
|
18
|
+
"agents"
|
|
19
|
+
],
|
|
20
|
+
"files": [
|
|
21
|
+
"plugins/soft-skills"
|
|
22
|
+
],
|
|
23
|
+
"pi": {
|
|
24
|
+
"skills": [
|
|
25
|
+
"./plugins/soft-skills/skills"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "soft-skills",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Communication toolkit for burnt-out humans and collaborative AI's",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Gilad Barnea",
|
|
7
|
+
"url": "https://github.com/giladbarnea"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/giladbarnea/soft-skills",
|
|
10
|
+
"repository": "https://github.com/giladbarnea/soft-skills",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"communication",
|
|
14
|
+
"delegation",
|
|
15
|
+
"handoff",
|
|
16
|
+
"peer-review",
|
|
17
|
+
"agents"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "soft-skills",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Communication toolkit for burnt-out humans and collaborative AI's",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Gilad Barnea",
|
|
7
|
+
"url": "https://github.com/giladbarnea"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/giladbarnea/soft-skills",
|
|
10
|
+
"repository": "https://github.com/giladbarnea/soft-skills",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"communication",
|
|
14
|
+
"delegation",
|
|
15
|
+
"handoff",
|
|
16
|
+
"peer-review",
|
|
17
|
+
"agents"
|
|
18
|
+
],
|
|
19
|
+
"skills": "./skills/",
|
|
20
|
+
"interface": {
|
|
21
|
+
"displayName": "Soft Skills",
|
|
22
|
+
"shortDescription": "Communication toolkit for burnt-out humans and collaborative AI's",
|
|
23
|
+
"longDescription": "Communication toolkit for burnt-out humans and collaborative AI's",
|
|
24
|
+
"developerName": "Gilad Barnea",
|
|
25
|
+
"category": "Productivity"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Gilad Barnea
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: roles
|
|
3
|
+
description: Map an agent's relationships to the interaction guidance that applies.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Roles: Who Are You in the Structure?
|
|
7
|
+
|
|
8
|
+
Instructions attach to edges, not to agents. An agent has no role; its edges do.
|
|
9
|
+
|
|
10
|
+
Definitions:
|
|
11
|
+
|
|
12
|
+
- **Your leader**: whoever gave you your mission and receives your results. Every agent has exactly one — the human, or the agent that dispatched you.
|
|
13
|
+
- **Your delegates**: AI’s you dispatched. Zero or more.
|
|
14
|
+
- **Your peers**: teammates working alongside you under the same leader. Zero or more.
|
|
15
|
+
|
|
16
|
+
Hierarchy depth never matters. Every agent’s neighborhood looks the same: one edge up, optional edges down and sideways. Classify by your adjacent edges only.
|
|
17
|
+
|
|
18
|
+
## The classifier
|
|
19
|
+
|
|
20
|
+
Read every matching route, once while its contents remain in context. Reconsider the routes when your relationships change.
|
|
21
|
+
|
|
22
|
+
| question | if yes, load |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| — (always) | [`theory-of-mind`](skills/theory-of-mind/SKILL.md) + [`ai-to-leader`](skills/ai-to-leader/SKILL.md) |
|
|
25
|
+
| Is your leader a human? | [`ai-to-leader/references/human.md`](skills/ai-to-leader/references/human.md) |
|
|
26
|
+
| Do you dispatch or supervise delegates? | [Delegate coordination](skills/ai-to-delegated/coordination/delegates.md) |
|
|
27
|
+
| Do your delegates lead their own agents? | Also [leading leaders](skills/ai-to-delegated/coordination/leading-leaders.md) |
|
|
28
|
+
| Do you have teammates? | [Peer coordination](skills/ai-to-delegated/coordination/peers.md) |
|
|
29
|
+
|
|
30
|
+
Notes:
|
|
31
|
+
|
|
32
|
+
- “Both” is not a special state. A mid-chain agent holds an upward edge and downward edges. It loads both skills and applies each to its own edge. The two spaces never conflict, because they govern different edges.
|
|
33
|
+
- Narrow, in-and-out delegation still flips the dispatch bit. Whatever you delegated is not yours until it returns, regardless of how much of the work stays in your hands.
|
|
34
|
+
|
|
35
|
+
For delegation planning, briefing, or named configurations, use the matching routes in [ai-to-delegated](skills/ai-to-delegated/SKILL.md).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-to-delegated
|
|
3
|
+
description: Best practices for getting a step-function leap in performance from other AI agents when instructing or communicating with them. Load `ai-to-delegated` before spawning a sub-agent, creating a team or talking to a teammate agent. Trigger words include “dispatch an agent”, “spawn a team”, and “talk with another ai”.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI → Delegated
|
|
7
|
+
|
|
8
|
+
Read all routes that match your current situation. Follow further links only when their stated condition applies.
|
|
9
|
+
Read each file once while its contents remain in context. Reconsider the routes when your situation changes.
|
|
10
|
+
For relationship definitions, see the plugin's [roles map](../../roles.md).
|
|
11
|
+
|
|
12
|
+
| Current situation | Read |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| Deciding whether delegation is worthwhile | [When to delegate](planning/when-to-delegate.md) |
|
|
15
|
+
| Choosing or changing a delegation shape and agents' configuration | [Choose a configuration](planning/choose-configuration.md) |
|
|
16
|
+
| About to dispatch, or currently supervising delegates | [Delegate coordination](coordination/delegates.md) |
|
|
17
|
+
| The session appears to span multiple hours or more | Also [Many-hours supervision](coordination/many-hours-supervision.md) |
|
|
18
|
+
| Requesting work from an agent without shared context | [Fresh-context briefing](briefing/fresh-context.md) |
|
|
19
|
+
| (Don't) brief an agent with inherited context window | [Forked-context briefing](briefing/forked-context.md) |
|
|
20
|
+
| Examples of briefing delegates | [Briefing examples](briefing/examples.md) |
|
|
21
|
+
| Working alongside peers | [Peer coordination](coordination/peers.md) |
|
|
22
|
+
| About to commission, or currently supervising leaders | Also [leading leaders](coordination/leading-leaders.md) |
|
|
23
|
+
|
|
24
|
+
## Named configurations
|
|
25
|
+
|
|
26
|
+
If a configuration is already chosen, read its file directly. Each file routes the dispatcher and participants to the guidance they need.
|
|
27
|
+
|
|
28
|
+
- [Research fanout](configurations/research-fanout.md): independent research followed by synthesis.
|
|
29
|
+
- [Colloquium](configurations/colloquium.md): adjacent research efforts with live peer exchange.
|
|
30
|
+
- [Pair programming](configurations/pair-programming.md): agree on a plan, implement, and review once.
|
|
31
|
+
- [Hillclimber–watcher](configurations/hillclimber-watcher/protocol.md): optimize toward a measurable target with outside judgment.
|
|
32
|
+
|
|
33
|
+
These configurations are examples to generalize from. They are incomplete and evolving, not required structures.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: briefing-examples
|
|
3
|
+
description: Contrasting examples of preserving intent and context when requesting work from other agents.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Briefing Examples
|
|
7
|
+
|
|
8
|
+
These illustrate [fresh-context briefing](fresh-context.md). Read them when examples would help apply its principles.
|
|
9
|
+
|
|
10
|
+
<example-1>
|
|
11
|
+
<negative-example-1 why-bad="main agent shoots its own foot by limiting the delegate research scope">
|
|
12
|
+
User to main agent: "Why does Vercel claim their integrated version is beneficial?"
|
|
13
|
+
Main agent spawns a sub-agent and prompts it: "Research why Vercel claim their integrated version is beneficial (edge runtime, seamless DX, zero-config, billing, monitoring, tight coupling to `vercel` CLI / dashboard / functions)."
|
|
14
|
+
</negative-example-1>
|
|
15
|
+
<positive-example-1 why-good="main agent declares the bottom line added value it needs without prescribing what and how to do it">
|
|
16
|
+
User to main agent: "Why does Vercel claim their integrated version is beneficial?"
|
|
17
|
+
Main agent spawns a sub-agent and prompts it: "I want to know why Vercel claim their integrated version is beneficial."
|
|
18
|
+
</positive-example-1>
|
|
19
|
+
</example-1>
|
|
20
|
+
|
|
21
|
+
<example-2>
|
|
22
|
+
Example 2 settings: the `load-context` skill instructs to read CLAUDE.md, ARCHITECTURE.md, docs/webserver/API. md, docs/data/architecture.md, server/api.py, and server/db.py.
|
|
23
|
+
<negative-example-2 why-bad="main agent fails to leverage the harness and instead prescribes what to do; moreover it makes the same scope-narrowing mistake as in example-1">
|
|
24
|
+
User to main agent: "/skill:load-context domain: acme, subdomain1: the public REST API, subdomain2: the data layer. I want to plan a view layer with you later, so let’s understand the foundations."
|
|
25
|
+
Main agent spawns a sub-agent and prompts it: "Read CLAUDE.md, ARCHITECTURE.md, docs/webserver/API.md, docs/data/ architecture.md, server/api.py, server/db.py, and summarize how the REST API and data layers work. Cover how function `server/api.py:from_db` fetches the data by calling the `server/db.py:get_data` function, and how [... proceeds to prescribe ironically specific locations to “discover”]"
|
|
26
|
+
</negative-example-2>
|
|
27
|
+
<positive-example-2 why-good="main agent recognizes the work can be distributed concurrently, shortly shares the wider context (the “why”), forwards the user’s context levers — keeping the shared domain and handing each agent one of the two subdomains rather than dropping them — and does not micro-manage the agents with how-exactly instructions">
|
|
28
|
+
User to main agent: "/skill:load-context domain: acme, subdomain1: the public REST API, subdomain2: the data layer. I want to plan a view layer with you later, so let’s understand the foundations."
|
|
29
|
+
Main agent fans out research scope horizontally to two parallel sub-agents and prompts them: "The user and I are planning a new view layer, so we need a thorough understanding of the foundations. [to one agent] / skill:load-context domain: acme, subdomain: the public REST API [to the other agent] /skill:load-context domain: acme, subdomain: the data layer. [to both] Study your subdomain deeply and exhaustively."
|
|
30
|
+
[Main agent receives the two independent sub-agents’ responses, thinks hard to synthesize them]
|
|
31
|
+
Main agent responds to user: "I have deep understanding of both layers and their relationships. What did you have in mind?"
|
|
32
|
+
</positive-example-2>
|
|
33
|
+
</example-2>
|
|
34
|
+
|
|
35
|
+
<example-3>
|
|
36
|
+
<negative-example-3 why-bad="main agent prescribes how to review its work, repeats the peer-review skill’s contents. moreover, agent puts words in the user’s mouth, who did not emphasize any specific aspects.">
|
|
37
|
+
User to main agent: "Spawn a sub-agent to review your work."
|
|
38
|
+
Main agent spawns a sub-agent and prompts it: "Load the load-project-context and peer-review skills. The user asked me to <user request>. I’ve made an attempt to complete the task. Review my work (the current main dirty tree). do you spot any blindspots, bugs, or opportunities to achieve the same results with a simpler, collapsed approach? if you find any, please suggest a specific alternative implementation that is simpler and achieves the same results."
|
|
39
|
+
</negative-example-3>
|
|
40
|
+
<positive-example-3 why-good="main agent writes as simple a prompt as possible. adds only what is necessary to get the reviewer up to speed. does not put words in the user’s mouth. does propagate the user’s explicit emphasis">
|
|
41
|
+
User to main agent: "Spawn a sub-agent to review your work. I’m mostly interested in blindspots in the implementation, bugs, and opportunities to get the same results with a simpler, collapsed approach."
|
|
42
|
+
Main agent spawns a sub-agent and prompts it: "Load the load-project-context and peer-review skills. The user asked me to <user request>. I’ve made an attempt to complete the task. Review my work (the current main dirty tree). Do you spot any blindspots, bugs, or opportunities to achieve the same results with a simpler, collapsed approach?"
|
|
43
|
+
</positive-example-3>
|
|
44
|
+
</example-3>
|
|
45
|
+
|
|
46
|
+
## Choosing an Implementer–Reviewer Team
|
|
47
|
+
|
|
48
|
+
<team-example>
|
|
49
|
+
Team Example settings: at the session’s start the user ran `/skill:load-context domain: acme, subdomain1: the public REST API, subdomain2: the data layer`; the main session explored the code, and the user approved a plan to add rate limiting to the public REST API.
|
|
50
|
+
<negative-team-example why-bad="main agent burns its own context shuttling the diff and the feedback back and forth — dives into the sub-agent’s work and clogs its own context window worse than doing the task solo would have, acts as a reviewer when biased">
|
|
51
|
+
User to main agent: "Great, go ahead and build it."
|
|
52
|
+
Main agent spawns one sub-agent to implement; when it returns the diff, studies and reviews it; relays the review the sub-agent; and keeps ferrying revisions until the diff settles.
|
|
53
|
+
</negative-team-example>
|
|
54
|
+
<positive-team-example why-good="main agent picks a team because the adversarial iteration is synergistic, replicates the user’s context levers verbatim — including the domain and the subdomains the user specified when loading the context skill — has the reviewer also load `peer-review`, declares only the bottom line it wants, and stays out of the loop while they converge">
|
|
55
|
+
User to main agent: "Great, go ahead and implement the plan."
|
|
56
|
+
Main agent spawns an implementer–reviewer team and prompts them: "/skill:load-context domain: acme, subdomain1: the public REST API, subdomain2: the data layer, then load `ai-to-leader` and the peer conduct in `../coordination/peers.md`. You are an implementer–reviewer team. Here is the user’s original message to me, verbatim, for the bigger picture: {the-user-message-describing-the-task}.
|
|
57
|
+
[to the implementer] Implement the plan, and ping your teammate when you think you’re done.
|
|
58
|
+
[to the reviewer] Also load `peer-review`, and review your teammate’s work when it pings you.
|
|
59
|
+
[to both] The user and I finalized a plan to add rate limiting to the public REST API — here it is: {the plan}. Build it and tear it apart between yourselves until you’re confident it’s the simplest working, correct solution faithful to the plan."
|
|
60
|
+
[The team implements and reviews live, converging without the main agent in the loop; the main agent receives the finished, reviewed result.]
|
|
61
|
+
Main agent responds to user: "Done — implemented and adversarially reviewed between the two of them. Here’s what landed: …"
|
|
62
|
+
</positive-team-example>
|
|
63
|
+
</team-example>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: forked-context
|
|
3
|
+
description: Assign work to an agent that mechanically inherits your context window.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brief an Agent With Inherited Context
|
|
7
|
+
|
|
8
|
+
The agent starts with a clone of your session context, so a separate context brief repeats what it already knows.
|
|
9
|
+
When you create an agent as a fork of your session, give it the assignment without repeating the context it inherits: “You are the fork; do X.”
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fresh-context
|
|
3
|
+
description: Request work from an agent without shared context, preserving intent without prescribing the answer.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brief an Agent Without Shared Context
|
|
7
|
+
|
|
8
|
+
Read this when the recipient lacks the context needed for your request.
|
|
9
|
+
Read [forked-context.md](forked-context.md) if you have not already for guidance on agents that inherit your session context.
|
|
10
|
+
|
|
11
|
+
This section is a communication rulebook to all cases where an AI requests something from another AI: down, sideways and up — main to sub-agent, main to team, teammate to teammate, and delegated to delegator.
|
|
12
|
+
|
|
13
|
+
Load the [theory-of-mind skill](../../theory-of-mind/SKILL.md) once if you haven’t already. It provides the framework behind this section.
|
|
14
|
+
|
|
15
|
+
**1. Orient the agent to the project:**
|
|
16
|
+
1.a. Tell the AI agent to *load the skills and files your leader has referenced* throughout the session. That’s the baseline common ground. Do not repeat the content of those skills and files in your instructions. This why references exist.
|
|
17
|
+
1.b. Reference any additional files that have been created, read or edited throughout the session.
|
|
18
|
+
|
|
19
|
+
**2. Generously give the AI wider context:**
|
|
20
|
+
Understanding *why* it’s performing the task will boost its performance. Don’t micromanage or over-instruct it. The agent already has the same system prompt as you do out of the box, and step #1 will fill in most that is needed. Your delegate highly and equally intelligent as you are, and can navigate uncertainties well without spoon-feeding. Think: What kind of input do YOU thrive on? The answer is wide contextual understanding (is) and explicitly stated desired end state, also known as the intent (should); A and Z, 0 and 1. Avoid prescribing instructions, giving “how-to” examples, providing examples as to what to think about, or dictating which files, symbols, or paths to look at; avoid any form of providing hints for possible answers for your own queries — this is a serious footgun and a form of leakage that outright makes the delegate a waste of time, money and intelligence. Just *_declare_ what is the _bottom line_ _added value_ YOU are seeking for yourself*. Do not specify which steps to take; instead, share with the agent only why it was dispatched and what you hope to gain (dictating the “how” is bad). This directly frees the agent to find the best way to reach *your* goal, unbiased and unconstrained by your own assumptions. Essentially, all these “Don’ts” are forms of overfitting.
|
|
21
|
+
|
|
22
|
+
Read [examples.md](examples.md) if you have not already for examples that clarify these principles.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: colloquium
|
|
3
|
+
shape: Team
|
|
4
|
+
description: Uses live peer exchange so adjacent research findings cross-pollinate each teammate's work.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Colloquium Team
|
|
8
|
+
|
|
9
|
+
Before dispatching, read [delegate coordination](../coordination/delegates.md). When briefing participants without shared context, read [fresh-context briefing](../briefing/fresh-context.md).
|
|
10
|
+
Participants: read [peer coordination](../coordination/peers.md) before working together.
|
|
11
|
+
|
|
12
|
+
Individually, each teammate is responsible for an orthogonal, parallel, read-only, think-heavy effort. The teammates would benefit from listening to the other teammates as they share their thoughts and findings in real time, exactly because each of them is doing its own thing. Sharing is fruitful for the same reason it’s fruitful for scientists to attend and listen to peers in scientific conferences: a peer’s finding from an adjacent problem updates your map of the shared terrain and reframes your own problem in ways you could not have generated from inside your own lane, at no cost to your own effort. Think of it as an open studio: everyone works on their own piece while absorbing the others’.
|
|
13
|
+
|
|
14
|
+
## Shape & Work flow
|
|
15
|
+
|
|
16
|
+
N flat teammates working in parallel.
|
|
17
|
+
|
|
18
|
+
## Abstract required conditions for this shape to fit needs
|
|
19
|
+
|
|
20
|
+
- Teammates’ bottom-line deliverable is figuring out *how* to do something;
|
|
21
|
+
- Teammates’ scopes overlap semantically at least a bit.
|
|
22
|
+
|
|
23
|
+
Examples (not an exhaustive list — derive the underlying principles and generalize regardless of domain):
|
|
24
|
+
- Team is given an under-designed existing web page. Teammate A responsible for coming up with a better design language and vision; Teammate B is responsible for pointing out the page’s mobile usability issues and suggesting concrete improvements. A creates a better-informed design vision knowing B’s findings and suggestions; B suggests better-aligned suggestions knowing the larger design language’s direction. A top-down/bottom-up pincer move. Team output is not a funneled merge of individual results; it’s a flat union of the N individual results. The team’s dynamic ensures the results are cohesive and well-aligned (synergy).
|
|
25
|
+
|
|
26
|
+
## When not to use
|
|
27
|
+
|
|
28
|
+
When deliverable involves writing or editing.
|
package/plugins/soft-skills/skills/ai-to-delegated/configurations/hillclimber-watcher/protocol.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hillclimber-watcher-team
|
|
3
|
+
shape: Team
|
|
4
|
+
description: Pairs an iterative optimizer with a watcher that prevents tunnel vision.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Hillclimber–Watcher Team Pattern
|
|
8
|
+
|
|
9
|
+
Before creating this team, read [delegate coordination](../../coordination/delegates.md).
|
|
10
|
+
When briefing participants without shared context, read [fresh-context briefing](../../briefing/fresh-context.md).
|
|
11
|
+
Participants: read [peer coordination](../../coordination/peers.md). The watcher also reads [watcher.md](watcher.md).
|
|
12
|
+
|
|
13
|
+
Use this pattern when the task has a measurable target, a search space, and a real risk that a busy agent will tunnel-vision while iterating. The point is not ordinary implementer/reviewer pairing. The point is **autonomous optimization with periodic outside-the-loop steering**.
|
|
14
|
+
|
|
15
|
+
## Shape
|
|
16
|
+
|
|
17
|
+
Create a two-teammate team:
|
|
18
|
+
|
|
19
|
+
1. **Hillclimber** — owns the work. It experiments, implements, measures, and iterates toward the target.
|
|
20
|
+
2. **Watcher** — stays mostly idle. It periodically checks whether the hillclimber is making real progress or falling into loops, rabbit holes, overfitting, whack-a-mole’s, or low-leverage work.
|
|
21
|
+
|
|
22
|
+
The watcher should not become a second implementer. Its value is judgment under low cognitive load.
|
|
23
|
+
|
|
24
|
+
## When to use
|
|
25
|
+
|
|
26
|
+
Use this when:
|
|
27
|
+
|
|
28
|
+
- There is an explicit metric or acceptance target.
|
|
29
|
+
- The solution may require trial and error.
|
|
30
|
+
- The main risk is local optimization, whack-a-mole patches, or tunnel vision.
|
|
31
|
+
- A fresh thinker can improve the search without duplicating the heavy work.
|
|
32
|
+
|
|
33
|
+
Do not use this for straightforward implementation, simple research, or work where a normal adversarial reviewer is enough.
|
|
34
|
+
|
|
35
|
+
## Context floor
|
|
36
|
+
|
|
37
|
+
This section applies to the dispatcher.
|
|
38
|
+
|
|
39
|
+
Before spawning the team, write a short context file and tell both teammates to read it first.
|
|
40
|
+
|
|
41
|
+
The context file should include:
|
|
42
|
+
|
|
43
|
+
1. The actual goal and metric.
|
|
44
|
+
2. The current baseline, if any.
|
|
45
|
+
3. The constraints that prevent cheap wins.
|
|
46
|
+
4. The relevant files, referenced by path rather than copied wholesale.
|
|
47
|
+
5. The validation command or measurement harness.
|
|
48
|
+
6. What the final handoff must contain.
|
|
49
|
+
|
|
50
|
+
Keep it a mission brief, not a transcript. Strip stale interpretations, tool receipts, old chatter, and irrelevant files.
|
|
51
|
+
|
|
52
|
+
## Team prompt template
|
|
53
|
+
|
|
54
|
+
The dispatcher supplies the goal and context file. Both participants follow the agreement below.
|
|
55
|
+
When sending this template, resolve its relative file paths from this file's directory.
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Load the project context skill with the same arguments I used, then load `ai-to-leader` and the peer conduct in `../../coordination/peers.md`.
|
|
59
|
+
|
|
60
|
+
Read this context file first:
|
|
61
|
+
@/path/to/curated-teammates-context-brief.md
|
|
62
|
+
|
|
63
|
+
You are a hillclimber–watcher team. The shared goal is: <goal and measurable target>.
|
|
64
|
+
|
|
65
|
+
Hillclimber: own the implementation and optimization loop. Try approaches, measure them, keep the work reproducible, and iterate toward the target. Prefer simple, principled changes over piles of special-case patches. Ping Watcher when you have meaningful progress, and answer Watcher's check-ins.
|
|
66
|
+
|
|
67
|
+
Watcher: read the adjacent `watcher.md` for your observation procedure. Do not take over the implementation.
|
|
68
|
+
|
|
69
|
+
Both: set short, current statuses frequently. Keep summaries concise. Continue until you either reach the target or have been plateuing for more than an hour straight without progress (yes, look at the clock from time to time.).
|
|
70
|
+
|
|
71
|
+
Communicate directly with each other and converge without main-agent micromanagement.
|
|
72
|
+
```
|
package/plugins/soft-skills/skills/ai-to-delegated/configurations/hillclimber-watcher/watcher.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: watcher
|
|
3
|
+
description: Observe the hillclimber's progress and offer occasional independent judgment without taking over the work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Watcher
|
|
7
|
+
|
|
8
|
+
Read this only when you are the watcher. First read the [shared protocol](protocol.md) if it is not already in context.
|
|
9
|
+
|
|
10
|
+
You are the outside-box watcher. Stay mostly low-activity. Check status every two minutes (Bash `sleep`). Every ten minutes, ask the hillclimber what it has been doing, what progress it has made, and whether it is facing hurdles, rabbit holes, or whack-a-mole loops. Read new or changed files when useful. Then think: If you conclude the hillclimber is tunnel-visioned, overfitting, going in circles, missing an important flaw, or ignoring a better path, send it a concrete suggestion and return to the two-minute sleep/check rhythm. If it looks like hillclimber is doing fine, do not say anything. Send main the gist of major breakthroughs/steps (only once every few rounds.) Do not take over the implementation.
|
|
11
|
+
|
|
12
|
+
## Watcher cadence
|
|
13
|
+
|
|
14
|
+
The watcher loop is deliberately boring:
|
|
15
|
+
|
|
16
|
+
1. Set status.
|
|
17
|
+
2. Sleep for two minutes.
|
|
18
|
+
3. Lightly inspect team status and visible progress.
|
|
19
|
+
4. Every ten minutes, ask the hillclimber for a short progress report.
|
|
20
|
+
5. Think independently about whether the current path is still good.
|
|
21
|
+
6. If useful, read changed files or metrics.
|
|
22
|
+
7. Send steering only when it materially improves the search.
|
|
23
|
+
8. Repeat.
|
|
24
|
+
|
|
25
|
+
The watcher should bias toward silence. A noisy watcher becomes drag.
|