first-fluke/oma-skill-creator
> 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.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.