| name | mandu-slot |
| description | Mandu Slot API for writing business logic. Use when creating API handlers,
implementing authentication guards, adding lifecycle hooks, or working with
request/response context. Triggers on tasks involving Mandu.filling(),
ctx.ok(), ctx.error(), .guard(), .get(), .post(), or slot files.
|
| license | MIT |
| metadata | {"author":"mandu","version":"1.0.0"} |
Mandu Slot
Slot์ ๋น์ฆ๋์ค ๋ก์ง์ ์์ฑํ๋ ํ์ผ์
๋๋ค. Mandu.filling() API๋ฅผ ์ฌ์ฉํ์ฌ
API ํธ๋ค๋ฌ, ์ธ์ฆ ๊ฐ๋, ๋ผ์ดํ์ฌ์ดํด ํ
์ ๊ตฌํํฉ๋๋ค.
Agent Workflow Contract
This skill is a Domain addendum. It must not replace mandu-agent-workflow.
Use it only after mandu.agent.plan selects the slot, API, or security domain.
Canonical workflow step: plan -> apply -> verify -> repair.
Preferred MCP tools:
| Step | Tools |
|---|
| plan | mandu.agent.plan, mandu.slot.read, mandu.slot.constraints |
| apply | mandu.agent.apply, mandu.generate |
| verify | mandu.agent.verify, mandu.slot.validate, mandu.contract.validate |
| repair | mandu.agent.repair |
Allowed file edits:
spec/slots/**/*.slot.ts
- Route handlers that bind to the planned slot
- Contract files only when the plan includes contract work
Verification command:
mandu agent verify --changed --json --write
Common failures:
- Creating slot logic without checking
mandu.slot.constraints
- Mixing auth/security changes into slot edits without security verification
- Returning untyped responses that drift from the linked contract
Repair path:
mandu agent repair --from .mandu/agent-verify.json --json
When to Apply
Reference these guidelines when:
- Creating new API endpoints with business logic
- Implementing authentication or authorization
- Adding request/response lifecycle hooks
- Working with request body, params, or query
- Handling errors and responses
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|
| 1 | Basic Structure | CRITICAL | slot-basic- |
| 2 | HTTP Methods | HIGH | slot-http- |
| 3 | Context API | HIGH | slot-ctx- |
| 4 | Guard Pattern | MEDIUM | slot-guard- |
| 5 | Lifecycle Hooks | MEDIUM | slot-lifecycle- |
Quick Reference
1. Basic Structure (CRITICAL)
slot-basic-structure - Always use Mandu.filling() as default export
slot-basic-location - Place slot files in spec/slots/ directory
2. HTTP Methods (HIGH)
slot-http-get - Use .get() for read operations
slot-http-post - Use .post() for create operations
slot-http-put-patch - Use .put()/.patch() for updates
slot-http-delete - Use .delete() for removal
3. Context API (HIGH)
slot-ctx-response - Use ctx.ok(), ctx.created(), ctx.error() for responses
slot-ctx-body - Use ctx.body() for typed request body
slot-ctx-params - Use ctx.params for route parameters
slot-ctx-state - Use ctx.set()/ctx.get() for request state
4. Guard Pattern (MEDIUM)
slot-guard-auth - Use .guard() for authentication checks
slot-guard-early-return - Return response to block, void to continue
5. Lifecycle Hooks (MEDIUM)
slot-lifecycle-request - Use .onRequest() for request initialization
slot-lifecycle-after - Use .afterHandle() for response modification
slot-lifecycle-middleware - Use .middleware() for Koa-style chains
How to Use
Read individual rule files for detailed explanations:
rules/slot-basic-structure.md
rules/slot-ctx-response.md
rules/slot-guard-auth.md
File Location
spec/slots/{name}.slot.ts # Server logic
spec/slots/{name}.client.ts # Client logic (Island)