Mockapi
Agent skill for stateful OpenAPI mock servers
npx -y skills add devctllabs/mockapi --skill mockapiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create stateful TypeScript/Hono mock API servers from OpenAPI 3.0/3.1 contracts. Use for building OpenAPI-based mock APIs, creating or repairing .mockapi sidecars, validating mock profiles, generating admin state endpoints, or freeform requests such as "mockapi build a mock server for api/openapi.yaml".
SKILL.md
6.0 KB, as published. Nobody here has run it
mockapi
Use this skill to create stateful mock API servers from OpenAPI contracts. The
agent owns behavior analysis and sidecar authoring; bundled scripts only perform
structural validation and deterministic typed scaffolding. Generated operation
services are TODOs; the agent completes wiring and behavior from
.mockapi/behavior.md anchors.
Command Router
Route invocations:
- No argument: show a short menu with
profile,generate, and freeform examples. Ask what the user wants to do. - First word
profile: readreference/profile.mdand follow that workflow. Everything afterprofileis the target or context. - First word
generate: before any OpenAPI search or repo-wide file scan, readreference/generate.mdand run the generate sidecar preflight from that workflow. Everything aftergenerateis the target or context. After the profile and sidecars are present and validation succeeds, always run<python> <skill-root>/scripts/generate.py; do not satisfy ageneratecommand by only describing, planning, or hand-writing the scaffold. - Any other first word: treat the entire argument as a general mockapi request. Do not reject unknown first words merely because they are not commands.
General mockapi request routing:
- Mock-server creation requests such as "make", "build", "create", "generate",
"scaffold", or "use this OpenAPI" route to
reference/generate.md.generateauto-runs the profile workflow when sidecars are missing. - Profile, analyze, describe, or sidecar-only requests route to
reference/profile.md. - Validate, check, repair, or diagnose sidecar requests run
scripts/validate_profile.py, readreference/sidecars.md, and repair or report blockers as needed. The validator checksprofile.tomlandbehavior.mdunless--profile-onlyis used. - Questions about existing generated mock-server code read
reference/generated-server.md,reference/mock-server-structure.md, andreference/mock-server-examples.md, then inspect the relevant files. When finishing or reviewing LLM-owned generated server code, also readreference/mock-server-quality.md.
If the freeform intent remains ambiguous after inspecting the repository, ask one concise clarification before mutating files. Do not invent extra commands or run unbundled scripts.
Runtime Rules
- Requires Python 3.11+ for bundled scripts. Resolve
<python>to an executable whose version is 3.11+ before running script examples. If no suitable interpreter exists, stop and report the requirement to the user. Bundled CLI scripts also verify the active interpreter and fail with a clear error when it is too old. - Resolve
<skill-root>to the directory containing thisSKILL.md. Run shell command examples by replacing<skill-root>with that absolute or repository-relative skill directory. - Run only committed bundled Python scripts from
scripts/*.pyduring normal skill usage. - Treat
reference/*.mdand the target repository context as the primary contract for agent decisions. Do not read script source as a source of profiling requirements during normal profile work. - Use
reference/sidecars.mdas the authoritative sidecar schema, including validprofile.tomlfields. If a needed sidecar shape is missing from the references, stop and report the exact documentation gap instead of inferring it fromscripts/mockapi_runtime/*.py. - Inspect bundled Python source only to diagnose a validator or generator defect after running the committed scripts. Do not use script source to discover valid sidecar fields, defaults, or profile behavior policy.
- Do not run dependency installation inside the skill folder.
- For generated package dependency/script steps, use
scripts/detect_package_manager.py; do not hand-rollcommand -vpackage manager checks or rely on interactive shell startup files. - In
generateworkflows, run generated package codegen before implementing or editing LLM-owned controller wiring or feature modules. - Do not edit OpenAPI contracts unless the user explicitly requests contract changes.
- Treat
.mockapi/profile.tomland.mockapi/behavior.mdas the durable source of truth for generation. - For any
generateworkflow, runscripts/generate.py --run-codegenafter successful validation. If validation fails, repair sidecars or report blockers instead of running the generator on invalid data. - Treat
profile.tomlas the structural operation index. Implement operation behavior from the matchingbehavior.mdanchor, not from operation shape. - Use
reference/sidecars.mdfor sidecar shape and validation expectations. - Use
reference/generated-server.md,reference/mock-server-structure.md,reference/mock-server-examples.md,reference/seed-data.md,reference/testing.md, andreference/mock-server-quality.mdwhen inspecting or finishing generated server code.
Bundled Scripts
Validate sidecars:
<python> <skill-root>/scripts/validate_profile.py
Preflight sidecars for generate:
<python> <skill-root>/scripts/preflight_generate.py --root .
Profile-only validation:
<python> <skill-root>/scripts/validate_profile.py --profile-only
Generate server scaffold and run codegen:
<python> <skill-root>/scripts/generate.py --root . --profile .mockapi/profile.toml --run-codegen
Detect generated package manager for manual regeneration:
<python> <skill-root>/scripts/detect_package_manager.py --root . --profile .mockapi/profile.toml
Final quality gate after implementation only:
<python> <skill-root>/scripts/check_generated_quality.py --package-root <packageRoot> --profile .mockapi/profile.toml