Flowfile Build and Environment Setup
Edwardvaneechoud/Flowfile
Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.
A skill your agent uses when publishing or preparing to publish an npm package from this repository, especially the Skill Zoo CLI package under packages/cli.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add luochang212/skill-zoo --skill npm-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luochang212/skill-zoo npm-release --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/luochang212/skill-zoo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/npm-release .claude/skills/npm-release && 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 "npm-release" agent skill from https://github.com/luochang212/skill-zoo/tree/main/skills/npm-release into .claude/skills/npm-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "npm-release", 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/luochang212/skill-zoo/tree/main/skills/npm-releaseType 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 luochang212/skill-zoo --skill npm-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luochang212/skill-zoo npm-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luochang212/skill-zoo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/npm-release .agents/skills/npm-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "npm-release" agent skill from https://github.com/luochang212/skill-zoo/tree/main/skills/npm-release into .agents/skills/npm-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "npm-release", 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 luochang212/skill-zoo --skill npm-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luochang212/skill-zoo npm-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luochang212/skill-zoo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/npm-release .cursor/skills/npm-release && 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 "npm-release" agent skill from https://github.com/luochang212/skill-zoo/tree/main/skills/npm-release into .cursor/skills/npm-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "npm-release", 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/luochang212/skill-zoo.git --path skills/npm-release--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 luochang212/skill-zoo --skill npm-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luochang212/skill-zoo npm-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luochang212/skill-zoo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/npm-release .gemini/skills/npm-release && 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 "npm-release" agent skill from https://github.com/luochang212/skill-zoo/tree/main/skills/npm-release into .gemini/skills/npm-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "npm-release", 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 luochang212/skill-zoo npm-releaseInstalls 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 luochang212/skill-zoo --skill npm-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/luochang212/skill-zoo.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/npm-release .github/skills/npm-release && 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 "npm-release" agent skill from https://github.com/luochang212/skill-zoo/tree/main/skills/npm-release into .github/skills/npm-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "npm-release", 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 luochang212/skill-zoo --skill npm-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install luochang212/skill-zoo npm-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luochang212/skill-zoo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/npm-release .opencode/skills/npm-release && 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 "npm-release" agent skill from https://github.com/luochang212/skill-zoo/tree/main/skills/npm-release into .opencode/skills/npm-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "npm-release", 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.
npm-releaseA skill your agent uses when publishing or preparing to publish an npm package from this repository, especially the Skill Zoo CLI package under packages/cli.
npm Release is an agent skill from luochang212/skill-zoo. Use when publishing or preparing to publish an npm package from this repository, especially the Skill Zoo CLI package under packages/cli. Also use when npm publish fails because of duplicate versions, npm authentication, browser authentication, dist-tag propagation, tarball contents, bin entry issues, or workspace/lockfile version mismatches.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Dependency management and Authentication. It works with npm and Tauri. The repository describes itself as: All-in-One Desktop Agent Skills Utility. Welcome to the Skill Zoo, where all your skills live! The licence is MIT.
Read from SKILL.md and the folder at commit 1c7afa6. 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.
Shell commands in SKILL.md call:
npmnodegitrgFrom 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:
registry.npmjs.orgnpmjs.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.
npm Release loads about 3.1k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,329 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 patterns that need a careful read before installing.
t-owned files from an old npm bug | Run `sudo chown -R $(id -u):$(id -g) ~/.npm`, or use a temp cache via `--cache /tmp/| `npm login` fails writing `~/.npmrc` (EPERM) | Home dir not writable from the agent sandbox | Log in with `--userconfiAutomated 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 luochang212/skill-zoo at commit 1c7afa6, republished under its MIT licence (© luochang212). 1,329 words, ~3,150 tokens.
.claude/skills/npm-release/SKILL.md (or your agent's skills folder).Publish an npm package from this repo with local verification, clean package contents, and npm browser authentication. For Skill Zoo today, the npm package is the CLI package in packages/cli; the workspace root is private and is not the package to publish.
Announce at start: "I'm using the npm-release skill to publish the npm package."
Do not write private npm account details into repo files, skill files, logs, release notes, or final summaries. This includes npm usernames, email addresses, authentication secrets, browser auth URLs, auth IDs, tokens, local npm debug log paths, and machine-specific temporary directories.
It is fine to state generic facts such as "npm required browser authentication" or "the authenticated owner account was permitted." Do not paste the actual authentication URL into a committed file. If a URL is needed transiently, use it only to complete the live browser flow.
Use this skill when:
npm publish fails with duplicate version, npm authentication, owner, tarball, or bin problemsDo not use this skill for:
app-releasetauri-updaterFor this repo, start with the CLI package:
cd packages/cliConfirm the root package is not the target:
node -e "console.log(require('./package.json').private)"
node -e "const p=require('./packages/cli/package.json'); console.log(p.name, p.version, p.bin)"If the target changes in the future, publish from the directory whose package.json has the public npm name, bin, files, scripts.prepack, and production dependencies.
Check the repo instructions and current working tree first:
test -f CLAUDE.md && sed -n '1,220p' CLAUDE.md
test -f AGENTS.md && sed -n '1,220p' AGENTS.md
git status --shortDo not revert or overwrite unrelated changes. If publish-relevant files already have user edits, inspect them and work with the current state.
Check npm registry state before changing versions:
cd packages/cli
npm view skill-zoo version dist-tags --json
npm view skill-zoo versions --json
npm whoami
npm owner ls skill-zooIf the local version already exists on npm, explain that npm versions are immutable and ask the user which new version to publish before changing files. Do not choose or apply the release version silently.
For the Skill Zoo CLI package, update:
packages/cli/package.jsonbun.lock workspace entry for packages/cliAsk the user to confirm the exact version before editing release files. If they ask for a recommendation, propose the smallest sensible semver bump and explain why, then wait for confirmation before applying it.
After bumping, search for hardcoded old versions that should follow the package version:
OLD_VERSION=<previous-version>
rg "\"version\": \"${OLD_VERSION}\"|skill-zoo-cli@${OLD_VERSION}|skill-zoo@${OLD_VERSION}" packages/cli bun.lockTests should generally depend on CLI_VERSION rather than hardcoding a release version. This prevents a release bump from breaking tests only because an expected metadata string changed.
Run these from packages/cli after any version or release-related change:
npm run typecheck
npm test
npm run build
npm publish --dry-runThe dry-run must show the expected version and tarball contents. For this CLI, expected package contents are small and should normally be:
README.md
dist/index.js
package.json
wui/app.js
wui/index.html
wui/styles.cssThere is deliberately no dist/index.d.ts. The CLI entry (packages/cli/src/index.ts)
is a shebang script that calls runCli() and exports nothing, so the declaration file
tsup's --dts emitted contained only the shebang line — a type contract with no types.
It was also unreachable: the package declares bin and no main/exports/types, so a
consumer's import ... from "skill-zoo" fails with TS2307 before the file is ever read
(wiring up types instead yields TS2306: is not a module). Rather than keep a
misleading empty file, the build no longer emits declarations. If the CLI ever grows a
programmatic API, re-add declarations and the types/exports wiring together.
If extra source, test, repo, log, or private files appear, fix the files whitelist or ignore rules before publishing.
Before publishing a CLI package, verify the executable path matches bin and can start from the built artifact:
cd ../..
sed -n '1,20p' packages/cli/src/index.ts
sed -n '1,20p' packages/cli/dist/index.js
ls -l packages/cli/dist/index.js
node packages/cli/dist/index.js --version
node packages/cli/dist/index.js --help | sed -n '1,120p'For higher confidence, install the actual tarball in a temporary project and run both binary names:
cd packages/cli
tmp="$(mktemp -d)"
npm pack --pack-destination "$tmp"
mkdir "$tmp/install"
cd "$tmp/install"
npm init -y >/dev/null
npm install "$tmp"/skill-zoo-*.tgz
./node_modules/.bin/skill-zoo --version
./node_modules/.bin/szoo --help | sed -n '1,40p'Do not commit generated tarballs or temporary install directories.
Publish only after typecheck, tests, build, and npm publish --dry-run pass. Before the real npm publish, summarize the package name, version, dist tag, and tarball contents, then ask the user for explicit confirmation.
Log in first. --auth-type=web authenticates npm login, not npm publish — publishing while unauthenticated fails with a 404 that masks the real cause. Ensure a valid token exists (see "Non-TTY browser authentication") before publishing, and drop --auth-type=web from the publish command.
Working directory does not persist between tool calls. Always include cd <path> in the command itself — never assume a previous cd still applies. When publishing from a workspace sub-package, use an absolute cd prefix:
cd /path/to/repo/packages/cli && npm publish --registry https://registry.npmjs.org/Preferred command after user confirmation:
cd packages/cli
npm publish --registry https://registry.npmjs.org/If the machine's default registry is a read-only mirror (e.g. registry.npmmirror.com), the explicit --registry https://registry.npmjs.org/ is required — mirrors do not accept publishes.
Two different steps need browser auth, and npm handles them differently in agent environments (Claude Code, Cowork, CI):
Login — npm login --auth-type=web prints the full https://www.npmjs.com/login?next=/login/cli/<id> URL even without a TTY, so no script wrapper is needed. Just open the printed "Login at:" URL:
npm login --auth-type=web --registry https://registry.npmjs.org/
# then open the printed "Login at:" URL in the user's browserPublish 2FA (EOTP) — when the account requires 2FA for publishing, npm publish fails with EOTP and prints its auth URL redacted as *** (https://www.npmjs.com/auth/cli/***). Only this step needs a real TTY to reveal the URL. Use script -q /dev/null, and feed it a leading newline because npm's TTY prompt ("Press ENTER to open in the browser...") otherwise blocks before it polls for authentication:
printf '\n' | script -q /dev/null npm publish --registry https://registry.npmjs.org/ 2>&1 &
sleep 8
# grep the real "Authenticate your account at:" URL from output, then:
open "https://www.npmjs.com/auth/cli/<id>"Extract the URL, open it in the user's browser, and keep the background process alive while they authenticate. If script is unavailable (e.g. a sandbox blocks pty allocation), fall back to --otp <6-digit TOTP>.
Success looks like:
+ skill-zoo@X.Y.ZRegistry reads can briefly lag after publish. Verify both the specific version and the dist tag:
npm view skill-zoo@X.Y.Z version dist.tarball time --json
npm dist-tag ls skill-zoo
npm view skill-zoo versions --jsonTreat npm dist-tag ls as the clearer signal for latest when npm view skill-zoo version appears stale immediately after publication.
The final user summary should include:
latest if applicableDo not include private account identifiers, browser auth URLs, npm auth IDs, authentication secrets, debug log paths, or temporary directory paths in the final summary.
| Failure | Cause | Response |
|---|---|---|
You cannot publish over the previously published versions | Local version already exists on npm | Ask the user to confirm the new version, then bump packages/cli/package.json, sync lockfile, and rerun checks |
npm publish returns 404 / "do not have permission" | Not logged in — --auth-type=web does not authenticate at publish time | Run npm login --auth-type=web --registry https://registry.npmjs.org/ first, then publish |
npm error code EOTP | Account requires 2FA for publishing | Either get the user's 6-digit TOTP and pass --otp <code>, or complete the browser web-OTP flow (see "Non-TTY browser authentication") |
Browser auth URL is *** | npm redacted the publish OTP URL in non-TTY output | Wrap the publish in script -q /dev/null with a leading newline (see "Non-TTY browser authentication"), extract the real URL, then open it |
npm errors with EPERM on the ~/.npm cache | Cache dir has root-owned files from an old npm bug | Run sudo chown -R $(id -u):$(id -g) ~/.npm, or use a temp cache via --cache /tmp/xxx |
npm login fails writing ~/.npmrc (EPERM) | Home dir not writable from the agent sandbox | Log in with --userconfig /tmp/xxx.npmrc and pass the same --userconfig to npm publish; delete the file afterward |
| Tests fail after version bump | Hardcoded expected version | Prefer asserting against CLI_VERSION |
| Dry-run includes unexpected files | Bad files whitelist or generated artifacts | Fix package manifest before publishing |
| Bin command fails after tarball install | bin path, shebang, executable bit, or bundle issue | Fix before publishing and rerun tarball install check |
latest appears stale after success | Registry/cache delay | Query npm dist-tag ls and the exact name@version |
Use this as the default release skeleton for skill-zoo CLI:
cd /path/to/repo
git status --short
npm view skill-zoo version dist-tags --json
# ask the user to confirm the exact version, then bump packages/cli/package.json and bun.lock if needed
# log in first (prints the full URL even non-TTY); skip if a valid token already exists
npm login --auth-type=web --registry https://registry.npmjs.org/
# open the printed "Login at:" URL, wait for the user to authenticate
cd /path/to/repo/packages/cli
npm run typecheck
npm test
npm run build
npm publish --dry-run
# summarize dry-run results and ask the user to confirm the real publish
# if the account requires 2FA, the publish OTP URL is redacted as *** — wrap with script:
printf '\n' | script -q /dev/null npm publish --registry https://registry.npmjs.org/ 2>&1 &
# extract the "Authenticate your account at:" URL, open in browser, wait for user
npm view skill-zoo@X.Y.Z version dist.tarball time --json
npm dist-tag ls skill-zoo
npm view skill-zoo versions --jsonKeep the package release commit separate from unrelated feature work when possible. If the user's working tree already contains feature changes intended for the release, report them clearly instead of hiding them inside the release summary.
© luochang212, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/npm-release of luochang212/skill-zoo.
Open the folder on GitHubat commit 1c7afa6
npm Release 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 |
|---|---|---|---|---|---|---|
| npm Release this skillluochang212/skill-zoo | 117 | — | ~3.1k | Automated safety check: Warn | MIT | |
| Flowfile Build and Environment SetupEdwardvaneechoud/Flowfile | 385 | — | ~7.3k | Automated safety check: Notes | MIT | |
| Linea Dependency MaintenanceConsensys-Incorporated/linea-attestation-registry | 177 | 1 repos | ~3.7k | Automated safety check: Warn | MIT | |
| Dependabot Alerts Updatelivesession/xyd | 114 | — | ~2k | Automated safety check: Pass | MIT | |
| Dependency ResolverArabelaTso/Skills-4-SE | 253 | — | ~3.9k | Automated safety check: Notes | Apache-2.0 | |
| Validator Dependency Upgradeexpress-validator/express-validator | 6.2k | — | ~1.2k | Automated safety check: Pass | MIT |
Edwardvaneechoud/Flowfile
Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.
Consensys-Incorporated/linea-attestation-registry
Safely plan and execute dependency maintenance for JavaScript/TypeScript (npm, pnpm) and GitHub Actions, including npm lockfiles, pnpm workspaces, catalogs, overrides, SHA-pinned action versions…
livesession/xyd
Automatically fetch and fix Dependabot security alerts by querying GitHub REST API for open alerts, identifying vulnerable packages, researching secure versions, and updating package.json files…
ArabelaTso/Skills-4-SE
Identify, analyze, and manage software dependencies before deployment.
express-validator/express-validator
Walks maintainers through bumping the pinned validator package in express-validator and syncing chain types, implementations and options with the new release.
ykdojo/claude-code-tips
Recommends whether to stay on the installed Claude Code version, update, or pin another one by comparing npm tags, release timing and the changelog.
luochang212/skill-zoo
A skill your agent uses when the user asks to release a new version, ship a build, or publish a Skill Zoo release.
luochang212/skill-zoo
A skill your agent uses when adding software auto-update to a Tauri 2 desktop app, or when users ask about tauri-plugin-updater integration, app update checking, distinguishing installer vs portable…
luochang212/skill-zoo
分析和判断任何论断、报告、想法或需求的真实性、价值与做法。当用户说"这个 bug 是真的吗"、"分析一下这个问题/这个报告/这个说法"、"这个修复值得做吗"、"帮我看下这个建议靠不靠谱",或用户给出一个待评估的 bug 报告、文章摘录、设计提案时使用。先核验、复现、定级、讲清原理、判断是否值得做,而不是直接相信或直接动手改代码。也适用于评估"要不要重构"。
Categories
A skill your agent uses when publishing or preparing to publish an npm package from this repository, especially the Skill Zoo CLI package under packages/cli. npm Release is an agent skill from luochang212/skill-zoo. Use when publishing or preparing to publish an npm package from this repository, especially the Skill Zoo CLI package under packages/cli.
npm Release fits situations like: preparing to publish an npm package from this repository; especially the Skill Zoo CLI package under packages/cli; npm publish fails because of duplicate versions; npm authentication.
Run `npx skills add luochang212/skill-zoo --skill npm-release -a claude-code`. Or copy the skill folder (skills/npm-release in luochang212/skill-zoo) into .claude/skills/npm-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luochang212/skill-zoo --skill npm-release -a codex`. Or copy the skill folder (skills/npm-release in luochang212/skill-zoo) into .agents/skills/npm-release 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 luochang212/skill-zoo --skill npm-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/npm-release, .gemini/skills/npm-release, .github/skills/npm-release and .opencode/skills/npm-release in your project.
Going by SKILL.md and its folder, npm Release needs the command-line tools its instructions call (npm, node, git and rg). Our summary lists: Node.js.
SKILL.md names 2 domains. In commands or code: registry.npmjs.org and npmjs.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
npm Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k 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.
Skills that share tags, products or a category with npm Release: Flowfile Build and Environment Setup (Edwardvaneechoud/Flowfile, 385 stars), Linea Dependency Maintenance (Consensys-Incorporated/linea-attestation-registry, 177 stars), Dependabot Alerts Update (livesession/xyd, 114 stars) and Dependency Resolver (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
luochang212 (a GitHub user) maintains it in luochang212/skill-zoo, which has 117 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.
Source: luochang212/skill-zoo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.