← Back to list

api-design
by cliangdev
Transform AI-assisted development from chaotic "vibe coding" to disciplined, spec-driven engineering.
⭐ 5🍴 0📅 Jan 19, 2026
SKILL.md
name: api-design description: REST API design patterns for SpecFlux. Use when creating new API endpoints, designing request/response schemas, implementing pagination, or updating OpenAPI specifications. Follows Domain-Driven Design with specs organized by domain.
API Design Patterns for SpecFlux
RESTful Conventions
Follow these patterns consistently:
Resource Naming
- Use plural nouns:
/tasks,/epics,/projects - Nested resources:
/projects/:id/tasks - Actions as POST to sub-resources:
/tasks/:id/start
HTTP Methods
GET- Read (list or single)POST- Create or actionPUT- Full updatePATCH- Partial updateDELETE- Remove
Response Codes
200- Success (GET, PUT, PATCH)201- Created (POST)204- No Content (DELETE)400- Bad Request (validation error)404- Not Found500- Server Error
Pagination
All list endpoints support pagination:
GET /projects/1/tasks?page=1&limit=20&status=in-progress
Response:
{
"success": true,
"data": {
"tasks": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 45,
"pages": 3
}
}
}
Filtering & Sorting
GET /tasks?epic_id=5&repo=backend&status=ready&sort=-created_at
// Sort: prefix with '-' for descending
OpenAPI First (Domain-Driven)
API specs are organized by domain in orchestrator/openapi/:
openapi/
├── index.yaml # Main entry point, references domain specs
├── projects.yaml # Project domain endpoints
├── epics.yaml # Epic domain endpoints
├── tasks.yaml # Task domain endpoints
├── repositories.yaml # Repository domain endpoints
├── notifications.yaml # Notification domain endpoints
└── components/ # Shared schemas and responses
Workflow
- Update the relevant domain spec (e.g.,
tasks.yaml) - Add request/response schemas to
components/ - Generate TypeScript client:
npm run generate:client - Implement backend handler
- Use generated types in frontend
Score
Total Score
70/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon