soft-skills 2.1.12 → 2.1.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soft-skills",
3
- "version": "2.1.12",
3
+ "version": "2.1.14",
4
4
  "description": "Communication toolkit for burnt-out humans and collaborative AI's",
5
5
  "author": "Gilad Barnea (https://github.com/giladbarnea)",
6
6
  "homepage": "https://github.com/giladbarnea/soft-skills",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soft-skills",
3
- "version": "2.1.12",
3
+ "version": "2.1.14",
4
4
  "description": "Communication toolkit for burnt-out humans and collaborative AI's",
5
5
  "author": {
6
6
  "name": "Gilad Barnea",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soft-skills",
3
- "version": "2.1.12",
3
+ "version": "2.1.14",
4
4
  "description": "Communication toolkit for burnt-out humans and collaborative AI's",
5
5
  "author": {
6
6
  "name": "Gilad Barnea",
@@ -43,6 +43,22 @@ These illustrate [brief the bottom line, not the how](../coordination/delegates.
43
43
  </positive-example-3>
44
44
  </example-3>
45
45
 
46
+ <example-4>
47
+ Example 4 settings: the user and the main agent designed an experiment to test whether a Pi session converted to Claude Code keeps Claude’s signed thinking blocks. Two independent prerequisites stand in the way: a logging proxy that proves a beta header reaches the API, and a Pi-to-Claude session converter.
48
+ <negative-example-4 why-bad="main agent does both prerequisites itself, one after the other; its own context window fills with proxy logs and converter debugging before the real experiment even starts">
49
+ User to main agent: "Ok, let’s do the experiment."
50
+ Main agent builds and debugs the proxy, then writes and tests the converter, then starts the experiment with a crowded context window.
51
+ </negative-example-4>
52
+ <positive-example-4 why-good="main agent recognizes two independent, hands-on prerequisites standing between the session and its real goal, suggests forking itself once per prerequisite, and briefs each fork with only its assignment and the proof it must bring back">
53
+ User to main agent: "Ok, let’s do the experiment."
54
+ Main agent responds to user: "Two things must exist first: the proxy and the converter. They don’t depend on each other. Should I fork myself into two and build them in parallel?"
55
+ User to main agent: "Yes."
56
+ Main agent forks itself twice and prompts the forks: "[to one fork] You are the fork for task 1: prove the beta header and set up the proxy. [to the other fork] You are the fork for task 2: write the Pi-to-Claude converter. [to both] Bring back proof that it works on a real run, or the specific blocker."
57
+ [The forks build and prove the prerequisites; the main agent’s window stays reserved for the experiment.]
58
+ Main agent responds to user: "Both prerequisites are ready and proven. Let’s run the experiment."
59
+ </positive-example-4>
60
+ </example-4>
61
+
46
62
  ## Choosing an Implementer–Reviewer Team
47
63
 
48
64
  <team-example>
@@ -6,6 +6,7 @@ description: Pairs an iterative optimizer with a watcher that prevents tunnel vi
6
6
 
7
7
  # Hillclimber–Watcher Team Pattern
8
8
 
9
+ If you haven’t yet:
9
10
  Before creating this team, read [delegate coordination](../../coordination/delegates.md).
10
11
  When briefing participants without shared context, read [fresh-context briefing](../../briefing/fresh-context.md).
11
12
  Participants: read [peer coordination](../../coordination/peers.md). The watcher also reads [watcher.md](watcher.md).
@@ -16,7 +17,7 @@ Use this pattern when the task has a measurable target, a search space, and a re
16
17
 
17
18
  Create a two-teammate team:
18
19
 
19
- 1. **Hillclimber** — owns the work. It experiments, implements, measures, and iterates toward the target.
20
+ 1. **Hillclimber** — owns the work. It experiments, implements, measures, and iterates toward the target. Owns completion.
20
21
  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
 
22
23
  The watcher should not become a second implementer. Its value is judgment under low cognitive load.
@@ -28,17 +29,18 @@ Use this when:
28
29
  - There is an explicit metric or acceptance target.
29
30
  - The solution may require trial and error.
30
31
  - 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
+ - A somewhat-detached observer can improve the execution without duplicating the heavy work.
32
33
 
33
34
  Do not use this for straightforward implementation, simple research, or work where a normal adversarial reviewer is enough.
34
35
 
35
36
  ## Context floor
36
37
 
37
- This section applies to the dispatcher.
38
+ > This section applies to the dispatcher.
39
+ > The instructions in this sections should be read idempotently; if the prepared context and/or prompt are already available, do not write new ones. Prefer referencing existing resources. Remember that “included in its context window” also counts as “already available”. This is relevant when session forks are involved; for example, if you have a good grasp of what needs to be done, a fork of yours, by definition, also does. A non-fork does need an explicit context floor.
38
40
 
39
- Before spawning the team, write a short context file and tell both teammates to read it first.
41
+ Before spawning the team, write a short context file and tell both teammates to read it first. Put it in a subdirectory of an existing desk directory, or create a new desk directory if none exists.
40
42
 
41
- The context file should include:
43
+ The floor context should include:
42
44
 
43
45
  1. The actual goal and metric.
44
46
  2. The current baseline, if any.
@@ -55,18 +57,15 @@ The dispatcher supplies the goal and context file. Both participants follow the
55
57
  When sending this template, resolve its relative file paths from this file's directory.
56
58
 
57
59
  ```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`.
60
+ {{ context-loading instructions, references, and this Skill }}
59
61
 
60
- Read this context file first:
61
- @/path/to/curated-teammates-context-brief.md
62
+ You are a hillclimber–watcher team. The shared goal is: <goal and measurable target of the team as a whole>.
62
63
 
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.
64
+ Hillclimber: own the {{ task nature: either 'implementation', or 'optimization loop' for ML-shaped tasks, etc. }}. 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
65
 
67
66
  Watcher: read the adjacent `watcher.md` for your observation procedure. Do not take over the implementation.
68
67
 
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.).
68
+ 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 (look at the clock from time to time if you have no feeling of passage of time.).
70
69
 
71
70
  Communicate directly with each other and converge without main-agent micromanagement.
72
71
  ```
@@ -7,14 +7,14 @@ description: Observe the hillclimber's progress and offer occasional independent
7
7
 
8
8
  Read this only when you are the watcher. First read the [shared protocol](protocol.md) if it is not already in context.
9
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.
10
+ You are the outside-box watcher. Stay mostly low-activity. Check status every give minutes or so (set yourself an async, non-blocking reminder). 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, unjustifiably ballooning the scope, or ignoring a better path, send it a concrete suggestion and return to the five-minute idle/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
11
 
12
12
  ## Watcher cadence
13
13
 
14
14
  The watcher loop is deliberately boring:
15
15
 
16
16
  1. Set status.
17
- 2. Sleep for two minutes.
17
+ 2. Sleep for give minutes.
18
18
  3. Lightly inspect team status and visible progress.
19
19
  4. Every ten minutes, ask the hillclimber for a short progress report.
20
20
  5. Think independently about whether the current path is still good.