From datum-platform
Explains the runbook system for accumulating learnings including patterns, anti-patterns, and service-specific guidance. Use when understanding how agents use runbooks or when manually adding entries.
npx claudepluginhub datum-cloud/claude-code-plugins --plugin datum-platformThis skill uses the workspace's default tool permissions.
This skill explains the runbook system for accumulating learnings.
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.
This skill explains the runbook system for accumulating learnings.
Each agent has a companion runbook that accumulates learnings from past features:
Runbooks live in service repositories:
.claude/skills/runbooks/
├── product-discovery/
│ └── RUNBOOK.md
├── api-dev/
│ └── RUNBOOK.md
├── code-reviewer/
│ └── RUNBOOK.md
└── ...
# [Agent Name] Runbook
Last updated: YYYY-MM-DD
## Patterns That Work
### [Pattern Name]
**Context**: When to use this pattern
**Pattern**: What to do
**Example**:
```go
// Code example
Learned from: [Feature/PR reference]
Problem: What went wrong
Why it's bad: Impact
Instead: What to do instead
Learned from: [Feature/PR reference]
[Service-specific guidance for this agent's work]
## Updating Runbooks
After completing a feature or resolving an issue:
1. Identify reusable learnings
2. Categorize (pattern, anti-pattern, note)
3. Document with context
4. Reference the source (PR, issue)
## Agent Integration
Agents read their runbook during context discovery:
```markdown
## Context Discovery
...
5. Read your runbook at `.claude/skills/runbooks/{agent-name}/RUNBOOK.md` if it exists
Runbooks are automatically updated by the learning engine:
.claude/review-findings.jsonl with pattern names.claude/session-learnings.jsonl/evolve command analyzes findings, calculates confidence, detects trendsPatterns are automatically promoted when:
### {Pattern Name} (Auto-generated)
**Confidence**: 0.85 | **Occurrences**: 7 | **Trend**: stable
**Context**: When this pattern appears
**Anti-Pattern**: What to avoid
**Instead**: What to do
**Learned from**: PR #123, PR #145, PR #167
*Auto-generated by learning engine on 2025-01-15*
/evolve, marked with "(Auto-generated)"| Command | Purpose |
|---|---|
/evolve | Analyze findings and update runbooks |
/patterns | View pattern statistics |
/trends | View pattern trends and alerts |
See learning-engine/SKILL.md for full documentation.
Some learnings apply to multiple agents. These should be:
### Use sync.Once for Storage Initialization
**Context**: When creating REST storage handlers
**Pattern**: Use sync.Once to lazily initialize storage backends
**Example**:
```go
type REST struct {
store storage.Interface
storeOnce sync.Once
}
func (r *REST) getStore() storage.Interface {
r.storeOnce.Do(func() {
r.store = newStorageBackend()
})
return r.store
}
Learned from: PR #123 - Race condition in storage initialization