一键导入
api-endpoint-design
REST API design standards for FanHub's Express backend. Use when creating or modifying API endpoints to ensure consistency.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
REST API design standards for FanHub's Express backend. Use when creating or modifying API endpoints to ensure consistency.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | api-endpoint-design |
| description | REST API design standards for FanHub's Express backend. Use when creating or modifying API endpoints to ensure consistency. |
/api/tv-shows, not /api/tvShows/api/characters, not /api/character/api/shows/:showId/episodes/api/v1/...| Method | Use Case | Example |
|---|---|---|
| GET | Retrieve resource(s) | GET /api/characters |
| POST | Create new resource | POST /api/characters |
| PUT | Replace entire resource | PUT /api/characters/:id |
| PATCH | Partial update | PATCH /api/characters/:id |
| DELETE | Remove resource | DELETE /api/characters/:id |
All responses follow this structure:
{
"success": true,
"data": { ... },
"meta": {
"total": 100,
"page": 1,
"limit": 20
}
}
Error responses:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Character name is required",
"details": [...]
}
}
router.get('/characters', async (req, res, next) => {
try {
const { page = 1, limit = 20, show_id } = req.query;
const characters = await CharacterService.list({
page: parseInt(page),
limit: parseInt(limit),
showId: show_id ? parseInt(show_id) : undefined
});
res.json({
success: true,
data: characters.items,
meta: {
total: characters.total,
page: characters.page,
limit: characters.limit
}
});
} catch (error) {
next(error);
}
});
Review an exec-talk's README and produce an exec.recipe.yml. Uses a 3-agent collaborative council to analyze section weighting, executive audience fit, narrative arc, and action clarity. Always overwrites any existing recipe. Triggers: "review the talk", "create the recipe", "is this landing for execs", "section weighting", "coverage gap", "recipe", "executive framing".
Review a tech-talk's README and produce a deck.recipe.yml. Uses a 3-agent collaborative council to analyze section weighting, narrative arc, and coverage gaps. Always overwrites any existing recipe. Triggers: "review the talk", "create the recipe", "is this the best use of our time", "section weighting", "coverage gap", "recipe".
Read from and write to the Workbench project memory store. Use when starting complex content work (query for prior context) or finishing a session that changed content (record drawer entries). Never invoke during agent pre-flight gates.
Add persona-grounded audience framing to a tech-talk. Selects 2–3 relevant personas, adds a "Who This Hits" box and up to 3 reaction lines to the README, and adds persona speaker notes to the slide deck. Triggers: "add personas", "who this hits", "persona reactions", "audience framing".
Use this skill when asked to verify, validate, fact-check, or review any data entry, lore fact, character bio, episode record, quote, or show content for accuracy against canonical project sources and the live database. Triggers on: check data, verify data, fact-check, accuracy check, data accuracy, check entry, verify entry, review accuracy, is this accurate, canon check, lore check, check this data, verify this, review this entry, check for errors, validate data, is this right, is this canon.
Use this skill when asked to verify, validate, or fact-check a lore entry, character description, seed data record, or any Breaking Bad content against the canonical reference in docs/breaking-bad-universe.md. Triggers on: check lore, verify lore, fact-check, canon check, lore accuracy, is this correct, seed data accuracy.