Agent skill
ln-640-pattern-evolution-auditor
Audits architectural patterns against best practices (MCP Ref, Context7, WebSearch). Maintains patterns catalog, calculates 4 scores, creates refactor Stories via ln-220. Use when user asks to: (1) Check architecture health, (2) Audit patterns before refactoring, (3) Find undocumented patterns in codebase.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/ln-640-pattern-evolution-auditor
SKILL.md
Pattern Evolution Auditor
L2 Coordinator that analyzes implemented architectural patterns against current best practices, tracks evolution over time, and creates Stories for improvements.
Purpose & Scope
- Maintain
docs/project/patterns_catalog.mdwith implemented patterns - Research best practices via MCP Ref, Context7, WebSearch
- Audit layer boundaries via ln-642 (detect violations, check coverage)
- Calculate 4 scores per pattern via ln-641
- Create Stories for patterns with score < 70% via ln-220
- Track quality trends over time (improving/stable/declining)
4-Score Model
| Score | What it measures | Threshold |
|---|---|---|
| Compliance | Industry standards, ADR/Guide, naming, layer boundaries | 70% |
| Completeness | All components, error handling, tests, docs | 70% |
| Quality | Readability, maintainability, no smells, SOLID, no duplication | 70% |
| Implementation | Code exists, production use, integrated, monitored | 70% |
Worker Invocation
CRITICAL: All delegations use Task tool with
subagent_type: "general-purpose"for context isolation.
| Worker | Purpose | Phase |
|---|---|---|
| ln-641-pattern-analyzer | Calculate 4 scores per pattern | Phase 4 |
| ln-642-layer-boundary-auditor | Detect layer violations | Phase 3 |
| ln-220-story-coordinator | Create refactor Stories | Phase 6 |
Prompt template:
Task(description: "[Audit/Create] via ln-6XX",
prompt: "Execute {skill-name}. Read skill from {skill-name}/SKILL.md. Pattern: {pattern}",
subagent_type: "general-purpose")
Anti-Patterns:
- ❌ Direct Skill tool invocation without Task wrapper
- ❌ Any execution bypassing subagent context isolation
Workflow
Phase 1: Discovery
1. Load docs/project/patterns_catalog.md
IF missing → create from shared/templates/patterns_template.md
2. Load docs/reference/adrs/*.md → link patterns to ADRs
Load docs/reference/guides/*.md → link patterns to Guides
3. Auto-detect undocumented patterns
Use patterns from common_patterns.md "Pattern Detection" table
IF found but not in catalog → add as "Undocumented"
Phase 2: Best Practices Research
FOR EACH pattern WHERE last_audit > 30 days OR never:
# MCP Ref + Context7 + WebSearch
ref_search_documentation("{pattern} best practices {tech_stack}")
IF pattern.library: query-docs(library_id, "{pattern}")
WebSearch("{pattern} implementation best practices 2026")
→ Store: contextStore.bestPractices[pattern]
Phase 3: Layer Boundary Audit
Task(ln-642-layer-boundary-auditor)
Input: architecture_path, codebase_root, skip_violations
Output: violations[], coverage{}
# Apply deductions to affected patterns (per scoring_rules.md)
FOR EACH violation IN violations:
affected_pattern = match_violation_to_pattern(violation)
affected_pattern.issues.append(violation)
affected_pattern.compliance_deduction += get_deduction(violation)
Phase 4: Pattern Analysis Loop
FOR EACH pattern IN catalog:
Task(ln-641-pattern-analyzer)
Input: pattern, locations, adr_reference, bestPractices
Output: scores{}, issues[], gaps{}
**Task tool result contract:**
- ln-641 returns: `{scores: {compliance, completeness, quality, implementation}, issues: [], gaps: {}}`
- ln-642 returns: `{violations: [{severity, location, code, suggestion}], coverage: {layer: %}}`
# Merge layer violations from Phase 3
pattern.issues += layer_violations.filter(v => v.pattern == pattern)
pattern.scores.compliance -= compliance_deduction
pattern.scores.quality -= quality_deduction
Phase 5: Gap Analysis
gaps = {
undocumentedPatterns: found in code but not in catalog,
implementationGaps: ADR decisions not implemented,
layerViolations: code in wrong architectural layers,
consistencyIssues: conflicting patterns
}
Phase 6: Story Creation (via ln-220)
REFACTORING PRINCIPLE (MANDATORY):
Stories MUST include: "Zero Legacy / Zero Backward Compatibility" — no compatibility hacks, clean architecture is priority.
refactorItems = patterns WHERE any_score < 70%
IF refactorItems.length > 0:
# Auto-detect Epic (Architecture/Refactoring/Technical Debt)
targetEpic = find_epic(["Architecture", "Refactoring", "Technical Debt"])
IF not found → AskUserQuestion
FOR EACH pattern IN refactorItems:
Task(ln-220-story-coordinator)
Create Story with AC from issues list
MANDATORY AC: Zero Legacy principle
Phase 7: Report + Trend Analysis
1. Update patterns_catalog.md:
- Pattern scores, dates, Story links
- Layer Boundary Status section
- Quick Wins section
- Patterns Requiring Attention section
2. Calculate trend: compare current vs previous scores
3. Output summary:
- Patterns analyzed: N
- Layer violations: M
- Architecture Health Score: X%
- Trend: improving/stable/declining
Critical Rules
- MCP Ref first: Always research best practices before analysis
- Layer audit first: Run ln-642 before ln-641 pattern analysis
- 4 scores mandatory: Never skip any score calculation
- Layer deductions: Apply scoring_rules.md deductions for violations
- ln-220 for Stories: Create Stories, not standalone tasks
- Zero Legacy: Refactor Stories must include "no backward compatibility" AC
- Auto-detect Epic: Only ask user if cannot determine automatically
Definition of Done
- Pattern catalog loaded or created
- Best practices researched for all patterns needing audit
- Layer boundaries audited via ln-642 (violations detected, coverage calculated)
- All patterns analyzed via ln-641 (4 scores with layer deductions applied)
- Gaps identified (undocumented, unimplemented, layer violations, inconsistent)
- Stories created via ln-220 for patterns with score < 70%
- Catalog updated with scores, dates, Layer Boundary Status, Story links
- Trend analysis completed
- Summary report output
Reference Files
- Pattern catalog template:
shared/templates/patterns_template.md - Common patterns detection:
references/common_patterns.md - Scoring rules:
references/scoring_rules.md - Pattern analysis:
../ln-641-pattern-analyzer/SKILL.md - Layer boundary audit:
../ln-642-layer-boundary-auditor/SKILL.md - Story creation:
../ln-220-story-coordinator/SKILL.md
Version: 1.1.0 Last Updated: 2026-01-29
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?