@nyuchi/mzizi-skills. Give an agent the
skills so it has the doctrine to hand instead of guessing.
Five skills, from the bundle’s index.json at version 0.8.5 (the latest on npm on
30 September 2026):
mzizi-language and mzizi-roots are new in 0.8.0. The React (TSX) build of the
components is the deprioritised secondary in every skill that mentions it.
Renamed and removed skills
The owner’s decision of 30 September 2026 was fewer skills that are effective rather than many that are not. Where each0.7.0 skill went, from the bundle’s README:
mzizi-design was called bundu-design before 0.6.0.
Getting the skills
Four ways, serving the same bundle once each has caught up. On 30 September 2026 all four (npm, the MCP server, the API and the plugin) served0.8.5; each says which version it
serves. All carry the same five skills.
From npm
npx skills add @nyuchi/mzizi-skills does not work: the skills CLI reads that argument as a
GitHub repository and fails to clone it. experimental_sync is its route for skills shipped
in node_modules.
From the MCP server
mzizi_get_skills on the MCP server lists the skills, or returns one in
full. It is free, with no sign-in and nothing to install. Each skill’s source names where it
is authored, mzizi-dev/agent-tools/mzizi-skills/skills/<name>, from mzizi-mcp 0.11.1.
From the API
GET https://api.mzizi.dev/v1/skills lists them, and
GET /v1/skills/<name> returns one. GET /v1/skills/summary is the cheap way to check which
version a surface is serving: its meta carries version and count.
As a Claude Code plugin
The publicmzizi plugin carries the five skills and connects the Mzizi MCP server:
plugin/ directory of
mzizi-dev/mzizi-registry,
which holds a byte-for-byte copy of the bundle’s skills/, and its manifest points the MCP
connection at https://mcp.mzizi.dev/mcp.
The plugin and the
mzizi-tools marketplace that used to live in the private tooling
repository are retired. If you installed them, remove them with
/plugin uninstall mzizi@mzizi-tools and /plugin marketplace remove mzizi-tools, then
install the public plugin above.How each copy stays current
The API and the plugin can lag the newest npm release: a release reaches them only when the
registry’s dependency is bumped and, for the API, the gateway is re-pinned. Check the
versions rather than assuming they agree.
Git is the source of truth
Skills are authored asskills/<name>/SKILL.md, with YAML frontmatter carrying name and
description, and listed in an index.json. That bundle is the only home for skill content.
There is no database copy and no sync step. The registry and the MCP server each inline
the bundle at build time, so bumping the bundle version is a commit, and the commit is what
changes what agents read. An older model projected skills into a database table with a sync
script; that is gone.
Changing a skill
The bundle is built in the private tooling repository, so outside contributors cannot open a pull request against it directly. Report a problem with a skill through the registry’s issue tracker,mzizi-dev/mzizi-registry.
For maintainers, the rules the bundle’s own gate enforces:
- Edit
skills/<name>/SKILL.md. Adding a skill also needs anindex.jsonentry, because consumers read the index and an unlisted skill is invisible. - Bump the version in both
package.jsonandindex.json; they move together. Any change to skill text needs a bump, so npm andmzizi_get_skillsstay on the same version. - The offline validator checks the version, the index, the frontmatter and the
exportsmap before publish, and needs no credentials. - A merge without a version bump publishes nothing.
- Then bump the bundle version the registry depends on, and regenerate its skills and the plugin’s copy, so the API and the plugin serve it. The MCP server builds its copy from the same repository as the bundle, so it picks the change up on its next deploy.