Create rule
Personal Claude Code / Cursor agent skills, rules, and config
npx -y skills add paultyng/skill-issue --skill create-ruleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when creating, writing, or updating a Claude Code rule file (.claude/rules/*.md or ~/.claude/rules/*.md), or when asking about rule format, path scoping, or rule best practices.
SKILL.md
3.9 KB, as published. Nobody here has run it
Create Rule
Rules vs CLAUDE.md vs Skills
Choose the right mechanism before writing anything:
| Mechanism | When to use | Loads |
|---|---|---|
| Rule | Behavioral instructions scoped to a topic or file type | Every session (or on path match) |
| CLAUDE.md | Broad project context: build commands, architecture, workflows | Every session |
| Skill | Repeatable on-demand workflows | Only when invoked |
If the instruction only makes sense for certain file types (e.g. Go, test files), use a path-scoped rule. If it's a repeatable task workflow, use a skill instead.
Storage Locations
| Scope | Path |
|---|---|
| Personal, all projects on this machine | ~/.claude/rules/<topic>.md |
| Project, shared with team via git | .claude/rules/<topic>.md |
Rules in subdirectories are discovered recursively (e.g. .claude/rules/frontend/react.md works).
Rule File Format
---
paths: # optional; omit for always-load
- "**/*.go"
- "**/*_test.go"
---
# rule-name
Instructions...
No paths frontmatter → rule loads every session.
paths present → rule loads only when Claude opens a matching file.
Path Scoping Decision
Use always-load (no frontmatter) for:
- Universal behaviors: commit style, escalation policy, output verbosity
- Toolchain choices: task runner, package manager, CI tooling
Use path-scoped for:
- Language conventions:
**/*.go,**/*.ts,**/*.py - Test files:
**/*_test.go,**/*.test.ts,**/*.spec.ts - Domain directories:
src/api/**/*,e2e/**/*.go,migrations/**/*.sql
See references/rule-patterns.md for glob pattern examples.
Writing Effective Rules
- Specific and verifiable: "Use 2-space indentation" not "format code nicely"
- One topic per file with a descriptive filename (
testing.md,api-design.md) - Under 200 lines. Longer files reduce adherence; split if growing large
- Markdown structure: use headers and bullets, not dense paragraphs
- No contradictions across rule files; audit when adding new ones
- IMPORTANT / YOU MUST emphasis for rules that are frequently violated
Workflow
- New or update? Check existing rules in the target directory for overlap
- Scope: personal (
~/.claude/rules/) or project (.claude/rules/)? - Path scope: universal (no frontmatter) or file-type specific?
- Check for conflicts: scan existing rules for contradictions or duplication
- Write the file: concrete, verifiable instructions; one topic
- Verify: confirm file is under 200 lines and uses specific language
Authoring Checklist
- Description starts with "Use when..." if this is actually a skill (wrong tool if so)
- Topic is focused: one concern per file
- Path scope matches actual applicability (don't always-load a Go-only rule)
- Instructions are concrete and verifiable, not vague
- No contradictions with existing rules in the same directory
- File is under 200 lines
Anti-Patterns
- Vague rules: "write clean code", "be consistent". Not actionable
- Duplicating defaults: don't document what Claude already does correctly
- Over-specifying: bloated rule files cause Claude to ignore them
- Wrong scope: file-type-specific rules (Go, SQL) in always-load waste context
- Contradictions: two rules giving conflicting guidance on the same behavior
- Workflow steps in rules: if it's a multi-step process, use a skill instead
Additional Resources
- Full glob pattern examples and good/bad rule samples: references/rule-patterns.md
- Official docs: https://code.claude.com/docs/en/memory#organize-rules-with-clauderules