agentleFS
ByteDance-SeedByteDance-Seed/VeOmni/.agents/skills/veomni-seed-omni/SKILL.md

veomni-seed-omni

Skill2.3k starsChanged 3 days agoApache-2.0View on GitHub

SeedOmni development guidance for Open-VeOmni. Use when adding or modifying `veomni/models/seed_omni/`, Omni modules, module mixins, CPU preprocessors, conversation carrier handling, training or generation graph YAML, SeedOmni split-checkpoint scripts, per-module accelerators, distributed/eager Omni inference, or SeedOmni validation. Triggers include: new OmniModule, modify SeedOmni module, wire graph, update `training_graph` or `generation_graph`, split SeedOmni checkpoint, add Preprocessor, change conversation_list flow, configure per-module FSDP2/DDP/emb/ep, or debug SeedOmni train/infer graph behavior.

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 3 are distinctive, and 3 are 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.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this file as a routing entrypoint and load the references matching the task from the routing table below.

    line 8
  2. Distinctive:

    Treat current code as the source of truth (graph/module source and live configs).

    line 18
  3. Very specific:

    Use live fake_model, Janus, and Qwen modules as implementation maps.

    line 21
  4. Very specific:

    Use veomni-new-model first when adding a new HuggingFace model family under veomni/models/transformers/.

    line 62
  5. Distinctive:

    Use this skill after that model exists, when wrapping it as SeedOmni modules or wiring it into Omni graphs.

    line 64
  6. Very specific:

    Use veomni-develop for unrelated framework work outside SeedOmni.

    line 66

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

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

SeedOmni Skill

Use this file as a routing entrypoint and load the references matching the task from the routing table below.

First Checks

  1. Confirm the task touches SeedOmni:
    • Source code under veomni/models/seed_omni/.
    • Configs under configs/seed_omni/.
    • SeedOmni data collation or conversation_list preprocessing.
    • SeedOmni checkpoint splitting or module registration.
  2. Treat current code as the source of truth (graph/module source and live configs).
  3. Choose the smallest applicable reference set from the routing table below.
  4. Use live fake_model, Janus, and Qwen modules as implementation maps.

Routing

TaskRead
Understand SeedOmni architecture, runtime hierarchy, and hard constraints.agents/knowledge/veomni-seed-omni.md, references/source-of-truth.md
Change data flow, conversation_list, CPU preprocessing, dummy items, or raw request preprocessingreferences/data-flow.md
Add or modify a module mixin/model/config/processorreferences/module-contract.md
Edit training graph or generation FSM YAMLreferences/graph-runtime.md, then the matching templates/*.yaml
Add a new model config layoutreferences/graph-runtime.md, templates/base.template.yaml, templates/modules_train.template.yaml
Add distributed/eager inference module configreferences/per-module-parallel.md, templates/modules_infer_eager.template.yaml, templates/modules_infer_fsdp.template.yaml
Update split-checkpoint conversionreferences/checkpoint-splitting.md
Validate a SeedOmni changereferences/validation.md

Current Baseline

  • Entry-time samples use {"conversation_list": [...]}. seedomni_transform runs ordered module CPU preprocessors (OmniProcessor) per sample in the Dataset stage, and SeedOmniCollator groups preprocessed samples into a micro-batch before GPU forward.
  • ModulePreprocessorBase is a core data-flow contract, shared by training and inference. Training runs it inside data_transform (seedomni_transform); inference runs it once before the FSM.
  • Modules communicate by mutating and returning the shared conversation_list carrier.
  • Training graphs are flat edge lists over module[.method] endpoints. to: end is the virtual sink. Execution order is derived by topo sort.
  • Generation graphs are FSMs. Each state body is an ordered inline edge list. done is framework-injected; use module_signal and default transitions.
  • Store tokenizers, processors, and other assets in the owning module's subfolder.

Templates

Templates under templates/ are skeletons, not authoritative examples. Use them to start a new config file, then compare against the live configs listed in references/module-contract.md.

Sibling Skills

  • Use veomni-new-model first when adding a new HuggingFace model family under veomni/models/transformers/.
  • Use this skill after that model exists, when wrapping it as SeedOmni modules or wiring it into Omni graphs.
  • Use veomni-develop for unrelated framework work outside SeedOmni.

Download now (ZIP)

Trending

Quiet since September.about the whole repository

Dec 2025: 1 mentionJan 2026: 0 mentionsFeb 2026: 1 mentionMar 2026: 0 mentionsApr 2026: 1 mentionMay 2026: 2 mentionsJun 2026: 3 mentionsJul 2026: 0 mentionsAug 2026: 4 mentionsSep 2026: 5 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the ByteDance-Seed/VeOmni repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about ByteDance-Seed/VeOmni

The biggest 5 of 22 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 22

Talked about on GitHub and Bluesky (22 times).

On GitHub · 21

16 more on GitHub

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.