data-validation-first
Data Validation First
Before writing any analysis code, understand the data:
# Always run these first
df.shape # rows x columns
df.dtypes # column types
df.isnull().sum() # missing values per column
df.describe() # statistics for numeric columns
df.head() # sample rows
Key questions:
- Are there nulls in columns you'll join or filter on?
- Are numeric columns stored as strings? (parse_dates, astype)
- Are there unexpected duplicates (check primary key uniqueness)?
- Does the row count match your expectation from the source?
Anti-pattern: Running .groupby().sum() without first checking for nulls in the groupby key.
More from aiming-lab/metaclaw
codebase-navigation
Use this skill when exploring an unfamiliar codebase, tracing code paths, or answering questions about how the system works. Read before writing, and build a mental model of the architecture before making changes.
12uncertainty-acknowledgment
Use this skill when you are not sure about a fact, have outdated knowledge, or the question is contested. Explicitly communicate the level of confidence instead of asserting uncertain things as fact.
11avoid-hallucinating-specifics
Common mistake — stating specific facts (API endpoints, library versions, config options, function signatures) with false confidence when uncertain. Always flag uncertainty rather than guessing specifics.
11plan-before-multi-step-execution
Use this skill before executing a sequence of 3 or more steps, especially when steps are irreversible or depend on each other. Write out the plan and verify it before starting execution.
9task-decomposition
Use this skill when a user presents a large, vague goal. Break it into concrete, ordered sub-tasks before starting any work. Apply whenever the request is larger than a single focused action.
9structured-progress-update
Use this skill when summarizing progress on an ongoing project or multi-step task. Give a clear, scannable status report whenever asked for an update or at the end of a work session.
9