@victortomaili/skill-cli 0.6.8 → 0.7.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/CHANGELOG.md CHANGED
@@ -11,6 +11,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
  - Cursor adapter (`.cursor/rules` format) for `init -g` bootstrap.
12
12
  - Per-agent hook adapters for automatic `/X` triggering (push model).
13
13
 
14
+ ## [0.7.0] - 2026-07-08
15
+
16
+ ### Changed
17
+ - PROPOSE is now a BLOCKING GATE (per user direction), replacing v0.6.9's
18
+ non-blocking behavior. The agent must ASK about every cost/style/speed skill in
19
+ one message, then STOP and WAIT for the answer BEFORE starting the actual task.
20
+ This kills the recurring "I'll just do the task first" rationalization — there is
21
+ no "do the task anyway" path. The one-turn wait is the point: the user decides
22
+ the trade-off before the agent starts. Updated both the AGENTS.md block and the
23
+ `skill active` footer.
24
+
25
+ ## [0.6.9] - 2026-07-08
26
+
27
+ ### Changed
28
+ - AGENTS.md + `skill active`: PROPOSE is now NON-BLOCKING. The agent finally
29
+ classified correctly ("caveman is STYLE → I must propose") but then talked itself
30
+ out of asking via "asking would delay the task" / "user has a clear request" /
31
+ "I'll just do the task". The new wording makes asking non-blocking (ask at the top,
32
+ then do the task in the same reply) and explicitly forbids those excuses, plus
33
+ "mentioning/noting/available is NOT asking".
34
+
14
35
  ## [0.6.8] - 2026-07-08
15
36
 
16
37
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@victortomaili/skill-cli",
3
- "version": "0.6.8",
3
+ "version": "0.7.0",
4
4
  "description": "Cross-agent skill manager — one global store, clean agent folders, activation via skill.config",
5
5
  "license": "MIT",
6
6
  "author": "Victor Tomaili <victor@tomaili.com>",
@@ -42,11 +42,15 @@ export function cmdActive() {
42
42
  console.log()
43
43
  console.log(c.bold('→ For EACH skill above, decide in your reply:'))
44
44
  console.log(c.gray(' LOAD moves CORRECTNESS/QUALITY → run ') + c.cyan('skill cat <name>') + c.gray(' now.'))
45
- console.log(c.gray(' PROPOSE moves COST, STYLE, or SPEED you MUST ASK "enable <name>?". A trade-off is the'))
46
- console.log(c.gray(' USER') + c.gray("'s decision these move an axis on EVERY reply, so NEVER skip one and"))
47
- console.log(c.gray(' NEVER say "not relevant to this task" (that = you deciding for the user).'))
45
+ console.log(c.gray(' PROPOSE moves COST, STYLE, or SPEED → ASK "enable <name>?" about ALL of them,'))
46
+ console.log(c.gray(' then STOP and WAIT for the answer. Do NOT start the task until they answer.'))
47
+ console.log(c.gray(' The wait is the POINT a trade-off is the USER') + c.gray("'s decision; it moves an axis") )
48
+ console.log(c.gray(' on EVERY reply, so NEVER skip and NEVER say "not relevant here".'))
49
+ console.log(c.gray(' Mentioning / noting / "available" is NOT asking.'))
48
50
  console.log(c.gray(' SKIP moves NONE of the above.'))
49
- console.log(c.yellow(' ⚠ If you wrote "cost/style but not relevant here" → that is the bug. Ask instead.'))
51
+ console.log(c.yellow(' ⚠ Breaking the gate: starting the task before the user answers,'))
52
+ console.log(c.yellow(' "would delay it", "user has a clear request", "I will just do the task",'))
53
+ console.log(c.yellow(' "not relevant here". → ASK first, then wait.'))
50
54
  }
51
55
 
52
56
  // `skill default <name>` — mark a skill as a default (active by default in every
@@ -37,6 +37,13 @@ no discretion and no third option:
37
37
  "the user didn't request it", and "skip unless needed" are FORBIDDEN — each one
38
38
  is you STEALING the user's decision. Deciding a trade-off is not your role;
39
39
  surfacing it is. A line in a table is NOT proposing — you must actually ask.
40
+ PROPOSE IS A GATE: ASK "Enable <name>?" (ask about ALL such skills in ONE message),
41
+ then STOP and WAIT for the user's answer. Do NOT start the actual task until they
42
+ answer (yes → apply it, no → proceed without). The one-turn wait is the POINT —
43
+ the user chooses the trade-off BEFORE you start — so "asking would delay the task",
44
+ "the user has a clear request", "I'll just do the task first", and "I'll mention it
45
+ and proceed" are FORBIDDEN: each is you deciding for the user. Mentioning / noting /
46
+ "available" is NOT asking — you must ASK a yes/no question and then wait.
40
47
  - moves none of the above → skip.
41
48
  When unsure if a skill moves an axis → PROPOSE (ask). LOADED \u2260 LISTED: a skill is
42
49
  loaded only if you \`cat\`-ed it this session — listing it, its \u2605, or its \`active\`