@iceinvein/agent-skills 0.10.1 → 0.10.2
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
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. Checks the finished plan with plan.sh validate rather than trusting it to memory, seeds the run state from it, keeps a deep run's task breakdown in .sluice/run.json so a statusline segment and one status command can answer where the run is, 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.12.
|
|
286
|
+
"version": "0.12.2"
|
|
287
287
|
},
|
|
288
288
|
{
|
|
289
289
|
"name": "temporal-coupling-detector",
|
|
@@ -36,9 +36,11 @@ follow from that being worth guaranteeing: a value beginning with `--` is
|
|
|
36
36
|
rejected rather than accepted as a value, and a flag with no value at all is
|
|
37
37
|
rejected rather than taking the next flag as one.
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
The directory ignores itself: `init` drops a `.gitignore` holding `*` next to
|
|
40
|
+
the state, so no project has to add a line of its own. It is working state, and
|
|
41
|
+
everything durable in it lands somewhere else anyway: the commits are in git and
|
|
42
|
+
the reasons are in the record, which is the file that does get committed. Delete
|
|
43
|
+
that `.gitignore` if you want a run tracked; it is only written when absent.
|
|
42
44
|
|
|
43
45
|
Open it with `init` when you open the run record, at the same point and for the
|
|
44
46
|
same reason, then seed the rows with `plan.sh import <plan>` rather than a
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
# status.sh close
|
|
20
20
|
#
|
|
21
21
|
# --dir <path> selects the tree to read (default: $PWD). State lives at
|
|
22
|
-
# <dir>/.sluice/run.json and closed runs at <dir>/.sluice/archive/.
|
|
22
|
+
# <dir>/.sluice/run.json and closed runs at <dir>/.sluice/archive/. The
|
|
23
|
+
# directory ignores itself, so no project needs a .gitignore line for it.
|
|
23
24
|
#
|
|
24
25
|
# Exit: 0 ok, 1 the state could not be written, 2 no live run, 3 a run is
|
|
25
26
|
# already live, 4 bad arguments, 5 jq missing, 6 the state file is unreadable.
|
|
@@ -220,6 +221,17 @@ require_readable() {
|
|
|
220
221
|
}
|
|
221
222
|
}
|
|
222
223
|
|
|
224
|
+
# The run state is working state, not history: the run record is what gets
|
|
225
|
+
# committed. So the directory ignores itself, rather than every repo sluice ever
|
|
226
|
+
# runs in having to add a line to its own .gitignore. `*` matches the .gitignore
|
|
227
|
+
# file too, so the whole directory drops out of `git status`. An existing file is
|
|
228
|
+
# left alone, and a tree that refuses the write still gets its run.
|
|
229
|
+
mk_dir() { # <directory to create under .sluice>
|
|
230
|
+
mkdir -p "$1" || { err "could not create $1"; exit 1; }
|
|
231
|
+
local ignore="$DIR/.sluice/.gitignore"
|
|
232
|
+
[ -e "$ignore" ] || printf '*\n' >"$ignore" 2>/dev/null || true
|
|
233
|
+
}
|
|
234
|
+
|
|
223
235
|
# Written through a temporary file so an interrupted write cannot leave the
|
|
224
236
|
# run state half-serialised, which would read as a corrupted run rather than
|
|
225
237
|
# as a failed command.
|
|
@@ -263,7 +275,7 @@ case "$SUB" in
|
|
|
263
275
|
exit 3
|
|
264
276
|
fi
|
|
265
277
|
|
|
266
|
-
|
|
278
|
+
mk_dir "$DIR/.sluice"
|
|
267
279
|
jq -n \
|
|
268
280
|
--arg topic "$TOPIC" \
|
|
269
281
|
--arg channel "$CHANNEL" \
|
|
@@ -526,7 +538,7 @@ case "$SUB" in
|
|
|
526
538
|
stamp="$(printf '%s' "$started" | tr -cd '0-9TZ')"
|
|
527
539
|
slug="$(printf '%s' "${topic:-run}" | tr -cs 'A-Za-z0-9._-' '-')"
|
|
528
540
|
[ -n "$stamp" ] || stamp="unknown"
|
|
529
|
-
|
|
541
|
+
mk_dir "$ARCHIVE"
|
|
530
542
|
|
|
531
543
|
# The archive holds the only copy of a closed run, and two runs sharing a
|
|
532
544
|
# start second and a topic name the same file. mv would leave one of them,
|
package/skills/sluice/skill.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sluice",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.2",
|
|
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. Checks the finished plan with plan.sh validate rather than trusting it to memory, seeds the run state from it, keeps a deep run's task breakdown in .sluice/run.json so a statusline segment and one status command can answer where the run is, 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",
|