Install any skill in seconds. Free to start, no credit card required.
Get Started Free →datachain-ai/datachain-knowledge
Use whenever datasets, cloud storage buckets, or data pipelines are mentioned — creating, saving, querying, listing, exploring, deleting, or processing data in S3, GCS, Azure Blob, or local storage. Also use when running any script that may create datasets as a side effect. Maintains a knowledge base at dc-knowledge/ (JSON + markdown). ALWAYS use this skill when the user creates a dataset, saves pipeline output, runs a data script, or references any storage bucket.
Passed 15 of 19 test cases with the skill, and 7 of 19 without it.
and 9 more in the full report
10 fixed8 passed either way5 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/1/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
After enriching our markdown files and rendering `index.md` in our persistent catalog, what script should be executed to remove intermediate JSON files while retaining `.plan.json`?
| Checked | Without skill | With skill |
|---|---|---|
| Runs cleanup_json.py with --plan dc-knowledge/.plan.json. | Missed | Passed |
The instructions your model reads when the skill loads.
Maintain a knowledge base at dc-knowledge/. .md files are the persistent
output. .json files are intermediate (generated in Step 3, consumed in
Step 4, then deleted).
{core_skill_dir}/SDK.md owns how the pipeline code is written — dataset
shape, row grain, provenance, naming. This file owns the knowledge base
and how the work is run: what already exists, what a run will cost, and
where the results land.
dc-knowledge/ — NOT .datachain/. The .datachain/ directory is the internal database; the knowledge base lives at dc-knowledge/.update=True to dc.read_storage() in query or exploration code unless the user explicitly asks to refresh the listing. Build scripts that read storage are the exception — they pass update=True, delta=True.bucket_scan.py runs a fast access check. If it exits with an error JSON on stderr, stop immediately and show the error to the user. Do not retry with different regions, profiles, or endpoints — ask for the missing credentials.render_index.py) parses the exact frontmatter the prompt prescribes.parallel=N vs workers=N. parallel=N is local multiprocessing (works anywhere). workers=N is Studio-only and MUST be guarded: chain = chain.settings(parallel=N); if dc.is_studio(): chain = chain.settings(workers=N).from __future__ import annotations in UDF modules. It stringifies type hints and DataChain's signal-schema resolution rejects the string-vs-class mismatch.Iterator[object] / Iterator[Any] / bare dict fail schema resolution. Return a specific Iterator[T], a Pydantic BaseModel, or a primitive.[:N]. Use enumerate + break, or list(...) only when the result is genuinely small.datachain.__version__ to get the package version (e.g. dc.__version__).Read dc-knowledge/index.md first. When an existing dataset covers the task —
even partially — read it with dc.read_dataset(...) and filter / merge / extend
from there instead of going back to raw storage. Re-running a pass that already
ran is the most expensive mistake available here. Say which dataset was reused
and what it saved.
test cases passed, vs 7 / 19 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.