Skill Creator
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
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.
$ npx skills add luongnv89/asm --skill skill-install-improved -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/asm skill-install-improved --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-install-improved .claude/skills/skill-install-improved && 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-install-improved" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-install-improved into .claude/skills/skill-install-improved/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-install-improved", 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-install-improvedType 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-install-improved -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/asm skill-install-improved --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-install-improved .agents/skills/skill-install-improved && 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-install-improved" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-install-improved into .agents/skills/skill-install-improved/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-install-improved", 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-install-improved -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/asm skill-install-improved --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-install-improved .cursor/skills/skill-install-improved && 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-install-improved" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-install-improved into .cursor/skills/skill-install-improved/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-install-improved", 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-install-improved--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-install-improved -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/asm skill-install-improved --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-install-improved .gemini/skills/skill-install-improved && 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-install-improved" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-install-improved into .gemini/skills/skill-install-improved/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-install-improved", 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-install-improvedInstalls 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-install-improved -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-install-improved .github/skills/skill-install-improved && 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-install-improved" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-install-improved into .github/skills/skill-install-improved/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-install-improved", 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-install-improved -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-install-improved --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-install-improved .opencode/skills/skill-install-improved && 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-install-improved" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-install-improved into .opencode/skills/skill-install-improved/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-install-improved", 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-install-improvedInstall 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.
Skill Install Improved is an agent skill from 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. Don't use for improving in place, upstream PRs, or plain asm install.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `docs/README.md`, `evals/evals.json` and `references/install-and-report.md`). Compatibility notes: Claude Code; requires asm and git on PATH
It sits in Agent Workflows, covering Skill authoring. The repository describes itself as: The universal skill manager for AI coding agents. The licence is MIT.
5 steps, taken from the step headings 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 these tools, so the agent can use them without asking each time:
BashReadWriteEditGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom 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.
Claude Code; requires `asm` and `git` on PATH
From compatibility in the SKILL.md frontmatter.
Skill Install Improved loads about 3.3k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 1,703 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, Edit, Grep, GlobAutomated 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); files beside SKILL.md are not scanned.
The full file from luongnv89/asm at commit a01a183, republished under its MIT licence (© luongnv89). 1,703 words, ~3,285 tokens.
.claude/skills/skill-install-improved/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You install an improved variant of one skill instead of the skill as published: resolve the target to a local directory → run skill-creator's Subpath B1 retrofit loop on it → install the improved result → report what was improved and from what. The improvement is a step inside the install, not a separate errand. One skill per run.
<skill> but improve it first" or "install an improved version of <skill>"Do not trigger for: improving without installing (skill-creator), contributing upstream (skill-upstream-pr), authoring from scratch (skill-creator), plain installs (asm install <source>), or bulk-improving many skills at once.
Verify each before resolving anything. If one fails, stop and tell the user which one.
asm and git on PATH, and Python 3 (skill-creator's validator needs it)asm list --json for existing install paths)Every input form is improved on a throwaway copy under $(mktemp -d) — local paths included. An install that rewrites the user's working copy is a side effect they did not ask for, and the retrofit loop's git pull --rebase would rebase their branch.
Repo sync is skipped for every form. A local-path copy has no origin. A repo or name clone does have origin, but it is a throwaway --depth 1 checkout that may sit on a detached --ref, and a pull could move it off the requested ref. The retrofit loop allows this skip for a caller's throwaway copy. Say so when you skip it.
Trade-off: the improvement lands only in the installed copy. To persist it, point the user at skill-creator (their own path) or skill-upstream-pr (the source repo).
This skill invokes skill-creator, declared in frontmatter dependencies. Before Phase 0, verify asm is available:
command -v asm >/dev/null || {
echo "Missing installer: npm install -g agent-skill-manager" >&2
exit 1
}
asm deps discover skill-install-improved --jsonWhen execution reaches Phase 1, the main agent runs:
asm deps acquire skill-creator --session <caller-session-id> --json<caller-session-id> is a unique id the main agent picks once per run, e.g. skill-install-improved-<epoch-seconds>; reuse it for the release.
Set SKILL_CREATOR_DIR to the directory holding the returned skillMdPath, and use it immediately; do not wait for a provider catalog rescan. The retrofit loop is $SKILL_CREATOR_DIR/references/retrofit-loop.md; its validator is $SKILL_CREATOR_DIR/scripts/quick_validate.py. If the acquire fails, stop before Phase 1 and report the error — this skill cannot improve anything without it.
The main agent releases the lease from its own finally/shutdown handling — after Phase 4, or at any earlier stop:
asm deps release --session <caller-session-id> --jsonIf Phase 0 stops before Phase 1, do not acquire.
The user identifies one target skill, in any of four forms — a local path (skills/foo), a local SKILL.md file path, a repo (https://github.com/owner/repo, owner/repo), or a skill name (code-review). Phase 0 normalizes all of them to one local directory, $SKILL_PATH.
Also needed before Phase 3: the install scope (global or project) and the target tool (-p/--tool — claude, codex, agents, …). If the user did not state one, ask; never guess. asm install hard-fails without --tool in a non-interactive run, and -y does not cover it.
Optional: a --name <alt> intent.
Before Phase 0, record the directory the user invoked you from as CALLER_DIR (pwd). Project-scope paths resolve from the current directory, so Phase 3 must run there, not inside $WORK.
Execute phases in order. Do not skip or reorder.
Full contract in references/target-resolution.md. In short, with WORK="$(mktemp -d)":
cp -R into $WORK. A SKILL.md file path folds to its parent first; the retrofit loop takes a directory, not a file.git clone into $WORK. Never gh repo fork — this skill performs no public GitHub action.asm search "<term>" --available --json, then copy the string after asm install from the chosen result's installCommand verbatim. Never hand-construct github:owner/repo:path. Clone what it names.Set $SKILL_PATH to the directory holding the chosen SKILL.md. If the checkout holds several and no subpath was given, list them (find "$WORK" -maxdepth 5 -name SKILL.md -type f) and ask which one. Never guess.
Record for the report: the supplied identifier, the resolved install or clone URL, and the upstream commit SHA.
This skill does not reimplement the improvement loop, and it reads that loop only now, so the loop's references stay out of the context budget until Phase 1. Acquire skill-creator (Dependency Preflight), then follow $SKILL_CREATOR_DIR/references/retrofit-loop.md (Subpath B1) with $SKILL_PATH as the target, through its Phase 7 report.
Two adaptations, because the target is a throwaway copy:
— repo sync skipped (throwaway copy) and continue..asm-improver/ is written relative to the current working directory. Run the loop with cwd inside $SKILL_PATH, or Phase 2 has nothing to harvest.If the baseline already clears both gates, the retrofit loop stops without editing — a valid outcome, see Edge Cases.
Harvest before any cleanup. Read the files under $SKILL_PATH/.asm-improver/ that references/install-and-report.md lists, and extract its fields. An early-exit baseline writes no iter-N.json; then the baseline is also the final state.
Then confirm $SKILL_PATH is still inside $WORK, and remove the two artifacts that must not ship (asm install copies the source recursively):
rm -f "$SKILL_PATH/SKILL.md.bak"
rm -rf "$SKILL_PATH/.asm-improver" "$SKILL_PATH/.git"Never point either command at a user-supplied path.
The retrofit loop never renames, so the improved variant keeps the original frontmatter name. asm install never refuses on a collision: with -y it deletes and replaces the target directory without a prompt. So probe before invoking it:
Run this phase from CALLER_DIR:
cd "$CALLER_DIR"
asm list --json # is this skill's name or directory already installed for $TOOL / $SCOPE?Read references/install-and-report.md → Collision policy and take the path it gives for the probe result. The rule that never changes: if the probe shows any match — frontmatter name or directory name — name the target path and what occupies it, and get explicit confirmation before running asm install. Use --name <alt> only when the user asks for it, after the duplicate-trigger warning.
Only after the probe is read and any collision is confirmed:
asm install "$SKILL_PATH" -p "$TOOL" --scope "$SCOPE" --json -yInstall $SKILL_PATH, never the original source. Take the installed path from the command's --json output (.path); never assume ~/.claude/skills/.
Fill in the report template in references/install-and-report.md. It covers the four items the user needs: the result, the evidence, what stays untested, and the next decision.
Remove $WORK only after the report is printed, then release the dependency lease.
After each phase, print a compact status block: √ pass, × fail, — context.
◆ Phase N — [phase name] ([N of 5])
··································································
[check 1]: √ pass
[check 2]: × fail — [reason]
Result: PASS | FAIL | PARTIALChecks per phase:
Form identified, Copied to temp, SKILL_PATH unambiguous, Provenance recordedskill-creator acquired, Baseline captured, Repo sync skipped, Gates cleared or stop reason knownMetrics harvested, .bak removed, .asm-improver removed, Deletions confined to tempCollision probed before install, Overwrite confirmed (if any), Tool and scope supplied, Install succeededReport printed, Temp dir removed, Lease releasedThe expected output of a successful run, each item checkable:
$SKILL_PATH is a directory with a SKILL.md, under $WORK; the user's files are unmodifiedinstallCommand verbatim; repo resolution used plain git clone — no fork, no pushskill-creator; baseline.json, iter-N.json, and report.md were read before cleanup.asm-improver/ and no SKILL.md.bakasm install targeted $SKILL_PATH with both -p/--tool and --scope, after a collision probe; any overwrite was confirmed first$WORK was removed after the report, and the dependency lease was releasedWhen reviewing a run's output (by eval or by a human), also check that a reader can:
baseline.json and the last iter-N.json; the install path maps to install --json .path.An agent's own review cannot confirm human understanding. A reviewer who received no human feedback records understanding as unconfirmed.
.asm-improver/. Still run Phase 2's cleanup and Phase 3's probe. Install the original, unchanged, and report that no improvement was needed, naming the baseline score. Never imply a delta that did not happen.skill-creator cannot be acquired — stop before Phase 1, remove $WORK, and report the asm deps acquire error.SKILL.md files in a clone — list them and ask. Never batch, never guess.asm search returns nothing, or several equally-plausible matches — show the candidates and ask; never install the first hit.asm eval --fix cannot add it, and this skill does not scaffold one. Answer "abort" to the retrofit loop, report, and stop; do not install an unimprovable skill as if it were improved.name, dirName, provider, scope), confirm, and offer --name <alt> — all before asm install runs.$WORK, report. Never install a partial checkout.references/target-resolution.md — the input forms normalized to one local $SKILL_PATHreferences/install-and-report.md — harvested fields, install flags, collision policy, report template$SKILL_CREATOR_DIR/references/retrofit-loop.md — the improvement loop this skill delegates to (acquired at run time)asm install --help and asm search --help — flag references© 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 5 other files (references) in skills/skill-install-improved of luongnv89/asm.
Open the folder on GitHubat commit a01a183
Skill Install Improved 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 Install Improved this skillluongnv89/asm | 953 | — | ~3.3k | Automated safety check: Notes | MIT | |
| Skill CreatorAzure/azqr | 795 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase | 10k | 11 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Darwin Skill Optimizeralchaincyf/darwin-skill | 6.2k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Claude Code Command Developmentanthropics/claude-plugins-official | 38k | 10 repos | ~4.8k | 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 |
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
diet103/claude-code-infrastructure-showcase
A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
anthropics/claude-plugins-official
Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.
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.
rohitg00/ai-engineering-from-scratch
Evaluates an Agent Skill bundle before release for structure, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity and host portability.
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
Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering.
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
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.
Categories
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. Skill Install Improved is an agent skill from 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.
Skill Install Improved fits situations like: improving in place; plain asm install.
Run `npx skills add luongnv89/asm --skill skill-install-improved -a claude-code`. Or copy the skill folder (skills/skill-install-improved in luongnv89/asm) into .claude/skills/skill-install-improved in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/asm --skill skill-install-improved -a codex`. Or copy the skill folder (skills/skill-install-improved in luongnv89/asm) into .agents/skills/skill-install-improved 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-install-improved -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-install-improved, .gemini/skills/skill-install-improved, .github/skills/skill-install-improved and .opencode/skills/skill-install-improved in your project.
Going by SKILL.md and its folder, Skill Install Improved needs the command-line tools its instructions call (git and gh). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob. Compatibility (from SKILL.md): Claude Code; requires `asm` and `git` on PATH.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Skill Install Improved is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k 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 4.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Skill Install Improved: Skill Creator (Azure/azqr, 795 stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars) and Claude Code Command Development (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.