Agent skill
skill-evolution
Protocol for making skills self-improving over time. Use when you encounter a gap in an existing skill, when reviewing skill effectiveness, or when the docs agent processes accumulated skill gaps. Defines the observe-inspect-amend-evaluate cycle for skill maintenance.
Install this agent skill to your Project
npx add-skill https://github.com/exceptionless/Exceptionless/tree/main/.agents/skills/skill-evolution
SKILL.md
Skill Evolution
Skills are living documents, not static prompt files. This protocol defines how skills improve based on real usage patterns.
The Problem
Skills that worked last month can silently degrade when:
- The codebase changes (new patterns, deprecated APIs, renamed modules)
- The kinds of tasks shift (new features, different complexity)
- Review findings reveal repeated gaps in guidance
Without a feedback loop, these failures are invisible until output quality drops.
The Cycle
SKILL → RUN → OBSERVE → INSPECT → AMEND → EVALUATE → SKILL (improved)
1. Observe — Gap Detection
When any agent encounters something not covered by a skill during normal work, append a gap marker to the relevant skill file:
<!-- SKILL-GAP: Missing guidance on [specific pattern] — encountered in [file] on [date] -->
Rules:
- Be specific — "missing CancellationToken propagation guidance" not "missing async stuff"
- Include the file where the gap was encountered
- Include the date for tracking
- Do NOT fix the skill inline during other work — just mark the gap
Example:
<!-- SKILL-GAP: No guidance on Svelte 5 snippet pattern for reusable slot content — encountered in src/Exceptionless.Web/ClientApp/src/lib/components/ui/data-table.svelte on 2026-03-14 -->
2. Inspect — Pattern Recognition
Periodically (or on request via the docs agent), scan for accumulated gaps:
grep -r "SKILL-GAP" .agents/skills/ --include="*.md"
Group gaps by:
- Frequency: Same gap appearing 3+ times = high priority
- Skill: Multiple gaps in one skill = skill needs major update
- Recency: Recent gaps in previously stable skills = environment changed
3. Amend — Propose Changes
When enough evidence exists (3+ gaps on same topic, or 1 critical gap), update the skill:
- Add the missing guidance to the appropriate section
- Mark the amendment with a structured comment:
markdown
<!-- SKILL-AMENDMENT v{N} date:{YYYY-MM-DD} reason:"{why}" evidence:"{gap count or specific incident}" --> - Remove the resolved
SKILL-GAPcomments - Add a changelog entry
Amendment types:
- Add: New section or checklist item for uncovered pattern
- Tighten: More specific trigger conditions to reduce false matches
- Reorder: Move frequently-needed guidance higher
- Update: Change guidance that no longer matches codebase reality
4. Evaluate — Verify Improvement
Git history IS the evaluation system. After an amendment:
- If the
revieweragent stops flagging the pattern → amendment worked - If the same gap reappears → amendment was insufficient, revisit
- If new issues appear in the amended area → amendment may have introduced confusion, consider rollback
To roll back: git revert the amendment commit. The original skill is preserved in history.
Changelog Format
Every skill should have a ## Changelog section at the bottom:
## Changelog
- YYYY-MM-DD: Description of change (evidence: N gap markers / review finding / codebase change)
Constraints
- Never modify third-party skills — check
skills-lock.jsonbefore editing - One amendment per commit — makes rollback granular
- Human review for major changes — if an amendment touches >30% of a skill, flag for review
- Preserve existing structure — amend within the skill's existing organization, don't restructure
When to Trigger
| Trigger | Action |
|---|---|
| During any agent work, encounter undocumented pattern | Add SKILL-GAP comment |
| User asks to review/improve skills | Run full inspect cycle |
docs agent runs |
Check for gaps, propose amendments |
| After 5+ gaps accumulate in one skill | Priority amendment needed |
| After major codebase change (new framework, migration) | Audit all affected skills |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
foundatio-repositories
releasenotes
Generate formatted changelogs from git history since the last release tag. Use when preparing release notes that categorize changes into breaking changes, features, fixes, and other sections.
e2e-testing
Use this skill when writing or running end-to-end browser tests with Playwright. Covers Page Object Model patterns, selector strategies (data-testid, getByRole, getByLabel), fixtures, and accessibility audits with axe-playwright. Apply when adding E2E test coverage, debugging flaky tests, or testing user flows through the browser.
tanstack-query
Use this skill when fetching data, managing server state, or handling API mutations in the Svelte frontend. Covers createQuery, createMutation, query keys, cache invalidation, optimistic updates, and WebSocket-driven refetching. Apply when adding API calls, managing loading/error states, or coordinating cache updates after mutations.
dogfood
Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.
storybook
Use this skill when creating or updating Storybook stories for Svelte components. Covers Svelte CSF story format, defineMeta, argTypes, snippet-based customization, and autodocs. Apply when adding visual documentation for components, setting up story files, or running Storybook for development.
Didn't find tool you were looking for?