# Creating Claude Rules

Use when creating or fixing .claude/rules/ files - provides correct paths frontmatter...

- Repository: https://github.com/AgentWorkforce/relay (1088 stars)
- Category: AI and agents
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add AgentWorkforce/relay --skill creating-claude-rules -g -a claude-code -y`
Codex: `npx skills add AgentWorkforce/relay --skill creating-claude-rules -g -a codex -y`
Cursor: `npx skills add AgentWorkforce/relay --skill creating-claude-rules -g -a cursor -y`
Gemini CLI: `npx skills add AgentWorkforce/relay --skill creating-claude-rules -g -a gemini-cli -y`

## Description

Use when creating or fixing .claude/rules/ files - provides correct paths frontmatter (not globs), glob patterns, and avoids Cursor-specific fields like alwaysApply

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Creating Claude Rules

## Overview

Rules in `.claude/rules/` are modular instructions scoped to specific files via glob patterns. They load automatically with same priority as `CLAUDE.md`.

## When to Use

- Creating new rules in `.claude/rules/`
- Fixing rules that use wrong frontmatter (`globs` instead of `paths`)
- Migrating Cursor rules to Claude format
- Organizing project-specific conventions

## Quick Reference

| Field         | Claude         | Cursor              |
| ------------- | -------------- | ------------------- |
| Path patterns | `paths`        | `globs`             |
| Always apply  | Omit `paths`   | `alwaysApply: true` |
| Description   | Not documented | `description`       |

## Frontmatter

### Path-Scoped Rules

```yaml
---
paths:
  - 'src/api/**/*.ts'
  - 'tests/**/*.test.ts'
---
```

Or single pattern:

```yaml
---
paths: src/**/*.{ts,tsx}
---
```

### Global Rules

Omit frontmatter entirely - applies to all files:

```markdown
# TypeScript Conventions

Use .js extensions in imports.
```

## Common Mistakes

```yaml
# ❌ WRONG - globs is Cursor format
---
globs:
  - '**/*.ts'
---
# ✅ CORRECT - Claude uses paths
---
paths:
  - '**/*.ts'
---
```

```yaml
# ❌ WRONG - alwaysApply is Cursor-only
---
alwaysApply: true
---
# ✅ CORRECT - just omit paths for global rules
# (no frontmatter needed)
```

```yaml
# ❌ WRONG - unquoted patterns
---
paths:
  - **/*.ts
---

# ✅ CORRECT - quote glob patterns
---
paths:
  - "**/*.ts"
---
```

## Directory Structure

```
.claude/rules/
├── testing.md          # Path-scoped or global
├── typescript.md
└── frontend/           # Subdirectories supported
    └── react.md
```

Files discovered recursively. Use subdirectories to organize.

## Glob Patterns

The rest: https://github.com/AgentWorkforce/relay/blob/HEAD/.claude/skills/creating-claude-rules-skill/SKILL.md
