# Analysis Artifacts

> Generate reproducible analysis artifacts — SQL queries, Python visualizations, and summary tables — as you work through a BigQuery data analysis. Use when asked to conduct a deep dive, exploratory analysis, or investigation that goes beyond a simple data lookup.

- Skill: `warpdotdev/analysis-artifacts` (Agent Skill)
- Install (CLI): `npx skillmds add warpdotdev/analysis-artifacts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/warpdotdev/analysis-artifacts/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: warpdotdev (https://skillmd.com/u/warpdotdev)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/warpdotdev/analysis-artifacts

---


# Analysis Artifacts

## When to Use

- When asked to do a "deep dive" or "analysis" on a question with a non-obvious answer
- When the analysis requires exploratory querying in BigQuery
- When the output should be reproducible and shareable (not just a one-off answer)

## Workflow

### 1. Scaffold the analysis directory

At the start of every analysis:

- Create a new directory in the `analyses` folder, named according to the existing pattern there
- Create subdirectories: `/assets/queries` and `/assets/visualizations`
- Create a `README.md` at the root of the new directory — this is the main readable document for the analysis

### 2. Plan the analysis

Always create a plan before starting, whether or not the user asked for one. Steps in the plan should map to the logical sub-questions or sub-areas you've deemed important to explore. Present the plan and wait for a go-ahead before proceeding.

### 3. Set up the README

Once the plan is approved:

- Add a title, author, and date to the top of the README
- Add a **Problem Statement** section summarizing the analysis question and the sub-pieces you'll explore
- Add a **Cohorts Definition** section. This must be extremely explicit about the groups being compared. If comparing two groups (e.g., free vs. paid, new vs. old, before vs. after a milestone), define cohorts in a way that controls for confounding factors. Consider:
  - Signup/activation time (as defined by your product — e.g., first login, first meaningful action); this relates to user tenure
  - Plan type or subscription tier (e.g., free vs. paid)
  - Controlling for observation time window length across cohorts
  - Product-specific usage propensity metrics relevant to the analysis question

  Once defined, respect these cohort definitions in all queries throughout the analysis.

### 4. Create artifacts as you go

For every material step in the analysis:

- **SQL query artifact**: For any BigQuery query that powers a visualization, summary, or key insight, save a `.sql` file in `/assets/queries/` with a descriptive name and a comment block explaining the query's purpose. Only create the file after you're satisfied with the results. Skip trivial or one-off lookup queries.
- **Visualization or table artifact**: For each key insight, assess whether it's best conveyed through a chart or a table. Lean toward visualizations. If a visualization, write a Python script to generate it and save both the script and the output image to `/assets/visualizations/` with descriptive names. If a table, save it as a `.csv` in `/assets/visualizations/`.

### 5. Overwriting artifacts

If you need to redo part of the analysis (due to a methodology correction or user feedback), overwrite all associated artifacts:

- Replace the `.sql` query file
- Replace the visualization script and regenerate the image
- Replace the `.csv` table file

Note the change to the user when you do this.

### 6. Summarize the analysis

When the analysis is complete (either at the end of the plan or when the user asks), write the full README:

- Summarize each step and sub-question in logical document sections
- Be crisp and concise — avoid unnecessary verbosity
- Embed saved viz images from `/assets/visualizations/` where appropriate
- Generate markdown tables from `.csv` files in `/assets/visualizations/`
- Include a small reference hyperlink to the associated query file in each section
- Add a **TL;DR** section near the top (after Problem Statement, before Cohorts Definition)
- Add a **Key Takeaways** section at the end

## Examples

```bash
analyses/
└── 2024-01-user-retention/
    ├── README.md
    └── assets/
        ├── queries/
        │   ├── cohort_retention_by_week.sql
        │   └── retention_by_plan_type.sql
        └── visualizations/
            ├── retention_curve.py
            ├── retention_curve.png
            └── plan_type_summary.csv
```

