Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dimmkirr-data-engineer
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/data-engineer
What's inside
- Skill name
data-engineer- Description
- Data quality verification skill for data engineering tasks. Use when working with data files, pipelines, or datasets that require validation. Triggers for: verifying file paths exist and are correct, checking file naming conventions, validating data ranges and types, auditing data quality, inspecting CSV/JSON/Parquet/Excel files, checking for nulls/outliers/duplicates, or any data ingestion and transformation quality checks.
- License
- MIT
- Instructions
- 114 lines in SKILL.md · view on GitHub
Files (6)
- SKILL.md
- openai.yaml · agents/
- evals.json · evals/
- checks.md · references/
- learnings.md · references/
- mapping-tests.md · references/
SKILL.md (first lines)
# Data Engineer — Quality Verification
## When NOT to use
- Application business logic or domain rules unrelated to data quality
- Frontend rendering or UI component work
- Infrastructure provisioning or deployment (use devops-engineer)
- General code review that doesn't involve data files or pipelines
## Philosophy: Lean on Determinism
**The fundamental data quality strategy is: always prefer deterministic verification over probabilistic inspection.**
This means:
- **CLI tools over reading files** — `jq`, `csvstat`, `duckdb` give exact answers without loading data into context
- **Test suites over manual spot-checks** — a parametrized test with 20 known cases proves correctness; eyeballing 5 rows doesn't
- **Explicit enumeration over sampling** — list every known alias, variant, and edge case in a test table; don't assume coverage from a sample
- **Repeatable commands over one-off analysis** — every check should be a command you can run again identically on the next batch
This approach scales: the same `pytest` suite that validates Munich/München/Muenchen today will catch the next alias added to the source system tomorrow. The same `jq` one-liner that checks date formats works on a 10-row file and a 10M-row file identically.
When in doubt, ask: "Is this check deterministic and repeatable?" If not, make it so.
---
## Core Principle: Never Load Large Datasets into Context
**Always use deterministic CLI tools instead of reading file contents.**
| Step | What to do |
|------|-----------|
| Discover structure | `head -5` / `head -c 2048` to see shape without loading |
| Count rows/size | `wc -l`, `du -sh`, `ls -lh` |
| Spot-check values | `jq`, `mlr`, `csvkit` (`csvstat`, `csvcut`, `csvgrep`) |
| Query JSON | `jq` with filters — never `cat` a large JSON file |
| Query CSV | `csvstat` for stats, `csvcut` for columns, `mlr` for grouping |
| Query Parquet | `parquet-tools head`, `duckdb` inline queries |
| Validate YAML | `python3 -c "import yaml,sys; yaml.safe_load(sys.stdin)"` piped from `head` |
Never use `cat`, `Read`, or open a file fully unless it is confirmed small (<100 lines or <10KB).
## Workflow
When given a data engineering task:
1. **Read learnings first** — Check `references/learnings.md` for known gotchas, patterns, and project-specific rules that apply to the current task.
2. **Probe structure** — Use `head` + format-appropriate tools to understand the dataset without loading it.
3. **Run quality checks** — Apply spot-checks from `references/checks.md` using deterministic CLI commands.
4. **Report findings** — Summarize issues found with severity and suggested fix.
5. **Record new learnings** — After completing any task, append reusable insights to `references/learnings.md`.
## Quick Checks Reference
| Area | When to apply | Reference |
|------|--------------|-----------|
| File paths & names | Always | `references/checks.md` → File Checks |
| Data ranges & types | When inspecting values | `references/checks.md` → Data Checks |
| Schema validation | When structure matters | `references/checks.md` → Schema Checks |
| Data mapping / normalization | When values have aliases, variants, or canonical forms | `references/mapping-tests.md` |
| Project learnings | Always (read first, write after) | `references/learnings.md` |
## Data Mapping: Use Test Frameworks, Not Just CLI Spot-Checks
When a transformation maps input values to canonical forms — city names, country codes, currency symbols, unicode variants, abbreviations — **write deterministic tests with pytest or go test**. CLI spot-checks find what's wrong; test suites prove what's correct and prevent regressions.
Use `pytest.mark.parametrize` or table-driven Go tests to enumerate all known equivalences explicitly:
```python
# Munich has three valid spellings — all must normalize to the same canonical form
@pytest.mark.parametrize("input,expected", [
("Munich", "Munich"),
("Muenchen", "Munich"),
("München", "Munich"),
("MUNICH", "Munich"), # casing variant
("munich", "Munich"),
])
def test_city_normalization(input, expected):
assert normalize_city(input) == expected
```
See `references/mapping-tests.md` for full patterns (Go, pytest, edge cases).
## Severity Levels
- **CRITICAL** — Data is wrong, missing, or will break downstream. Must fix before proceeding.
- **WARNING** — Data is suspect or non-standard. Investigate before proceeding.
- **INFO** — Observation worth noting, no immediate action required.
## Adding Learnings
After completing a data engineering task, append to `references/learnings.md`:
```markdown
### [YYYY-MM-DD] <Short title>
**Context**: What project/dataset/situation this applies to.
**Finding**: What was discovered (bug, pattern, edge case, naming rule).
**Rule**: The actionable check to apply going forward.
**Example** (optional): Concrete example of the issue or fix.
```
Be specific. Not "be careful with dates" — instead: "source X exports dates as MM/DD/YYYY, not ISO 8601 — always convert on ingest."
## Self-Assessment Checklist
Before presenting output to the user, verify:
- [ ] All referenced file paths verified to exist
- [ ] Data types and ranges validated against schema
- [ ] Null/duplicate/outlier checks completed
- [ ] Sample output reviewed for correctnessFrom DimmKirr/skills, MIT.
More from DimmKirr/skills
- 0.570score
drawio-diagram
DimmKirr
Use when working with .drawio diagrams — creating new architecture diagrams from scratch, cleaning up layout, analyzing positioning, fixing alignment or…
SkillAFreshness: AClaude Code +9 - 0.570score
git-group-commit
DimmKirr
Group uncommitted changes into feature commits with conventional messages, and emit runnable commit artifacts.
SkillAFreshness: AClaude Code +9 - 0.558score
git-pr-message
DimmKirr
Generate a pull request description from committed groups and save it to .scratch/PR.md.
SkillAFreshness: AClaude Code +9 - 0.558score
continue-debug
DimmKirr
Analyze the output of the most recent debug run in .scratch/debug/ and iterate with ranked hypotheses.
SkillAFreshness: AClaude Code +9 - 0.529score
devops-engineer
DimmKirr
Use when making infrastructure changes (nix, docker, MCP, terraform) that need validation, when an E2E test is too expensive for the iteration cycle, when you…
SkillBFreshness: BClaude Code +9 - 0.529score
kitcut-implement
DimmKirr
Reproduce a working application from a kitcut-artifact/2.0 bundle (facts.json + checks.json + requirements/ + digests/; evidence/ optional and…
SkillBFreshness: BClaude Code +9 - 0.529score
frontend-qa
DimmKirr
Frontend QA workflow for Expo/React Native web apps.
SkillBFreshness: BClaude Code +9 - 0.529score
vector-designer
DimmKirr
Use when creating logos, icons, SVG graphics, or any vector design work requiring visual iteration.
SkillBFreshness: BClaude Code +9 - 0.526score
pm
DimmKirr
Project manager for backlog grooming, ticket analysis, and implementation status tracking.
SkillBFreshness: BClaude Code +9 - 0.524score
reverse-wireframe-ui
DimmKirr
Use when creating wireframe diagrams from existing app screenshots or mockups.
SkillBFreshness: BClaude Code +9 - 0.524score
git-commit-message
DimmKirr
Generate a structured conventional commit message for current changes and save it to .scratch/COMMIT.md.
SkillBFreshness: BClaude Code +9 - 0.524score
ios-qa
DimmKirr
iOS Visual QA using Go tests + Claude Vision.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 5, 2026 (24 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/DimmKirr/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from DimmKirr
- 0.570score
drawio-diagram
DimmKirr
Use when working with .drawio diagrams — creating new architecture diagrams from scratch, cleaning up layout, analyzing positioning, fixing alignment or…
SkillAFreshness: AClaude Code +9 - 0.570score
git-group-commit
DimmKirr
Group uncommitted changes into feature commits with conventional messages, and emit runnable commit artifacts.
SkillAFreshness: AClaude Code +9 - 0.558score
continue-debug
DimmKirr
Analyze the output of the most recent debug run in .scratch/debug/ and iterate with ranked hypotheses.
SkillAFreshness: AClaude Code +9 - 0.558score
git-pr-message
DimmKirr
Generate a pull request description from committed groups and save it to .scratch/PR.md.
SkillAFreshness: AClaude Code +9 - 0.529score
kitcut-implement
DimmKirr
Reproduce a working application from a kitcut-artifact/2.0 bundle (facts.json + checks.json + requirements/ + digests/; evidence/ optional and…
SkillBFreshness: BClaude Code +9 - 0.529score
vector-designer
DimmKirr
Use when creating logos, icons, SVG graphics, or any vector design work requiring visual iteration.
SkillBFreshness: BClaude Code +9
Cite this page
data-engineer skill. Agent Mart. https://agentmart.dev/skills/dimmkirr-data-engineer (last updated 2026-10-24)