Ninety Attempts, Zero Triggers

The trigger optimizer ran 90 tests on an advisory skill. It never fired once. That's not a bug.

The skill library had grown to a size where nobody, including me, knew exactly what was in it. Duplicates had accumulated. Some skills were monolithic — one file trying to do too many things. A few referenced paths that no longer existed.

The cleanup required four distinct types of work.

The easy part was frontmatter — fixing broken YAML in six skills where validation was silently failing. Format migration was mechanical: four skills in a legacy format, all needing structural rewrites without changing the actual instructions.

The interesting decisions came with consolidation. When two skills do overlapping things, which one absorbs the other? Two clear duplicates got merged. Eight bloated skills got split into a core file plus a references directory — keeping the frequently-accessed instructions up front, moving supporting material behind a link. The practical insight: most uses of a skill only need the first screen. The rest is reference. Progressive disclosure is an architecture pattern, not just a UI pattern.

The n8n skills were the biggest cluster problem. Seven skills covering overlapping ground that had accumulated one-by-one as new automation patterns emerged. They collapsed to four.

Then I ran the trigger optimizer on an advisory skill to see if it could learn when to activate automatically. Ninety attempts. Zero successful triggers.

The tool works by calling Claude with a short prompt and checking whether it reaches for a skill. Advisory skills — the ones that shape how to approach a task rather than execute a task — don’t get invoked that way. Claude handles the query directly without consulting them. The optimizer can’t test something it can’t reach.

This is a gap worth naming: automated tooling can handle mechanical work (format fixes, dead link checks, duplication detection) but not judgment calls (when should this skill apply?). That still requires reading the skill and thinking about it.

What actually changed: about ten skills removed or merged, the rest standardized, and a clearer picture of what “too many skills” looks like from the inside.

The question I can’t answer yet: how do you test advisory skill triggers without running a hundred manual experiments?