Proactively update SKILL.md files when they become outdated, incorrect, or need improvements. Use when you notice a skill doesn't match current workflow, when user corrects your skill usage, or when discovering better practices that should be documented.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add mattnigh/skills_collection --skill collection --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Collection?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mattnigh-collection-df0032d0)More formats (shields.io, HTML) on the badges page.
---
name: maintain-skill-files
description: Proactively update SKILL.md files when they become outdated, incorrect, or need improvements. Use when you notice a skill doesn't match current workflow, when user corrects your skill usage, or when discovering better practices that should be documented.
---
# Skill: Maintain Skill Files
## Overview
This skill defines when and how to proactively update SKILL files to improve
future interactions.
**Core principle**: If you notice that a skill needs updating, offer to update
it immediately. Don't wait for the user to ask.
## When to Update Skills
Watch for these signals that a skill needs updating:
### Strong signals (update immediately):
- **You notice the skill is outdated** - Commands, file paths, or processes have
changed
- **You didn't follow the skill correctly** - If the user points out you missed
steps or didn't follow the documented workflow
- **User complains a skill wasn't triggered** - If the user says you should have
used a skill but didn't, check if the skill has proper YAML frontmatter with
`name:` and `description:` fields (see "Skill Format Requirements" below)
- **User corrects your behavior on a workflow** - When the user says "actually,
you should do X instead of Y" for a process that has a skill
- **User adds new requirements or steps** - The user teaches you additional
steps that should be part of the workflow
- **User expresses frustration about a repeated workflow** - Phrases like "I'm
annoyed that...", "you still...", "again...", "why do I have to..."
- **Instructions are ambiguous** - If you misunderstood a skill's instructions,
make them clearer
### Moderate signals (consider updating):
- **You discover edge cases or gotchas** - While following a skill, you
encounter situations not covered in the documentation
- **User shares tips or tricks** - Additional context that makes following the
workflow easier
### When NOT to update:
- One-off corrections that don't apply to the general workflow
- Temporary workarounds
- Information that's likely to change frequently
- Details that are already well-documented in the skill
## What Makes a Good Skill
Skills are **specific, repeatable workflows or procedures**. Create or update
skills for:
- Multi-step processes that are done regularly
- Workflows with specific requirements or gotchas
- Procedures that need to be followed precisely
- Tasks that have a clear start and end state
**Location**:
`/Users/ageiduschek/src/pulse-data/.claude/skills/<skill_name>/SKILL.md`
### When to create a NEW skill:
- The workflow is distinct from existing skills
- It's referenced or used frequently enough to warrant its own documentation
- It has enough complexity that step-by-step instructions are valuable
- The user has performed this multi-step process multiple times
### When to UPDATE an existing skill:
- User points out you didn't follow the skill correctly
- User adds new requirements or steps
- You discover edge cases or gotchas
- Instructions are ambiguous and led to mistakes
- Commands or paths are outdated
## How to Update a Skill
### Step 1: Identify what needs updating
When you notice a signal from the "When to Update" section, immediately
consider:
- Which skill should be updated (or should a new one be created)?
- What specific information needs to be added/changed?
- Will this help prevent similar issues in the future?
### Step 2: Propose the change
Tell the user what you want to update and why. For example:
> "I notice you had to correct me about using the issue template. I should
> update the create_recidiviz_data_github_tasks skill to make that more
> explicit. Would you like me to do that?"
OR if it's very obvious:
> "I'm going to update the skill to include this step since it's part of the
> workflow."
### Step 3: Make the update
- Use the Edit tool to update existing skill files
- Use the Write tool to create new skill files
- Be clear and specific in the documentation
- Include examples when helpful
- Use formatting (headers, bullets, bold) to make it scannable
- Follow the skill file structure (Overview, When to Use, Steps, etc.)
### Step 4: Verify the update
After updating:
- Briefly tell the user what you updated
- Mention how it will help in the future
## Best Practices for Writing Skills
For official best practices on writing SKILL files, see the
[Skills documentation](https://code.claude.com/docs/en/skills.md).
### Skill Format Requirements
**CRITICAL**: All skills MUST have YAML frontmatter with `name:` and `description:` fields. This is how Claude autonomously discovers when to use skills.
Required format (from [official docs](https://code.claude.com/docs/en/skills.md)):
```yaml
---
name: your-skill-name
description: Brief description of what this Skill does and when to use it. Use when [specific trigger phrases].
---
```
Requirements:
- **`name`**: Lowercase letters, numbers, and hyphens only (max 64 characters)
- **`description`**: Max 1024 characters. Must include:
- What the skill does
- When Claude should use it (include specific trigger terms like "file", "create", "update", etc.)
**Example**:
```yaml
---
name: create-github-tasks
description: File GitHub issues and tasks. Use when the user asks to file, create, or track issues, tasks, tickets, or TODOs.
---
```
**When updating skills**: If a skill doesn't have this frontmatter, or if the user complains the skill wasn't triggered, add or improve the YAML frontmatter with clear trigger terms in the description.
## Example Scenarios
### Scenario 1: User corrects you multiple times
**Signal**: User says "I'm annoyed that you still needed to be prompted to
follow the issue template structure"
**Action**:
1. Immediately recognize this as a strong signal
2. Propose updating the skill file
3. Make the skill more explicit with numbered steps, examples, and emphasis on
the template
4. Tell the user you've updated it
### Scenario 2: You discover edge cases
**Signal**: While following the "create GitHub task" skill, you discover that if
the task is for a different repo, the TODO format is different
**Action**:
1. Complete the current task
2. Mention to the user: "I should update the skill to document the cross-repo
TODO format. Should I do that?"
3. If yes, add a section or step about cross-repo TODOs with examples
### Scenario 3: User adds new steps
**Signal**: User says "Also make sure to add the 'Team: Data Platform' label"
**Action**:
1. Complete the task with the new step
2. Ask: "Should I update the skill to always include the 'Team: Data Platform'
label?"
3. If yes, add this as a step in the workflow
### Scenario 4: User teaches you a new workflow
**Signal**: User walks you through a complex multi-step process that you'll
likely do again
**Action**:
1. After completing the task, ask: "Should I document this as a new skill so I
can follow it more precisely next time?"
2. If yes, create `.claude/skills/<workflow_name>/SKILL.md` with clear steps
3. Add a reference to it in the root CLAUDE.md file
## Maintaining the Skills List
When you create a new skill, remember to update the "Available skills" section
in the root CLAUDE.md file with a link to the new skill.
## Related Documentation
- [Main CLAUDE.md](../../../CLAUDE.md) - The root documentation file
- [Create Recidiviz Data GitHub Tasks](./../create_recidiviz_data_github_tasks/SKILL.md) -
Example of a well-structured skill
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!