v0.7.0 — Skills v2
Skills v2 — trigger-driven skill assembly tuned for small local models. Instead of exposing skills as model-facing tools, ShellPilot's harness deterministically injects only the guidance relevant to the current runtime state, keeping a 4B model focused.
Highlights
- Crisp deterministic triggers —
ALWAYS_ON,ENABLED,PLAN_PROPOSED,PLAN_ACTIVE,PLAN_BLOCKED,WEB_ENABLED. No intent inference; every trigger has an exact predicate. - Four builtin skills:
planning— proposal/active/blocked mode references; the harness shows only the rule for the current plan phase.context-management— always-on, tiny operating rules for file triage and context budgeting.web-grounding— active only when web tools are actually registered.skill-authoring— opt-in via[skills] enabled.
- Read-only resources — skills may bundle
references/andtemplates/; the relevant reference is selected by the harness. - Script discovery (not execution) —
scripts/manifest.jsonis discovered and validated for visibility, but execution is deferred to v0.8.0 with its own safety design. No skill code runs in this release. - Enriched inspection —
/skillsshows triggers, resources, status, active state, and reasons;/contextshows per-block token estimates, injection state, and skip reasons. - Slimmer base prompt (
PROMPT_VERSION4) — proposal-time discipline stays in the base prompt; execution and blocker discipline live in theplanningskill.
Notes
[skills] enabledis config-file only (no env var, no/config set, no overrides).- Skill resource discovery is path-safety hardened (rejects traversal/absolute/symlink escapes) and bounded (per-file and per-folder caps) so a stray skill folder can't read outside its root or stall startup.
- Reserved builtin names cannot be shadowed by user skills.
Deferred (on record)
- Skill script execution → v0.8.0 (controlled runner + approval/precheck integration).
- Intent-inference triggers (debugging/verification/brainstorming) and richer workflow skills → v0.9.0 candidates.
Validated live on gemma4:e4b. Full test suite (832) and CI green on Python 3.11 and 3.14.