MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Discovers and installs agentic skills from the customer API hub.
$ npx skills add apigee/devrel --skill skill-finder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install apigee/devrel skill-finder --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/apigee/devrel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/references/apigee-skills-serving/skills/skill-finder .claude/skills/skill-finder && 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 "skill-finder" agent skill from https://github.com/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finder into .claude/skills/skill-finder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-finder", 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/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finderType 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 apigee/devrel --skill skill-finder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install apigee/devrel skill-finder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apigee/devrel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/references/apigee-skills-serving/skills/skill-finder .agents/skills/skill-finder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-finder" agent skill from https://github.com/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finder into .agents/skills/skill-finder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-finder", 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 apigee/devrel --skill skill-finder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install apigee/devrel skill-finder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apigee/devrel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/references/apigee-skills-serving/skills/skill-finder .cursor/skills/skill-finder && 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 "skill-finder" agent skill from https://github.com/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finder into .cursor/skills/skill-finder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-finder", 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/apigee/devrel.git --path references/apigee-skills-serving/skills/skill-finder--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 apigee/devrel --skill skill-finder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install apigee/devrel skill-finder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apigee/devrel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/references/apigee-skills-serving/skills/skill-finder .gemini/skills/skill-finder && 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 "skill-finder" agent skill from https://github.com/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finder into .gemini/skills/skill-finder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-finder", 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 apigee/devrel skill-finderInstalls 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 apigee/devrel --skill skill-finder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/apigee/devrel.git skills-src && mkdir -p .github/skills && cp -r skills-src/references/apigee-skills-serving/skills/skill-finder .github/skills/skill-finder && 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 "skill-finder" agent skill from https://github.com/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finder into .github/skills/skill-finder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-finder", 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 apigee/devrel --skill skill-finder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install apigee/devrel skill-finder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apigee/devrel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/references/apigee-skills-serving/skills/skill-finder .opencode/skills/skill-finder && 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 "skill-finder" agent skill from https://github.com/apigee/devrel/tree/main/references/apigee-skills-serving/skills/skill-finder into .opencode/skills/skill-finder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-finder", 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.
skill-finderDiscovers and installs agentic skills from the customer API hub.
Skill Finder is an agent skill from apigee/devrel. Discovers and installs agentic skills from the customer API hub. Two modes — (1) SEARCH AND INSTALL one matching skill by natural-language query, verifying its ed25519 signature against the trust root(s) installed under keys/; (2) LIST every available skill in the catalog as a markdown table, with cursor pagination, so the user can browse what's offered before installing.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `keys/README.md`, `manifest.yaml` and `scripts/find_install.py`). Compatibility notes: opencode, antigravity, gemini-cli
It works with Python. The repository describes itself as: Common solutions and tools developed for Apigee. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5a8ba69. 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 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From 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.
opencode, antigravity, gemini-cli
From compatibility in the SKILL.md frontmatter.
Skill Finder loads about 1.9k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 869 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 apigee/devrel at commit 5a8ba69, republished under its Apache-2.0 licence (© apigee). 869 words, ~1,877 tokens.
.claude/skills/skill-finder/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.This skill requires its bundled venv wrapper. The Python
scripts depend on cryptography, google-auth, requests, and
pyyaml, which are installed into a per-user venv by the
installer (bin/install-skill-finder.sh). They are not
available to the system python3.
Always invoke scripts via the wrapper, never via bare
python3:
# CORRECT - invokes the venv Python via the wrapper:
${SKILL_DIR}/bin/run-with-venv.sh ${SKILL_DIR}/scripts/<script>.py <args>
# WRONG - system python3 will hit ModuleNotFoundError:
python3 ${SKILL_DIR}/scripts/<script>.py <args>The Command blocks in this file use the wrapper form. Do not
"simplify" them to python3 … — the scripts will fail with
ModuleNotFoundError: No module named 'cryptography' (or similar)
and the agent will then waste a turn debugging a configuration
issue that doesn't exist.
If the wrapper at ${SKILL_DIR}/bin/run-with-venv.sh is missing,
the skill was installed by a pre-v0.1.4 installer. Re-run
bin/install-skill-finder.sh to regenerate the wrapper. The
scripts themselves also detect this case at startup and emit an
actionable error pointing back here.
This skill has two modes. Choose the one that fits the user's intent:
| User intent | Use this mode | Script |
|---|---|---|
| "What skills are available?" / "Show me the catalog" / "Browse skills" / "What can the agent do via API hub?" | List (browse, no install) | list_skills.py |
| "Find a skill that does X" / "Install a skill for Y" / "Look that up in API hub" (where there is one stated need) | Install (search + verify + install) | find_install.py |
If the user is browsing or exploring, use List first; the user
can then ask "install <name>" and you switch to Install with that
name as the query.
Both modes ship as one behavioural contract that runs on two runtimes. Pick the invocation path that matches the runtime:
| Runtime | How you invoke the scripts |
|---|---|
| OpenCode | Use the !bash`` injection blocks below. OpenCode auto-executes them on SKILL.md load. |
| Gemini CLI | Use your bash tool. Run the exact command from the matching Command block — substitute ${SKILL_DIR} with the install path (~/.gemini/skills/skill-finder for global installs; <project>/.agents/skills/skill-finder for workspace installs), substitute ${ARGUMENTS} with the user's verbatim query, and ${APIHUB_PROJECT} / ${APIHUB_LOCATION} with the values from the shell environment. |
| Antigravity | Same as Gemini CLI but ${SKILL_DIR} is ~/.gemini/antigravity/skills/skill-finder for global installs (or <project>/.agents/skills/skill-finder for workspace installs). |
| Any other runtime | Same as Antigravity / Gemini CLI: invoke via whatever bash mechanism the runtime provides. |
Use this when the user has a stated need they want fulfilled now.
1a. Before invoking find_install.py, verify the user query
contains NONE of these characters:
$ ` \ " ' ; & | < > ( ) { }
(shell metacharacters; they may trigger command injection in
the bash layer because POSIX double quotes do not suppress
$(...) command substitution or backtick expansion). If any
are present, REFUSE to invoke and ask the user to rephrase
the query without special characters.
Invoke the bundled discovery script using the runtime path from the table above. The exact command is:
Command (OpenCode auto-runs this; on Antigravity / Gemini CLI you run it via your bash tool):
!python3 ${SKILL_DIR}/scripts/find_install.py \ --query "${ARGUMENTS}" \ --project "${APIHUB_PROJECT}" \ --location "${APIHUB_LOCATION}"
The script prints structured progress; reproduce every printed
line verbatim to the user — DO NOT summarize. The lines are a
stable contract. On Antigravity / Gemini CLI, this means: after
your bash tool returns, surface its full stdout verbatim in
your reply. Do not edit, reorder, or collapse the
[skill-finder] lines.
On success, the script's final line is the runtime-aware
trailer. On OpenCode, it tells the user to type
/reload-skills. On Antigravity / Gemini CLI, it tells the
user to re-ask their question. Surface that line verbatim and
STOP. Do not invoke the newly-installed skill yourself; let
the user re-ask.
On any FAILED line, STOP. Surface the failure to the user with the verbatim error message. Do NOT attempt installation again on the same invocation.
Use this when the user wants to see what's available before committing to install anything.
Invoke the bundled browse script. The exact command is:
Command (OpenCode auto-runs this; on Antigravity / Gemini CLI you run it via your bash tool):
!python3 ${SKILL_DIR}/scripts/list_skills.py \ --project "${APIHUB_PROJECT}" \ --location "${APIHUB_LOCATION}" \ --page-size 20
The script prints a markdown table of name | keywords | description. Surface the table verbatim to the user — DO NOT
summarize and DO NOT drop the [skill-finder] diagnostic
lines.
If the last line of the output is next-page-token: <token>,
there are more skills available. Offer the user the option:
"There are more skills. Want me to show the next page?". If
the user says yes, re-invoke with --page-token "<token>"
added to the command (keep the other flags the same).
If the user then picks a specific skill name and wants to
install it, switch to Mode 1: Install with that name as
the --query value.
On any FAILED line, STOP. Surface the failure verbatim.
~/.config/opencode/skills/. find_install.py writes there.
/reload-skills rescans.~/.gemini/config/skills/ (the canonical global skills root).
find_install.py writes there. Both runtimes rescan on the
next conversation turn — there is no /reload-skills slash
command. The script emits a runtime-aware trailer (re-ask your question — the agent runtime will pick up <name> on the next turn) so the user is not told to type a non-existent
slash command.© apigee, 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 5 other files (scripts) in references/apigee-skills-serving/skills/skill-finder of apigee/devrel.
Open the folder on GitHubat commit 5a8ba69
Skill Finder 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 |
|---|---|---|---|---|---|---|
| Skill Finder this skillapigee/devrel | 221 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| PDF Processinganthropics/skills | 180k | 48 repos | ~2k | Automated safety check: Pass | Proprietary | |
| NotebookLM Research AssistantPleasePrompto/notebooklm-skill | 7.8k | 14 repos | ~2.4k | Automated safety check: Notes | MIT | |
| Manim Video Productionbrowser-use/video-use | 28k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/skills
Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
apigee/devrel
Publishes a local skill directory to the API hub catalog and the GCS bundle store.
apigee/devrel
Reports the top 10 Apigee policy types currently in use across deployed proxy revisions in the caller's Apigee org.
apigee/devrel
Converts monetary amounts between fiat currencies using a stub exchange-rate table.
apigee/devrel
Returns a stub weather forecast for a given location. An agent skill from apigee/devrel.
Works with
Discovers and installs agentic skills from the customer API hub. Skill Finder is an agent skill from apigee/devrel. Discovers and installs agentic skills from the customer API hub.
Run `npx skills add apigee/devrel --skill skill-finder -a claude-code`. Or copy the skill folder (references/apigee-skills-serving/skills/skill-finder in apigee/devrel) into .claude/skills/skill-finder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add apigee/devrel --skill skill-finder -a codex`. Or copy the skill folder (references/apigee-skills-serving/skills/skill-finder in apigee/devrel) into .agents/skills/skill-finder 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 apigee/devrel --skill skill-finder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-finder, .gemini/skills/skill-finder, .github/skills/skill-finder and .opencode/skills/skill-finder in your project.
Going by SKILL.md and its folder, Skill Finder needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Compatibility (from SKILL.md): opencode, antigravity, gemini-cli.
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.
Skill Finder is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k 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 Skill Finder: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
apigee (a GitHub organization) maintains it in apigee/devrel, which has 221 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 13, 2026.
Source: apigee/devrel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.