skills/run-web-server-api-example/SKILL.md
Example file for the Run app skill showing how to document a server or API lifecycle with background launch, readiness checks, curl verification, and shutdown
npx skillsauth add mkusaka/ccskills run-web-server-api-exampleInstall 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.
The distinguishing concern for servers is lifecycle: an agent needs to
start the server in the background, verify it's up, interact with it, then
cleanly shut it down. A foreground npm start that blocks the shell is
useless to an agent.
A good server run skill has:
curl or similar that confirms the server is actually up.If the background-launch + readiness-poll + smoke-curl sequence is more
than a couple of lines, put it in a smoke.sh inside the skill directory
and have SKILL.md say "run the smoke script." One command, exit code
tells you if the server is healthy.
Don't write:
npm start
That blocks. Instead, show how to launch in the background, wait for readiness, and find the PID later:
npm start &> /tmp/server.log & SERVER_PID=$! # Wait for the server to come up (adjust timeout/port as needed) for i in {1..30}; do curl -sf http://localhost:3000/health > /dev/null && break sleep 1 done
Then the verification step:
curl http://localhost:3000/health # → {"status":"ok"}
And stopping:
kill $SERVER_PID # or, if you've lost the PID: pkill -f "node.*server.js"
PORT=4000 npm start)..env
if the list is long.docker run
command directly.Here's what a Run section for a typical Node API might look like:
Run
Start the dev server in the background:
npm run dev &> /tmp/api.log &The server listens on port 3000. Wait for it to be ready, then verify:
for i in {1..20}; do curl -sf http://localhost:3000/health && break sleep 0.5 done curl http://localhost:3000/health # → {"status":"ok","version":"1.2.3"}Logs are at
/tmp/api.log. Stop with:pkill -f "tsx watch src/index.ts"Environment
| Variable | Required | Default | Notes | |---|---|---|---| |
DATABASE_URL| Yes | — | Postgres connection string | |PORT| No |3000| | |LOG_LEVEL| No |info|debug/info/warn/error|
development
Shape-specific /design-sync instructions for syncing a React design system from Storybook stories and built package output
development
Skill definition for syncing a React design system to claude.ai/design, including project selection, source-shape detection, converter configuration, validation, upload planning, and self-check behavior
development
Shape-specific /design-sync instructions for syncing a React design system from a built package without Storybook
development
Skill instructions for answering Claude Code configuration questions by checking the running build, bundled references, and current documentation