Repository navigation
Replies: 1 comment 19 replies
|
Your 0/200 matches what I've seen on my own roster of about forty skills, and the fix that held was not in the descriptions. Activation by description matching is a classifier with no ground truth. The model reads fifty descriptions and picks one, and for an edit-shaped task it usually skips the pick and edits the file. Two changes fixed it for me. First, bind phrases explicitly. My instruction file carries a table of phrase families to skills ("write a behaviour spec" goes to that skill, "lint this prose" to that one) with a standing rule that on a matching phrase the model goes straight to the target, with no description matching involved. Activation for those became deterministic, because the routing is a lookup, not a judgment. Second, your write-back finding is right and I'd go further. Put the write-back obligation in the shared context file's own header ("agents update this file when positioning changes, and never write positioning elsewhere"). The skills that read the file first then carry the rule with them. The measurement you ran (pinned model, 20 cases per skill, an activation matrix) is the thing to keep running after the fix. Descriptions drift, and a monthly re-run is the only way to see it. |
Uh oh!
There was an error while loading. Please reload this page.
I measured how 14 of these skills behave when installed together — which one a
request reaches, and whether the "every skill checks
product-marketingfirst"claim from the README holds. 200 attempts, one model, pinned; method and raw
numbers are linked at the end. Most of it is good news for the design. Two
parts are not.
What works: the skills do not fight each other
I loaded
cro,signup,onboarding,popups,paywalls,copywriting,copy-editing,emails,cold-email,seo-audit,ai-seo,programmatic-seo,schemaandproduct-marketingtogether, and wrote eachcase so that its expected winner is the one your own descriptions route to
("For popup copy, see popups", "Distinct from public pricing pages (see cro)").
No prompt named a skill.
Of 50 activations, 49 reached the skill the descriptions point to. The one
leak was a newsletter form that reached
signuponce in ten, althoughsignup's description sends lead-capture forms tocro. The cross-referencesin the descriptions work.
1.
product-marketingnever activates, and the context file goes staleproduct-marketingfired 0 times in 200 attempts, including 0 of 20 on twocases written for it. The second used your description's own trigger words:
The model did the work every time — but wrote it to a new root-level
POSITIONING.mdin 9 of 10 attempts, and updated.agents/product-marketing.mdin 1. So after a real change of audience, thefile every other skill is told to read still described the old one.
The other case ("update the shared context that every later session reads
first") went 10 of 10 to Claude Code's own memory —
MEMORY.mdorCLAUDE.md— instead. That wording is close to how host memory is described, so I would
not lean on it; the ICP case is the clean one.
2. The context file is read in about a third of activations
Every skill says "If
.agents/product-marketing.mdexists, read it beforeasking questions." The test fixture had the file.
So the skills do raise the rate, and whenever the file is read it is read
before the first edit. But two activations in three never open it. It varies a
lot by skill:
cold-email6/6,ai-seo5/10,emails4/10,seo-audit1/10,schema1/9,cro0/4."Every other skill checks it first" is accurate for
cold-emailand not yetfor the rest.
3. Most of the conversion and editing skills never activate
This is not a conflict between skills, but it is the larger number, so
mentioning it:
emails10/10,seo-audit10/10,ai-seo10/10,schema9/10,cold-email6/10cro4/20signup0/10,popups0/20,paywalls0/10,onboarding0/10,copy-editing0/10,programmatic-seo0/10,product-marketing0/20The ones that never fire are the ones whose requests point at a file to change —
a registration form, an exit modal, an upgrade screen, a first-run dashboard, a
wordy paragraph. In 93 of those 120 attempts the model changed the file anyway,
just without the skill. That is a pattern I have measured on other large skill
sets too, not something specific to these descriptions.
Caveats
claude-haiku-4-5-20251001. A larger model may reach forskills more readily; treat these rates as a floor.
measured.
Code 2.1.263.
What might help
For #1, the two facts together suggest the cheapest fix is in the other skills
rather than in
product-marketing's description: if a skill that editspositioning-dependent copy also writes back to
.agents/product-marketing.mdwhen the user states a change of audience or positioning, the file stays
current whether or not
product-marketingever fires. I have not tested that.Full report, suite and per-case tables:
https://github.com/ktlesr/skill-trigger-measurements/blob/master/reports/marketingskills.collide.md
All reactions