@victortomaili/skill-cli 0.6.1 → 0.6.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/CHANGELOG.md CHANGED
@@ -11,6 +11,16 @@ 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.6.2] - 2026-07-07
15
+
16
+ ### Changed
17
+ - AGENTS.md START GATE: stricter, broader PROPOSE rule. The agent now auto-loads
18
+ only skills STRICTLY NECESSARY to attempt the task, and PROPOSES (waits for user
19
+ confirmation) everything else — explicitly including: response STYLE/format/mode
20
+ skills, CONTEXT-COST / token optimizers, ACTIVATE-BEFORE-WORK workflows, and any
21
+ facilitator/accelerator that would make the job EASIER or FASTER. When unsure,
22
+ propose (propose is the safe default; loading is silent).
23
+
14
24
  ## [0.6.1] - 2026-07-07
15
25
 
16
26
  ### Changed
package/README.md CHANGED
@@ -198,13 +198,14 @@ instruction file (`CLAUDE.md`, `AGENTS.md`, `GEMINI.md`):
198
198
 
199
199
  > **START GATE:** on the first user message, your VERY FIRST action — BEFORE
200
200
  > ANYTHING ELSE (before thinking, before any tool call) — is `skill active`, the
201
- > skill **catalog** (every skill's name + full description; never the body). Read
202
- > it and decide per skill from its description: **functional** for the task → load
203
- > it (`skill cat <name>`); **context-altering** (changes HOW you respond —
204
- > style/mode) **propose**, apply only after the user confirms (`/X` = confirm).
205
- > **LOADED LISTED**: a skill is loaded only if you `cat`-ed it this session —
206
- > listing it (or its / `active` status) is not loading. Any skill can be
207
- > context-altering; the agent judges from the description (no flag, no fixed list).
201
+ > skill **catalog** (every active skill's name + full description; never the body).
202
+ > Read it and decide per skill from its description: **strictly necessary** to even
203
+ > attempt the task → load it (`skill cat <name>`); **otherwise PROPOSE** including
204
+ > any skill that changes your response *style/format*, optimizes *context cost*, is
205
+ > meant to be *activated before the work*, or would make the job *easier/faster*
206
+ > (a facilitator). Apply only after the user confirms (`/X` = confirm); when unsure,
207
+ > propose. **LOADED LISTED**: a skill is loaded only if you `cat`-ed it this
208
+ > session — listing it (or its ★ / `active` status) is not loading.
208
209
  > `/X` → `skill trigger X`.
209
210
 
210
211
  It's wrapped in `<!-- BEGIN skill-cli --> … <!-- END skill-cli -->` markers, never
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@victortomaili/skill-cli",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
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>",
@@ -16,7 +16,7 @@ export function cmdActive() {
16
16
  const eff = computeEffective(installed, globalCfg, projCfg)
17
17
  const defs = new Set((globalCfg.defaults || []).map(d => String(d).toLowerCase()))
18
18
 
19
- console.log(c.bold('skill active') + c.gray(' — active skills in this project (descriptions only; functional `skill cat`, context-altering propose)'))
19
+ console.log(c.bold('skill active') + c.gray(' — active skills (descriptions only). Load only what is STRICTLY necessary; PROPOSE style/cost/workflow/facilitator skills and wait for confirmation.'))
20
20
  console.log()
21
21
 
22
22
  if (eff.length === 0) {
@@ -28,10 +28,19 @@ action — BEFORE ANYTHING ELSE: before you start thinking/reasoning about the t
28
28
  and before any tool call — MUST be to run \`skill active\`. It prints the skill
29
29
  CATALOG — every ACTIVE skill's name + FULL description (NOT the skill body).
30
30
  Read it, then for EACH skill decide FROM ITS DESCRIPTION:
31
- - Functional / useful for THIS task load it: \`skill cat <name>\`.
32
- - Changes HOW you respond (a style, tone, format, or persistent MODE — e.g. a
33
- brevity/compression style) it is CONTEXT-ALTERING: PROPOSE it to the user and
34
- apply ONLY after they confirm (\`/X\` = confirm). Do NOT load/apply it yourself.
31
+ - It is STRICTLY NECESSARY to even attempt the task (you cannot do it without
32
+ this knowledge) load it: \`skill cat <name>\`.
33
+ - OTHERWISE PROPOSE it tell the user it's available and what it does, then apply
34
+ ONLY after they confirm (\`/X\` = confirm). You MUST propose (never silently apply)
35
+ any skill that:
36
+ • changes your communication / response STYLE, tone, format, or a persistent
37
+ mode (e.g. a brevity / compression style);
38
+ • optimizes CONTEXT COST / token usage;
39
+ • is meant to be ACTIVATED BEFORE the work (a workflow / methodology);
40
+ • would make the job EASIER or FASTER — a facilitator / accelerator / tool —
41
+ even if optional. Surface it so the user can opt in.
42
+ When unsure whether a skill is necessary or optional → PROPOSE (proposing is the
43
+ safe default; loading is silent).
35
44
  LOADED ≠ LISTED. A skill is loaded ONLY if you have run \`skill cat <name>\` for
36
45
  it THIS session. Seeing a skill in \`skill active\` / \`skill list\` does NOT load
37
46
  it — you then know only its name + description, nothing more. Never infer a skill