plugins/tooling/skills/devrel-tooling/SKILL.md
Build CLI tools and API utilities that developers on your platform actually use. Covers CLI design (command hierarchy, flags, completions, cross-platform UX) and API collection generation (Postman/OpenAPI from Express, Next.js, Fastify, Hono routes). Use this skill when building a developer-facing CLI tool, adding subcommands or flags, implementing shell completions, designing interactive prompts, generating Postman collections from code, creating API testing artifacts, or building any developer utility. Also activates for questions about argument parsing (commander, click, typer, cobra), progress indicators, terminal UX, or Postman collection format.
npx skillsauth add saif-shines/devex-kit devrel-toolingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build the tools your developers reach for daily — CLIs they tab-complete without thinking, API collections they import on day one.
Two domains:
| Domain | What you build | When to use | |--------|---------------|-------------| | CLI tools | Command-line interfaces with subcommands, flags, completions, interactive prompts | "Build a CLI", "add a command", "shell completions", "progress bar" | | API collections | Postman/OpenAPI artifacts generated from your codebase | "Generate Postman collection", "export API endpoints", "create collection from routes" |
State which domain you need, or describe what you're building.
For expanded implementation patterns per language (Node.js/commander, Python/click+typer, Go/cobra), load
references/cli-patterns.md.
Design the tree before writing code:
mytool # Root
├── init [options] # Setup
├── config
│ ├── get <key> # Nested subcommands
│ ├── set <key> <value>
│ └── list
├── deploy [environment] # Positional + flags
│ ├── --dry-run
│ ├── --force
│ └── --config <file>
└── plugins
├── install <name>
├── list
└── remove <name>
Rules:
-v, --verbose)#!/usr/bin/env node
const { program } = require('commander');
program.name('mytool').description('Developer platform CLI').version('1.0.0');
program
.command('deploy <environment>')
.description('Deploy to target environment')
.option('-f, --force', 'skip confirmation')
.option('-d, --dry-run', 'preview changes')
.action((env, opts) => {
if (!opts.force && env === 'production') {
// prompt for confirmation in interactive mode
}
console.log(`Deploying to ${env}...`);
});
program.parse();
For Python (click/typer) and Go (cobra) examples, load
references/cli-patterns.md.
Every CLI error follows: context → problem → solution. Never show raw stack traces or codes like ENOENT.
Use commander (Node.js), click/typer (Python), or cobra (Go). For details and alternatives, load references/cli-patterns.md.
Must do:
--help and --versionMust not:
os.homedir() / Path.home() / os.UserHomeDir()For the full Postman collection v2.1 schema and framework-specific scanner implementations, load
references/api-collection-generators.md.
| Framework | Route pattern | Detection |
|-----------|--------------|-----------|
| Express | app.get(), router.post() | Method chaining on app/router |
| Next.js | app/api/**/route.ts | File-based routing, exported methods |
| Fastify | fastify.get(), route schema | Method + schema decorators |
| Hono | app.get(), app.post() | Similar to Express |
| NestJS | @Get(), @Post() decorators | Decorator-based |
| Koa | router.get(), router.post() | Koa-router patterns |
{
"info": {
"name": "My API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Users",
"item": [
{
"name": "GET users",
"request": {
"method": "GET",
"url": { "raw": "{{baseUrl}}/users", "host": ["{{baseUrl}}"], "path": ["users"] }
}
}
]
}
],
"variable": [
{ "key": "baseUrl", "value": "http://localhost:3000/api" },
{ "key": "authToken", "value": "" }
]
}
{{baseUrl}}, {{authToken}}) for environment flexibilityCLI — after implementation: Run mytool --help and verify all commands render. Run mytool --version. Test in non-interactive mode: CI=true mytool deploy staging --force.
CLI — before release: Generate completions and test in bash/zsh: source <(mytool completion bash) && mytool <TAB>. Run on macOS, Linux, and Windows (or CI matrix).
API collection — after generation: Validate the JSON: npx ajv validate -s postman-collection-v2.1-schema.json -d collection.json. Import into Postman and confirm all endpoints render.
--help renders correctly for all commandstools
Route tasks and route the user to the correct devex-kit skill before any work begins. Use when starting conversations or tasks that may involve documentation contributions, writing style, cookbook quality, sidebar navigation, SDK design/build/ship, CLI or API tooling, MCP server craft, agent plugin or skill development, devrel storytelling, DX first-success and content taxonomy, or when the user says "using devex-kit", "which devex-kit skill should I use", "help me pick the right skill from the kit", "route this to the right devex skill", or is unsure which /docs-* /sdk-* /mcp-* /devrel-* skill applies. Activates at the start of relevant sessions just like using-superpowers.
tools
Design, build, document, and ship SDKs that developers love. Covers the full SDK lifecycle — from API surface design and type safety through implementation, bundling, documentation, versioning, and publishing. Use this skill whenever someone is creating a new SDK, extracting shared code into a client library, improving SDK developer experience, planning a breaking change or migration guide, or reviewing an SDK for quality. Also activates for questions about error message design, client library patterns, type-safe API design, SDK packaging (ESM/CJS), or npm publishing.
tools
Build MCP servers that AI agents actually want to use. Covers the full lifecycle — tool design (naming, schemas, descriptions), resource design (URIs, templates, subscriptions), project structure, transport selection (stdio vs Streamable HTTP), security, error handling, and testing. Use this skill when building a new MCP server, adding tools or resources to an existing one, reviewing an MCP server for quality, choosing between stdio and HTTP transport, designing tool schemas for LLM consumption, or hardening an MCP server for production. Also activates for questions about tool naming conventions, Pydantic Field descriptions, Zod validation for MCP, resource URI schemes, or MCP server security patterns.
development
Create new skills and iteratively improve existing ones using devex-kit conventions. Use when users want to create a skill from scratch, turn a workflow into a SKILL.md, write or edit a skill, improve skill triggering/description, package a skill for distribution, or follow the lean + references + progressive disclosure model. Also activates for questions about skill anatomy, frontmatter quality, imperative writing style, test cases for skills, or when the user says "create a skill", "write SKILL.md", "improve this skill", "package my skill".