Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 3.58 KB

File metadata and controls

37 lines (25 loc) · 3.58 KB

Model-invoked vs user-invoked

Every SKILL.md in this repo is a skill. The one axis that splits them is invocation — who can reach it:

  • User-invoked — reachable only by the human typing its name. Set disable-model-invocation: true in the frontmatter. The description is human-facing: a one-line summary read by a person browsing slash-commands. Strip trigger lists ("Use when the user says…").
  • Model-invoked — reachable by model or user. The default: omit disable-model-invocation. The description is model-facing and keeps rich trigger phrasing ("Use when the user wants…, mentions…, asks for…") so auto-invocation fires. The test for whether a skill should stay model-invoked: could the model usefully reach for this autonomously? (Reuse is the reason to extract a skill, not the test.)

Because a user-invoked skill has no model-facing trigger, nothing but the human can reach it — no other skill can fire it. So a user-invoked skill may invoke model-invoked skills, but it can never reach another user-invoked skill.

The localized READMEs and the top-level README.md mark invocation in the fourth catalog column.

Which skills are user-invoked, and why

Default to model-invoked. A skill is user-invoked only when the model should never reach it on its own — either its trigger is a deliberate, human-decided action (commit, push, publish, deploy), or its mere presence in the model's reach would bias the agent. The twelve today:

  • hate — a demolition reflex always in reach biases the agent toward demolition.
  • macrothink — plural fresh reads are an opt-in perspective spend; convergence must not masquerade as automatic proof.
  • feynman — a challenge-every-decision reflex in reach biases toward chronic self-doubt.
  • reorder — reordering churns a listing; its logical order is an opinionated, deliberate call.
  • dedash — the human owns the exact prose scope.
  • debloat — how tight and what to cut is an opinionated, scope-dependent call the human owns; a compress reflex in reach would over-compress or strip intended richness.
  • re0-git — committing is human-decided; a commit-cleanup reflex in reach would bias toward committing.
  • re0-release — publishing a release is a deliberate, human-decided action.
  • re0-merge — reviewing and landing a contribution is a deliberate maintainer act a review reflex would bias toward merging.
  • re0-upgrade — it makes consequential local changes (reinstalling skill entries, writing a session-start hook into each agent's config).
  • re0-plan — it assumes the full paperthin package installed and pairs deliberately with re0-release, not a general-purpose reflex.
  • prism — plural lenses are an opt-in spend whose convergence must not pass as automatic proof.

Two skills stay model-invoked against the grain: autobahn (the model should autonomously carve risk-adjacent scope before execution) and modelchk (advisory capability sizing should be available before the model spends a run).

Dependencies between them

Dependencies are expressed as /skill-style prose invocation ("Run the /re0 skill"), not deep ../other-skill/FILE.md cross-references. Shared reference docs live inside the skill that owns them; other skills reach that material by invoking the skill, not by linking across folders.

Passive vs active domain work

Merely reading a local context file for vocabulary is a one-line prose pointer, not a skill invocation. Only active cleanup or verification work should name the relevant skill, such as /re0 for a drifting artifact or /ssotize for a scattered fact.