smithery.ai

create-resource

Orchestrator skill for creating a complete CRUD resource with all layers. Use when creating a new domain entity like notes, users, or courses from scratch. Triggers on "create resource", "new entity", "add crud for".

First seen Apr 5, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 8,092 B
  • docs SUMMARY.md 239 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Create Resource (Orchestrator)

Complete workflow for creating a new CRUD resource with all layers, tests, and real-time events.

Overview

This skill orchestrates the creation of a complete resource by guiding you through all the required skills in the correct order.

Prerequisites

Before starting, you should know:

  • Entity name (e.g., "Course", "Project", "Task")
  • Entity fields (what data does it hold?)
  • Business rules (who can do what?)

Creation Workflow

Phase 1: Schema Layer

Step Skill Output
1 create-schema src/schemas/{entity}.schema.ts
2 test-schema tests/schemas/{entity}.schema.test.ts

Creates: Zod schemas for entity, create DTO, update DTO, query params, and TypeScript types.

Phase 2: Repository Layer

Step Skill Output
3 create-repository src/repositories/{entity}.repository.ts
4 create-mockdb-repository src/repositories/mockdb/{entity}.mockdb.repository.ts
5 test-mockdb-repository tests/repositories/{entity}.mockdb.repository.test.ts
6 create-mongodb-repository src/repositories/mongodb/{entity}.mongodb.repository.ts
7 test-mongodb-repository tests/repositories/{entity}.mongodb.repository.test.ts

Creates: Repository interface and implementations for MockDB and MongoDB.

Phase 3: Service Layer

Step Skill Output
8 create-resource-service src/services/{entity}.service.ts
9 add-authorization-methods Update src/services/authorization.service.ts
10 test-resource-service tests/services/{entity}.service.test.ts

Creates: Business logic service with authorization and event emission.

Phase 4: Controller Layer

Step Skill Output
11 create-controller src/controllers/{entity}.controller.ts
12 test-controller tests/controllers/{entity}.controller.test.ts

Creates: HTTP request handlers.

Phase 5: Routes Layer

Step Skill Output
13 create-routes src/routes/{entity}.router.ts
14 integrate-routes Update src/app.ts to mount routes
15 test-routes tests/routes/{entity}.router.test.ts

Creates: Route definitions with middleware, integrated into app.

Phase 6: Events (Optional)

Step Skill Output
16 add-resource-events Update events router

Creates: Real-time SSE event streaming for the resource.

Files Created Summary

src/
├── schemas/
│   └── {entity}.schema.ts          # Zod schemas + types
├── repositories/
│   ├── {entity}.repository.ts      # Interface
│   ├── mockdb/
│   │   └── {entity}.mockdb.repository.ts
│   └── mongodb/
│       └── {entity}.mongodb.repository.ts
├── services/
│   ├── {entity}.service.ts         # Business logic
│   └── authorization.service.ts    # Updated with permissions
├── controllers/
│   └── {entity}.controller.ts      # HTTP handlers
├── routes/
│   ├── {entity}.router.ts          # Route definitions
│   └── events.router.ts            # Updated for SSE
└── app.ts                          # Updated to mount routes

tests/
├── schemas/
│   └── {entity}.schema.test.ts
├── repositories/
│   ├── {entity}.mockdb.repository.test.ts
│   └── {entity}.mongodb.repository.test.ts
├── services/
│   └── {entity}.service.test.ts
├── controllers/
│   └── {entity}.controller.test.ts
└── routes/
    └── {entity}.router.test.ts

Quick Start Checklist

## Creating {Entity} Resource

### Phase 1: Schema

- [ ] Create schema with `create-schema`
- [ ] Add tests with `test-schema`
- [ ] Run tests: `pnpm test tests/schemas/{entity}.schema.test.ts`

### Phase 2: Repository

- [ ] Create interface with `create-repository`
- [ ] Create MockDB implementation with `create-mockdb-repository`
- [ ] Add MockDB tests with `test-mockdb-repository`
- [ ] Run tests: `pnpm test tests/repositories/{entity}.mockdb.repository.test.ts`
- [ ] Create MongoDB implementation with `create-mongodb-repository`
- [ ] Add MongoDB tests with `test-mongodb-repository`
- [ ] Run tests: `pnpm test tests/repositories/{entity}.mongodb.repository.test.ts`

### Phase 3: Service

- [ ] Create service with `create-resource-service`
- [ ] Add authorization methods with `add-authorization-methods`
- [ ] Add tests with `test-resource-service`
- [ ] Run tests: `pnpm test tests/services/{entity}.service.test.ts`

### Phase 4: Controller

- [ ] Create controller with `create-controller`
- [ ] Add tests with `test-controller`
- [ ] Run tests: `pnpm test tests/controllers/{entity}.controller.test.ts`

### Phase 5: Routes

- [ ] Create routes with `create-routes`
- [ ] Mount routes in app.ts with `integrate-routes`
- [ ] Add tests with `test-routes`
- [ ] Run tests: `pnpm test tests/routes/{entity}.router.test.ts`

### Phase 6: Events (Optional)

- [ ] Add event emission with `add-resource-events`
- [ ] Update events router

### Final Verification

- [ ] Run all tests: `pnpm test`
- [ ] Run type check: `pnpm type-check`
- [ ] Run linting: `pnpm lint`
- [ ] Test manually with API client

Example: Creating a "Project" Resource

# Follow skills in order:
1. create-schema             → src/schemas/project.schema.ts
2. test-schema               → tests/schemas/project.schema.test.ts
3. create-repository         → src/repositories/project.repository.ts
4. create-mockdb-repository  → src/repositories/mockdb/project.mockdb.repository.ts
5. test-mockdb-repository    → tests/repositories/project.mockdb.repository.test.ts
6. create-mongodb-repository → src/repositories/mongodb/project.mongodb.repository.ts
7. test-mongodb-repository   → tests/repositories/project.mongodb.repository.test.ts
8. create-resource-service   → src/services/project.service.ts
9. add-authorization-methods → Update authorization.service.ts with canViewProject, etc.
10. test-resource-service    → tests/services/project.service.test.ts
11. create-controller        → src/controllers/project.controller.ts
12. test-controller          → tests/controllers/project.controller.test.ts
13. create-routes            → src/routes/project.router.ts
14. integrate-routes         → Update app.ts to mount /projects routes
15. test-routes              → tests/routes/project.router.test.ts
16. add-resource-events      → Update events.router.ts (optional)

See Also

  • Individual skill files for detailed instructions
  • review-resource - Validate a completed resource follows all patterns
  • integrate-routes - Mounting routes in app.ts
  • add-authorization-methods - Adding entity permissions
  • add-query-filter - Adding custom query filters
  • bootstrap-project - Starting a new project from scratch