Skill Creator
IgorWarzocha/Opencode-Workflows
Architect and refine OpenCode skills to extend agent capabilities.
Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering.
$ npx skills add luongnv89/asm --skill skill-creator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/asm skill-creator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skill-creator .claude/skills/skill-creator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skill-creator" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-creator into .claude/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/luongnv89/asm/tree/main/skills/skill-creatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add luongnv89/asm --skill skill-creator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/asm skill-creator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skill-creator .agents/skills/skill-creator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-creator" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-creator into .agents/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luongnv89/asm --skill skill-creator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/asm skill-creator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skill-creator .cursor/skills/skill-creator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-creator" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-creator into .cursor/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/luongnv89/asm.git --path skills/skill-creator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add luongnv89/asm --skill skill-creator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/asm skill-creator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skill-creator .gemini/skills/skill-creator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-creator" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-creator into .gemini/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install luongnv89/asm skill-creatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add luongnv89/asm --skill skill-creator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skill-creator .github/skills/skill-creator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-creator" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-creator into .github/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luongnv89/asm --skill skill-creator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install luongnv89/asm skill-creator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/asm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skill-creator .opencode/skills/skill-creator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-creator" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-creator into .opencode/skills/skill-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-creatorCreate a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering.
Skill Creator is an agent skill from luongnv89/asm. Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering. Use when authoring, fixing, or retrofitting a skill. Don't use for invoking skills, writing prose, or Python scaffolds.
Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 50 other files, including scripts, reference files and assets (for example `agents/analyzer.md`, `agents/comparator.md` and `agents/grader.md`). Compatibility notes: Python 3 for scripts/quickvalidate.py; asm on PATH for the Gate 2 score check
It sits in Agent Workflows, covering Skill authoring, LLM evaluation and Project scaffolding. It works with Python. The repository describes itself as: The universal skill manager for AI coding agents. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a01a183. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
gitpythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Python 3 for scripts/quick_validate.py; `asm` on PATH for the Gate 2 score check
From compatibility in the SKILL.md frontmatter.
Skill Creator loads about 5.3k tokens when it runs, and up to ~60k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 2,644 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from luongnv89/asm at commit a01a183, republished under its MIT licence (© luongnv89). 2,644 words, ~5,298 tokens.
.claude/skills/skill-creator/SKILL.md (or your agent's skills folder). This skill also uses 45 other files; get the full folder from GitHub.A skill for creating new skills and iteratively improving them. The agent's context budget is the primary constraint, so this SKILL.md links out to focused reference files.
The core loop:
eval-viewer/generate_review.py, plus quantitative evals)Identify where the user is in this loop and jump in there. New skill from scratch → start at step 1. Existing draft → jump to step 3 or 4. User wants to vibe-iterate without formal evals → support that. After the skill stabilizes, optionally run the description improver to optimize triggering.
The skill supports two distinct workflows. Identify which one the user is on before you do anything else — they don't share a starting step.
If the request is ambiguous ("can you look at this skill?"), assume Path B and confirm before interviewing as if it were new. Path B also fires when /skill-creator is invoked on a skill directory or file.
Both paths share the mandatory rules below: Repo Sync Before Edits, Dependency Preflight, Version Management, YAML Frontmatter Safety, and Frontmatter Audit on Review/Evaluation. Both close with the Run stats block. Both paths end at the same skill standard.
One bar for a created skill and an updated one — references/skill-standard.md holds the detail:
quick_validate.py clean, the Frontmatter Audit, body under 500 lines and 3000 words, a negative-trigger clause, version and author, the README notice, script errors, dependency preflight when another skill is invoked, and the five human-review checks.overallScore > 85 AND min(categories) >= 8.PASS only when both gates pass; anything else after the loop caps is a BLOCKER naming each failing check. Without asm on PATH, Gate 2 is not measured and the run never reports PASS. The predictability rubric stays advisory on both paths.
After each major step, print a compact status block — √ pass, × fail, — context, a Criteria line, and a Result: PASS | FAIL | PARTIAL line — with checks tied to commands, file states, or counts. The block format and the per-phase checks (Intent Capture, Skill Writing, Testing, Iteration, Closing check) are in references/writing-guide.md → Step Completion Reports.
Every run that creates or updates a skill closes its summary with a run-stats block — the last thing printed, after the final Step Completion Report. It reports what the run cost, and nothing the run already reported.
Capture run_started_epoch once, in the same shell as the skill's first command — cmd; ec=$?; date +%s >&2; exit "$ec" — reading the epoch off stderr so stdout and the exit code stay intact. Set it there, not later: without the anchor elapsed prints n/a, and the block still has to print on an early stop.
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
Run stats elapsed 6m 04s · tokens 128,400 · cost $0.42
agents 3 · skills 1 · tool calls 47Fields are fixed and in this order — never reordered, renamed, or added to: elapsed, tokens, cost, agents, skills, tool calls. Per-field formatting: references/run-stats.md.
tokens and cost are omitted entirely when the host reported no figure — no dangling ·, no placeholder. Never estimate one, and never reconstruct one from host transcripts or logs.elapsed, agents, skills, and tool calls always print. A value that cannot be determined prints the literal n/a; 0 is a determined value and is correct where it is true (a run that spawned no subagents prints agents 0).Print it on every path that finishes a create or update — Path A, Subpath B1, Subpath B2, and Subpath B3 — and at every terminal outcome: a PASS, a BLOCKER, the Phase 0 early exit, a failed prerequisite, an aborted run. Only a run that produced no output at all has no block.
Users span a wide range of technical familiarity. Match jargon to context cues — terms like "JSON" or "assertion" need evidence the user knows them; briefly define terms when in doubt.
When creating or updating any skill that changes files in a git repository (code, docs, config, commits, publishing), include this rule in that skill's SKILL.md:
branch="$(git rev-parse --abbrev-ref HEAD)"; git fetch origin && git pull --rebase origin "$branch" before modifications.origin is missing or conflicts occur: stop and ask the user before continuing.Do not ship repo-mutating skills without this pre-sync guardrail.
Establish, for every skill you author or retrofit, whether it invokes, delegates to, or reads another skill. Ask it in the interview — Does this skill invoke other skills? is Capture Intent question 6 — and confirm the answer against the draft: prose naming /another-skill, or a read under ~/.claude/skills/, is a dependency even when the author said there were none.
dependencies list and ship a ## Dependency Preflight (mandatory) section above the first step that changes anything. The main agent acquires only a dependency whose branch it reaches with asm deps acquire ... --session <caller-session-id>, uses the returned path directly, and releases the session in caller-owned finally/shutdown handling.Read references/dependency-preflight.md for the copyable template and the on-miss behavior. The skill standard's Gate 1 checks this same rule on both paths, so a skill that ships without a required gate fails its closing check.
Read references/frontmatter-rules.md for the full mandatory rules:
metadata.version: 1.0.0 on creation; bump patch/minor/major on every edit.metadata.version, metadata.author, YAML safety, and consistency with docs/README.md. Run python scripts/quick_validate.py <skill-path> first; it catches mechanical issues without LLM reasoning.These rules apply on every write. Always confirm them before saving.
Read references/intent-interview.md and work it top to bottom. It carries:
/skill-name is orchestration the user runs deliberately — a pipeline, or an expensive or destructive action they confirm first).Extract what the conversation already answers before asking the user anything; they fill the gaps and confirm.
Before drafting, skim references/exemplars.md and imitate the archetype closest to this skill — workflow, knowledge, or orchestrator. Then, based on the user interview, fill in:
scripts/quick_validate.py.low | medium | high | xhigh | max. Defaults to high.Read references/description-guide.md for the full guide: the pushy + negative-triggers pattern (a "Don't use for ..." clause naming 2–3 adjacent domains), one trigger per branch, and the three length limits. The rule that bites first: target ≤250 characters — Claude Code's /skills listing truncates tail-first beyond that, chopping the negative-trigger clause. scripts/quick_validate.py warns (non-fatal) when the negative clause looks missing.
Read references/writing-guide.md for the full guide. It covers anatomy (where agents/, references/, scripts/, assets/, docs/ go), progressive disclosure and the 500-line SKILL.md cap, the Principle of Lack of Surprise, writing and workflow patterns, bundled-script error messages, Step Completion Reports, writing style, docs/README.md generation (references/readme-template.md), the 5-prompt test-case floor saved to evals/evals.json (references/schemas.md), and the pre-eval LLM validation phases (references/validation-prompts.md).
Apply the controlled-language rules in references/writing-guide.md → Controlled instructions when drafting or revising instructions. Define a human-review output contract for every skill using references/human-review.md. Read that reference when choosing the output format or evaluating whether the user can understand the result. Apply these standards on both creation and improvement paths.
For skill-creator's own final response, state the skill changes, checks actually run, untested behavior, and any decision requiring approval. If no approval is needed, say so. Keep this concise; retain the Step Completion Reports and final Run stats block.
The goal of creating a skill here is a predictable process — the agent follows the same reliable path every run — and a skill that ships publish-ready and clears the skill standard (below) on its first closing check. Read references/predictability-rubric.md for the full standard and its checkable pass/fail bar. The hooks you apply while writing:
references/ behind a one-line pointer — this keeps context load low and SKILL.md under the caps. Its step-level analogue is per-step context delegation: a delegable step names the slice of references/ its worker needs and hands that slice over as the worker's Input, so the main agent never holds the whole tree (references/subagent-patterns.md → Per-Step Context Delegation, which also says when the slice isn't worth taking).Before finishing, walk all 7 rubric items (the four hooks above plus invocation choice, branch mapping, and publish-ready) and emit the result as the Predictability pass row of the Skill Writing Step Completion Report. This makes the rubric walk visible instead of silent — a × is a fix-before-publish signal, not a blocker.
The drafting context cannot review its own draft — it fills every gap from memory instead of from the page. After the rubric walk, spawn a fresh subagent with the draft skill and phases 1–3 of references/validation-prompts.md (discovery, logic walk, edge-case attack); it returns trigger misses, ambiguous steps, and breaking prompts. Fix the real findings before running evals; carry the rest into the test set. If no Agent tool is available, run the phases yourself in a fresh session (see references/environment-modes.md).
After the adversarial review and evals, run references/retrofit-loop.md Phase 0 on the new skill. If both gates pass, finish. Otherwise continue that same loop from Phase 1 under the same caps, then report PASS or BLOCKER (references/skill-standard.md). Without asm, report Gate 1 status and "Gate 2 not measured" — never PASS.
Read references/eval-loop.md for the full 5-step sequence (spawn runs, draft assertions, capture timing, grade/aggregate/view, read feedback). It covers the with-skill + baseline subagent pattern, the eval_metadata.json and timing.json formats, the generate_review.py invocation, and reading feedback.json.
Do NOT use /skill-test or any other testing skill — the flow in references/eval-loop.md is the one this skill expects.
This is Path B. Read references/improving-existing.md and choose the subpath before Phase 0 — they don't share an opening move. Every subpath ends at references/skill-standard.md.
references/retrofit-loop.md: Phases 0–7 measure both gates, apply asm eval --fix, repair Gate 1, then lift the lowest categories, capped at 8 iterations, 3 with no movement, or 2 regressions. Artifacts land in .asm-improver/ (baseline.json, iter-N.json, report.md). Do not interview the user — purpose and triggers are already encoded. Review-only: run Phase 0 and report, no edits.evals/misfires.jsonl first, then results and feedback.json, revise per references/iteration.md, audit frontmatter alongside, bump the version, re-run evals into a new iteration-<N+1>/ directory.references/delegation-conversion.md — only on a target that clears Gate 1, after user confirmation, outside the Phase 6 loop.The description field is the primary mechanism that determines whether Claude invokes a skill. After creating or improving a skill, offer to optimize the description for better triggering accuracy.
Read references/description-optimization.md for the full 4-step flow: generate trigger eval queries, review with the user via the HTML template, run the optimization loop with run_loop.py, apply the best description.
present_files tool is available)If the present_files tool is available (otherwise skip), package the skill and present the resulting .skill file path so the user can install it:
python -m scripts.package_skill <path/to/skill-folder>If you're on Claude.ai (no subagents) or in Cowork (subagents but no browser), some mechanics change. Read references/environment-modes.md for the adapted flow. The core loop (draft → test → review → improve) is the same everywhere — only execution mechanics shift.
agents/ holds instructions for specialized subagents — read one when you spawn that subagent:
agents/grader.md — evaluate assertions against outputsagents/comparator.md — blind A/B comparison between two outputsagents/analyzer.md — analyze why one version beat anotherreferences/ holds the material this SKILL.md links out to:
| File | Contents |
|---|---|
skill-standard.md | The two gates both paths end at; PASS/BLOCKER; missing-asm rule |
retrofit-loop.md | Subpath B1 and the Path A closing check: Phases 0–7, caps, artifacts |
improving-existing.md | Path B selector: Subpaths B1, B2, B3 |
frontmatter-rules.md | Version Management, YAML Safety, Frontmatter Audit, --fix normalizing |
dependency-preflight.md | When a preflight gate is required and the template to emit |
predictability-rubric.md | The 7-item predictability standard (advisory) |
predictability-audit.md | The rubric as the retrofit loop's Phase 2b checklist |
human-review.md | Output contract, format selection, interactive reports, understanding |
human-review-audit.md | Gate 1 detect/repair/re-check table for the five human-review checks |
category-playbook.md | Per-category Gate 2 fix patterns |
cross-gate-tradeoffs.md | Body length across the two gates; link out, don't inline |
delegation-conversion.md | Subpath B3 procedure |
report-template.md | .asm-improver/report.md layouts: PASS, BLOCKER, B3 |
intent-interview.md | Path A opening: the gate, the 7 questions, branch mapping |
description-guide.md | Pushy + negative-trigger descriptions, length budget |
exemplars.md | Three annotated exemplar skills to imitate |
writing-guide.md | Anatomy, disclosure, patterns, errors, Step Completion Reports, tests |
schemas.md | JSON structures for evals.json, grading.json, etc. |
subagent-patterns.md | Agent tool use, per-step context delegation |
validation-prompts.md | The 4 validation phases; 1–3 script the adversarial review |
eval-loop.md | The 5-step eval run / grade / viewer flow |
iteration.md | Revising from feedback; blind comparison |
description-optimization.md | 4-step description-tuning workflow |
environment-modes.md | Claude.ai and Cowork adaptations |
readme-template.md | AI-skip notice and template for docs/README.md |
run-stats.md | Run-stats field definitions and the start-epoch capture |
In any task list, include "Create evals JSON and run eval-viewer/generate_review.py for human review" — especially in Cowork, where it's easy to skip.
© luongnv89, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 45 other files (scripts, references, assets) in skills/skill-creator of luongnv89/asm.
Open the folder on GitHubat commit a01a183
Skill Creator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skill Creator this skillluongnv89/asm | 953 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Skill CreatorIgorWarzocha/Opencode-Workflows | 122 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| CLI-Anything for CodexHKUDS/CLI-Anything | 52k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Skill CreatorAzure/azqr | 795 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Plugin Structureanthropics/claude-plugins-official | 38k | 10 repos | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Skillforgetripleyak/SkillForge | 905 | — | ~2.3k | Automated safety check: Notes | MIT |
IgorWarzocha/Opencode-Workflows
Architect and refine OpenCode skills to extend agent capabilities.
HKUDS/CLI-Anything
Lets Codex build, refine, test, validate and list CLI-Anything harnesses for GUI applications or source repositories, following the project's full methodology.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
anthropics/claude-plugins-official
Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.
tripleyak/SkillForge
A skill your agent uses when creating, improving, finding, or auditing agent skills - the user says 'create a skill', 'do I have a skill for X', 'improve the X skill', 'which skill should I use'…
AgentSkillOS/SkillAnything
Generates a complete agent skill for a target tool, API, library or workflow through a seven-phase pipeline that ends with testing, tuning and packaging for several platforms.
luongnv89/asm
Refactor a too-long SKILL.md by progressive disclosure: measure token cost, classify every section KEEP/CUT/MOVE, shorten the body into references/ and scripts/, verify nothing was lost.
luongnv89/asm
Find Agent Skills for a goal the user cannot name yet, then export an installable bundle.
luongnv89/asm
Sync every enabled repo in the curated skill index and open a confirmation-gated PR.
luongnv89/asm
Add GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR.
luongnv89/asm
Install an improved variant of one named skill: resolve it by local path, repo, or name, run skill-creator's retrofit on a throwaway copy, then install the improved result.
luongnv89/asm
Improve an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics.
Works with
Categories
Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering. Skill Creator is an agent skill from luongnv89/asm. Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering.
Skill Creator fits situations like: retrofitting a skill; invoking skills; Python scaffolds.
Run `npx skills add luongnv89/asm --skill skill-creator -a claude-code`. Or copy the skill folder (skills/skill-creator in luongnv89/asm) into .claude/skills/skill-creator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/asm --skill skill-creator -a codex`. Or copy the skill folder (skills/skill-creator in luongnv89/asm) into .agents/skills/skill-creator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add luongnv89/asm --skill skill-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-creator, .gemini/skills/skill-creator, .github/skills/skill-creator and .opencode/skills/skill-creator in your project.
Going by SKILL.md and its folder, Skill Creator needs Python for the scripts in its folder and the command-line tools its instructions call (git and python). Our summary lists: Python 3. Compatibility (from SKILL.md): Python 3 for scripts/quick_validate.py; `asm` on PATH for the Gate 2 score check.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Skill Creator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 55k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Skill Creator: Skill Creator (IgorWarzocha/Opencode-Workflows, 122 stars), CLI-Anything for Codex (HKUDS/CLI-Anything, 52k stars), Skill Creator (Azure/azqr, 795 stars) and Claude Code Plugin Structure (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
luongnv89 (a GitHub user) maintains it in luongnv89/asm, which has 953 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.
Source: luongnv89/asm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.