home / skills / basedhardware / omi / rule-updater
This skill reads, updates, and creates Cursor rules from patterns learned, improving accuracy and consistency across rule sets.
npx playbooks add skill basedhardware/omi --skill rule-updaterReview the files below or copy the command above to add this skill to your agents.
---
name: rule-updater
description: "Skill for programmatically reading, updating, and creating Cursor rules based on patterns and lessons learned"
---
# Rule Updater Skill
This skill enables programmatic reading, updating, and creation of Cursor rules based on patterns extracted from PRs, issues, and user interactions.
## When to Use
Use this skill when:
- Updating existing rules with new examples or patterns
- Creating new rules for emerging patterns
- Identifying when rules need updating
- Testing rule effectiveness
- Organizing and maintaining rules
## Key Capabilities
### 1. Read Existing Rules
**Read and parse rule files**:
- Read `.cursor/rules/*.mdc` files
- Parse frontmatter (description, alwaysApply, references)
- Extract content sections
- Understand rule structure
**Example**:
```python
# Read a rule file
rule_content = read_file(".cursor/rules/common-mistakes.mdc")
# Parse frontmatter
# Extract sections
# Understand structure
```
### 2. Identify When Rules Need Updating
**Detect update opportunities**:
- New patterns that fit existing rules
- Examples that should be added
- Clarifications needed
- Outdated information
**Signals**:
- Multiple PRs/issues showing same pattern
- User corrections revealing gaps
- Review feedback indicating missing guidance
- Emerging patterns not covered
### 3. Update Existing Rules
**Process for updating**:
1. Read the rule file
2. Identify where to add new content
3. Add examples or sections
4. Maintain organization
5. Update references if needed
6. Write updated rule
**Update types**:
- **Add examples**: Add new examples to existing sections
- **Enhance sections**: Expand existing sections with more detail
- **Add sections**: Add new sections for new patterns
- **Update references**: Add links to related rules/PRs/issues
**Example update**:
```markdown
### Using Deprecated Functions
**Problem**: Using functions that have been deprecated or removed.
**Examples from PR #3567**:
- ❌ Used `postprocess_conversation()` which was deprecated
- ❌ Assumed functions exist without checking current codebase state
**NEW EXAMPLE from PR #3621**:
- ❌ Used `old_function()` which was removed in PR #3400
```
### 4. Create New Rules
**Process for creating**:
1. Identify the pattern category
2. Collect 2-3 examples from PRs/issues/interactions
3. Determine rule file name and location
4. Write rule following format
5. Add frontmatter with appropriate metadata
6. Link from related rules
**Rule structure**:
```markdown
---
description: "Brief description"
alwaysApply: true/false
references:
- related-file.md
---
# Rule Title
## Section 1
Content...
## Section 2
Content...
## Related Rules
- Link to related rules
```
**Example new rule**:
```markdown
---
description: "Guidelines for handling background operations"
alwaysApply: true
---
# Background Operations
Features should work when app is closed/backgrounded.
## Common Mistakes
- Features that only work when app is open (#4355)
- Features that require specific screen to be active
## How to Avoid
- Design features to work in background
- Test with app closed/backgrounded
- Use background services where appropriate
```
### 5. Test Rule Effectiveness
**Verify updates don't break guidance**:
- Check rule syntax is valid
- Verify frontmatter is correct
- Ensure links work
- Test rule readability
**Metrics to track**:
- How often rule prevents mistakes
- Reduction in related issues after rule creation
- Rule coverage (scenarios covered)
- User feedback on rule usefulness
## Rule File Format
### Frontmatter
```yaml
---
description: "Brief description of what the rule covers"
alwaysApply: true # or false
references:
- related-file.md
- docs/doc/example.mdx
globs:
- "backend/**/*.py" # Optional: file patterns
---
```
### Content Structure
```markdown
# Rule Title
Brief introduction explaining the rule.
## Section 1
Content with examples, code snippets, etc.
## Section 2
More content...
## Related Rules
- `.cursor/rules/related-rule.mdc` - Description
## Related Cursor Resources
### Skills
- `.cursor/skills/related-skill/SKILL.md` - Description
### Commands
- `/related-command` - Description
```
## Update Patterns
### Adding Examples
**When**: New examples of existing patterns emerge
**How**:
1. Find relevant section
2. Add example with source (PR/issue number)
3. Maintain formatting consistency
4. Keep examples organized
**Example**:
```markdown
### Common Mistake
**Example from PR #3567**:
- ❌ Description of mistake
**Example from Issue #4394**:
- ❌ Description of mistake
```
### Enhancing Sections
**When**: Section needs more detail or clarification
**How**:
1. Expand existing content
2. Add more specific guidance
3. Include more examples
4. Add "How to avoid" subsections
### Adding Sections
**When**: New pattern category emerges
**How**:
1. Add new section with appropriate heading
2. Follow existing section format
3. Include examples
4. Add to table of contents if applicable
## Rule Organization
### Rule Categories
**Common categories**:
- Common mistakes
- Architecture patterns
- Implementation checklists
- Verification guidelines
- Communication best practices
- Domain-specific patterns (Omi, backend, Flutter, etc.)
### Naming Conventions
**Rule file names**:
- Use kebab-case: `common-mistakes.mdc`
- Be descriptive: `pre-implementation-checklist.mdc`
- Group related: `backend-architecture.mdc`, `backend-api-patterns.mdc`
### Linking Rules
**Cross-references**:
- Link related rules in "Related Rules" section
- Reference from other rules when relevant
- Keep links updated when rules are renamed
## Best Practices
1. **Be specific**: Include concrete examples, not vague patterns
2. **Reference sources**: Always note which PR/issue/interaction the lesson came from
3. **Maintain organization**: Keep rules well-organized and easy to navigate
4. **Test updates**: Verify rule updates don't break existing guidance
5. **Prioritize**: Focus on patterns that cause the most problems
6. **Iterate**: Rules should improve over time as more data is collected
## Example Workflow
**Updating a rule with new pattern**:
1. **Identify pattern**: "Multiple PRs show missing context issue"
2. **Read rule**: Read `.cursor/rules/context-communication.mdc`
3. **Find section**: Find "PR Description Requirements" section
4. **Add example**: Add example from recent PR
5. **Enhance guidance**: Expand "What to Include" subsection
6. **Update references**: Add link to new PR if relevant
7. **Write rule**: Save updated rule file
8. **Verify**: Check syntax and links
**Creating new rule**:
1. **Identify pattern**: "New pattern: Background operation issues"
2. **Collect examples**: Gather 2-3 examples from issues/PRs
3. **Determine name**: `background-operations.mdc`
4. **Write rule**: Create rule following format
5. **Add frontmatter**: Include description, alwaysApply, references
6. **Link from related**: Add link from `common-mistakes.mdc`
7. **Test**: Verify rule is valid and readable
## Related Cursor Resources
### Rules
- `.cursor/rules/common-mistakes.mdc` - Common mistakes rule
- `.cursor/rules/context-communication.mdc` - Communication rule
- `.cursor/rules/pre-implementation-checklist.mdc` - Checklist rule
### Skills
- `.cursor/skills/self-improvement/SKILL.md` - Self-improvement meta-skill
### Commands
- `/learn-from-pr` - Analyze PR for lessons
- `/self-improve` - Analyze patterns and update rules
This skill programmatically reads, updates, and creates Cursor rules from patterns discovered in PRs, issues, and user interactions. It automates rule maintenance so teams can capture recurring mistakes, enforce best practices, and surface new guidance quickly. The skill targets rule files, frontmatter metadata, and content sections to keep rule sets accurate and actionable.
The skill parses .cursor rule files, extracts frontmatter (description, alwaysApply, references, globs) and content sections, and understands the rule structure. It identifies update opportunities by scanning PRs, issues, and interaction logs for recurring patterns and then applies updates: adding examples, enhancing sections, or creating new rule files with proper metadata and links. It validates frontmatter, syntax, and cross-references and can report metrics on rule effectiveness.
How many examples are needed to create a new rule?
Collect 2–3 concrete examples from PRs or issues to justify a new rule and demonstrate the pattern.
Does the skill change rule file names automatically?
It recommends kebab-case descriptive names and can create new files, but renames should be reviewed to update cross-references safely.