prepare-training-corpus
Skill7 starsChanged 10 months agoMITView on GitHub
Builds and freezes deterministic train, validation, and test corpora with provenance, group-safe splits, manifests, hashes, and prompt-leakage checks. Use before teacher labeling, fine-tuning, or comparing models on generated or retrieved examples.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- apple-cktool-jsSkill
- apple-cktoolSkill
- audit-training-experimentSkill
- awkSkill
- close-out-ml-experimentSkill
- compare-models-blindlySkill
- conventional-commitsSkill
- design-resumable-model-evaluationSkill
- gogopowermanagerSkill
- ios-design-reviewSkill
- mikrotik-routerosSkill
- obsidian-dailySkill
- orbstack-cliSkill
- package-private-ml-artifactsSkill
- proxmox-adminSkill
- review-ios-ui-apple-higSkill
- review-training-data-qualitySkill
- run-hugging-face-training-smokeSkill
- sedSkill
- select-and-verify-best-checkpointSkill
- send-to-minionSkill
- swift-reviewSkill
- technical-writerSkill
- tmuxinatorSkill
- topydoSkill
- unhobble-agent-contextSkill
- validate-structured-model-outputSkill
- write-a-promptSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Write a selection manifest before calling a teacher or evaluating a model.
- Distinctive: line 29
Keep opaque request-local identifiers in model-visible inputs when canonical IDs would leak answers.
- Distinctive: line 32
Do not silently repair generated or teacher-produced rows.
- Very specific: line 36
Use scripts/build_corpus_manifest.py for JSONL split invariants:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Prepare Training Corpus
Make the corpus reproducible before any expensive labeling or training call.
Define the contract
Write down:
- the population and approved data sources;
- the unit of an example and the group that must never cross splits;
- target split sizes and distributions;
- input, output, abstention, and identifier schemas;
- required positive, negative, ambiguous, and boundary cases;
- leakage rules for prompts, labels, canonical IDs, and teacher-only metadata.
Separate deterministic scenario generation from teacher labeling. Materialize and validate the entire candidate pool without model calls first.
Materialize deterministically
- Pin source snapshots and generator revision.
- Set and record the random seed.
- Assign splits by stable group identity, not by individual row.
- Write a selection manifest before calling a teacher or evaluating a model.
- Keep opaque request-local identifiers in model-visible inputs when canonical IDs would leak answers.
- Store teacher/reference fields outside the model prompt.
Do not silently repair generated or teacher-produced rows. Preserve raw failures and derive validated outputs separately.
Validate and freeze
Use scripts/build_corpus_manifest.py for JSONL split invariants:
python scripts/build_corpus_manifest.py \
--split train=path/train.jsonl \
--split validation=path/valid.jsonl \
--split test=path/test.jsonl \
--id-field id --group-field deckGroupID \
--output path/corpus-manifest.jsonAlso run project-specific validators for legality, replay, terminal boundaries, data licenses, and context sufficiency. Fail before labeling if:
- IDs repeat or groups leak across splits;
- requested distributions are wrong;
- prompts contain reference answers or teacher-only information;
- examples rely on unmodeled or unknown state;
- provenance or licenses are incomplete.
Freeze exact JSONL bytes, manifests, source revisions, generator configuration, and SHA-256 hashes. Any schema, prompt, or corpus-membership change creates a new revision and fresh state; never resume incompatible evidence.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

