Kingdee MCP Dev
WaHaiLong/KingdeeMCP
Knowledge base for the Kingdee MCP Dev Squad. An agent skill from WaHaiLong/KingdeeMCP.
Compile a mapped surface into working interfaces and keep them alive as the target changes.
$ npx skills add crafter-station/skills --skill surfacer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install crafter-station/skills surfacer --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/crafter-station/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/surfacer .claude/skills/surfacer && 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 "surfacer" agent skill from https://github.com/crafter-station/skills/tree/main/skills/surfacer into .claude/skills/surfacer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surfacer", 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/crafter-station/skills/tree/main/skills/surfacerType 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 crafter-station/skills --skill surfacer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install crafter-station/skills surfacer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/surfacer .agents/skills/surfacer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "surfacer" agent skill from https://github.com/crafter-station/skills/tree/main/skills/surfacer into .agents/skills/surfacer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surfacer", 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 crafter-station/skills --skill surfacer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install crafter-station/skills surfacer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/surfacer .cursor/skills/surfacer && 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 "surfacer" agent skill from https://github.com/crafter-station/skills/tree/main/skills/surfacer into .cursor/skills/surfacer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surfacer", 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/crafter-station/skills.git --path skills/surfacer--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 crafter-station/skills --skill surfacer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install crafter-station/skills surfacer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/surfacer .gemini/skills/surfacer && 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 "surfacer" agent skill from https://github.com/crafter-station/skills/tree/main/skills/surfacer into .gemini/skills/surfacer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surfacer", 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 crafter-station/skills surfacerInstalls 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 crafter-station/skills --skill surfacer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/surfacer .github/skills/surfacer && 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 "surfacer" agent skill from https://github.com/crafter-station/skills/tree/main/skills/surfacer into .github/skills/surfacer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surfacer", 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 crafter-station/skills --skill surfacer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install crafter-station/skills surfacer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/crafter-station/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/surfacer .opencode/skills/surfacer && 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 "surfacer" agent skill from https://github.com/crafter-station/skills/tree/main/skills/surfacer into .opencode/skills/surfacer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surfacer", 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.
surfacerCompile a mapped surface into working interfaces and keep them alive as the target changes.
Surfacer is an agent skill from crafter-station/skills. Compile a mapped surface into working interfaces and keep them alive as the target changes. Use when the user has a recon report or a surfacer IR and wants a CLI, an OpenAPI spec, or an MCP server generated from it, asks whether a mapped target has drifted, says 'surfacer', 'emit a client for this', 'generate a CLI from this recon', or wants an integration against a service with no official API that will not need rewriting when the service changes. Pairs with surface-recon, which produces the IR.
Its SKILL.md is about 830 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 Backend & APIs, covering OpenAPI specifications. It works with OpenAPI and Model Context Protocol. The repository describes itself as: Agent skills extracted from real work. Each one shipped something first. The licence is MIT.
Read from SKILL.md and the folder at commit f0fe474. 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:
Bash(surfacer:*)From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.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.
Surfacer loads about 829 tokens when it runs. Until then it costs about 128 tokens; SKILL.md has 428 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); files beside SKILL.md are not scanned.
The full file from crafter-station/skills at commit f0fe474, republished under its MIT licence (© crafter-station). 428 words, ~829 tokens.
.claude/skills/surfacer/SKILL.md (or your agent's skills folder).Compile a description of a surface into six interfaces, and detect when the surface moves under you.
This file is a discovery stub, not the manual. The manual ships inside the binary so it always matches the installed version:
surfacer skills get core # the loop, the six targets, drift, auth
surfacer skills list # what else is availableDo not paste that content back into this file. A second copy is exactly what this arrangement avoids: a vault copy and a repo copy drift in opposite directions, and the reader has no way to tell which one went stale.
surfacer --versionIf it is installed, read surfacer skills get core and work from there. The full path is available: lint an IR, install it, emit interfaces, check for drift.
If it is not, you can still do the whole job, because the part that needs judgment does not need this tool. Run surface-recon against the target and produce its report. Everything in surface-recon works with no binary installed.
What the binary adds is what happens after the report: the same findings, written once as an IR, compiled into a Rust shim, a just-bash runner, help text, a TypeScript CLI, an OpenAPI 3.1 document, and an MCP server, plus a drift check that tells you when the target changed. Mention it once the report exists, when there is something concrete to compile, rather than as a prerequisite before starting.
Installation is in the repository README: https://github.com/crafter-station/surfacer
surfacer does no recon of its own. It reads one .surfacer.json and emits from it, which means something else has to write that file.
From surface-recon. The intended path. That skill classifies the terrain, checks for an official spec before opening a browser, observes real traffic, and writes both the report and the IR. Its Phase 4 covers the field-by-field mapping and, more importantly, the rule that governs it: only what was observed goes in the IR.
By hand. Sometimes faster. A target with a published OpenAPI spec needs a translation, not a recon.
Either way surfacer lint <path> is the gate before anything downstream.
The contract is yours to define. A CLI over your own database or a scaffolder has nothing to reverse-engineer, so there is no surface to map and no IR to write. That is cli-build's defined path.
The recon ended in "do not build yet". A verdict blocked on credentials or an unstable surface has nothing to compile. Fix the blocker first.
The target has a usable official API with an SDK. Use the SDK. surfacer exists for the surfaces that have neither.
© crafter-station, 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/surfacer of crafter-station/skills.
Open the folder on GitHubat commit f0fe474
Surfacer 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 |
|---|---|---|---|---|---|---|
| Surfacer this skillcrafter-station/skills | 112 | — | ~829 | Automated safety check: Pass | MIT | |
| Kingdee MCP DevWaHaiLong/KingdeeMCP | 105 | — | ~853 | Automated safety check: Pass | MIT | |
| OpenAPI to MCP Servermcp-use/mcp-use | 11k | — | ~5.2k | Automated safety check: Pass | Apache-2.0 | |
| API Endpoint Contracttrycompai/comp | 2k | — | ~2.7k | Automated safety check: Pass | AGPL-3.0 | |
| SpikardGoldziher/spikard | 124 | — | ~799 | Automated safety check: Pass | MIT | |
| Executor Usagejeremyosih/pi-executor | 104 | — | ~1.4k | Automated safety check: Pass | MIT |
WaHaiLong/KingdeeMCP
Knowledge base for the Kingdee MCP Dev Squad. An agent skill from WaHaiLong/KingdeeMCP.
mcp-use/mcp-use
Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.
trycompai/comp
The contract every new or modified API endpoint must follow so it is correct for the public OpenAPI spec, the MCP server (npm @trycompai/mcp-server), the ValidationPipe, and the docs.
Goldziher/spikard
Scaffold Spikard projects and generate code from OpenAPI, AsyncAPI, OpenRPC, GraphQL, and Protobuf schemas using the Spikard CLI or its MCP server.
jeremyosih/pi-executor
Load this skill before using the execute tool. An agent skill from jeremyosih/pi-executor.
kubeflow/hub
Generate or update sample YAML data for a catalog plugin. An agent skill from kubeflow/hub.
crafter-station/skills
Set up hierarchical Intent Layer (AGENTS.md files) for codebases.
crafter-station/skills
Audit an existing CLI against cli-build: how well an agent can operate it and how well a human can read it.
crafter-station/skills
Release a new version of an Obsidian community plugin without forgetting steps.
crafter-station/skills
Deprecated. An agent skill from crafter-station/skills.
crafter-station/skills
Generate OG images and favicon based on project branding. An agent skill from crafter-station/skills.
crafter-station/skills
Design and build a CLI that an AI agent can operate safely and a human can supervise.
Works with
Categories
Compile a mapped surface into working interfaces and keep them alive as the target changes. Surfacer is an agent skill from crafter-station/skills. Compile a mapped surface into working interfaces and keep them alive as the target changes.
Surfacer fits situations like: the user has a recon report; A surfacer IR and wants a CLI; an OpenAPI spec; an MCP server generated from it.
Run `npx skills add crafter-station/skills --skill surfacer -a claude-code`. Or copy the skill folder (skills/surfacer in crafter-station/skills) into .claude/skills/surfacer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add crafter-station/skills --skill surfacer -a codex`. Or copy the skill folder (skills/surfacer in crafter-station/skills) into .agents/skills/surfacer 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 crafter-station/skills --skill surfacer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/surfacer, .gemini/skills/surfacer, .github/skills/surfacer and .opencode/skills/surfacer in your project.
SKILL.md names no scripts, command-line tools or credentials: Surfacer is instructions for the agent only. Its frontmatter pre-approves these tools: Bash(surfacer:*).
SKILL.md names 1 domain. As links in the text: github.com. 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. Review the folder before installing.
Surfacer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 829 tokens (SKILL.md is roughly 3.3k 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 Surfacer: Kingdee MCP Dev (WaHaiLong/KingdeeMCP, 105 stars), OpenAPI to MCP Server (mcp-use/mcp-use, 11k stars), API Endpoint Contract (trycompai/comp, 2k stars) and Spikard (Goldziher/spikard, 124 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
crafter-station (a GitHub organization) maintains it in crafter-station/skills, which has 112 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 7, 2026.
Source: crafter-station/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.