install
source · Clone the upstream repo
git clone https://github.com/ai-analyst-lab/ai-analyst
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ai-analyst-lab/ai-analyst "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/patterns" ~/.claude/skills/ai-analyst-lab-ai-analyst-patterns && rm -rf "$T"
manifest:
.claude/skills/patterns/skill.mdsource content
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
or "what patterns have we seen?"/patterns - 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
- Read
for the active dataset..knowledge/analyses/_patterns.yaml - If
flag: also read--global
..knowledge/global/cross_dataset_observations.yaml - 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:
- 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
- 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
- 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