agentworkforce/creating-claude-rules
Use when creating or fixing .claude/rules/ files - provides correct paths frontmatter (not globs), glob patterns, and avoids Cursor-specific fields like alwaysApply
npx skills add https://github.com/AgentWorkforce/relay --skill creating-claude-rules
Rules in .claude/rules/ are modular instructions scoped to specific files via glob patterns. They load automatically with same priority as CLAUDE.md.
.claude/rules/globs instead of paths)| Field | Claude | Cursor |
| ------------- | -------------- | ------------------- |
| Path patterns | paths | globs |
| Always apply | Omit paths | alwaysApply: true |
| Description | Not documented | description |
---
paths:
- 'src/api/**/*.ts'
- 'tests/**/*.test.ts'
---
Or single pattern:
---
paths: src/**/*.{ts,tsx}
---
Omit frontmatter entirely - applies to all files:
# TypeScript Conventions
Use .js extensions in imports.
# ❌ WRONG - globs is Cursor format
---
globs:
- '**/*.ts'
---
# ✅ CORRECT - Claude uses paths
---
paths:
- '**/*.ts'
---
# ❌ WRONG - alwaysApply is Cursor-only
---
alwaysApply: true
---
# ✅ CORRECT - just omit paths for global rules
# (no frontmatter needed)
# ❌ WRONG - unquoted patterns
---
paths:
- **/*.ts
---
# ✅ CORRECT - quote glob patterns
---
paths:
- "**/*.ts"
---
.claude/rules/
├── testing.md # Path-scoped or global
├── typescript.md
└── frontend/ # Subdirectories supported
└── react.md
Files discovered recursively. Use subdirectories to organize.
| Pattern | Matches |
| ------------------- | ---------------------- |
| **/*.ts | All .ts files anywhere |
| src/**/* | Everything under src/ |
| *.md | Markdown in root only |
| **/*.{ts,tsx} | .ts and .tsx files |
| {src,lib}/**/*.ts | .ts in src/ or lib/ |
https://code.claude.com/docs/en/memory#modular-rules-with-claude/rules/
Take agentworkforce/creating-claude-rules 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.