.claude/skills/knowledge-bootstrap/SKILL.md
# Skill: Knowledge Bootstrap ## Purpose Initialize all 7 knowledge subsystems for a new session. Loads setup state, dataset, user profile, integrations, org context, corrections, learnings, query archaeology, and analysis archive into working memory. ## When to Use - At the start of any session - After `/connect-data` or `/switch-dataset` - When the system detects missing or stale knowledge files ## Instructions Load each subsystem in order. Every file read MUST gracefully degrade: if the fi
npx skillsauth add ai-analyst-lab/ai-analyst .claude/skills/knowledge-bootstrapInstall 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.
Initialize all 7 knowledge subsystems for a new session. Loads setup state, dataset, user profile, integrations, org context, corrections, learnings, query archaeology, and analysis archive into working memory.
/connect-data or /switch-datasetLoad each subsystem in order. Every file read MUST gracefully degrade: if the file does not exist, skip silently and note "not yet populated" in the summary. Never block the session on a missing subsystem.
Read .knowledge/setup-state.yaml.
setup_complete and count phases with status: "complete".setup_complete: false, note incomplete phases to offer /setup.Read .knowledge/active.yaml.
active_dataset is null or missing, note "No active dataset" and continue..knowledge/datasets/{active}/:| File | Required | If Missing |
|------|----------|------------|
| manifest.yaml | Yes | Note "manifest missing -- not usable" |
| schema.md | Yes | Generate via schema_to_markdown() or profiling |
| quirks.md | No | Create empty template |
| metrics/index.yaml | No | Count as 0 |
Schema generation if schema.md is missing:
data/schemas/{active}.yaml -- use schema_to_markdown() if found.get_connection_for_profiling().last_profile.md is newer, regenerate.Extract system variables from manifest: {{SCHEMA}}, {{DISPLAY_NAME}},
{{DATE_RANGE}}, {{DATABASE}}.
Read .knowledge/user/profile.md.
Detail level, Chart preference, Narrative style.On explicit user corrections during session, update the profile:
append YYYY-MM-DD | Assumed [X] | User prefers [Y] to the Corrections Log
section. Never infer from silence.
Read .knowledge/user/integrations.yaml.
preferred_export_format, communication.detail_level.configured: true).Check for org ID in setup-state.yaml (phases.phase_3_business.data.organization_id)
or in the active dataset manifest's organization field.
If an org ID exists and is not _example:
.knowledge/organizations/{org_id}/manifest.yaml for name, industry..knowledge/organizations/{org_id}/business/index.yaml for section counts
(glossary terms, products, metrics, objectives, teams).If no org linked: Note "Org: not configured".
Read .knowledge/corrections/index.yaml.
total_corrections and by_severity counts.total_corrections > 0, highlight critical/high counts so agents check
the full log before writing SQL.Read .knowledge/learnings/index.md.
### N. Category Name).Read .knowledge/query-archaeology/curated/index.yaml.
cookbook_entries, table_cheatsheets, join_patterns counts.Read .knowledge/analyses/index.yaml:
total_analyses and last 5 entries (title, date, findings count, level).Read .knowledge/analyses/_patterns.yaml:
patterns[] entries and note pattern names if any.Compile an internal context summary (held in working memory, not shown raw):
Setup: {complete (N/M phases) | incomplete (list missing) | not initialized}
Dataset: {display_name} ({source_type}, {N} tables, ~{rows} rows, {date_range}) | not configured
Profile: {role}, {detail_level} | new
Integrations: {preferred_format}, {N} channels | not configured
Org: {company} ({industry}), {N} glossary, {N} products, {N} metrics | not configured
Corrections: {N} logged ({N} critical, {N} high) | none
Learnings: {N}/{6} categories populated | not yet populated
Archaeology: {N} cookbook, {N} cheatsheets, {N} join patterns | not yet populated
Archive: {N} analyses, {N} recurring patterns | none
Then output the user-facing status:
Dataset: {display_name} ({source_type})
Tables: {N} tables, ~{row_count} rows
Date range: {date_range}
Metrics: {M} defined
Profile: {loaded | new}
Status: Ready for analysis
If a critical subsystem is missing (no dataset, no manifest), adjust the status
and suggest /connect-data or /setup.
# User Profile
Auto-created by knowledge bootstrap. Updated as the system learns preferences.
## Role & Expertise
- **Role:** _[auto-detected or user-specified]_
- **Technical level:** _[beginner | intermediate | advanced]_
- **SQL comfort:** _[none | basic | intermediate | advanced]_
- **Statistics comfort:** _[none | basic | intermediate | advanced]_
- **Domain:** _[e-commerce | fintech | saas | marketplace | other]_
## Communication Preferences
- **Detail level:** _[executive-summary | standard | deep-dive]_
- **Chart preference:** _[minimal | standard | chart-heavy]_
- **Narrative style:** _[bullet-points | prose | mixed]_
## Corrections Log
_Records of times the user corrected the system's assumptions._
<!-- Format: YYYY-MM-DD | What was wrong | What was right -->
.knowledge/ dir: Create full tree and prompt /connect-data./switch-dataset./setup.active.yaml.testing
# 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