fetch-rules
Fetch Rules
Purpose
This skill emulates Cursor's rule selection behavior for AI agents.
It discovers and selects rules from:
- Project Rules (
.cursor/rules/).mdcfiles with frontmatter (description,globs,alwaysApply).mdfiles without frontmatter (treated as always-apply)
- AGENTS.md files (root and nested subdirectories)
- Legacy
.cursorrulesat repo root (deprecated but still supported)
Rule Selection Semantics
| Rule Type | Selection Behavior |
|---|---|
alwaysApply: true |
Always included |
Simple .md (no frontmatter) |
Always included |
globs: ... |
Included when any candidate file matches |
description: ... |
Included when prompt overlaps with description keywords |
No metadata (.mdc only) |
Included only when explicitly referenced |
AGENTS.md |
Always included when in scope (directory hierarchy) |
Candidate files come from --files, --use-git-diff, and file-like paths found in --prompt.
Requirements
bash(macOS / Linux default)gitoptional (only if you use--use-git-diff)
No Python, Node, or jq required.
Usage
Run commands from this skill directory (the directory containing this SKILL.md). Do not hardcode agent install paths.
bash scripts/fetch_rules.sh --prompt "<your request>"
Optional file hints:
bash scripts/fetch_rules.sh --prompt "<request>" --files path/to/a.ts path/to/b.sql
bash scripts/fetch_rules.sh --prompt "<request>" --use-git-diff
Force-include a rule by filename:
bash scripts/fetch_rules.sh --prompt "<request>" --explicit global.mdc
bash scripts/fetch_rules.sh --prompt "<request>" --explicit react-patterns.md
Supported Formats
| Format | Location | Description |
|---|---|---|
.mdc |
.cursor/rules/ |
Rules with YAML frontmatter for fine-grained control |
.md |
.cursor/rules/ |
Simple markdown rules (always applied) |
AGENTS.md |
Root or subdirs | Simple agent instructions (always applied in scope) |
.cursorrules |
Root only | Legacy format (deprecated, will be removed) |
Notes
- If multiple rules share the same filename, the rule in the closest scoped directory wins (deepest scope).
- Glob matching uses bash pattern matching (
[[ file == pattern ]]). Cursor-style**works effectively as*in this matcher. AGENTS.mdfiles are combined hierarchically—parent directories' instructions apply alongside more specific subdirectory instructions.
More from dolesshq/self-obsolescence
lint-build-loop
Run `npm run lint && npm run build` in a loop, fixing errors until both succeed. Use when the user asks to iterate on lint/build failures.
14review-plan-implementation
Review an implemented .plan.md by executing the instructions in its ## Reviewer Handoff section.
14execute-plan
Execute an existing plan file. Use when a user asks to carry out a .plan.md task list.
13supabase-reset-test-gen-loop
Iteratively run a local Supabase reset, database tests, and type generation until they succeed, fixing issues between runs. Use when asked to reset the local Supabase DB, run `supabase test db`, and regenerate types (`npm run gen-types`) in a loop.
13create-plan
Create a concise plan. Use when a user explicitly asks for a plan related to a coding task.
12summarize-changes
Summarize code changes by author type and scope. Inputs are author and scope with product plus PR as defaults.
12