Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计提醒

build-api构建 API

Agent Skill

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

总安装

190

周安装

8

GitHub Stars

5

下载量

67
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:build-api(构建 API)
来源仓库:https://github.com/andrewvaughan/agent-council
仓库路径:skills/build-api
安装命令:
npx skills add https://github.com/andrewvaughan/agent-council --skill build-api
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/andrewvaughan/agent-council --skill build-api

简介

build-api 用于后端 API 开发,遵循 NestJS 模式和 Prisma schema 设计,生成符合 clean architecture 的接口。

  • 它负责定义 endpoint、数据库变更和服务层实现,但不处理 PR 提交流程。
  • 使用时需基于 main 分支创建特性分支,并确保所有依赖已 fetch 最新状态。
  • 安装前请确认仓库权限、维护状态,以及是否会修改后端代码或提交 git commit。
  • build-api 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Backend API Development Workflow

Build backend API endpoints, services, and database changes following NestJS patterns, Prisma schema design, and the project's clean architecture conventions.

[!CAUTION] Scope boundary: This skill implements backend code and commits it. It does NOT create pull requests, push to remote, run code reviews, or submit anything for merge. When implementation and commits are complete, stop and suggest the user run /review-code next.

Step 1: Define API Requirements

Ensure we are on a feature branch based on the latest main. Always fetch first:

git fetch origin main

If on main, create a new feature branch from the latest origin/main:

git checkout -b feature/<feature-slug> origin/main

If already on an existing feature branch, rebase it onto the latest origin/main to pick up any changes:

git status --porcelain

If the working tree is dirty, stash changes before rebasing:

git stash push -m "build-api: stash before rebase"
git rebase origin/main
git stash pop

If the working tree is clean, rebase directly:

git rebase origin/main

If the user provides a GitHub issue number (e.g., /build-api 42 or /build-api #42), fetch the issue and signal work is in progress (see AGENTS.md "Label Management" for rules):

gh issue view <number> --json title,body,labels,state,number

# Single-developer constraint: only one issue should be in-progress at a time.
# First, remove in-progress from any other issue that has it:
gh issue list --label "in-progress" --state open --json number --jq '.[].number' | while read n; do
  gh issue edit "$n" --remove-label "in-progress"
done

gh issue edit <number> --add-label "in-progress"

Verify the issue is tracked on the Product Roadmap project board. If not, add it:

# --limit 200 covers the current board size; increase if the project grows beyond 200 items
EXISTING=$(gh project item-list {PROJECT_NUMBER} --owner {OWNER} --format json --limit 200 \
  | python3 -c "
import json, sys
data = json.load(sys.stdin)
for item in data.get('items', []):
    # <number> must be an integer literal, e.g., == 42, not == '42'
    if item.get('content', {}).get('number') == <number>:
        print(item['id'])
        break
")

if [ -z "$EXISTING" ]; then
  ITEM_ID=$(gh project item-add {PROJECT_NUMBER} --owner {OWNER} --url "https://github.com/{OWNER}/{REPO}/issues/<number>" --format json | python3 -c "import json,sys; print(json.load(sys.stdin)['id'])")
  echo "Warning: Issue #<number> was not on the project board. Added it now (item $ITEM_ID)."
fi
[!WARNING] If the issue was missing from the project board, it may also be missing phase, size, and date fields. Check the project item and warn the user if fields are unset — this suggests the issue was created outside of /plan-feature or /security-audit, which are the skills that ensure board membership and field population.

Ask the user (or read from the decision record / issue body if /plan-feature was run first):

  • What resource(s) or endpoint(s) are being created or modified?
  • What operations are needed (CRUD, custom actions, queries)?
  • Are there database schema changes?
  • Is this a tRPC procedure or REST endpoint?
  • Are there authentication or authorization requirements?

If a decision record exists in docs/decisions/, read it for the task breakdown.

Step 2: Design API Contract

Invoke /backend-development:api-design-principles for API design guidance.

Design the full API contract:

  • Endpoint paths and HTTP methods (REST) or procedure names (tRPC)
  • Request types: Full TypeScript interfaces with all fields, optional/required markers
  • Response types: Success responses, error responses, pagination if applicable
  • Validation rules: Using Zod schemas for runtime validation
  • Error format: Standardized error response structure
  • Auth requirements: Which endpoints need authentication, role-based access

If this represents a significant API decision (new resource type, breaking change to existing API, new architectural pattern), activate the Architecture Council using .claude/councils/architecture-council.md:

Model Selection: See the Model Selection section in README.md for mapping agent model specs to Task tool parameters.

Principal Engineer — consult: full-stack-orchestration

  • Vote: Approve / Concern / Block
  • Rationale: Architectural soundness, scalability, maintainability
  • Recommendations: Patterns to follow, trade-offs to consider

Platform Engineer — consult: cloud-infrastructure

  • Vote: Approve / Concern / Block
  • Rationale: Operational implications, deployment considerations
  • Recommendations: Infrastructure concerns, monitoring needs

Security Engineer — consult: security-scanning

  • Vote: Approve / Concern / Block
  • Rationale: Security risks, attack surface, compliance
  • Recommendations: Security hardening steps, input validation

Backend Specialist — consult: backend-development

  • Vote: Approve / Concern / Block
  • Rationale: API design quality, NestJS patterns, developer experience
  • Recommendations: Implementation approach, ecosystem integration

CHECKPOINT: Present the API contract (and Architecture Council evaluation if activated) to the user. Wait for approval before implementation begins.

Step 3: Database Layer (if needed)

If schema changes are required:

  1. Invoke /database-design:postgresql for PostgreSQL schema design guidance
  2. Design the Prisma schema changes:

- Model definitions with proper field types - Relations and foreign keys - Indexes for query performance - Unique constraints and validations - Enums where appropriate

  1. Invoke /database-migrations:sql-migrations for migration generation guidance

CHECKPOINT: Present the Prisma schema changes and migration plan to the user. Wait for approval before running the migration.

  1. Generate and apply the migration: pnpm db:migrate
  2. If seed data is needed, update the seed script.

Step 4: Implement Backend

Follow NestJS patterns and /backend-development:architecture-patterns for clean architecture:

Types and DTOs

  • Define request/response TypeScript interfaces
  • Create Zod validation schemas for runtime validation
  • Export types for frontend consumption (via tRPC or shared packages)

Repository / Data Access Layer

  • Create or update Prisma queries
  • Implement data access patterns (repository pattern if used)
  • Add query optimization (select specific fields, use includes wisely)

Service Layer

  • Implement business logic in NestJS services
  • Add input validation and business rule enforcement
  • Handle error cases with typed exceptions
  • Keep services testable (inject dependencies)

Controller / Router Layer

  • Create tRPC procedures or NestJS controllers
  • Wire up validation, auth guards, and services
  • Implement proper HTTP status codes (REST) or error codes (tRPC)
  • Add rate limiting if needed for public endpoints

Guards and Middleware

  • Add authentication guards where required
  • Add authorization checks (role-based or resource-based)
  • Add request logging for debugging

Use /javascript-typescript:typescript-advanced-types for complex type scenarios (generics, conditional types, mapped types).

For performance-sensitive endpoints, invoke /application-performance:performance-optimization for API profiling and optimization patterns.

Step 5: Write Tests

Following the QA Lead testing strategy:

Unit Tests

  • Test each service method in isolation
  • Mock Prisma client and external dependencies
  • Test business logic, validation rules, error handling
  • Cover happy paths and edge cases

Integration Tests

  • Test endpoints against a real (test) database
  • Verify request validation rejects bad input
  • Verify authentication and authorization enforcement
  • Test error responses for various failure modes

Validation Tests

  • Boundary conditions (empty strings, max lengths, special characters)
  • Invalid input formats
  • Missing required fields
  • Type coercion and casting

Run tests and verify coverage:

pnpm test

Ensure coverage meets the >80% target.

Step 6: Generate API Documentation

Invoke /documentation-generation:openapi-spec-generation to generate or update API documentation for the new endpoints.

If using tRPC, document the procedure signatures and usage examples. If using REST, generate or update the OpenAPI/Swagger specification.

Step 7: Self-Review

Before presenting to the user, verify:

pnpm type-check      # No TypeScript errors
pnpm lint            # No linting violations
pnpm format:check    # No Prettier formatting issues
pnpm test            # All unit tests pass
pnpm test:smoke      # DI container and HTTP pipeline boot OK

If format:check fails, run pnpm exec prettier --write on the reported files before proceeding.

Check for common issues:

  • No hardcoded secrets or credentials
  • Proper error handling (no swallowed errors)
  • Input validation on all external-facing endpoints
  • Proper use of TypeScript strict mode (no any types)

Step 8: Update Documentation

If this API change alters how the project is set up, built, or run, update the relevant documentation before committing:

  1. README.md — Update Quick Start, Running the Application, or Project Structure sections if the change introduces new infrastructure, services, environment variables, or commands
  2. docs/DEVELOPMENT.md — Update Prerequisites, Local Development Setup, Database Operations, or Troubleshooting sections as needed
  3. Makefile — Add new targets for common operations (e.g., new Docker services, database commands)
  4. .env.example files — Add new environment variables with clear descriptions and safe defaults
  5. docs/INDEX.md — If any new files were added to docs/, add them to the appropriate table in the master documentation index
[!IMPORTANT] A developer cloning the repo fresh must be able to get the project running by following README.md alone. If your API change adds a Docker service, database, new environment variable, or external dependency, the docs MUST reflect it.

Step 9: Commit

CHECKPOINT: Present a summary of all changes — files modified, API contract implemented, test results, and documentation. Wait for user approval.

Commit with conventional commit format:

feat(api): add <resource> endpoints

Or if modifying existing endpoints:

feat(api): update <resource> with <change-description>

Update GitHub Issue

If implementation was initiated from a GitHub issue:

  1. Comment on it with progress: ` gh issue comment <number> --body "Implementation committed on branch \<branch-name>\. Proceeding to code review via \/review-code\." `
[!NOTE] Do not remove the in-progress label here. The label stays on the issue until it is closed (handled automatically by .github/workflows/label-cleanup.yml). This ensures the issue remains visibly in-progress through code review and PR submission.

Step 10: Hand Off — STOP Here

[!CAUTION] This skill's work is done. Do NOT proceed to create a pull request, push to remote, or run a code review. Those are separate skills with their own workflows and checkpoints.

Present the next step to the user:

  • Recommended: Run /review-code for multi-perspective security and quality review before submitting
  • If more work remains: Continue with remaining tasks, then run /review-code

If working from a GitHub issue, remind the user:

  • The PR should reference the issue with Closes #<number> so it auto-closes when merged
  • /submit-pr will detect related issues from commit messages

Pipeline: /plan-feature/build-feature or /build-api/review-code/submit-pr

Do not push the branch, create a PR, or invoke /submit-pr from within this skill.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.58%
按下载量换算25

Claude

29.81%
按下载量换算20

Cursor

16.89%
按下载量换算11

Gemini CLI

8.65%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills