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.
Add GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR.
$ npx skills add luongnv89/asm --skill skill-index-updater -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/asm skill-index-updater --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-index-updater .claude/skills/skill-index-updater && 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-index-updater" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-index-updater into .claude/skills/skill-index-updater/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-index-updater", 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-index-updaterType 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-index-updater -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/asm skill-index-updater --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-index-updater .agents/skills/skill-index-updater && 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-index-updater" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-index-updater into .agents/skills/skill-index-updater/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-index-updater", 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-index-updater -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/asm skill-index-updater --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-index-updater .cursor/skills/skill-index-updater && 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-index-updater" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-index-updater into .cursor/skills/skill-index-updater/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-index-updater", 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-index-updater--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-index-updater -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/asm skill-index-updater --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-index-updater .gemini/skills/skill-index-updater && 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-index-updater" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-index-updater into .gemini/skills/skill-index-updater/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-index-updater", 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-index-updaterInstalls 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-index-updater -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-index-updater .github/skills/skill-index-updater && 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-index-updater" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-index-updater into .github/skills/skill-index-updater/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-index-updater", 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-index-updater -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-index-updater --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-index-updater .opencode/skills/skill-index-updater && 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-index-updater" agent skill from https://github.com/luongnv89/asm/tree/main/skills/skill-index-updater into .opencode/skills/skill-index-updater/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-index-updater", 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-index-updaterAdd GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR.
Skill Index Updater is an agent skill from luongnv89/asm. Add GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR. Use when given GitHub URLs to onboard. Don't use for refreshing indexed repos (refresh-index), improving skills (skill-creator), or install.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `docs/README.md`, `evals/evals.json` and `references/audit-eval-contract.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.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19da710. 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:
BashReadWriteEditGrepGlobWebFetchAgentFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitjqghnpxnpmFrom 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.comapi.github.comAlso links to:
luongnv.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 Index Updater loads about 4.3k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 1,981 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, Glob, WebFetch, AgentAutomated 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 19da710, republished under its MIT licence (© luongnv89). 1,981 words, ~4,343 tokens.
.claude/skills/skill-index-updater/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.You are adding new skill repository sources to the ASM (Agent Skill Manager) curated index. This is the pipeline that powers the skill catalog at https://luongnv.com/asm/ — every repo you add here becomes discoverable and installable by thousands of users.
User: add github.com/anthropics/skills to the index
Skill output:
Step 1: Parsed 1 URL → anthropics/skills (NEW)
Step 2: Discovered 14 SKILL.md files
Step 3: Audit 13 OK / 1 WARN, eval scores 71–94
Step 6–8: data/skill-index-resources.json + data/skill-index/anthropics_skills.json updated, catalog rebuilt
Step 10: PR #312 opened — feat(index): add anthropics/skills (14 skills)Before modifying any files, pull the latest remote branch:
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"If the working tree is dirty: stash, sync, then pop. If origin is missing or conflicts occur: stop and ask the user before continuing.
Check each before Step 1. If one fails, stop and name it.
node (>= 22), jq, and git on PATH; npm install done in the repo, so npx tsx resolvesasm on PATH — the Step 3 workers run asm evalgh auth status succeeds — Step 10 opens the PRgit status --porcelain -- website/ data/ prints nothing. Step 8 restores the tracked website/ files and data/repo-stars.json that build-catalog rewrites, which is safe only from a clean start.The user provides one or more GitHub repository URLs: https://github.com/owner/repo, github.com/owner/repo, github:owner/repo, or owner/repo. Normalize each to owner and repo.
Follow these steps in order. Each step has a verification check — do not proceed to the next step if verification fails.
You are the orchestrator. Steps 2 and 3 are the heavy ones, and you delegate both: each names the slice of references/ its worker needs and hands that slice over as the worker's Input. In those two steps you never clone a repo, read a SKILL.md, or run asm eval yourself, and you never open the two contract files — the workers do. This keeps the clones and contract text out of your context budget. (Step 7's manual-generation fallback is the one place you may call asm eval directly.)
No Agent tool? Degrade gracefully: read references/discovery-contract.md and references/audit-eval-contract.md yourself, run Steps 2 and 3 inline, in order, and say so in the Step 9 summary. The pipeline is identical; only the context cost changes.
For each URL provided:
owner and repo from the URL.https://api.github.com/repos/{owner}/{repo}. A 200 response means the repo exists; any other status marks it INVALID with that status.owner and repo with the two halves of the response's full_name. The ingester names files and installUrls with the case it is given, so Anthropics/Skills would otherwise create a duplicate entry.github:{owner}/{repo} in data/skill-index-resources.json. If present, mark it EXISTS (re-index); otherwise mark it NEW.Output a summary table:
| # | Owner/Repo | Status | Notes |
|---|---------------------|----------|--------------------------|
| 1 | owner/repo | NEW | Will be added |
| 2 | other/repo | EXISTS | Will be re-indexed |
| 3 | bad/repo | INVALID | 404 - repo not found |If every repo is INVALID, stop and tell the user.
Spawn one discovery worker per valid repo, in the same turn so they run concurrently. Each worker's contract:
references/discovery-contract.md, plus that repo's owner and repo{owner, repo, tempRoot, clonePath, status, error, skills[]}, one object per reporeferences/discovery-contract.md yourself; the worker doesKeep every worker's tempRoot and clonePath: Step 3 runs against the clone, Cleanup deletes the tempRoot. There is no shared $TEMP_DIR in your shell — the clones were made in the workers'.
Report how many skills were found per repo. If a repo returns status: "no-skills", ask the user whether to include it anyway. If a repo returns status: "clone-failed", skip it, report its error, and continue with the others.
Spawn one audit worker per repo — or per batch of ~20 skills for a large repo — again in the same turn. Each worker's contract:
references/audit-eval-contract.md, that repo's clonePath from Step 2, and the relPath list for its batch{relPath, name, auditStatus, notes[], overallScore, grade}references/audit-eval-contract.md yourselfNo worker re-clones; they run against the Step 2 clones. Merge the workers' JSON — no re-reading of any skill file — into one combined report:
Repo: owner/repo (N skills discovered)
skill-name-1 OK 92 / A name + description present, no security flags
skill-name-2 WARN 58 / D missing description
skill-name-3 FLAG 71 / C contains shell execution patterns (exec, spawn)The policy is permissive but transparent: accept every repo with at least one valid skill (name + description). WARN, FLAG, and low eval scores do not block inclusion; they are reported so the reviewer can decide. Keep the OK / WARN / FLAG counts per repo — Step 10's PR body uses them.
For each EXISTS repo from Step 1:
data/skill-index/{owner}_{repo}.json against the Step 2 skill list.If no NEW repo and no confirmed EXISTS repo remains, stop and report that there is nothing to add. If the current branch is not main, ask the user whether to branch from it or from main. Then:
git checkout -b feat/index-add-{repo-names}For several repos, use feat/index-add-multiple-repos-{date}.
For each NEW repo, append to the repos array in data/skill-index-resources.json:
{
"source": "github:{owner}/{repo}",
"url": "https://github.com/{owner}/{repo}",
"owner": "{owner}",
"repo": "{repo}",
"description": "{repo description from GitHub API}",
"maintainer": "@{owner}",
"enabled": true
}Set the top-level updatedAt to the current ISO date.
Ingest only the repos this run adds or updates. Do not run npm run preindex: it re-ingests every enabled repo, which fills the diff with unrelated index refreshes (that is refresh-index's job). Use the repo's own CLI, with ASM_CONFIG_DIR pointed at a scratch directory so the user's real ~/.config/agent-skill-manager/skill-index/ is never written:
Create the scratch directory once and record its literal path (many hosts start each command in a fresh shell):
mktemp -d # e.g. /var/folders/.../tmp.AbC123 — use this literal path as INGEST_HOME belowThen, once per repo:
ROOT="$(git rev-parse --show-toplevel)"
INGEST_HOME="<literal path from mktemp>"
ASM_CONFIG_DIR="$INGEST_HOME" npx tsx "$ROOT/bin/agent-skill-manager.ts" \
index ingest "github:{owner}/{repo}" --json
cp "$INGEST_HOME/skill-index/{owner}_{repo}.json" "$ROOT/data/skill-index/"The ingested file's skillCount is authoritative. Use it in Step 9, the commit message, and the PR. If it differs from the Step 2 count, report both. The ingester populates tokenCount and evalSummary (overallScore, grade, categories, evaluatedAt, evaluatedVersion) on every skill entry; these power the catalog's "est. tokens" and "eval score" badges.
If the ingest exits non-zero for a repo, follow references/manual-index.md for that repo only, and record it as manually generated. That fallback populates tokenCount and evalSummary with asm eval <clonePath>/<relPath> --json, both values taken from that repo's Step 2 worker result.
npx tsx scripts/build-catalog.ts
jq empty website/catalog.json
jq --arg p "github:{owner}/{repo}" \
'[.skills[] | select(.installUrl == $p or (.installUrl | startswith($p + ":")))] | length' \
website/catalog.json
git restore -- website/ data/repo-stars.jsonVerification: build-catalog and jq empty exit 0, and the count for each repo equals its skillCount. If build-catalog fails, stop — a PR with a broken catalog must not land. build-catalog also rewrites tracked outputs (website/*-stats.json, website/robots.txt, and data/repo-stars.json on any networked run) with fresh values; git restore -- website/ data/repo-stars.json reverts them (safe because the prerequisites required a clean website/ and data/). It leaves the gitignored website/catalog.json in place.
Check each item. If one fails, fix it before Step 10:
jq empty data/skill-index-resources.json exits 0 and the file contains every NEW repo.data/skill-index/{owner}_{repo}.json passes jq empty.tokenCount and an evalSummary with overallScore, grade, and categories. Evaluation is best-effort in the ingester: list any skill missing evalSummary under Uncertainty instead of failing the run.git status --porcelain | cut -c4- lists only data/skill-index-resources.json and the index files of the repos in this run.Print the pre-PR summary:
Added N new repo(s), updated M existing repo(s)
Total new skills indexed: X
Audit: A OK · B WARN · C FLAG
Files changed: <list>Read references/commit-and-pr.md for the staging rule, commit message, and PR body. Stage only the data files; never stage website/catalog.json. Build the PR's audit summary from the Step 3 counts.
Verification: gh pr view --json url returns the PR URL.
After each step, print a compact status block: √ pass, × fail, — context.
◆ Step N — [step name]
··································································
[check]: √ pass
Result: PASS | FAIL | PARTIALChecks per step:
branch up to dateevery URL classified NEW / EXISTS / INVALIDone result per repo, one audit row per discovered skillEXISTS changes confirmed, branch created, resources entry added per NEW repoone index file per repo, manual fallbacks named (if any)build-catalog exit 0, catalog count matches skillCount, diff scope containedPR URL returnedEnd the run with a short report:
PR opened, nothing to add, or blocked at Step N with the reason.asm eval scores structure, not behavior: no indexed skill was run. Name any repo indexed by the manual fallback, and any repo skipped as INVALID or clone-failed.The expected output of a successful run, each item checkable:
git status --porcelain before commit lists only the resources file and the index files of this run's repos.website/catalog.json, and website/catalog.json is not staged.gh pr view --json url returns a URL, or the commit SHA is reported on failure.When reviewing a run's output (by eval or by a human), also check that a reader can:
An agent's own review cannot confirm human understanding. A reviewer who received no human feedback records understanding as unconfirmed.
Each row names a condition and the required response. When in doubt, surface the issue to the user rather than silently dropping a repo.
| Condition | Response |
|---|---|
| Repo URL is a 404 / private repo | Mark INVALID in Step 1 and skip; continue with valid URLs. |
| Git clone fails | The Step 2 worker returns status: clone-failed; skip that repo, report its error, continue. |
| Repo has zero SKILL.md files | The Step 2 worker returns status: no-skills; ask whether to include anyway. |
| Repo has 50+ SKILL.md files | Continue, and warn that asm eval over many skills is slow. |
| Repo already in index, unchanged | Report EXISTS, no diff and skip Steps 6–7 for that repo. |
| Repo already in index, breaking changes (skill removed/renamed) | Show the Step 4 diff and require explicit confirmation before overwriting. |
index ingest fails for a repo | Use references/manual-index.md for that repo; name it in the final output. |
npx tsx scripts/build-catalog.ts fails | Stop in Step 8. |
| Unrelated files in the diff | Stop in Step 9; do not commit a mixed change. Ask the user to revert them or run on a clean branch. |
gh not authenticated | Prompt gh auth login; do not push without auth. |
gh pr create fails (auth, network, missing remote) | Print the commit SHA so the user can push and open the PR manually. |
| Non-GitHub URL (GitLab, Bitbucket) | Reject in Step 1 — this skill only indexes github.com. |
URL to a single skill subdirectory (.../tree/main/skills/foo) | Treat it as the parent repo URL; the Step 2 worker picks up every skill, including that one. |
| Agent tool unavailable | Read both contract files yourself, run Steps 2 and 3 inline, and say so in the Step 9 summary. |
After completion, delete every temp directory this run made:
tempRoot each worker returned verbatim. Never derive the target from clonePath.mktemp -d directory instead.INGEST_HOME (its literal path).rm -rf "<tempRoot>" # one per repo
rm -rf "<INGEST_HOME literal path>"references/discovery-contract.md — the Step 2 worker's slice: clone, discover, and report every SKILL.md as fixed JSON (including the tempRoot Cleanup deletes)references/audit-eval-contract.md — the Step 3 worker's slice: lightweight audit + asm eval, returned as fixed JSON rowsreferences/manual-index.md — Step 7 fallback: hand-built index file for a repo whose ingest failedreferences/commit-and-pr.md — Step 10 staging, commit message, and PR body template© 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 7 other files (references) in skills/skill-index-updater of luongnv89/asm.
Open the folder on GitHubat commit 19da710
Skill Index Updater 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 Index Updater this skillluongnv89/asm | 955 | — | ~4.3k | 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 | 959 | — | ~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
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
Add GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR. Skill Index Updater is an agent skill from luongnv89/asm. Add GitHub skill repos to the ASM index: clone, audit, eval, regenerate index, rebuild catalog, open PR.
Skill Index Updater fits situations like: given GitHub URLs to onboard; refreshing indexed repos (refresh-index); improving skills (skill-creator).
Run `npx skills add luongnv89/asm --skill skill-index-updater -a claude-code`. Or copy the skill folder (skills/skill-index-updater in luongnv89/asm) into .claude/skills/skill-index-updater in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/asm --skill skill-index-updater -a codex`. Or copy the skill folder (skills/skill-index-updater in luongnv89/asm) into .agents/skills/skill-index-updater 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-index-updater -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-index-updater, .gemini/skills/skill-index-updater, .github/skills/skill-index-updater and .opencode/skills/skill-index-updater in your project.
Going by SKILL.md and its folder, Skill Index Updater needs the command-line tools its instructions call (git, jq, gh, npx and npm). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob, WebFetch, Agent. Compatibility (from SKILL.md): Claude Code.
SKILL.md names 3 domains. In commands or code: github.com and api.github.com; the agent is likely to contact these when it follows the instructions. As links in the text: luongnv.com. 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 Index Updater is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k 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 2.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Skill Index Updater: 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, 959 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 955 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 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.