skills/code-data-analysis-scaffolds/SKILL.md
Generates structured scaffolds (frameworks, checklists, templates) for technical work — TDD test suites, exploratory data analysis plans, statistical analysis designs, causal vs predictive modeling objectives, and validation checklists. Use when starting technical work that needs systematic planning before execution. Invoke when user mentions "write tests for", "explore this dataset", "analyze", "model", "validate", "design an A/B test", or when technical work needs scaffolding before execution.
npx skillsauth add lyndonkl/claude code-data-analysis-scaffoldsInstall 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.
This skill provides structured scaffolds for common technical patterns:
Skip this skill when the user wants immediate execution without scaffolding, already has a clear plan, or the task is trivial.
Quick example:
Task: "Write authentication function"
TDD Scaffold:
# Test structure (write these FIRST) def test_valid_credentials(): assert authenticate("[email protected]", "correct_pass") == True def test_invalid_password(): assert authenticate("[email protected]", "wrong_pass") == False def test_nonexistent_user(): assert authenticate("[email protected]", "any_pass") == False def test_empty_credentials(): with pytest.raises(ValueError): authenticate("", "") # Now implement authenticate() to make tests pass
Copy this checklist and track your progress:
Code Data Analysis Scaffolds Progress:
- [ ] Step 1: Clarify task and objectives
- [ ] Step 2: Choose appropriate scaffold type
- [ ] Step 3: Generate scaffold structure
- [ ] Step 4: Validate scaffold completeness
- [ ] Step 5: Deliver scaffold and guide execution
Step 1: Clarify task and objectives
Ask user for the task, dataset/codebase context, constraints, and expected outcome. Determine if this is TDD (write tests first), EDA (explore data), statistical analysis (test hypothesis), or validation (check quality). See resources/template.md for context questions.
Step 2: Choose appropriate scaffold type
Based on task, select scaffold: TDD (testing code), EDA (exploring data), Statistical Analysis (hypothesis testing, A/B tests), Causal Inference (estimating treatment effects), Predictive Modeling (building ML models), or Validation (checking quality). See Scaffold Types for guidance on choosing.
Step 3: Generate scaffold structure
Create systematic framework with clear steps, validation checkpoints, and expected outputs at each stage. For standard cases use resources/template.md; for advanced techniques see resources/methodology.md.
Step 4: Validate scaffold completeness
Check scaffold covers all requirements, includes validation steps, makes assumptions explicit, and provides clear success criteria. Self-assess using resources/evaluators/rubric_code_data_analysis_scaffolds.json - minimum score ≥3.5.
Step 5: Deliver scaffold and guide execution
Present scaffold with clear next steps. If user wants execution help, follow the scaffold systematically. If scaffold reveals gaps (missing data, unclear requirements), surface these before proceeding.
When: Writing new code, refactoring existing code, fixing bugs Output: Test structure (test cases → implementation → refactor) Key Elements: Test cases covering happy path, edge cases, error conditions, test data setup
When: New dataset, data quality questions, feature engineering Output: Exploration plan (data overview → quality checks → univariate → bivariate → insights) Key Elements: Data shape/types, missing values, distributions, outliers, correlations
When: Hypothesis testing, A/B testing, comparing groups Output: Analysis design (question → hypothesis → test selection → assumptions → interpretation) Key Elements: Null/alternative hypotheses, significance level, power analysis, assumption checks
When: Estimating treatment effects, understanding causation not just correlation Output: Causal design (DAG → identification strategy → estimation → sensitivity analysis) Key Elements: Confounders, treatment/control groups, identification assumptions, effect estimation
When: Building ML models, forecasting, classification/regression tasks Output: Modeling pipeline (data prep → feature engineering → model selection → validation → evaluation) Key Elements: Train/val/test split, baseline model, metrics selection, cross-validation, error analysis
When: Checking data quality, code quality, model quality before deployment Output: Validation checklist (assertions → edge cases → integration tests → monitoring) Key Elements: Acceptance criteria, test coverage, error handling, boundary conditions
| Task Type | When to Use | Scaffold Resource | |-----------|-------------|-------------------| | TDD | Writing/refactoring code | resources/template.md #tdd-scaffold | | EDA | Exploring new dataset | resources/template.md #eda-scaffold | | Statistical Analysis | Hypothesis testing, A/B tests | resources/template.md #statistical-analysis-scaffold | | Causal Inference | Treatment effect estimation | resources/methodology.md #causal-inference-methods | | Predictive Modeling | ML model building | resources/methodology.md #predictive-modeling-pipeline | | Validation | Quality checks before shipping | resources/template.md #validation-scaffold | | Examples | See what good looks like | resources/examples/ | | Rubric | Validate scaffold quality | resources/evaluators/rubric_code_data_analysis_scaffolds.json |
testing
Cluster a conference's event records into a small set of coarse themes with finer sub-clusters, an explicit outlier bucket, and soft (multi-membership) affinities — using the hybrid embed-then-label pipeline (embed abstracts, reduce, density-cluster, then LLM-label the clusters) when embedding libraries are available, and an LLM-reasoned hierarchical fallback when they are not. Embeddings do the grouping; the LLM only names the groups. Conference-agnostic. Use when turning structured event records into a navigable theme map for preference elicitation and scheduling, when you need 6-8 reasonable themes rather than 20 muddy ones, or when overlapping talks must belong to more than one theme. Trigger keywords - theme clustering, cluster talks, embed then label, soft membership, outlier talks, conference themes, topic map.
development
Build a personal conference schedule as a constraint-optimization problem — hard constraints (no time overlap, room-to-room travel time, capacity/registration, the attendee's own must-attends and blackouts) plus a user-owned weighted objective trading interest against breadth, pacing (maximize contiguous free time), and serendipity. Surfaces unbreakable conflicts (two high-value overlapping talks the model cannot rank) as decisions for the human rather than silently picking, and reports what each choice traded away. Conference-agnostic. Use to turn a preference profile plus a theme map into a day-by-day plan, to resolve overlapping sessions, or to balance a packed vs paced schedule. Trigger keywords - schedule optimization, conference schedule, constraint optimization, overlapping talks, contiguous free time, conflict surfacing, packed vs paced.
development
Parse a heterogeneous conference program (markdown, HTML, PDF-derived text, or JSON) into normalized event records with per-field confidence scores and independent classification axes (topic, depth, format, prerequisites, recorded, capacity). Detects the program's format before extracting, treats every inferred field as uncertain (present vs inferred vs missing), and flags thin or missing abstracts so downstream enrichment can target them. Conference-agnostic. Use when ingesting a conference or event schedule into a structured store, normalizing a talk/session list, or extracting per-session metadata with calibrated confidence. Trigger keywords - program ingestion, parse schedule, session extraction, event records, conference program, talk metadata, per-field confidence.
development
Build a personalized preference profile from a small number of well-chosen, cluster-grounded questions instead of a long survey. Represents the person's interests as an uncertainty region over the theme map, picks the single highest-information-gain choice-based question (contrasting real talks from different clusters), balances exploiting known interests against exploring uncertain ones, deliberately injects outlier probes to fight selection bias, and stops as soon as the schedule would be stable. Also elicits the user-owned objective weights and hard constraints. Interactive — runs where it can actually ask the person. Conference-agnostic. Use to turn a theme map into a preference profile, to decide what to ask a conference attendee, or to elicit scheduling priorities. Trigger keywords - preference elicitation, ask few questions, information gain, choice-based questions, selection bias probe, objective weights, attendee preferences.