Create or update OMA skills in the SSL-lite human-readable format. Use when adding a new `.agents/skills/{skill-name}/SKILL.md`, converting an existing skill to the standardized Scheduling / Structural Flow / Logical Operations / References structure, or validating whether a skill has enough routing, execution, resource, and safety detail.
Create or update OMA skills in the SSL-lite human-readable format. Use when adding a new `.agents/skills/{skill-name}/SKILL.md`, converting an existing skill to the standardized Scheduling / Structural Flow / Logical Operations / References structure, or validating whether a skill has enough routing, execution, resource, and safety detail.
Create, revise, and validate OMA skills using the SSL-lite Markdown structure derived from Scheduling-Structural-Logical skill representation while keeping the result readable, executable, and maintainable.
Intent signature
User asks to create a new OMA skill, agent skill, specialist skill, or .agents/skills/*/SKILL.md.
User asks to convert or normalize a skill into the project skill format.
User asks whether a skill has enough scheduling, structural, logical, reference, or canonical execution detail.
User mentions SSL-lite, Scheduling / Structural / Logical, skill format, skill template, or skill creator.
When to use
Creating a new skill under .agents/skills/{name}/SKILL.md
Updating an existing OMA skill to the SSL-lite format
Adding Canonical command path or Canonical workflow path to an execution-heavy skill
Auditing whether a skill is usable by routing, execution, validation, and recovery logic
Deciding whether detailed examples belong inline or in resources/
When NOT to use
Installing third-party skills into $CODEX_HOME/skills -> use skill installer
Creating a Codex plugin bundle -> use plugin creator
Writing a general project plan unrelated to skill authoring -> use PM Agent
Editing product code, infrastructure, frontend, backend, or mobile implementation directly -> use the matching specialist skill
ACQUIRE: Read analogous skills, existing resources, project conventions, and any user-provided source material.
REASON: Decide what belongs inline in SKILL.md and what belongs in resources/, config/, scripts/, or assets/.
ACT: Create or update the skill using the SSL-lite template.
VERIFY: Run structural, routing, execution, resource, and formatting checks.
FINALIZE: Report created/changed files, validation result, and any remaining assumptions.
Transitions
If the skill performs fragile or repeated commands, include ### Canonical command path inline.
If the skill is mostly human judgment or investigation, include ### Canonical workflow path inline.
If detailed examples are long, variant-specific, or optional, move them to resources/ and reference them explicitly.
If a skill already exists, preserve working content and normalize only what is needed for the target format.
If the trigger description is too broad, narrow it before writing the skill.
Failure and recovery
Failure
Recovery
Skill scope overlaps heavily with another skill
Add a clear When NOT to use boundary and cross-route
Execution path is vague
Add canonical command or workflow path inline
SKILL.md becomes too long
Move detailed examples to resources/ and keep navigation in References
No reliable validation command exists
Use structural grep/awk checks and manual checklist validation
User input is underspecified
Make conservative assumptions and list them, unless the target behavior would be unsafe
Exit
Success: the skill has the four SSL-lite top-level sections, a canonical path, clear routing boundaries, resource constraints, and validation evidence.
Partial success: the structure is valid but missing commands, tools, source material, or user decisions are reported.
Failure: no skill file is written or the blocking ambiguity is explicit.
Validation commands and optional generator/check scripts
MEMORY
User requirements, assumptions, and validation notes
Preconditions
The target skill name and purpose are known or can be inferred safely.
Adjacent skill overlap has been checked.
The user has authorized changes under .agents/skills/ when project rules would otherwise protect .agents/.
Effects and side effects
Creates or modifies files under .agents/skills/.
May add resource files to support progressive disclosure.
Does not stage or commit changes unless explicitly requested.
Guardrails
Keep the four top-level sections exactly: Scheduling, Structural Flow, Logical Operations, References.
Keep YAML frontmatter with clear name and description; routing depends on description quality. Run oma skills audit after editing description to confirm the new wording does not collide with adjacent skills (warn ≥ 60%, fail ≥ 75% TF-IDF cosine).
Include concrete When NOT to use boundaries and cross-routes to adjacent skills.
Include expected inputs, expected outputs, dependencies, and control-flow features. Prefer the structured outputs: block when artifacts can be globbed so oma verify can perform a closure check.
Include structural scenes using SSL scene vocabulary where practical: PREPARE, ACQUIRE, REASON, ACT, VERIFY, RECOVER, FINALIZE.
Include logical actions with SSL primitives such as READ, SELECT, VALIDATE, INFER, WRITE, CALL_TOOL, NOTIFY, and TERMINATE.
Include resource scope and resource targets for filesystem, codebase, process, credentials, network, user data, or memory.
Include effects and side effects, especially for commands, network calls, credentials, destructive actions, generated files, and long-running processes.
Add one canonical path inline so an agent can execute or reason without loading every resource file.
Put long variant-specific details in resources/, not in the main skill body.
Do not create extra README, changelog, or installation docs inside a skill.
Skill utility eval: when creating a new skill, consider adding held-out task fixtures under .agents/eval/<skill>/ so oma skills eval can measure whether the skill improves task outcomes. See web/docs/guide/skill-eval.md for the fixture schema and checker types.