Ai-analyst patterns

Skill: Patterns

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.md
source 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
    /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