AgentSkillsCN

Patterns

模式

SKILL.md

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