> 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.
npx skills add https://github.com/first-fluke/oh-my-agent --skill oma-skill-creator
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.
.agents/skills/*/SKILL.md..agents/skills/{name}/SKILL.mdCanonical command path or Canonical workflow path to an execution-heavy skillresources/$CODEX_HOME/skills -> use Codex's built-in skill installer (external; not an OMA skill)skill_name: target directory name, preferably oma-{domain}skill_goal: capability the skill should addtrigger_intents: user prompts or domains that should activate the skillboundaries: when the skill should not be used and which skill should handle those casesexecution_model: whether the skill is command-heavy, workflow-heavy, judgment-heavy, or reference-heavySKILL.md using the SSL-lite top-level sectionsresources/*.md, config/*.yaml, scripts/*, or assets/* only when progressive disclosure or deterministic execution requires them.agents/skills/*/SKILL.mdresources/ssl-lite-template.mdresources/validation-checklist.mdSKILL.md and what belongs in resources/, config/, scripts/, or assets/.oma skills lint --skill {name}, then the remaining routing, execution, resource, utility-content, and formatting checks.### Canonical command path inline.### Canonical workflow path inline.resources/ and reference them explicitly.| 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 |
| oma skills lint is unavailable (CLI not installed) | Fall back to 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 |
| Action | SSL primitive | Evidence |
|--------|---------------|----------|
| Read analogous skills | READ | Existing .agents/skills/*/SKILL.md |
| Select skill type | SELECT | Command/workflow/judgment/reference-heavy classification |
| Infer boundaries | INFER | Trigger intents and adjacent skill overlap |
| Write skill file | WRITE | New or updated SKILL.md |
| Add resources | WRITE | resources/, config/, scripts/, or assets/ |
| Validate structure | VALIDATE | oma skills lint smell report; heading and canonical-path checks |
| Report result | NOTIFY | Changed files and validation summary |
oma skills lint --skill <id> for automated smell detection (frontmatter, structure, canonical path, broken references, boundaries)rg, find, awk, sed, git diff --checkresources/ssl-lite-template.md for the canonical section skeletonresources/validation-checklist.md for acceptance criteriaSKILL.md from resources/ssl-lite-template.md.### Canonical command path for fragile or repeatable commands### Canonical workflow path for decision, review, design, or research flowresources/.oma skills lint --skill <name> (frontmatter, headings, canonical path, broken references, boundaries), then git diff --check for whitespace. If the CLI is unavailable, fall back to the structural grep/awk checks in resources/validation-checklist.md.| Scope | Resource target |
|-------|-----------------|
| CODEBASE | .agents/skills/*/SKILL.md, adjacent resources, project skill conventions |
| LOCAL_FS | New skill directories and resource files |
| PROCESS | Validation commands and optional generator/check scripts |
| MEMORY | User requirements, assumptions, and validation notes |
.agents/skills/ when project rules would otherwise protect .agents/..agents/skills/.Scheduling, Structural Flow, Logical Operations, References.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).When NOT to use boundaries and cross-routes to adjacent skills.outputs: block when artifacts can be globbed so oma verify can perform a closure check.PREPARE, ACQUIRE, REASON, ACT, VERIFY, RECOVER, FINALIZE.READ, SELECT, VALIDATE, INFER, WRITE, CALL_TOOL, NOTIFY, and TERMINATE.10. Put long variant-specific details in resources/, not in the main skill body. Keep the SKILL.md body under 500 lines; oma skills lint warns as body-too-long past that.
10a. Write examples only when the output format is a contract someone parses — a CLI's result block, a schema, a LAW-validated document. Worked input/output pairs that merely show "what a good report looks like" narrow the model's exploration space to the example's shape, so state the requirement instead and let the model choose the form. Per-task shape belongs in the task, not the skill.
10b. Do not add instructions to double-check, re-verify, or self-review before answering — current models already do this, and the instruction compounds into over-verification. Deterministic validators the skill can actually run (oma verify, a lint script, a schema check) are the exception and should stay: they are feedback loops, not re-reading.
11. Do not create extra README, changelog, or installation docs inside a skill.
12. Do not overwrite unrelated user edits.
13. Enforce the three utility-predictive content dimensions — failure mechanism encoding, actionable specificity, high-risk action blacklist — per the Utility Content Checks in resources/validation-checklist.md (SkillLens, arXiv:2605.23899).
resources/ssl-lite-template.mdresources/validation-checklist.md../_shared/core/context-loading.md../_shared/core/quality-principles.md.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.oma skills opt --skill <id> proposes SKILL.md edits and keeps only those that improve measured held-out utility lift — use it after authoring instead of hand-tuning prose.Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take first-fluke/oma-skill-creator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.