Agent Workflow Guide#
VeOmni provides a skill-based workflow system that helps AI coding agents work on the project effectively. Skills follow the Agent Skills open standard and work with any compatible agent (Cursor, Claude Code, Codex, Junie, Goose, etc.).
Overview#
The workflow consists of three layers:
AGENTS.md <- Entry point: principles, skill dispatch, commit flow
.agents/skills/ <- Skills: step-by-step workflows for common tasks
.agents/knowledge/ <- Knowledge: constraints, architecture, dependency info
.cursor/rules/ <- IDE rules: Cursor-specific coding conventions
When an agent opens the project, it reads AGENTS.md (or its symlink CLAUDE.md) to understand:
What constraints to follow before making any change
Which skill to use for the task at hand
How to commit (mandatory code review gate)
Quick Start#
For AI Agent Users#
If you are using Cursor or another AI coding tool on this project, the workflow activates automatically:
The agent reads
AGENTS.mdon session start.For each task, the agent selects the appropriate skill from the dispatch table (or auto-discovers it via the
descriptionfrontmatter).The agent reads the skill’s
SKILL.mdand follows its step-by-step instructions.Before committing, the agent runs the
/veomni-reviewskill (a subagent code review).
You don’t need to do anything special — just describe your task in natural language. You can also invoke a specific skill with /skill-name in chat (e.g., /veomni-debug).
Examples#
What you say |
Agent uses |
|---|---|
“Add support for Llama 4” |
|
“Fix the OOM error in VLM training” |
|
“Add a fused RoPE kernel” |
|
“Refactor the data collator” |
|
“Update torch to 2.10” |
|
Directory Structure#
.agents/skills/#
Each skill is a folder containing a SKILL.md file with YAML frontmatter (name and description):
.agents/skills/
├── veomni-develop/SKILL.md # Feature development and refactoring
├── veomni-debug/SKILL.md # Bug fix and debugging (quick path + full protocol)
├── veomni-review/SKILL.md # Pre-commit code review (mandatory)
├── veomni-new-model/SKILL.md # Add a new model to VeOmni
├── veomni-new-op/SKILL.md # Add a new kernel/operator
└── veomni-uv-update/SKILL.md # Dependency management with uv
The description field in frontmatter tells the agent when to apply the skill. Agents that support auto-discovery (Cursor, Claude Code) will offer the relevant skill automatically based on the task description.
.agents/knowledge/#
Domain knowledge that agents should read before making changes:
File |
Content |
|---|---|
|
22 hard constraints — violating any one causes bugs or crashes |
|
Module map, trainer hierarchy, data flow, model loading flow, test mapping |
|
Dependency management architecture (uv, extras, lockfile, torch sources) |
.cursor/rules/#
Cursor IDE rules (auto-applied when editing matching files):
no-section-divider-comments.mdc— no decorative# ----banners in Pythonskills-reusable-only.mdc— enforce Agent Skills standard format in.agents/skills/
Adding a New Skill#
Create
.agents/skills/<skill-name>/SKILL.mdwith YAML frontmatter:
---
name: skill-name
description: "When to use this skill. Trigger words and scenarios."
---
Add the skill to the dispatch table in
AGENTS.md.Add it to the Skill Index in
.agents/skills/README.md.If the skill needs domain knowledge, add it to
.agents/knowledge/.Optional: add
scripts/,references/, orassets/subdirectories.
See the Agent Skills specification for the full format.
Adding Domain Knowledge#
Create or edit a
.mdfile in.agents/knowledge/.Reference it from the Context Loading section in
AGENTS.md.If the knowledge contains hard rules, add them to
constraints.md.
Commit Flow#
The agent workflow enforces a structured commit flow:
Code Change -> /veomni-review (subagent) -> Verdict
|
safe -> commit
needs-attention -> fix, then commit
risky -> report to user, wait
Additional gates:
make qualitymust pass (ruff check + format)Commit messages must not mention AI/Claude
PR title must follow
[{modules}] {type}: {description}format