@victortomaili/skill-cli 0.6.9 → 0.7.1
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 +22 -0
- package/package.json +1 -1
- package/src/commands/defaults.js +11 -6
- package/src/lib/agents-md.js +13 -5
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,28 @@ 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.1] - 2026-07-08
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- PARAMETERS (2nd rule, per user direction): when a proposed skill lists activation
|
|
18
|
+
options in its description (a level, language, mode, format, or strictness), the
|
|
19
|
+
agent must ask the user to choose them in the SAME proposal and the gate stays up
|
|
20
|
+
until BOTH the enable decision AND the parameters are given. Don't pick parameters
|
|
21
|
+
for the user; don't start the task until both are settled. Examples are fully
|
|
22
|
+
generic (no skill-specific names). Reflected in the AGENTS.md block and the
|
|
23
|
+
`skill active` footer (new PARAMS row).
|
|
24
|
+
|
|
25
|
+
## [0.7.0] - 2026-07-08
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- PROPOSE is now a BLOCKING GATE (per user direction), replacing v0.6.9's
|
|
29
|
+
non-blocking behavior. The agent must ASK about every cost/style/speed skill in
|
|
30
|
+
one message, then STOP and WAIT for the answer BEFORE starting the actual task.
|
|
31
|
+
This kills the recurring "I'll just do the task first" rationalization — there is
|
|
32
|
+
no "do the task anyway" path. The one-turn wait is the point: the user decides
|
|
33
|
+
the trade-off before the agent starts. Updated both the AGENTS.md block and the
|
|
34
|
+
`skill active` footer.
|
|
35
|
+
|
|
14
36
|
## [0.6.9] - 2026-07-08
|
|
15
37
|
|
|
16
38
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@victortomaili/skill-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
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>",
|
package/src/commands/defaults.js
CHANGED
|
@@ -42,13 +42,18 @@ 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 → ASK "enable <name>?"
|
|
46
|
-
console.log(c.gray('
|
|
47
|
-
console.log(c.gray(' USER') + c.gray("'s decision; it moves an axis
|
|
48
|
-
console.log(c.gray('
|
|
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.'))
|
|
50
|
+
console.log(c.gray(' PARAMS if a proposed skill lists activation options (level / language / mode /'), )
|
|
51
|
+
console.log(c.gray(' format / strictness), ask the user to choose them in the SAME proposal — do not pick'))
|
|
52
|
+
console.log(c.gray(' for them. Gate stays up until enable decision + parameters are both given.'))
|
|
49
53
|
console.log(c.gray(' SKIP moves NONE of the above.'))
|
|
50
|
-
console.log(c.yellow(' ⚠
|
|
51
|
-
console.log(c.yellow(' "user has a clear request", "I will just do the task"
|
|
54
|
+
console.log(c.yellow(' ⚠ Breaking the gate: starting the task before the user answers,'))
|
|
55
|
+
console.log(c.yellow(' "would delay it", "user has a clear request", "I will just do the task",'))
|
|
56
|
+
console.log(c.yellow(' "not relevant here". → ASK first, then wait.'))
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
// `skill default <name>` — mark a skill as a default (active by default in every
|
package/src/lib/agents-md.js
CHANGED
|
@@ -37,11 +37,19 @@ 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
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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.
|
|
47
|
+
PARAMETERS (2nd rule): if the skill's description lists activation options to pick
|
|
48
|
+
from — e.g. a level, a language, a mode, a format, or a strictness — you MUST ask
|
|
49
|
+
the user to choose them in the SAME proposal (do NOT pick for them), and the gate
|
|
50
|
+
stays up until they give BOTH the enable decision AND the parameters. Genericize
|
|
51
|
+
— never assume a particular skill; read its description to see which options (if
|
|
52
|
+
any) it exposes, and ask for those.
|
|
45
53
|
- moves none of the above → skip.
|
|
46
54
|
When unsure if a skill moves an axis → PROPOSE (ask). LOADED \u2260 LISTED: a skill is
|
|
47
55
|
loaded only if you \`cat\`-ed it this session — listing it, its \u2605, or its \`active\`
|