docs(skills): phrase every SKILL.md description as a trigger - #8
Merged
Conversation
The `description` in SKILL.md frontmatter is agent-facing selection metadata, not a catalogue blurb. It is the only text an agent reads when deciding which of the 39 skills to invoke, so it has to answer "should i reach for this now?" rather than "what is this?". WordPress core says the same thing in its guidance for agent skills (https://developer.wordpress.org/block-editor/contributors/code/agents-and-skills/): a skill description should be phrased as a trigger, "Use when...". Only 2 of 39 did that. The other 37 opened with a feature summary. An agent scanning the collection got "Converts Divi pages to native Gutenberg blocks by parsing shortcodes" where it needed "Use when the user says 'migrate divi to gutenberg', 'get off divi', or 'decommission divi'". Every rewritten trigger comes from the skill's own body: its "When to Use" list, its "Trigger Phrase" section, or its "Alternative Triggers". No scenario was invented. The capability half of each old description was kept, just moved behind the trigger. skills.json is deliberately untouched. That file is read by a human browsing respira.press/skills, where trigger phrasing is noise. scripts/validate-skills.mjs documents why the two fields are supposed to differ, and still enforces that no two skills share a description so an agent can always tell them apart. Body text below the frontmatter is unchanged. One line per file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Rewrites the
description:field in all 39skills/*/SKILL.mdfiles so each one leads with a trigger instead of a feature summary. Nothing else changed: noname, nolicense, nometadata, no body text, noskills.json. One line per file, 39 insertions, 39 deletions.Why
The
descriptionin SKILL.md frontmatter is agent-facing selection metadata. It is the only text an agent sees when deciding which of 39 skills to invoke, so it needs to answer "should i reach for this now?" rather than "what is this?".WordPress core's guidance for agent skills says a description should be phrased as a trigger: "Use when...". Only 2 of the 39 files did that.
Before and after
migrate-divi-to-gutenbergwoocommerce-health-checkseo-aeo-amplifierProvenance
Every trigger is lifted from the skill's own body: its
## When to Uselist, its## Trigger Phrasesection, or its## Alternative Triggers. No scenario was invented, and the capability half of each old description was kept, just moved behind the trigger.skills.json is deliberately untouched
That file is read by a human browsing respira.press/skills, where trigger phrasing is noise.
scripts/validate-skills.mjsalready documents why the two fields are supposed to differ, and still enforces that no two skills share a description so an agent can always tell them apart.Verification
node scripts/validate-skills.mjsexits 0, all 39 valid"Use whengit diff --numstatshows exactly 1 line changed in each of the 39 files