Skill v1.0.1
currentAutomated scan100/100+4 new
version: "1.0.1" 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 exportslot-basic-location- Place slot files in spec/slots/ directory
2. HTTP Methods (HIGH)
slot-http-get- Use .get() for read operationsslot-http-post- Use .post() for create operationsslot-http-put-patch- Use .put()/.patch() for updatesslot-http-delete- Use .delete() for removal
3. Context API (HIGH)
slot-ctx-response- Use ctx.ok(), ctx.created(), ctx.error() for responsesslot-ctx-body- Use ctx.body<T>() for typed request bodyslot-ctx-params- Use ctx.params for route parametersslot-ctx-state- Use ctx.set()/ctx.get() for request state
4. Guard Pattern (MEDIUM)
slot-guard-auth- Use .guard() for authentication checksslot-guard-early-return- Return response to block, void to continue
5. Lifecycle Hooks (MEDIUM)
slot-lifecycle-request- Use .onRequest() for request initializationslot-lifecycle-after- Use .afterHandle() for response modificationslot-lifecycle-middleware- Use .middleware() for Koa-style chains
How to Use
Read individual rule files for detailed explanations:
rules/slot-basic-structure.mdrules/slot-ctx-response.mdrules/slot-guard-auth.md
File Location
spec/slots/{name}.slot.ts # Server logicspec/slots/{name}.client.ts # Client logic (Island)