Auto Skill Builder
tradecatlabs/vibe-coding-cn
Meta-skill that turns docs, APIs, code or specs into a reusable skill with references and a quality gate, and refactors skills that are unclear or misfire.
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.
$ npx skills add luongnv89/asm --skill skill-upstream-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/asm skill-upstream-pr --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-upstream-pr .claude/skills/skill-upstream-pr && 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-upstream-pr" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-upstream-pr into .claude/skills/skill-upstream-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-upstream-pr", 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-upstream-prType 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-upstream-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/asm skill-upstream-pr --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-upstream-pr .agents/skills/skill-upstream-pr && 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-upstream-pr" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-upstream-pr into .agents/skills/skill-upstream-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-upstream-pr", 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-upstream-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/asm skill-upstream-pr --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-upstream-pr .cursor/skills/skill-upstream-pr && 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-upstream-pr" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-upstream-pr into .cursor/skills/skill-upstream-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-upstream-pr", 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-upstream-pr--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-upstream-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/asm skill-upstream-pr --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-upstream-pr .gemini/skills/skill-upstream-pr && 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-upstream-pr" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-upstream-pr into .gemini/skills/skill-upstream-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-upstream-pr", 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-upstream-prInstalls 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-upstream-pr -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-upstream-pr .github/skills/skill-upstream-pr && 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-upstream-pr" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-upstream-pr into .github/skills/skill-upstream-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-upstream-pr", 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-upstream-pr -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-upstream-pr --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-upstream-pr .opencode/skills/skill-upstream-pr && 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-upstream-pr" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-upstream-pr into .opencode/skills/skill-upstream-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-upstream-pr", 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-upstream-prImprove an open-source GitHub skill and open a friendly suggestion PR upstream: fork, run skill-creator's retrofit, attach asm eval before/after metrics.
Skill Upstream PR is an agent skill from 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. Don't use for local-only skills, authoring from scratch, bulk repos, or registry publish.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `docs/README.md`, `references/pr-template.md` and `references/tone-guide.md`). Compatibility notes: Claude Code
It sits in Agent Workflows, covering Skill authoring. It works with GitHub. The repository describes itself as: The universal skill manager for AI coding agents. The licence is MIT.
7 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
From compatibility in the SKILL.md frontmatter.
Skill Upstream PR loads about 2.4k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 1,212 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,212 words, ~2,421 tokens.
.claude/skills/skill-upstream-pr/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.You are contributing quality improvements to someone else's open-source skill. The workflow is: fork → clone → improve via skill-creator's retrofit loop → push to fork → open a friendly suggestion PR upstream. You do not own the target repo. Every step assumes you are a polite contributor, not a maintainer.
Before any modification to the cloned fork, pull the latest from the fork's tracked branch:
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"If the working tree is dirty: stash, sync, pop. If origin is missing or conflicts occur: stop and ask the user. A stale fork that PRs yesterday's tree is worse than no PR.
asm eval and the user wants the upstream author to benefitDo not trigger for: editing a local skill with no upstream, authoring a brand-new skill, publishing to the ASM registry, or bulk-improving many repos in one pass. One skill → one PR.
Verify each before cloning anything. Stop and tell the user if any fails.
asm on PATH (command -v asm)gh on PATH and authenticated (gh auth status)git on PATHThe user provides a GitHub reference to a skill. Accept any of:
https://github.com/owner/repohttps://github.com/owner/repo/tree/<branch>/<path/to/skill>github:owner/repo[#ref][:path]Normalize to owner, repo, optional ref, optional path. If path is not given and the repo has multiple SKILL.md files, ask the user which one.
Execute phases in order. Do not skip or reorder.
cd "$(mktemp -d)"
gh repo fork "$OWNER/$REPO" --clone --remote
cd "$REPO"
# If a ref was provided:
git checkout "$REF"gh repo fork --clone --remote creates the fork under your account, clones it locally, sets origin to your fork and upstream to the original repo. Verify with git remote -v before continuing.
Create a dedicated branch for the improvement:
git checkout -b "skill-upstream-pr/improve-$(date +%Y%m%d-%H%M%S)"If the user gave a path, use it. Otherwise:
find . -maxdepth 5 -name "SKILL.md" -type fIf more than one match and no path was given, list the candidates and ask the user to pick. Never guess — a wrong PR is worse than a delayed one.
Set SKILL_PATH to the directory containing the chosen SKILL.md (not the file itself) — asm eval takes a directory.
This skill does not reimplement the improvement loop. Follow skills/skill-creator/references/retrofit-loop.md with $SKILL_PATH as the target:
.asm-improver/baseline.jsonasm eval --fix plus frontmatter normalization.asm-improver/report.mdIf the baseline already passes both gates, stop and tell the user — no PR needed for a skill that already meets the floor. Offer to find a different skill or a different target.
Read two files produced by the retrofit loop:
.asm-improver/baseline.json — the before snapshot.asm-improver/iter-N.json — the after snapshotExtract for both:
overallScore, gradecategories[].score (7 categories)topSuggestions summary (for context, not quoted verbatim)Compute deltas. If the overall score did not improve by at least 3 points or no category moved from below 8 to at least 8, stop and tell the user — the change isn't meaningful enough to justify a PR. Offer the retrofit report as feedback they can share informally instead.
Read references/pr-template.md and fill it in. The template enforces friendly, suggestion-style tone. Key sections:
$SKILL_PATHasm eval command the maintainer can run locallyTone rules (read references/tone-guide.md):
Opening a PR on someone else's repo is public and hard to reverse. Before pushing anything, show the user:
git diff upstream/<default-branch>)Ask the user to confirm. If they want edits, apply them and re-preview. Do not push until the user says "go" or equivalent.
After approval:
# Commit the changes
git add -A
git commit -m "$(cat <<'EOF'
improve SKILL.md: clarify triggers, add acceptance criteria, fix frontmatter
Suggested via skill-upstream-pr. See PR body for before/after metrics.
EOF
)"
# Push to the fork
git push -u origin "$(git rev-parse --abbrev-ref HEAD)"
# Open the PR upstream
gh pr create \
--repo "$OWNER/$REPO" \
--title "$PR_TITLE" \
--body-file .asm-improver/pr-body.mdNever push to upstream. Never use --no-verify or other hook-skip flags. If gh pr create fails, stop and report — do not retry in a loop.
Print the PR URL returned by gh pr create so the user can open it.
Emit a compact status block after each phase:
◆ Phase N — [phase name] ([N of 6])
··································································
[check 1]: √ pass
[check 2]: √ pass (note if relevant)
[check 3]: × fail — [reason]
Criteria: √ M/K met
______________________________
Result: PASS | FAIL | PARTIALChecks per phase:
Fork created, Clone succeeded, Branch created, Remotes correctSKILL.md located, Path unambiguousBaseline captured, Retrofit loop ran, Final score >= 85, All categories >= 8Before/after delta >= 3 points OR category promotedPR body rendered, Tone checks passedUser approvedPush succeeded, PR opened, URL printedgh repo fork --clone --remote — never a direct clone of upstream.asm-improver/references/pr-template.md with the full before/after tablegit push targets origin (the fork), never upstreamgh pr create --repo $OWNER/$REPO used — the PR targets the upstream repo$OWNER/$REPO$OWNER/$REPO with a before/after metrics table and friendly tone.asm-improver/ directory with baseline, iterations, report, and pr-body.mdgh repo fork --clone --remote reuses it; rebase on upstream's default branch before editingasm eval --fix writes changes you disagree with — revert SKILL.md.bak and do targeted edits only; don't ship the auto-fix if it harms the skillreferences/pr-template.md — PR title + body template with before/after tablereferences/tone-guide.md — wording patterns for friendly, suggestion-style contributionsskills/skill-creator/references/retrofit-loop.md — the improvement loop this skill delegates toasm eval --help — flag reference for the evaluator© 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 3 other files (references) in skills/skill-upstream-pr of luongnv89/asm.
Open the folder on GitHubat commit a01a183
Skill Upstream PR 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 Upstream PR this skillluongnv89/asm | 954 | — | ~2.4k | Automated safety check: Notes | MIT | |
| Auto Skill Buildertradecatlabs/vibe-coding-cn | 17k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Skill Seekers Builderyusufkaraaslan/Skill_Seekers | 15k | — | ~760 | Automated safety check: Pass | MIT | |
| DBS Skill Makerdontbesilent2025/dbskill | 11k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| LubanLearnPrompt/luban-skill | 958 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Copilot Skill Creatorthomast1906/github-copilot-agent-skills | 202 | — | ~4.1k | Automated safety check: Pass | None |
tradecatlabs/vibe-coding-cn
Meta-skill that turns docs, APIs, code or specs into a reusable skill with references and a quality gate, and refactors skills that are unclear or misfire.
yusufkaraaslan/Skill_Seekers
Detects the type of a knowledge source and uses the Skill Seekers MCP tools to turn docs, repos, PDFs or videos into packaged AI skills.
dontbesilent2025/dbskill
Turns a problem you keep running into into a single installable, tested skill, and prepares a GitHub repository only when you ask to share it.
LearnPrompt/luban-skill
鲁班(Luban)——Skill打磨工坊。把一个"能用的Skill"打磨成"能被理解、能被安装、能被传播、能被验证、能持续进化"的公共Skill资产。
thomast1906/github-copilot-agent-skills
Guides creating, updating, reviewing and validating GitHub Copilot agent skills, from deciding whether a skill is the right tool to structuring bundled resources.
TheSyart/emperor-agent
Create, update, import, or validate Emperor Skills (SKILL.md folders with optional scripts, references, and assets).
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
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.
Works with
Categories
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. Skill Upstream PR is an agent skill from 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.
Skill Upstream PR fits situations like: local-only skills; authoring from scratch; registry publish.
Run `npx skills add luongnv89/asm --skill skill-upstream-pr -a claude-code`. Or copy the skill folder (skills/skill-upstream-pr in luongnv89/asm) into .claude/skills/skill-upstream-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/asm --skill skill-upstream-pr -a codex`. Or copy the skill folder (skills/skill-upstream-pr in luongnv89/asm) into .agents/skills/skill-upstream-pr 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-upstream-pr -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-upstream-pr, .gemini/skills/skill-upstream-pr, .github/skills/skill-upstream-pr and .opencode/skills/skill-upstream-pr in your project.
Going by SKILL.md and its folder, Skill Upstream PR needs the command-line tools its instructions call (git and gh). Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob. Compatibility (from SKILL.md): Claude Code.
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 Upstream PR is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k 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 1.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Skill Upstream PR: Auto Skill Builder (tradecatlabs/vibe-coding-cn, 17k stars), Skill Seekers Builder (yusufkaraaslan/Skill_Seekers, 15k stars), DBS Skill Maker (dontbesilent2025/dbskill, 11k stars) and Luban (LearnPrompt/luban-skill, 958 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 954 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.