Agent skill

Plugin Authoring

by XiaoPuOuO in XiaoPuOuO/openchatx-mcp

Create or revise openchatx-mcp Toolbox plugins and TypeScript tools from a user's natural-language request.

MITAuto-check passedAgent Workflows

Install Plugin Authoring

skills CLI
$ npx skills add XiaoPuOuO/openchatx-mcp --skill plugin-authoring -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install XiaoPuOuO/openchatx-mcp plugin-authoring --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/XiaoPuOuO/openchatx-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/toolboxes/toolbox-manager/skills/plugin-authoring .claude/skills/plugin-authoring && rm -rf skills-src

Use ~/.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/

Facts

Skill name
plugin-authoring
GitHub stars
257
Token cost
~709 tokens
SKILL.md length
322 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Create or revise openchatx-mcp Toolbox plugins and TypeScript tools from a user's natural-language request.

  • Works in 10 steps: Use toolbox_list to inspect existing… → If needed, create the plugin with… → Create each TypeScript tool with… → …
  • Tasks that involve MCP servers
  • SKILL.md covers Model, Workflow, Lifecycle and advanced… and Destructive changes
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Plugin Authoring is an agent skill from XiaoPuOuO/openchatx-mcp. Create or revise openchatx-mcp Toolbox plugins and TypeScript tools from a user's natural-language request.

Its SKILL.md is about 710 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 Agent Workflows, covering MCP servers. It works with Model Context Protocol, TypeScript, OpenAI and macOS. The repository describes itself as: Turn ChatGPT into a local agent runtime. Operate your computer, use local tools, discover MCP servers, and delegate work to your own models through one MCP connection. The licence is MIT.

When your agent uses it

  • Tasks that involve MCP servers

Example prompts

  • “/plugin-authoring”

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Use toolbox_list to inspect existing plugins and avoid duplicates.
  2. If needed, create the plugin with toolbox_manage using kind="toolbox", action="create". New custom toolboxes start disabled so incomplete…
  3. Create each TypeScript tool with toolbox_manage using kind="tool", action="create". The generated file is a valid SDK template and the…
  4. Edit the generated .ts file with file_edit for precise changes or apply_patch for structural changes. Do not write source through bash.
  5. Implement tools with the public SDK
  6. Keep tool inputs small, explicit, and typed. Return normal MCP content; use structuredContent when structured output materially helps…
  7. Never embed secrets in committed tool source or toolbox.json. Read credentials from an appropriate local secret/config source.
  8. Use toolbox_manage with action="reload", then toolbox_list and verify there is no load error.
  9. Enable the tool and then the toolbox only after the implementation loads successfully.
  10. Use tool_search to confirm discovery and tool_call to run a realistic test.

What it can do on your machine

Read from SKILL.md and the folder at commit c6ae729. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Plugin Authoring loads about 709 tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 322 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~709

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from XiaoPuOuO/openchatx-mcp at commit c6ae729, republished under its MIT licence (© XiaoPuOuO). 322 words, ~709 tokens.

Download SKILL.mdSave it as .claude/skills/plugin-authoring/SKILL.md (or your agent's skills folder).
name
plugin-authoring
description
Create or revise openchatx-mcp Toolbox plugins and TypeScript tools from a user's natural-language request.

Plugin authoring

Use this skill when the user asks for a new plugin, toolbox, custom tool, or reusable local capability.

Model

  • A Toolbox is the plugin/folder boundary: toolboxes/<toolbox-id>/.
  • One Toolbox can contain many TypeScript tools under tools/ and many skills under skills/.
  • Custom tools are lazy-loaded and discovered through tool_search; they do not expand the main MCP tool schema budget.
  • Tool names must match their source filename without .ts.

Workflow

  1. Use toolbox_list to inspect existing plugins and avoid duplicates.
  2. If needed, create the plugin with toolbox_manage using kind="toolbox", action="create". New custom toolboxes start disabled so incomplete code is not callable.
  3. Create each TypeScript tool with toolbox_manage using kind="tool", action="create". The generated file is a valid SDK template and the result includes its path.
  4. Edit the generated .ts file with file_edit for precise changes or apply_patch for structural changes. Do not write source through bash.
  5. Implement tools with the public SDK:
ts
import { defineTool, z } from "openchatx-mcp/toolbox"

export default defineTool({
  name: "example",
  description: "Describe exactly when the agent should use this tool.",
  inputSchema: z.object({
    value: z.string(),
  }),
  async execute({ value }, context) {
    return {
      content: [{ type: "text", text: value }],
    }
  },
})
  1. Keep tool inputs small, explicit, and typed. Return normal MCP content; use structuredContent when structured output materially helps callers.
  2. Never embed secrets in committed tool source or toolbox.json. Read credentials from an appropriate local secret/config source.
  3. Use toolbox_manage with action="reload", then toolbox_list and verify there is no load error.
  4. Enable the tool and then the toolbox only after the implementation loads successfully.
  5. Use tool_search to confirm discovery and tool_call to run a realistic test.

Lifecycle and advanced capabilities

defineTool supports optional MCP metadata plus required, onLoad, and onUnload. Use lifecycle hooks only when the tool genuinely owns a resource that must be initialized or released.

Prefer one coherent Toolbox for closely related capabilities instead of creating one plugin per tiny function. Split plugins when dependencies, permissions, or domains are meaningfully independent.

Destructive changes

Deleting a custom Toolbox removes its folder recursively. Deleting a Tool removes its .ts source. Confirm the user's intent before deleting meaningful user-authored code unless deletion was explicitly requested.

© XiaoPuOuO, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in toolboxes/toolbox-manager/skills/plugin-authoring of XiaoPuOuO/openchatx-mcp.

Open the folder on GitHubat commit c6ae729

Compare with similar skills

Plugin Authoring 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.

Plugin Authoring compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Plugin Authoring this skillXiaoPuOuO/openchatx-mcp257—~709Automated safety check: PassMIT
Chatgpt App Builderalpic-ai/skybridge2.1k—~1kAutomated safety check: PassMIT
Agent RecallGoldentrii/AgentRecall-X371—~5.2kAutomated safety check: NotesMIT
MCP App Builderalpic-ai/skybridge2.1k—~906Automated safety check: PassMIT
Skybridgealpic-ai/skybridge2.1k—~923Automated safety check: PassMIT
Instrument MCP Serveramplitude/builder-skills160—~2.2kAutomated safety check: PassNone

Similar skills

  • Chatgpt App Builder

    alpic-ai/skybridge

    Guide developers through creating and updating ChatGPT plugins.

    2.1k GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent Recall

    Goldentrii/AgentRecall-X

    Persistent compounding memory for AI agents. An agent skill from Goldentrii/AgentRecall-X.

    371 GitHub stars~5.2k tokensUpdated 11 days ago
    Agent WorkflowsAuto-check: notes
  • MCP App Builder

    alpic-ai/skybridge

    Guide developers through creating and updating MCP Apps. An agent skill from alpic-ai/skybridge.

    2.1k GitHub stars~906 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Skybridge

    alpic-ai/skybridge

    Guide developers through creating and updating ChatGPT plugins and MCP Apps.

    2.1k GitHub stars~923 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Instrument MCP Server

    amplitude/builder-skills

    Instrument a Node/TypeScript MCP server with Amplitude's @amplitude/mcp-analytics SDK so tool calls, sessions, and rationale are tracked as Amplitude events.

    160 GitHub stars~2.2k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Siyuan Chatgpt Secure Tunnel

    yangtaihong59/siyuan-plugins-mcp-sisyphus

    在 macOS 上下载、安装或升级 SiYuan Sisyphus 插件,并配置、修复和验证 ChatGPT 网页端通过 OpenAI 官方 Secure MCP Tunnel 安全访问本地思源笔记。用于确认 Sisyphus 已启用且 mcp-server.cjs 与笔记本权限就绪、复用或创建固定 tunnel、安装并诊断 tunnel-client、将 OpenAI Runtime API…

    114 GitHub stars~1.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

Categories

Questions about Plugin Authoring

What does Plugin Authoring do?

Create or revise openchatx-mcp Toolbox plugins and TypeScript tools from a user's natural-language request. Plugin Authoring is an agent skill from XiaoPuOuO/openchatx-mcp. Create or revise openchatx-mcp Toolbox plugins and TypeScript tools from a user's natural-language request.

When should I use Plugin Authoring?

Plugin Authoring fits situations like: tasks that involve MCP servers.

How do I install Plugin Authoring in Claude Code?

Run `npx skills add XiaoPuOuO/openchatx-mcp --skill plugin-authoring -a claude-code`. Or copy the skill folder (toolboxes/toolbox-manager/skills/plugin-authoring in XiaoPuOuO/openchatx-mcp) into .claude/skills/plugin-authoring in your project. Claude Code loads it when a task matches its description.

How do I install Plugin Authoring in Codex?

Run `npx skills add XiaoPuOuO/openchatx-mcp --skill plugin-authoring -a codex`. Or copy the skill folder (toolboxes/toolbox-manager/skills/plugin-authoring in XiaoPuOuO/openchatx-mcp) into .agents/skills/plugin-authoring in your project. Codex loads it when a task matches its description.

Can I use Plugin Authoring in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add XiaoPuOuO/openchatx-mcp --skill plugin-authoring -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-authoring, .gemini/skills/plugin-authoring, .github/skills/plugin-authoring and .opencode/skills/plugin-authoring in your project.

What does Plugin Authoring need to run?

SKILL.md names no scripts, command-line tools or credentials: Plugin Authoring is instructions for the agent only.

Does Plugin Authoring access the network?

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.

Is Plugin Authoring safe to install?

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. Review the folder before installing.

What licence does Plugin Authoring use?

Plugin Authoring is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Plugin Authoring use?

About 709 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Plugin Authoring?

Skills that share tags, products or a category with Plugin Authoring: Chatgpt App Builder (alpic-ai/skybridge, 2.1k stars), Agent Recall (Goldentrii/AgentRecall-X, 371 stars), MCP App Builder (alpic-ai/skybridge, 2.1k stars) and Skybridge (alpic-ai/skybridge, 2.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Plugin Authoring?

XiaoPuOuO (a GitHub user) maintains it in XiaoPuOuO/openchatx-mcp, which has 257 GitHub stars. The repository was last updated on October 5, 2026.

Source: XiaoPuOuO/openchatx-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.