Source profileQuality 87/100

event4u-app/agent-config/src/skills/api-endpoint/SKILL.md

api-endpoint

Use when creating an API endpoint or HTTP route handler — detects the project stack and routes to the matching carve-out (laravel-api-endpoint, nextjs-patterns, symfony-workflow).

Source repository stars
7
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Grounded corpus: endpoint-shape decisions (pagination, error shape, idempotency, rate limits) are grounded via the api-design corpus — ./scripts-run /corpus-grounding/scripts/ground search --manifest /api-design/data/manifest.json "".

Best for

  • Modifying existing endpoints — use the code-refactoring skill.
  • API design decisions (versioning, deprecation, contract shape) — use api-design.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/api-endpoint"
Safe inspection promptEditorial

Inspect the Agent Skill "api-endpoint" from https://github.com/event4u-app/agent-config/blob/0adf49a8ae84b0ff6e2de8759eea43257e020eff/src/skills/api-endpoint/SKILL.md at commit 0adf49a8ae84b0ff6e2de8759eea43257e020eff. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Procedure: Create an API endpoint (stack-neutral)

    1. Read project docs — Check ./agents/ and AGENTS.md for endpoint conventions, routing layout, response shape. 2. Detect stack and route to the carve-out per the table above. 3. Plan the endpoint — method, path, request shape, response shape, auth requirement, idempotency. 4. Cr…

    Read project docs — Check ./agents/ and AGENTS.md for endpoint conventions, routing layout, response shape.Detect stack and route to the carve-out per the table above.Plan the endpoint — method, path, request shape, response shape, auth requirement, idempotency.
  2. 02

    When to use

    Use this skill when the user asks to create a new API endpoint, REST route, or HTTP handler.

    Modifying existing endpoints — use the code-refactoring skill.API design decisions (versioning, deprecation, contract shape) — use api-design.Use this skill when the user asks to create a new API endpoint, REST route, or HTTP handler.
  3. 03

    Stack routing

    Detect the stack, then hand off to the matching carve-out skill for the framework-specific procedure (file layout, validation primitive, response-shaping convention).

    Detect the stack, then hand off to the matching carve-out skill for the framework-specific procedure (file layout, validation primitive, response-shaping convention).If the project doc folder (agents/) has an endpoint-creation guide, that is the source of truth — read it before generating code.
  4. 04

    Conventions (apply on every stack)

    One handler, one responsibility — prefer single-purpose handlers over multi-action controllers when the framework supports it.

    One handler, one responsibility — prefer single-purpose handlers over multi-action controllers when the framework supports it.No business logic in the handler — delegate to a service / use-case layer.Validate at the boundary — never trust raw request data inside the handler.
  5. 05

    Stack-specific procedures

    For Laravel projects (the most fully-fleshed-out carve-out in this package), see laravel-api-endpoint — covers single-action controllers, FormRequest, Resource, Policy, CollectionFormRequest, OpenAPI attributes, and the versioned route layout.

    For Laravel projects (the most fully-fleshed-out carve-out in this package), see laravel-api-endpoint — covers single-action controllers, FormRequest, Resource, Policy, CollectionFormRequest, OpenAPI attributes, and the…For other stacks, read the matching carve-out from the table above and combine with the project's agents/ docs.

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score87/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars7SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
event4u-app/agent-config
Skill path
src/skills/api-endpoint/SKILL.md
Commit
0adf49a8ae84b0ff6e2de8759eea43257e020eff
License
MIT
Collected
2026-07-28
Default branch
main
View the original SKILL.md

api-endpoint

Grounded corpus: endpoint-shape decisions (pagination, error shape, idempotency, rate limits) are grounded via the api-design corpus — ./scripts-run <skills-root>/corpus-grounding/scripts/ground search --manifest <skills-root>/api-design/data/manifest.json "<concern>".

When to use

Use this skill when the user asks to create a new API endpoint, REST route, or HTTP handler.

Do NOT use when:

  • Modifying existing endpoints — use the code-refactoring skill.
  • API design decisions (versioning, deprecation, contract shape) — use api-design.

Stack routing

Detect the stack, then hand off to the matching carve-out skill for the framework-specific procedure (file layout, validation primitive, response-shaping convention).

Detected stackCarve-out skill
Laravel (artisan + composer.json with laravel/framework)laravel-api-endpoint
Symfony (bin/console + composer.json with symfony/framework-bundle)symfony-workflow
Next.js (next in package.json)nextjs-patterns
Express / Fastify / NestJS / plain Nodefollow project conventions in agents/ + package.json scripts
FastAPI / Django / Flaskfollow project conventions in agents/ + pyproject.toml
Go (net/http, gin, echo, fiber)follow project conventions in agents/ + go.mod
Rust (axum, actix-web, rocket)follow project conventions in agents/ + Cargo.toml

If the project doc folder (agents/) has an endpoint-creation guide, that is the source of truth — read it before generating code.

Procedure: Create an API endpoint (stack-neutral)

  1. Read project docs — Check ./agents/ and AGENTS.md for endpoint conventions, routing layout, response shape.
  2. Detect stack and route to the carve-out per the table above.
  3. Plan the endpoint — method, path, request shape, response shape, auth requirement, idempotency.
  4. Create the route registration in the project's routing surface (route file, decorator-annotated handler, file-based router).
  5. Create the request handler / controller — thin; delegate business logic to a service / use-case.
  6. Validate input at the boundary via the framework's validation primitive (FormRequest, Zod, class-validator, Pydantic, struct-tag validators, etc.) — never inline ad-hoc if checks.
  7. Authorize the action via the framework's authz primitive (Policy, voter, guard, middleware, route dependency).
  8. Shape the response through a transformer / serializer / DTO — never return raw ORM entities.
  9. Document the endpoint (OpenAPI annotations / generated spec / project doc).
  10. Verify — run the project type-checker + targeted tests + smoke probe (curl / Bruno / Postman / integration test).

Conventions (apply on every stack)

  • One handler, one responsibility — prefer single-purpose handlers over multi-action controllers when the framework supports it.
  • No business logic in the handler — delegate to a service / use-case layer.
  • Validate at the boundary — never trust raw request data inside the handler.
  • Authorize every state-changing action — no unprotected mutating endpoints.
  • Shape responses through a transformer — DTO, serializer, API resource, response model — never expose raw ORM entities.
  • Version the API surface explicitly (/v1/, header, content-type) — don't rely on implicit versioning.

Stack-specific procedures

For Laravel projects (the most fully-fleshed-out carve-out in this package), see laravel-api-endpoint — covers single-action controllers, FormRequest, Resource, Policy, CollectionFormRequest, OpenAPI attributes, and the versioned route layout.

For other stacks, read the matching carve-out from the table above and combine with the project's agents/ docs.

Output format

  1. Generated files — route registration, handler, request validator, response shaper, authorization rule.
  2. Test file with happy path and validation-error cases (using the project's test framework).
  3. Summary of created files and their locations.

Gotcha

  • Don't forget to register the route — creating the handler without the route is a common miss.
  • Always check if a similar endpoint already exists — duplicates cause confusion.
  • Validation rules must match the documented contract (OpenAPI / schema / typed client) — keep them in sync.
  • Response shapes are part of the public contract — adding a field is additive; renaming or removing is breaking.

Do NOT

  • Do NOT put business logic in the handler — delegate to services / use-cases.
  • Do NOT skip request validation — every handler validates at the boundary via the framework's primitive.
  • Do NOT return raw ORM entities — always go through a transformer / serializer / response model.
  • Do NOT create unprotected state-changing endpoints — authorize every mutation.
  • Do NOT improvise framework idioms — read the carve-out (laravel-api-endpoint, nextjs-patterns, etc.) for the stack-correct shape.

Auto-trigger keywords

  • create endpoint
  • new API route
  • route handler
  • controller creation
  • REST endpoint
  • add endpoint

Alternatives

Compare before choosing

Computed 9037,126

github/awesome-copilot

markstream-install

Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.

Computed 8929,549

vercel-labs/agent-skills

vercel-react-view-transitions

Guide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view

Computed 89165

JasonColapietro/suede-creator-skills

suede-code-review

Find the bugs a diff can actually ship: TypeScript, React, Next.js, OWASP, accessibility, SEO, database, and deploy-risk review. Return findings, not a grade.

Computed 8837,126

github/awesome-copilot

gsap-framer-scroll-animation

Use this skill whenever the user wants to build scroll animations, scroll effects, parallax, scroll-triggered reveals, pinned sections, horizontal scroll, text animations, or any motion tied to scroll position — in vanilla JS, React, or Next.js. Covers GSAP ScrollTrigger (pinning, scrubbing, snapping, timelines, horizontal scroll, ScrollSmoother, matchMedia) and Framer Motion / Motion v12 (useScroll, useTransform, useSpring, whileInView, variants). Use this skill even if the user just says "anim