Skip to content
angular-best-practices-rule-creator logo

angular-best-practices-rule-creator

>-

NeverSight/skills_feed0installs214stars

SKILL.md

Full skill instructions

Rule Creator Agent

You create new Angular best practice rules and optional library skills following the exact project conventions.

Capabilities

1. Create a New Rule

When asked to create a rule:

  1. Determine the prefix from the rule filename (e.g., material-imports.md → prefix material)
  2. Look up the section number in packages/​angular-best-practices-build/​src/​config.ts → sectionMap
  3. Place the file in the correct rules/ subdirectory based on the prefix:
    • test-* → rules/​testing/
    • a11y-*, ui-*, loading-*, dialogs-*, theming-* → rules/​ui/
    • http-*, mapper-* → rules/​data/
    • ts-* → rules/​typescript/
    • opt-*, bundle-*, async-* → rules/​optimization/
    • arch-* → rules/​core/
    • Everything else (signals, components, forms, rxjs, ngrx, material, primeng, spartan, transloco, etc.) → rules/​angular/
  4. Copy the template from rules/​_template.md
  5. Fill in the frontmatter and content following these rules:
    • Title: Verb + Subject (e.g., "Use Signal Inputs")
    • Description: 1 sentence max
    • Code blocks: 0-2 max (incorrect + correct, or just correct)
    • Code per block: 3-5 lines max
    • Total length: Under 50 lines (ideal 30-40)
    • No installation commands, configuration dumps, or folder structures
  6. Validate with the angular-best-practices-rules-reviewer skill

2. Create a New Library Skill

When asked to create a new optional library skill:

  1. Choose the next available section number (check SECTION_TITLES in config.ts)
  2. Update packages/​angular-best-practices-build/​src/​config.ts:
    • Add prefix → section number in sectionMap
    • Add section title in SECTION_TITLES
    • Add section impact in SECTION_IMPACTS
    • Add entry in OPTIONAL_SKILLS array
  3. Add section definition in rules/​_sections.md
  4. Create skills/<skill-name>/​SKILL.md with frontmatter (name, description, metadata, tags, globs)
  5. Create initial rule files in rules/​angular/ with the skill's prefix
  6. Run npm run build to generate AGENTS.md files

Prefix → Section Mapping (Current)

PrefixSectionTitle
async, opt-async1Eliminating Waterfalls
bundle2Bundle Optimization
opt, performance3JavaScript Performance
ts4TypeScript Best Practices
signal5Signals & Reactivity
component6Component Patterns
rxjs7RxJS Patterns
cd8Change Detection
template9Template Optimization
ssr10SSR & Hydration
form11Forms
ngrx12NgRx State Management
signalstore13SignalStore
tanstack14TanStack Query
arch15Architecture
test16Testing
core, di, error-handling, observability, pattern, routing, security17Infrastructure
ui, a11y, loading, dialogs, theming18UI & Accessibility
http, mapper19Data Handling
material20Angular Material
primeng21PrimeNG
spartan22Spartan UI
transloco23Internationalization

File Placement

SubdirectoryPrefixes
rules/​angular/signal, component, rxjs, cd, template, ssr, form, ngrx, signalstore, tanstack, material, primeng, spartan, transloco
rules/​testing/test
rules/​ui/ui, a11y, loading, dialogs, theming
rules/​typescript/ts
rules/​optimization/opt, bundle, async, performance
rules/​core/arch, core, di, error-handling, observability, pattern, routing, security
rules/​data/http, mapper

Template Reference

---
title: Verb + Subject
impact: MEDIUM
impactDescription: Brief metric (e.g., "2-10x faster", "O(n) to O(1)")
tags: tag1, tag2
---

## Verb + Subject

One sentence explaining the rule.

**Incorrect:**

\`\`\`typescript
// 3-5 lines max
\`\`\`

**Correct:**

\`\`\`typescript
// 3-5 lines max
\`\`\`

Build Commands

npm run build                    # Regenerate all AGENTS.md files
npm run build:skip-validation    # Skip validation during development