@victortomaili/skill-cli 0.5.0 → 0.5.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 CHANGED
@@ -11,6 +11,19 @@ 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.5.1] - 2026-07-07
15
+
16
+ ### Fixed
17
+ - AGENTS.md bootstrap block hardened into hard rules after a live pi-agent test
18
+ surfaced two gaps. **(a) START GATE:** on the first user message, the agent's
19
+ VERY FIRST action — BEFORE ANYTHING ELSE (before thinking, before any tool call)
20
+ — MUST be `skill defaults` + `skill cat <name>` for each, then `skill list`
21
+ (discovery is mandatory, not optional). **(b) Context-altering = PROPOSE-ONLY:**
22
+ `active` / ★-default means *available*, not *applied* — propose ≠ auto-apply,
23
+ and the rule overrides any other skill's "always use" instruction. Also:
24
+ whenever a skill is loaded mid-session, re-evaluate the message and load/propose
25
+ any newly-relevant one.
26
+
14
27
  ## [0.5.0] - 2026-07-07
15
28
 
16
29
  ### Added
package/README.md CHANGED
@@ -196,13 +196,13 @@ default; `space` toggles the per-project override.
196
196
  `skill init -g` injects a short, idempotent block into each detected agent's global
197
197
  instruction file (`CLAUDE.md`, `AGENTS.md`, `GEMINI.md`):
198
198
 
199
- > On session start, run `skill defaults` and load each with `skill cat <name>`.
200
- > Skills are NOT in context until you load them each message, decide whether one
201
- > is relevant and load it (`skill cat <name>` / `skill trigger <keyword>`); load each
202
- > only once. A skill that changes HOW you respond (output style/mode) is PROPOSED,
203
- > not auto-applied apply only after the user confirms (an explicit `/X` counts).
204
- > When the user types `/X`, run `skill trigger X` — single match → apply; multiple →
205
- > show candidates.
199
+ > **START GATE:** on the first user message, your VERY FIRST action BEFORE
200
+ > ANYTHING ELSE (before thinking, before any tool call)is `skill defaults` +
201
+ > `skill cat <name>` for each, then `skill list`. Then each
202
+ > message, discover/load relevant skills (`skill cat` / `skill trigger`), once each.
203
+ > A **context-altering** skill (changes HOW you respond style/mode) is
204
+ > **PROPOSE-ONLY**: propose it, then apply only after the user confirms
205
+ > (`active` ≠ applied; an explicit `/X` counts). `/X` → `skill trigger X`.
206
206
 
207
207
  It's wrapped in `<!-- BEGIN skill-cli --> … <!-- END skill-cli -->` markers, never
208
208
  duplicates, and preserves your existing file content. Re-run `init -g` any time —
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@victortomaili/skill-cli",
3
- "version": "0.5.0",
3
+ "version": "0.5.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>",
@@ -16,24 +16,32 @@ NOT copied into agent directories (\`~/.claude\`, \`~/.codex\`, etc.) — so the
16
16
  won't appear here.
17
17
 
18
18
  Usage:
19
- - \`skill list\` — skills installed and active in the current project
19
+ - \`skill list\` — skills installed + active in the current project (with triggers)
20
20
  - \`skill show <name>\` — skill summary (path, triggers, version)
21
21
  - \`skill cat <name>\` — load skill content into context
22
+ - \`skill default <name>\` — mark a skill as a global default (active + auto-load)
22
23
 
23
- Defaults: on session start, run \`skill defaults\` to list skills marked as
24
- defaults (active by default + auto-load), then \`skill cat <name>\` for each. Mark
25
- your own with \`skill default <name>\` (global active in every project).
24
+ START GATE (mandatory): On the FIRST user message of a session, your VERY FIRST
25
+ action BEFORE ANYTHING ELSE: before you start thinking/reasoning about the task
26
+ and before any tool call MUST be to run \`skill defaults\` then
27
+ \`skill cat <name>\` for each result, then \`skill list\` to learn every skill's
28
+ triggers. Do this even if the task looks trivial: skills shape how you should
29
+ approach the task, so you cannot reason about it correctly until they are loaded.
26
30
 
27
- Discovery: skills are NOT used unless you load them never assume a skill is
28
- already in context. On each user message, decide whether a skill is relevant to
29
- the task (match the message against a skill's triggers/topic); if one is relevant
30
- AND not yet loaded, load it with \`skill cat <name>\` (or \`skill trigger <keyword>\`
31
- to resolve a keyword to a skill). Load each skill only ONCE per session.
31
+ Discovery (mandatory, every message): On EVERY user message, decide whether a
32
+ skill is relevant by matching the message against the trigger catalog from
33
+ \`skill list\`. If a relevant skill is not yet loaded, load it with \`skill cat
34
+ <name>\` (or \`skill trigger <keyword>\` to resolve a keyword). Load each skill only
35
+ ONCE per session. When you load or re-read ANY skill mid-session, immediately
36
+ re-evaluate the current message and load/propose any newly-relevant skill.
32
37
 
33
- Context-altering skills: some skills change HOW you respond — output style, tone,
34
- format, or a persistent mode (e.g. a terseness/compression style) — rather than
35
- just adding task knowledge. Do NOT auto-apply these. PROPOSE the skill and apply
36
- it only after the user confirms; an explicit \`/X\` trigger counts as confirmation.
38
+ Context-altering skills (HARD RULE): Some skills change HOW you respond — output
39
+ style, tone, format, or a persistent mode (e.g. a terseness/compression style) —
40
+ rather than just adding task knowledge. These are PROPOSE-ONLY. You MUST propose
41
+ such a skill and apply it ONLY after the user confirms; an explicit \`/X\` trigger
42
+ counts as confirmation. \`active\` / \u2605-default means AVAILABLE, not APPLIED —
43
+ propose \u2260 auto-apply. This rule overrides any other skill's "always use" rule for
44
+ context-altering skills.
37
45
 
38
46
  Triggers: when the user types \`/X\`, run \`skill trigger X\`.
39
47
  - Single match → apply the output directly.