Import listings
.agents/skills/import-listings/SKILL.md — 114 lines of instruction that ship inside the starter. This page is generated from it, so it says what the skill does without republishing it.
When an agent picks this up
Section titled “When an agent picks this up”The skill description, verbatim — this is the text an agent matches your request against:
Bulk-import listings into a ZeroDirs directory site from a CSV or JSON file with pnpm listings:import. Covers column mapping, the dry run, the unknown-category hard error, the unknown-tag warning, logo and date rules, and slug collisions. Use when asked to import a spreadsheet, seed a directory from a data file, or re-import a corrected export.
What it walks through
Section titled “What it walks through”- Always dry-run first
- The two failure modes to know
- Column mapping
- Field rules
- JSON input
- Verify
Commands it runs
Section titled “Commands it runs”pnpm listings:import <file.csv|file.json>pnpm listings:import data.csv --dry-run # always do this firstpnpm listings:import data.csv # then writepnpm listings:import data.csv --dry-runpnpm listings:import data.csvpnpm check:config # config + the static-file budget estimate for the new countpnpm buildpnpm check:configFiles it touches
Section titled “Files it touches”scripts/import.ts · src/loaders/normalize.ts · site.config.ts · tests/fixtures/import-sample.csv · src/components/listing/Detail.astro · src/content/listings/
Using it
Section titled “Using it”Skills load themselves — you describe the outcome, not the skill. “Add a Compliance category with an icon and seed it” is enough for an agent that can see .agents/skills/; Claude Code reads .claude/skills/, which pnpm skills:sync mirrors from .agents/ on every install. See Working with an agent.