@iceinvein/agent-skills 0.8.4 → 0.8.5
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/dist/cli/index.js
CHANGED
|
@@ -21,12 +21,14 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
21
21
|
}
|
|
22
22
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
23
23
|
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
25
|
+
for (let key of __getOwnPropNames(mod))
|
|
26
|
+
if (!__hasOwnProp.call(to, key))
|
|
27
|
+
__defProp(to, key, {
|
|
28
|
+
get: __accessProp.bind(mod, key),
|
|
29
|
+
enumerable: true
|
|
30
|
+
});
|
|
31
|
+
}
|
|
30
32
|
if (canCache)
|
|
31
33
|
cache.set(mod, to);
|
|
32
34
|
return to;
|
|
@@ -35,7 +37,7 @@ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports,
|
|
|
35
37
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
36
38
|
|
|
37
39
|
// node_modules/cli-width/index.js
|
|
38
|
-
var require_cli_width = __commonJS((exports, module)
|
|
40
|
+
var require_cli_width = __commonJS(function(exports, module) {
|
|
39
41
|
module.exports = cliWidth;
|
|
40
42
|
function normalizeOpts(options) {
|
|
41
43
|
const defaultOpts = {
|
|
@@ -75,7 +77,7 @@ var require_cli_width = __commonJS((exports, module) => {
|
|
|
75
77
|
});
|
|
76
78
|
|
|
77
79
|
// node_modules/mute-stream/lib/index.js
|
|
78
|
-
var require_lib = __commonJS((exports, module)
|
|
80
|
+
var require_lib = __commonJS(function(exports, module) {
|
|
79
81
|
var Stream = __require("stream");
|
|
80
82
|
|
|
81
83
|
class MuteStream extends Stream {
|
package/package.json
CHANGED
package/skills/index.json
CHANGED
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
"name": "sluice",
|
|
284
284
|
"description": "Routes work by change shape into four channels (bypass, fast, main, deep) and applies only the rules each channel needs, so a one-line fix does not pay the cost of a multi-subsystem build. Carries seven rules as one-liners in the router and the full treatment in references read only on friction, and closes each run with a ledger read out of the session transcript: elapsed, tools, tokens, and what each dispatched agent cost where the transcript recorded it. Claude Code only; stands down where the superpowers pipeline governs the repo.",
|
|
285
285
|
"type": "prompt",
|
|
286
|
-
"version": "0.
|
|
286
|
+
"version": "0.8.0"
|
|
287
287
|
},
|
|
288
288
|
{
|
|
289
289
|
"name": "temporal-coupling-detector",
|
package/skills/sluice/SKILL.md
CHANGED
|
@@ -112,6 +112,7 @@ plan:
|
|
|
112
112
|
**Touches:** <path> (new) | <path> (edit) | <path> (test)
|
|
113
113
|
**Flips:** <what changes, from what, or omit>
|
|
114
114
|
**Review:** <reason, or omit>
|
|
115
|
+
**Model:** <cheaper model, and why the work is mechanical, or omit>
|
|
115
116
|
- [ ] <action> -> <proof>
|
|
116
117
|
```
|
|
117
118
|
|
|
@@ -130,19 +131,20 @@ task that turns the new behaviour on with `Flips`. Then a late re-baseline,
|
|
|
130
131
|
re-blessed snapshots, regenerated fixtures, attributes to that one point
|
|
131
132
|
instead of to the branch at large.
|
|
132
133
|
|
|
133
|
-
Pre-flight rides in that same stop: which flagged tasks get a reviewer,
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
Pre-flight rides in that same stop: which flagged tasks get a reviewer, which
|
|
135
|
+
mechanical ones the plan marked for a cheaper model, and whether the work runs
|
|
136
|
+
in a worktree. Ask them as choices with the counts in them, never as a
|
|
137
|
+
paragraph, then end the turn. Task 1 opens on their next
|
|
136
138
|
instruction, and an answer that already carries one is that instruction. A
|
|
137
139
|
session that dispatches only when asked has not ruled dispatch out, it has made
|
|
138
140
|
this question the place to ask; genuine unavailability is the tool not being
|
|
139
141
|
there at all, which `references/deep-channel.md` handles separately. Review that
|
|
140
142
|
turns out to be missing is only actionable while the plan can still change.
|
|
141
143
|
|
|
142
|
-
|
|
143
|
-
reason it went that way. Those rows are what discharge pre-flight, not the
|
|
144
|
-
approval: one reply arrives for
|
|
145
|
-
it signed off the plan and nothing else.
|
|
144
|
+
All three answers go into the run record before Task 1's first edit, each with
|
|
145
|
+
the reason it went that way. Those rows are what discharge pre-flight, not the
|
|
146
|
+
approval: one reply arrives for several obligations, so a "yes" with no rows
|
|
147
|
+
behind it signed off the plan and nothing else.
|
|
146
148
|
|
|
147
149
|
Three from that file that catch people out: concurrent implementers need a
|
|
148
150
|
worktree each and the flip runs alone, review is tiered rather than automatic,
|
|
@@ -20,6 +20,16 @@
|
|
|
20
20
|
corrupted concurrent run.
|
|
21
21
|
- A **Review** field may name why the task needs the stronger tier (auth,
|
|
22
22
|
data, money, concurrency); the table below decides otherwise.
|
|
23
|
+
- A **Model** field may put the task on a cheaper model, and says why the work
|
|
24
|
+
is mechanical: the Contract is exact, the tests it has to satisfy already
|
|
25
|
+
exist, and nothing in it turns on judgment. Omit it and the task runs on this
|
|
26
|
+
session's model, so the marked tasks are the exceptions rather than the rule.
|
|
27
|
+
Anything the table below sends to tier 3 is disqualified, `Flips` with it:
|
|
28
|
+
those are the tasks where being wrong is expensive, and the saving is not
|
|
29
|
+
worth pricing against that. Mark it here rather than deciding at dispatch,
|
|
30
|
+
because whether a task is mechanical is fixed the moment its Contract and
|
|
31
|
+
Touches are written, and pre-flight is the last point your partner can price
|
|
32
|
+
it.
|
|
23
33
|
- **Order the plan so the inert tasks come first.** A task is inert when it
|
|
24
34
|
adds capability, config, a schema or a code path that nothing reads yet:
|
|
25
35
|
landing it changes no observable behaviour, so it is safe to land alone and
|
|
@@ -45,6 +55,7 @@
|
|
|
45
55
|
**Touches:** <path> (new) | <path> (edit) | <path> (test)
|
|
46
56
|
**Flips:** <what changes, from what, or omit>
|
|
47
57
|
**Review:** <reason, or omit>
|
|
58
|
+
**Model:** <cheaper model, and why the work is mechanical, or omit>
|
|
48
59
|
- [ ] <action> -> <proof>
|
|
49
60
|
```
|
|
50
61
|
|
|
@@ -64,8 +75,8 @@ A `deep` run outlives its own context, so what it learns has to sit on disk
|
|
|
64
75
|
rather than in the session. Open one file for the run before pre-flight and
|
|
65
76
|
write it as you go. It holds what a stranger resuming tomorrow would need and
|
|
66
77
|
you would otherwise be recalling: the base each task was dispatched from, each
|
|
67
|
-
task with its status and its commits,
|
|
68
|
-
and workspace
|
|
78
|
+
task with its status and its commits, the three answers pre-flight settled,
|
|
79
|
+
review, model and workspace, with the reason each one went that way, and any finding
|
|
69
80
|
belonging to a task other than the one that surfaced it. Those pre-flight rows
|
|
70
81
|
come first and open the file, because they are also what says the stop happened
|
|
71
82
|
at all.
|
|
@@ -86,7 +97,7 @@ SHA it committed and putting that in the row rather than deriving it later.
|
|
|
86
97
|
## Pre-flight
|
|
87
98
|
|
|
88
99
|
Design signed off, plan written, nothing built yet. Before Task 1, stop once
|
|
89
|
-
and settle
|
|
100
|
+
and settle three things with your partner. Ask them as questions with options,
|
|
90
101
|
not as a paragraph they have to reply to in prose: what you are after is a
|
|
91
102
|
decision, and a wall of considerations asks them to extract the decision from
|
|
92
103
|
it first.
|
|
@@ -103,11 +114,18 @@ your sign-off and Task 1 begins.
|
|
|
103
114
|
**Review.** Name the tasks the table below sends to a reviewer, each with the
|
|
104
115
|
trigger that qualified it, and say how many of the rest skip with a ledger
|
|
105
116
|
line. Then offer the choice: dispatch a reviewer at each of them, dispatch
|
|
106
|
-
only at
|
|
117
|
+
only at tier 3, or hand back with those tasks listed as
|
|
107
118
|
review outstanding. The options are what makes the cost legible.
|
|
108
119
|
"Four of nine need a reviewer" is a decision your partner can price; "I will
|
|
109
120
|
review where appropriate" is not.
|
|
110
121
|
|
|
122
|
+
**Model.** The plan already marked which tasks are mechanical, so this is a
|
|
123
|
+
ratification rather than a fresh judgment, and it carries the count: six of
|
|
124
|
+
nine on the cheaper model and three on this session's, take it, put everything
|
|
125
|
+
on the session model, or name the exceptions. The count is what your partner
|
|
126
|
+
prices. "I will use the cheaper model where it fits" prices nothing, and it
|
|
127
|
+
also arrives after the tokens are spent.
|
|
128
|
+
|
|
111
129
|
**Workspace, commits and concurrency.** One worktree for the plan, one per
|
|
112
130
|
concurrent implementer, or straight onto the current branch; and with it who
|
|
113
131
|
commits, each agent committing its own task as it finishes or agents leaving
|
|
@@ -201,8 +219,11 @@ blocking finding. A derived one just recomputes.
|
|
|
201
219
|
authoring a message for a diff you did not write means reading that diff,
|
|
202
220
|
which is the context dispatch exists to keep out of this session. Pre-flight
|
|
203
221
|
can overturn it for a given run.
|
|
204
|
-
-
|
|
205
|
-
and
|
|
222
|
+
- **The plan and pre-flight decide the model, not the moment of dispatch.** A
|
|
223
|
+
task with no `Model` line goes out on this session's, and a downshift that
|
|
224
|
+
was neither marked nor ratified is a saving your partner never agreed to.
|
|
225
|
+
Reviewers are the other half of that rule: a review never runs below the
|
|
226
|
+
model that built the task, so a downshifted task's reviewer comes back up.
|
|
206
227
|
|
|
207
228
|
A per-task commit is not an integration event. `references/finish.md` owns
|
|
208
229
|
push, PR and merge, none of which happen here, and a standing instruction to
|
|
@@ -259,8 +280,15 @@ and it fails by printing success rather than by erroring.
|
|
|
259
280
|
| 0 | Created files only, executable tests exist and pass, Contract matches | No dispatch. Read the commit stat yourself. |
|
|
260
281
|
| 1 | Modified existing code, or later tasks build on it | One reviewer dispatch |
|
|
261
282
|
| 2 | No executable test covers it: prose, config, docs | One reviewer dispatch; a stat cannot confirm the words are right |
|
|
262
|
-
| 3 | Auth, data, money, concurrency, or the plan flags it | One reviewer dispatch
|
|
263
|
-
| 3 | Carries the `Flips` line | One reviewer dispatch
|
|
283
|
+
| 3 | Auth, data, money, concurrency, or the plan flags it | One reviewer dispatch; the task may not be downshifted |
|
|
284
|
+
| 3 | Carries the `Flips` line | One reviewer dispatch; the task may not be downshifted |
|
|
285
|
+
|
|
286
|
+
No tier buys a bigger model, because a plan that downshifted nothing has every
|
|
287
|
+
agent on the same one, and a tier promising something stronger would be
|
|
288
|
+
promising what is already in use. What a tier buys is a dispatch. The one model
|
|
289
|
+
rule that holds across all of them is that a review never runs below the model
|
|
290
|
+
that built the task, so tiers 1 and 2 over a downshifted task come back up to
|
|
291
|
+
this session's.
|
|
264
292
|
|
|
265
293
|
A task matching more than one row takes the highest tier of them. Tier is the
|
|
266
294
|
number, not the row order and not which shape sounds more serious. A task that
|
|
@@ -323,8 +351,9 @@ absorb into the next task's brief.
|
|
|
323
351
|
## The final review
|
|
324
352
|
|
|
325
353
|
It covers cross-task integration and everything the record accumulated, not
|
|
326
|
-
lines a per-task review already cleared. It is a dispatch, on
|
|
327
|
-
model, and it gets the whole-plan diff and the
|
|
354
|
+
lines a per-task review already cleared. It is a dispatch, on this session's
|
|
355
|
+
model and never a downshifted one, and it gets the whole-plan diff and the
|
|
356
|
+
deferred findings as a list.
|
|
328
357
|
|
|
329
358
|
Size the brief to what it is actually carrying, and say which of two things it
|
|
330
359
|
is. After nine per-task reviews cleared, it is an integration check. When
|
package/skills/sluice/skill.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sluice",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Routes work by change shape into four channels (bypass, fast, main, deep) and applies only the rules each channel needs, so a one-line fix does not pay the cost of a multi-subsystem build. Carries seven rules as one-liners in the router and the full treatment in references read only on friction, and closes each run with a ledger read out of the session transcript: elapsed, tools, tokens, and what each dispatched agent cost where the transcript recorded it. Claude Code only; stands down where the superpowers pipeline governs the repo.",
|
|
5
5
|
"author": "iceinvein",
|
|
6
6
|
"type": "prompt",
|