From datum-platform
Analyze review findings and session learnings to extract patterns, update the pattern registry, and automatically promote high-confidence patterns to agent runbooks. Run periodically to keep runbooks current.
npx claudepluginhub datum-cloud/claude-code-plugins --plugin datum-platformThis skill uses the workspace's default tool permissions.
Extracts patterns from accumulated findings and evolves agent runbooks with learned knowledge.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Extracts patterns from accumulated findings and evolves agent runbooks with learned knowledge.
/evolve Full analysis and promotion
/evolve --dry-run Show what would be promoted without making changes
/evolve --since <days> Only analyze findings from last N days
/evolve --pattern <name> Analyze specific pattern only
/evolve --agent <name> Only update runbooks for specific agent
Options: $ARGUMENTS
Load review findings
# Read all findings
cat .claude/review-findings.jsonl
Load session learnings
# Read agent-contributed learnings
cat .claude/session-learnings.jsonl
Load existing pattern registry
cat .claude/patterns/patterns.json
For each finding:
Extract or infer pattern name
pattern field if presentunvalidated-inputconcurrency-racemissing-status-conditionnil-dereferencehardcoded-valueGroup findings by pattern
Calculate confidence score
confidence = (
0.4 * min(count/10, 1.0) + # Occurrence frequency
0.3 * severity_score + # Severity weight
0.2 * recency_score + # Recent patterns matter more
0.1 * consistency_score # Cross-service patterns
)
Detect trends
Update .claude/patterns/patterns.json:
{
"patterns": {
"pattern-name": {
"name": "pattern-name",
"description": "What this pattern represents",
"category": "correctness|security|convention|completeness|performance",
"severity": "blocking|warning|nit",
"occurrences": [...],
"count": 7,
"first_seen": "2024-11-01",
"last_seen": "2025-01-15",
"trend": "stable|increasing|decreasing|new|resolved",
"confidence": 0.85,
"affected_agents": ["api-dev", "code-reviewer"],
"fix_template": "How to fix this issue",
"promoted_to_runbook": false
}
},
"meta": {
"last_analysis": "2025-01-15T10:30:00Z",
"total_findings_analyzed": 142,
"total_patterns": 23
}
}
For patterns meeting promotion criteria:
Generate runbook entry:
### {Pattern Name} (Auto-generated)
**Confidence**: {score} | **Occurrences**: {count} | **Trend**: {trend}
**Context**: {When this pattern appears}
**Anti-Pattern**: {What to avoid}
**Instead**: {What to do}
**Example**:
```go
{Code example}
Learned from: {PR references}
Auto-generated on {date}
Append to `.claude/skills/runbooks/{agent}/RUNBOOK.md` for each affected agent.
### Phase 5: Generate Reports
**Trend alerts** (written to `.claude/patterns/trends.json`):
```json
{
"alerts": [
{
"type": "increasing_pattern",
"pattern": "unvalidated-input",
"message": "Input validation issues increased 150% this month"
}
]
}
Cross-service alerts:
=== EVOLVE ANALYSIS ===
Findings analyzed: 47 (last 30 days)
Patterns identified: 12
New patterns: 2
Updated patterns: 8
=== PATTERN SUMMARY ===
HIGH CONFIDENCE (>= 0.8):
missing-status-condition [12 occurrences] [stable] → Promoted to: api-dev
unvalidated-input [8 occurrences] [increasing] → Promoted to: api-dev
MEDIUM CONFIDENCE (0.6-0.8):
storage-init-race [4 occurrences] [stable] → Promoted to: api-dev
missing-error-context [3 occurrences] [new] → Promoted to: api-dev
LOW CONFIDENCE (< 0.6):
import-ordering [2 occurrences] [stable] → Tracking only
=== TREND ALERTS ===
⚠️ INCREASING: unvalidated-input (+150% vs last month)
Consider: Team training on input validation patterns
✅ DECREASING: hardcoded-value (-60% vs last month)
Team may be improving on this pattern
=== RUNBOOK UPDATES ===
Updated: .claude/skills/runbooks/api-dev/RUNBOOK.md
+ Added: missing-status-condition (anti-pattern)
+ Added: unvalidated-input (anti-pattern)
+ Added: storage-init-race (anti-pattern)
Updated: .claude/skills/runbooks/code-reviewer/RUNBOOK.md
+ Added: missing-status-condition (check priority)
+ Added: unvalidated-input (check priority)
=== CROSS-SERVICE ALERTS ===
⚠️ Pattern 'storage-init-race' found in compute-api
May also exist in: network-api, storage-api
Check: pkg/registry/*/storage.go
=== NEXT STEPS ===
1. Review auto-generated runbook entries
2. Address increasing pattern: unvalidated-input
3. Investigate cross-service alert for storage-init-race
No findings file:
No findings found at .claude/review-findings.jsonl
Run code reviews to generate findings, then try again.
No new patterns:
No new patterns detected since last analysis.
Pattern registry is up to date.
After /evolve completes:
Recommended schedule:
/evolve analysislearning-engine/SKILL.md — Overview of learning systemlearning-engine/analysis.md — Pattern analysis algorithmslearning-engine/promotion.md — Runbook promotion rulesrunbooks/SKILL.md — Runbook structure and conventions