agentleFS
witi-projectswiti-projects/Skills/api-smoke-testing/SKILL.md

api-smoke-testing

Skill2 starsChanged 6 months agoMITView on GitHub

Start the dev server, discover API routes from the codebase, hit every endpoint, and report which ones return errors. Use when the user says "/api-smoke-testing", "api smoke testing", or asks about api smoke testing.

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Verify all API endpoints return healthy responses by combining codebase analysis with HTTP requests.

    line 9
  2. Distinctive:

    Search the codebase for API route definitions:

    line 15
  3. Very specific:

    Express: Look for app.get(, app.post(, router.get(, etc.

    line 19
  4. Very specific:

    Django: Look for urlpatterns in urls.py

    line 20
  5. Very specific:

    FastAPI: Look for @app.get(, @app.post(, decorators

    line 21
  6. Very specific:

    Rails: Look for routes.rb

    line 22
  7. Distinctive:

    Check terminal files for a running dev server.

    line 28

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

API Smoke Testing

Verify all API endpoints return healthy responses by combining codebase analysis with HTTP requests.

Workflow

1. Discover Routes

Search the codebase for API route definitions:

Next.js (App Router): app/api/**/route.ts Next.js (Pages Router): pages/api/**/*.ts Express: Look for app.get(, app.post(, router.get(, etc. Django: Look for urlpatterns in urls.py FastAPI: Look for @app.get(, @app.post(, decorators Rails: Look for routes.rb

Build a list of endpoints with their HTTP methods.

2. Ensure Server is Running

Check terminal files for a running dev server. If none found, start one.

3. Hit Every Endpoint

For each route:

curl -s -o /dev/null -w "%{http_code}" -X <METHOD> http://localhost:<PORT><PATH>

For endpoints that require a body (POST/PUT/PATCH), send a minimal valid JSON:

curl -s -o /dev/null -w "%{http_code}" -X POST http://localhost:<PORT><PATH> \
  -H "Content-Type: application/json" \
  -d '{}'

4. Classify Results

StatusMeaning
200-299OK
301/302Redirect (OK)
400Bad request (expected for empty POST bodies)
401/403Auth required (expected for protected routes)
404Route not found (BUG — route exists in code but not served)
500Server error (BUG)
000/timeoutServer not responding (BUG)

5. Report

API Smoke Test Results:
  Tested: 15 endpoints
  Passed: 12
  Auth required: 2 (GET /api/user, POST /api/settings)
  Errors:
    500 — POST /api/webhooks/stripe (TypeError: Cannot read property 'id' of undefined)
    404 — GET /api/v2/health (route defined but not mounted)

6. Fix Errors

For 500 errors, read the terminal output for the stack trace and fix the root cause. For 404s, check that the route file is in the correct location and properly exported.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.