Back to skills
SkillHub ClubShip Full StackFull Stack

rules-builder

Imported from https://github.com/rafaelcalleja/claude-market-place.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
2
Hot score
79
Updated
March 20, 2026
Overall rating
C3.2
Composite score
3.2
Best-practice grade
D52.4

Install command

npx @skill-hub/cli install rafaelcalleja-claude-market-place-rules-builder

Repository

rafaelcalleja/claude-market-place

Skill path: plugins/rules-builder/skills/rules-builder

Imported from https://github.com/rafaelcalleja/claude-market-place.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: rafaelcalleja.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install rules-builder into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/rafaelcalleja/claude-market-place before adding rules-builder to shared team environments
  • Use rules-builder for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: rules-builder
description: Use when the user wants to create, edit, list, or manage Claude Code rules in .claude/rules/. Provides guided elicitation to configure path-specific rules with proper YAML frontmatter and glob patterns. Can list all available rules from user-level and project directories.
---

# Rules Builder

Interactive skill for creating and managing Claude Code modular rules using guided elicitation with `AskUserQuestion`.

## When to Use

- User wants to create a new rule file
- User wants to edit or delete an existing rule
- User wants to list or view existing rules
- User mentions `.claude/rules/`
- User asks about path-specific rules or glob patterns
- User wants to organize project instructions
- User wants personal rules across all projects

## Elicitation Approach

Use `AskUserQuestion` throughout the workflow to guide the user through all available options. Present relevant choices based on context and let the user shape the rule configuration step by step.

## What Can Be Done with Rules

### Rule Scope Options

| Scope | Description |
|-------|-------------|
| **Global** | Applies to all files in the project (no `paths` frontmatter) |
| **Path-specific** | Only applies to files matching glob patterns |

### Rule Locations

| Location | Path | Applies To |
|----------|------|------------|
| User-level | `~/.claude/rules/` | All your projects (personal preferences) |
| Project root | `.claude/rules/` | Current project only |
| Subdirectory | `.claude/rules/frontend/` | Current project, organized by domain |
| Subdirectory | `.claude/rules/backend/` | Current project, organized by domain |

**Priority**: User-level rules load first, project rules load after and can override.

### Glob Pattern Options

| Pattern | Matches |
|---------|---------|
| `**/*.ts` | All TypeScript files |
| `**/*.{ts,tsx}` | TypeScript and React files |
| `src/**/*` | All files under src/ |
| `src/api/**/*.ts` | API files only |
| `**/*.{test,spec}.ts` | Test files only |
| `*.config.{js,ts,json}` | Config files in root |
| `{src,lib}/**/*.ts` | Multiple directories |

See `${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/references/glob-patterns.md` for complete reference.

### Rule Categories

Common categories to organize rules:
- Code style and formatting
- Testing conventions
- Security requirements
- API development patterns
- Documentation standards
- Performance guidelines
- Framework-specific rules (React, Node, etc.)

### Frontmatter Options

Valid YAML frontmatter fields:

```yaml
---
paths: "src/**/*.ts"        # Glob pattern(s) - string or array
description: "API rules"    # Optional description (max 200 chars)
priority: 75                # Optional priority 0-100 (default 50)
enabled: true               # Optional enable/disable (default true)
---
```

Validate against schema: `${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/schemas/rule-frontmatter.schema.json`

### Available Operations

| Operation | Description |
|-----------|-------------|
| **Create** | New rule file with guided configuration |
| **Edit** | Modify existing rule (scope, content, frontmatter) |
| **Delete** | Remove a rule file |
| **List** | Show all rules in project or user directory |
| **Validate** | Check frontmatter against schema |
| **Move** | Change rule location (project ↔ user-level) |

## Workflow

1. **Determine intent** - Create, edit, delete, or list rules
2. **Elicit configuration** - Use `AskUserQuestion` to gather:
   - Rule scope (global vs path-specific)
   - Target files (glob patterns)
   - Location (user-level vs project)
   - Category and filename
   - Initial content suggestions
3. **Generate/modify file** - Create or edit the rule with proper frontmatter
4. **Validate** - Check frontmatter against JSON schema
5. **Confirm** - Show result and offer next actions

## User-Level Rules

Personal rules in `~/.claude/rules/` apply to all projects:

```
~/.claude/rules/
├── preferences.md    # Personal coding preferences
├── workflows.md      # Preferred workflows
└── shortcuts.md      # Personal shortcuts
```

Use cases:
- Consistent style across all projects
- Personal workflow reminders
- Default behaviors that projects can override

## Organizing Rules

### By Domain (Subdirectories)

```
.claude/rules/
├── frontend/
│   ├── react.md
│   └── styles.md
├── backend/
│   ├── api.md
│   └── database.md
└── general.md
```

### By Scope (Path-Specific)

```yaml
---
paths: src/api/**/*.ts
---
# API Rules
```

### Symlinks for Shared Rules

```bash
ln -s ~/shared-rules .claude/rules/shared
ln -s ~/company-standards/security.md .claude/rules/security.md
```

## Best Practices

- **Keep rules focused** - One topic per file
- **Use descriptive filenames** - `code-style.md` not `rules1.md`
- **Use conditional rules sparingly** - Only when truly path-specific
- **Organize with subdirectories** - Group related rules
- **Be specific** - "Use 2-space indentation" not "Format properly"
- **Review periodically** - Update as project evolves

## Listing Rules

To show all available rules from both user-level and project directories:

```bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/scripts/list_rules.py [project_path]
```

**Examples:**
```bash
# List rules for current directory
python3 ${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/scripts/list_rules.py

# List rules for specific project
python3 ${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/scripts/list_rules.py /path/to/project
```

**Output includes:**
- User-level rules from `~/.claude/rules/`
- Project rules from `<project>/.claude/rules/`
- For each rule: name, path, description, glob patterns, scope, priority, enabled status

## Validation

Before saving, validate frontmatter against the JSON schema:

| Field | Type | Constraints |
|-------|------|-------------|
| `paths` | string or string[] | Valid glob pattern(s) |
| `description` | string | Max 200 characters |
| `priority` | integer | 0-100, default 50 |
| `enabled` | boolean | default true |

## References

- **Glob patterns**: `${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/references/glob-patterns.md`
- **Frontmatter schema**: `${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/schemas/rule-frontmatter.schema.json`
- **List rules script**: `${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/scripts/list_rules.py`
- **Validate script**: `${CLAUDE_PLUGIN_ROOT}/skills/rules-builder/scripts/validate_frontmatter.py`

## Examples

**Create API-specific rules**
```
User: "I want rules for my API endpoints"
-> Elicit scope, patterns, location, category
-> Create .claude/rules/api.md with paths: src/api/**/*.ts
```

**Edit existing rule scope**
```
User: "Update testing rules to include integration tests"
-> List rules, elicit selection
-> Show current config, elicit changes
-> Update paths to **/*.{test,spec,integration}.ts
```

**Create personal preferences**
```
User: "Add my coding preferences for all projects"
-> Elicit location (user-level)
-> Create ~/.claude/rules/preferences.md
```

**Organize by domain**
```
User: "Organize my frontend rules"
-> Elicit subdirectory structure
-> Create .claude/rules/frontend/ with react.md, styles.md
```

**List all rules**
```
User: "Show me all my rules"
-> Run list_rules.py script
-> Display user-level and project rules with metadata
-> Offer to edit, delete, or create new rules
```
rules-builder | SkillHub