Browse and search recurring patterns discovered across analyses. Patterns are auto-extracted after each analysis archive and represent behaviors that appear consistently in the data.
Scanned 5/27/2026
Install via CLI
openskills install ai-analyst-lab/ai-analyst# Skill: Patterns
## Purpose
Browse and search recurring patterns discovered across analyses. Patterns
are auto-extracted after each analysis archive and represent behaviors that
appear consistently in the data.
## When to Use
- User says `/patterns` or "what patterns have we seen?"
- During analysis, to check if a finding matches a known pattern
- At session start, to remind the user of established behaviors
## Invocation
`/patterns` — list patterns for the active dataset
`/patterns --global` — list patterns across all datasets
`/patterns search={term}` — search patterns by keyword
`/patterns {id}` — show full details for a specific pattern
## Instructions
### Step 1: Load Patterns
1. Read `.knowledge/analyses/_patterns.yaml` for the active dataset.
2. If `--global` flag: also read `.knowledge/global/cross_dataset_observations.yaml`.
3. If empty: "No patterns recorded yet. Complete a few analyses and patterns will emerge."
### Step 2: Execute Command
**List patterns (`/patterns`):**
- Filter to active dataset (unless `--global`)
- Sort by occurrences descending (most established first)
- Display as a table: type, description, occurrences, confidence, last seen
- Show total count
**Show specific (`/patterns {id}`):**
- Display: description, type, all evidence (with analysis IDs), dimensions,
metrics, suggested investigation
- Offer: "Want to investigate this pattern further?"
**Search (`/patterns search={term}`):**
- Search across description, dimensions, metrics, tags
- Display matching patterns as a table
**Global (`/patterns --global`):**
- Include cross-dataset observations alongside per-dataset patterns
- Note which dataset each pattern was observed in
### Step 3: Contextual Suggestions
After displaying patterns:
- "Want to check if {pattern} still holds in the current data?"
- "Want to use {pattern} as context for a new analysis?"
- "This pattern was last seen {N} days ago — may need revalidation."
## Pattern Extraction (Auto)
After each analysis archive (triggered by archive-analysis skill), scan the
new analysis for potential patterns:
1. Compare new findings to existing patterns:
- If a finding matches an existing pattern → increment occurrences, update last_seen
- If a finding is new but could extend a pattern → add as evidence
2. Look for NEW patterns:
- Same metric behavior across 2+ analyses → candidate pattern
- Same segment consistently outperforming → candidate pattern
- Recurring anomaly at similar times → candidate pattern
3. Write updated patterns back to `_patterns.yaml`
Minimum 2 occurrences to create a pattern. Single-occurrence findings are
just findings, not patterns.
## Edge Cases
- **No patterns:** Suggest running more analyses
- **Stale patterns (last_seen >60 days):** Flag as potentially outdated
- **Contradictory patterns:** Flag and suggest investigation
- **Too many patterns (>50):** Show top 20 by occurrences, offer pagination
No comments yet. Be the first to comment!