microsoft/sensei
Iteratively improve skill frontmatter to achieve good routing test coverage. WHEN: run sensei, sensei help, improve skill routing
npx skills add https://github.com/microsoft/GitHub-Copilot-for-Azure --skill sensei
When user says "sensei help" or asks how to use sensei, show this:
╔══════════════════════════════════════════════════════════════════╗
║ SENSEI - Skill Frontmatter Compliance Improver ║
╠══════════════════════════════════════════════════════════════════╣
║ ║
║ USAGE: ║
║ Run sensei on <skill-name> # Single skill ║
║ Run sensei on <skill1>, <skill2>, ... # Multiple skills ║
║ Run sensei on all skills # All skills ║
║ ║
║ EXAMPLES: ║
║ Run sensei on appinsights-instrumentation ║
║ Run sensei on azure-ai, azure-compute ║
║ ║
║ WHAT IT DOES: ║
║ 1. READ - Load skill's SKILL.md and tests ║
║ 2. VERIFY - Compare skill frontmatter with convention ║
║ 3. SCAFFOLD - Create tests from frontmatter if missing ║
║ 4. IMPROVE - Add WHEN: triggers ║
║ 5. TEST - Run tests, fix if needed ║
║ 6. SUMMARY - Show before/after with suggestions ║
║ 7. PROMPT - Ask: Commit, Create Issue, or Skip? ║
║ 8. REPEAT - Until routing tests pass ║
╚══════════════════════════════════════════════════════════════════╝
For each skill, execute this loop until the frontmatter aligns with convention, have thorough routing tests AND routing tests pass:
plugin/skills/{skill-name}/SKILL.md, and vally eval suites in evals/{skill-name}/*.yaml.evals/{skill-name}/ doesn't exist, follow instructions in vally-eval skill to scaffold a set of routing tests. The routing tests test if the skill can be invoked for target user prompts. Generate user prompts that match the target scenario of the skill's description.vally-eval skill to run the routing tests. If there are failed tests, suggest fixes.plugin/skills/ - these are the Azure skills used by Copilot.github/skills/ should be left as isTake microsoft/sensei from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.