Hook Development for Claude Code Plugins
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
Create or update ZCode plugin source and a local test marketplace, then guide the user to add, install, update and try it in the app.
$ npx skills add zai-org/ZCode --skill plugin-creator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zai-org/ZCode plugin-creator --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/zai-org/ZCode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator .claude/skills/plugin-creator && 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 "plugin-creator" agent skill from https://github.com/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator into .claude/skills/plugin-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plugin-creator", 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/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creatorType 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 zai-org/ZCode --skill plugin-creator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zai-org/ZCode plugin-creator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zai-org/ZCode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator .agents/skills/plugin-creator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "plugin-creator" agent skill from https://github.com/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator into .agents/skills/plugin-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plugin-creator", 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 zai-org/ZCode --skill plugin-creator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zai-org/ZCode plugin-creator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zai-org/ZCode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator .cursor/skills/plugin-creator && 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 "plugin-creator" agent skill from https://github.com/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator into .cursor/skills/plugin-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plugin-creator", 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/zai-org/ZCode.git --path apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator--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 zai-org/ZCode --skill plugin-creator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zai-org/ZCode plugin-creator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zai-org/ZCode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator .gemini/skills/plugin-creator && 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 "plugin-creator" agent skill from https://github.com/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator into .gemini/skills/plugin-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plugin-creator", 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 zai-org/ZCode plugin-creatorInstalls 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 zai-org/ZCode --skill plugin-creator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zai-org/ZCode.git skills-src && mkdir -p .github/skills && cp -r skills-src/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator .github/skills/plugin-creator && 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 "plugin-creator" agent skill from https://github.com/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator into .github/skills/plugin-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plugin-creator", 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 zai-org/ZCode --skill plugin-creator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zai-org/ZCode plugin-creator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zai-org/ZCode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator .opencode/skills/plugin-creator && 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 "plugin-creator" agent skill from https://github.com/zai-org/ZCode/tree/main/apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator into .opencode/skills/plugin-creator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plugin-creator", 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.
plugin-creatorCreate or update ZCode plugin source and a local test marketplace, then guide the user to add, install, update and try it in the app.
Plugin Creator is an agent skill from zai-org/ZCode. Create or update ZCode plugin source and a local test marketplace, then guide the user to add, install, update and try it in the app. Use for new plugins or changes to an existing plugin's capabilities, manifest or local distribution.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `references/installing-and-updating.md` and `references/plugin-json-spec.md`).
It sits in Agent Workflows, covering Hooks and plugins. The repository describes itself as: Z.ai's coding agent harness. Powerful, intelligent, extensible. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit aac4755. 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.
Ships 5 files in scripts/ (JavaScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Plugin Creator loads about 1.5k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 810 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 no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from zai-org/ZCode at commit aac4755, republished under its Apache-2.0 licence (© zai-org). 810 words, ~1,514 tokens.
.claude/skills/plugin-creator/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Deliver implemented plugin source, a local dev marketplace catalog, and precise UI instructions for the user to add the market, install/update the plugin and try it. Use ZCode manifests.
The current handoff is manual. Do not register markets, install/update/enable plugins, or publish as part of this skill. Ordinary Desktop users are not expected to have a global zcode CLI or node command. Use existing file tools when helper runtimes are unavailable; do not ask users to install development tooling to complete the UI steps. A skill reference alone has no plugin requirements: ask what the plugin should do before generating files.
Read the target workspace's instructions. Reuse the user's choices for purpose, name, components and destination. Define a representative input and observable expected result for the capability; use it for the smoke test and final trial prompt.
Default source location: <workspace>/plugins/<slug>/. An explicit directory wins. Work on the target host for remote work. For an existing plugin, inspect its manifest and edit the original source while retaining its identity.
Read the ZCode manifest reference before choosing components. This step is complete when the source location and acceptance example are concrete.
Create .zcode-plugin/plugin.json and only the components the plugin needs. The directory name and manifest name must match. Use the available file tools, or the optional bundled scripts/create-basic-plugin.mjs helper when Node is already runnable. Helper options and examples are in the manifest reference.
Implement the requested capability and replace generic scaffold descriptions with its purpose. The generated MCP server only implements a handshake and an empty tool list; implement real tools before reporting a working integration. Keep secrets in user-config/environment/credential mechanisms.
Preserve existing source. Ordinary iteration edits implemented files and increments the manifest's semantic version; it does not re-scaffold with --force. This step is complete when the requested files and behavior have been implemented, or a specific blocker is recorded.
Check manifest JSON, declared resource existence, directory/name consistency, path containment and unresolved placeholders. Run the representative capability smoke test with available tools. Report unavailable runtime or credential-dependent checks explicitly.
In an existing developer environment, scripts/validate-plugin.mjs can additionally invoke zcode plugins validate; use its --cli override only when an actual working entry is already known. This is optional developer verification, not a prerequisite or a command to give ordinary Desktop users. File inspection alone does not prove ZCode schema validation or runtime execution.
Unless the user requested source-only delivery, create or update <workspace>/plugins/marketplace.json beside the plugin directories. Its entry uses the plugin manifest's name, version and description, a relative source path, and appropriate display/localized metadata. Preserve unrelated entries, metadata and order.
When Node is available, use scripts/upsert-dev-marketplace.mjs with the actual plugin path. It returns the marketplace ID, full plugin ID and paths; its directory-based dev ID is stable. Pass an existing chosen catalog explicitly with --marketplace-path to retain its name. Without Node, use the file tools and the reference's catalog format, choose a distinct dev- prefixed name for a new market, and retain that saved name on later edits. Resolve same-name/different-source conflicts rather than replacing another entry or market.
Read manual installation, updates and trial for every handoff. This step is complete when the catalog and plugin files exist and their IDs, versions and paths agree. Creating the catalog does not register a market or install a plugin.
Provide the actual market root directory and instruct the user to open Plugin Marketplace → Add → Add Plugin Marketplace, paste that directory, and add it. Then use Personal → the actual market name → plugin → Install. Follow the reference for updates and failures.
Give a concrete new-task trial prompt with its expected result. For a skill, tell the user to select the installed plugin/skill from the composer picker after installation. Only provide an installed SKILL.md reference if its actual path has been observed; a source path is not an installed reference. Preserve the user's disabled choices and explain any needed manual enable/configuration step.
Reply in the user's language with:
If the user has not completed the UI steps, stop with a usable handoff rather than performing them automatically or claiming success. For a reported error, keep the source, inspect the error and correct the relevant source/catalog issue. Public release remains separate from local testing.
© zai-org, Apache-2.0. 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 (scripts, references) in apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator of zai-org/ZCode.
Open the folder on GitHubat commit aac4755
Plugin Creator 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 |
|---|---|---|---|---|---|---|
| Plugin Creator this skillzai-org/ZCode | 7.7k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 10 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 38k | 7 repos | ~2.8k | 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 | |
| Plugin Settings Patternanthropics/claude-plugins-official | 38k | 7 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Integration for Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 |
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
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.
anthropics/claude-plugins-official
Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.
anthropics/claude-plugins-official
Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.
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.
zai-org/ZCode
Complete DOCX document creation, editing, and analysis capabilities with support for revisions, comments, formatting preservation, and text extraction.
zai-org/ZCode
Create visualizations and interactive tools directly in conversation.
zai-org/ZCode
Professional PDF toolkit covering four production workflows: reports, creative visuals, academic LaTeX, and existing PDF processing.
zai-org/ZCode
A skill your agent uses when ZCode needs to inspect, plan, or execute restoration of old ACP-era ZCode sessions from ~/.zcode/v2/sessions into the new ZCode task/session stores.
zai-org/ZCode
Generate, verify, or remove large synthetic ZCode task fixtures in local ~/.zcode persistence for UI/session performance testing.
zai-org/ZCode
Check ZCode module and layer boundaries for code changes. An agent skill from zai-org/ZCode.
Categories
Create or update ZCode plugin source and a local test marketplace, then guide the user to add, install, update and try it in the app. Plugin Creator is an agent skill from zai-org/ZCode. Create or update ZCode plugin source and a local test marketplace, then guide the user to add, install, update and try it in the app.
Plugin Creator fits situations like: changes to an existing plugins capabilities; local distribution.
Run `npx skills add zai-org/ZCode --skill plugin-creator -a claude-code`. Or copy the skill folder (apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator in zai-org/ZCode) into .claude/skills/plugin-creator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zai-org/ZCode --skill plugin-creator -a codex`. Or copy the skill folder (apps/zcode-cli/packages/plugin-creator-plugin/skills/plugin-creator in zai-org/ZCode) into .agents/skills/plugin-creator 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 zai-org/ZCode --skill plugin-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/plugin-creator, .gemini/skills/plugin-creator, .github/skills/plugin-creator and .opencode/skills/plugin-creator in your project.
Going by SKILL.md and its folder, Plugin Creator needs JavaScript for the scripts in its folder. Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Plugin Creator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k 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.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Plugin Creator: Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars) and Plugin Settings Pattern (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.
zai-org (a GitHub organization) maintains it in zai-org/ZCode, which has 7,659 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 10, 2026.
Source: zai-org/ZCode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.