agentleFS
bastosbastos/skills/prepare-training-corpus/SKILL.md

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.

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
  1. Distinctive:

    Write a selection manifest before calling a teacher or evaluating a model.

    line 28
  2. Distinctive:

    Keep opaque request-local identifiers in model-visible inputs when canonical IDs would leak answers.

    line 29
  3. Distinctive:

    Do not silently repair generated or teacher-produced rows.

    line 32
  4. Very specific:

    Use scripts/build_corpus_manifest.py for JSONL split invariants:

    line 36

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. Pin source snapshots and generator revision.
  2. Set and record the random seed.
  3. Assign splits by stable group identity, not by individual row.
  4. Write a selection manifest before calling a teacher or evaluating a model.
  5. Keep opaque request-local identifiers in model-visible inputs when canonical IDs would leak answers.
  6. 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.json

Also 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.