forge-source
Skill1 starsChanged 6 months agoMITView on GitHub
Ingests the raw corpus from manifest.spec.corpus_ref into the forge's S3 raw/ prefix. v1 implementation supports local: paths only; s3:/hf:/http: schemes are stubbed (exit 78) — use multi-source config.yaml + forge-ingest for those instead. Writes a per-shard manifest. Hard-caps at 500 GB per D-006.
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Read manifest.spec.corpus_ref and detect scheme (local: / s3: / hf: / http:)
- Very specific: line 18
Write data/raw/_raw-corpus-manifest.json listing every shard + its bytes
- Very specific: line 34
If manifest.artifacts.raw_corpus_s3 is set, exits 0.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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
forge-source
When this fires
Phase position: SOURCE — first data phase in the legacy v1 flow,
between forge-intake and forge-curate. v2 runs use forge-prep or
forge-ingest instead.
What it does
- Read
manifest.spec.corpus_refand detect scheme (local: / s3: / hf: / http:) - For
local:, walk the path, copy tos3://FORGE_BUCKET/forge/<id>/data/raw/ - Write
data/raw/_raw-corpus-manifest.jsonlisting every shard + its bytes - Hard-fail if total bytes > 500 GB (D-006 S3 layout cap)
- Set
manifest.artifacts.raw_corpus_s3and advance toCURATE
Inputs
$1= forge-idmanifest.spec.corpus_ref(currentlylocal:/abs/pathonly)FORGE_BUCKETenv or default
Outputs
s3://FORGE_BUCKET/forge/<id>/data/raw/<shards>s3://.../data/raw/_raw-corpus-manifest.json(sizes + sha256 of each shard)manifest.artifacts.raw_corpus_s3manifest.state.current_phase = CURATE
Idempotency
If manifest.artifacts.raw_corpus_s3 is set, exits 0.
Failure modes
| Exit | Reason |
| 0 | corpus uploaded or already-set |
| 1 | local path missing OR corpus > 500 GB cap |
| 64 | no forge-id provided |
| 78 | scheme is s3: / hf: / http: (not yet implemented in v1; use multi-source config.yaml) |
External resources
- AWS S3 (writes raw shards)
- Local filesystem (reads
local:source)
Cost class
free — local I/O + S3 PUTs (negligible at the M2 size class).
Depends on
forge-intake (populated corpus_ref in spec)
See also
For non-local sources (HF dataset, S3 prefix, GCS, Azure, git, archive,
HTTP), prefer the v2.2+ multi-source path: write a config.yaml and
invoke via /slm-forge ./config.yaml <budget>. That route uses
forge-ingest which has all 10 source kinds wired.
In this repository29 other files it gives its agents.
- slm-forgeSkill
- forge-analyzeSkill
- forge-architectSkill
- forge-auditSkill
- forge-bootstrapSkill
- forge-card-validatorSkill
- forge-curateSkill
- forge-estimateSkill
- forge-evalSkill
- forge-ingest-dbSkill
- forge-ingestSkill
- forge-intakeSkill
- forge-monitorSkill
- forge-plan-fitSkill
- forge-planSkill
- forge-preflightSkill
- forge-prepSkill
- forge-provisionSkill
- forge-publishSkill
- forge-quantizeSkill
- forge-registerSkill
- forge-reportSkill
- forge-resumeSkill
- forge-shapeSkill
- forge-smoketestSkill
- forge-statusSkill
- forge-synthSkill
- forge-teardownSkill
- forge-trainSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

