.claude/skills/archive-analysis/SKILL.md
# Skill: Archive Analysis ## Purpose Save a completed analysis to the knowledge system's analysis archive for future recall. Captures key findings, metrics used, agents invoked, and output file paths so that past work can be referenced in future sessions. ## When to Use - After completing an L3+ analysis (post-validation) - After `/run-pipeline` completes successfully - User says "save this analysis" or "archive this" - Automatically triggered at the end of Step 18 (Close the Loop) ## Instruc
npx skillsauth add ai-analyst-lab/ai-analyst .claude/skills/archive-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Save a completed analysis to the knowledge system's analysis archive for future recall. Captures key findings, metrics used, agents invoked, and output file paths so that past work can be referenced in future sessions.
/run-pipeline completes successfullyCollect from the current session:
.knowledge/active.yamloutputs/ and working/Generate a unique ID: analysis_{YYYYMMDD}_{HHMMSS}
Build the entry dict following .knowledge/analyses/_schema.yaml.
.knowledge/analyses/index.yamlanalyses listtotal_analyseslast_updated to current dateindex.yaml.knowledge/datasets/{active}/manifest.yamlanalysis_countlast_used to current dateReport to user:
Analysis archived: {title}
ID: {id}
Findings: {count} key findings captured
Use `/history` to browse past analyses.
After archiving, check if the analysis produced reusable patterns worth saving
to .knowledge/query-archaeology/curated/ via helpers/archaeology_helpers.py.
SQL patterns — If validated SQL queries could be reused for future analyses:
capture_cookbook_entry(title, sql, dataset, tables, tags)Table knowledge — If the analysis revealed useful table metadata:
capture_table_cheatsheet(table_name, dataset, grain, primary_key, common_filters, gotchas, common_joins)Join patterns — If the analysis used non-obvious joins:
capture_join_pattern(tables, join_sql, cardinality, validated, dataset)Rules for this step:
partial: truetesting
# Skill: {{BLANK_1_SKILL_NAME}} ## Purpose {{BLANK_2_WHEN_TO_FIRE}} ## When to Use Fires automatically when the user asks Claude to do something that matches the trigger condition above. ## Instructions 1. Detect the trigger condition 2. Execute your guardrail check 3. If the check matters, print a clear, visible warning with "{{BLANK_3_SIGNATURE_PHRASE}}" as the first line 4. Continue with the analysis, incorporating the warning into the output ## Anti-Patterns - Do not fire when the condit
development
# Skill: Visualization Patterns ## Purpose Ensure every chart Claude Code produces follows high-quality design standards with named themes, consistent styling, and clear data communication. ## When to Use Apply this skill whenever generating a chart, graph, or data visualization. Always apply the active theme unless the user specifies otherwise. Default theme: `minimal`. ## Instructions ### Pre-flight: Load Learnings Before executing, check `.knowledge/learnings/index.md` for relevant entrie
development
# Skill: Triangulation / Sanity Check ## Purpose Cross-reference analytical findings against multiple data sources, external benchmarks, and common sense to catch errors before they become bad decisions. ## When to Use Apply this skill after every analysis, before presenting findings to stakeholders, and whenever a result seems surprising. If a finding would change a decision, it MUST be triangulated first. ## Instructions ### Triangulation Framework Every finding gets checked through four
data-ai
# Skill: Tracking Gap Identification ## Purpose Assess whether the data needed for an analysis actually exists, identify what's missing, and produce prioritized instrumentation requests for engineering when gaps are found. ## When to Use Apply this skill after the Data Explorer agent inventories available data, when an analysis requires data that might not exist, or when initial query results suggest incomplete tracking. Run before committing to an analysis approach. ## Instructions ### Gap