Summary
kensa-diagnose, kensa-generate, and kensa-inspect describe what they do but never when to use them. Per the agentskills.io spec, an agent decides whether to activate a skill using only name + description -- the body is read only after that decision is already made. Each of these three has "Normally invoked by kensa-evals" in the body, which is too late to prevent standalone activation.
Evidence
kensa-inspect's description:
description: >
Read redacted Kensa TraceView evidence and write a schema-validated YAML queue of potential
trace-backed eval ideas without writing pytest files.
No "Use when..." clause. Compare kensa-evals, which does it correctly:
description: >
Run Kensa setup, evidence import, inspection, approval, eval generation, verification, and
iteration. Use when setting up or extending Kensa evals.
A user query that matches kensa-inspect's function directly (e.g. "read the traces and write eval ideas") can trigger it standalone, skipping the kensa-evals lifecycle gating (setup -> evidence -> inspect -> approval -> generate -> verify) -- e.g. inspecting before setup is ready, or generating without approval.
Location
src/kensa/skill_templates/kensa-diagnose/SKILL.md
src/kensa/skill_templates/kensa-generate/SKILL.md
src/kensa/skill_templates/kensa-inspect/SKILL.md
Fix
Add a trigger clause to each description, e.g.:
Use only when invoked by kensa-evals; do not activate directly for standalone requests.
Why it matters
The kensa-evals state machine exists specifically to enforce stage order and approval gating. A description that doesn't discourage direct activation lets an agent route around it based on keyword match alone.
Summary
kensa-diagnose,kensa-generate, andkensa-inspectdescribe what they do but never when to use them. Per the agentskills.io spec, an agent decides whether to activate a skill using onlyname+description-- the body is read only after that decision is already made. Each of these three has "Normally invoked bykensa-evals" in the body, which is too late to prevent standalone activation.Evidence
kensa-inspect's description:No "Use when..." clause. Compare
kensa-evals, which does it correctly:A user query that matches
kensa-inspect's function directly (e.g. "read the traces and write eval ideas") can trigger it standalone, skipping thekensa-evalslifecycle gating (setup -> evidence -> inspect -> approval -> generate -> verify) -- e.g. inspecting before setup is ready, or generating without approval.Location
src/kensa/skill_templates/kensa-diagnose/SKILL.mdsrc/kensa/skill_templates/kensa-generate/SKILL.mdsrc/kensa/skill_templates/kensa-inspect/SKILL.mdFix
Add a trigger clause to each description, e.g.:
Why it matters
The
kensa-evalsstate machine exists specifically to enforce stage order and approval gating. A description that doesn't discourage direct activation lets an agent route around it based on keyword match alone.