skills/api-security/SKILL.md
# OWASP API Security Skill > Threat analysis for API surfaces against OWASP API Security Top 10 (2023). Covers authorization, authentication, resource consumption, and business logic abuse for any exposed API endpoint. ## Trigger Invoke when: a task creates or modifies API endpoints (MCP tools, HTTP routes, WebSocket handlers, gateway endpoints), API clients, or inter-service communication. ## Input Contract ```json { "task_spec": "TaskSpec from Build Brief", "repo_map": "Cached codebas
npx skillsauth add bigeasyfreeman/adlc skills/api-securityInstall 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.
Threat analysis for API surfaces against OWASP API Security Top 10 (2023). Covers authorization, authentication, resource consumption, and business logic abuse for any exposed API endpoint.
Invoke when: a task creates or modifies API endpoints (MCP tools, HTTP routes, WebSocket handlers, gateway endpoints), API clients, or inter-service communication.
{
"task_spec": "TaskSpec from Build Brief",
"repo_map": "Cached codebase research output",
"api_surface": ["list of endpoints/tools created or modified"],
"auth_model": "description of authentication/authorization in use"
}
Project-specific example: Tool endpoints that accept job_id, task_id parameters must validate that the caller has access to that specific resource. In multi-instance mode, one instance must not access another's jobs without explicit cross-instance authorization.
Project-specific example: Auth middleware (e.g., src/mcp/auth.py) must validate tokens on every tool call. Gateway WebSocket connections must authenticate on handshake. Backend APIs must reject unauthenticated callers.
Project-specific example: Status and job-view endpoints must not expose internal state (executor credentials, confidence internals) to unprivileged callers. Gateway responses to channel users must be filtered based on role.
Project-specific example: Job dispatch endpoints must rate-limit job creation. Tracker adapters must handle pagination correctly (full-pagination bugs are resource consumption issues). LLM-backed endpoints must have token budgets.
Project-specific example: Tools like cancel, retry, and merge are admin-level operations. They must require elevated authorization. Gateways must distinguish between user roles (observer, operator, admin) and restrict tool access accordingly.
Project-specific example: The intake pipeline is a sensitive business flow -- automated issue spam could overwhelm the backend. The merge pipeline is another -- automated merge requests must respect confidence gates. A learning loop is a third -- rapid outcome injection could poison policy.
Project-specific example: Tracker adapters that fetch from external URLs (GitHub, Jira, Linear, Notion) must validate URLs. Webhook endpoints must not follow redirects to internal services.
Project-specific example: Internal API servers must not expose error traces. Gateways must enforce TLS. Docker deployments must harden port exposure. Health endpoints (/healthz, /readyz) must not leak internal state.
Project-specific example: Tools must be registered in a single catalog (e.g., src/mcp/tools.py). No endpoint should exist outside the registration system. The gateway tool catalog must match the backend's actual capabilities.
Project-specific example: GitHub API responses, LLM API responses, and tracker API responses are all third-party data. HTTP clients must validate TLS. JSON responses must be schema-validated. An LLM call pattern with deterministic fallback is the mitigation for LLM API failures.
{
"task_id": "string",
"api_threat_assessment": {
"API1_bola": { "risk": "HIGH|MEDIUM|LOW|N/A", "endpoints": [], "findings": [], "mitigations": [] },
"API2_auth": { "...": "..." },
"API3_property_authz": { "...": "..." },
"API4_resource_consumption": { "...": "..." },
"API5_function_authz": { "...": "..." },
"API6_business_flow": { "...": "..." },
"API7_ssrf": { "...": "..." },
"API8_misconfiguration": { "...": "..." },
"API9_inventory": { "...": "..." },
"API10_unsafe_consumption": { "...": "..." }
},
"overall_risk": "HIGH|MEDIUM|LOW",
"blocking_findings": [],
"advisory_findings": []
}
contract_version on request/response payloads; enforce compatibility before execution.docs/schemas/security-assessment.schema.json and fail closed on mismatch.schema_mismatch, unsupported_version, missing_context) rather than partial assessments.development
Orchestration skill: chains the full ADLC Build Loop. PRD → Brief → Council → Scaffold → Codegen → LDD → TDD → Council → PR. Use when implementing a new feature end-to-end.
development
# Skill: Helm & ArgoCD Deployment > Validates Helm charts and generates ArgoCD Application manifests when the ADLC pipeline produces infrastructure or service code. Ensures every deployable artifact has correct chart structure, environment-specific values, and a GitOps-ready Application manifest before code review. --- ## Why This Exists Without deployment validation in the pipeline, common failures slip through to production: - **Helm charts fail `helm template`** because of missing values,
testing
Decide whether an intersecting verifier actually exercises the semantic change.
development
# Skill: UX Flow Builder > Generates user flow diagrams (Mermaid) from PRD personas and screen specifications. Surfaces dead ends, missing screens, and disconnected flows before design or engineering starts. Helps PMs think in screens, not features. --- ## Trigger - Automatically during PRD Phase 4 (Personas & Flows) to visualize the user journey - On-demand when the PM says "show me the flow" or "map the user journey" - During PRD evaluation to verify screen connectivity --- ## Input ```