AgentSkillsCN

rule-creator

根据项目规范、前缀与章节映射,以及模板标准,创建新的规则文件与库级技能。

SKILL.md
--- frontmatter
name: rule-creator
description: Creates new rule files and library skills following project conventions, prefix-to-section mapping, and template standards.

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.tssectionMap
  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 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, 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, error-handling, observability, pattern, routing, security
rules/data/http, mapper

Template Reference

markdown
---
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

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