Use when adding API integration to a module - creates types, contracts, adapter, and service layer.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add NoaiRox/specialist-agent --skill dev-create-service --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Dev Create Service?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/noairox-dev-create-service-78465386)More formats (shields.io, HTML) on the badges page.
---
name: dev-create-service
description: "Use when adding API integration to a module - creates types, contracts, adapter, and service layer."
user-invocable: true
argument-hint: "[resource-name]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
---
Create the complete data layer for a resource following `docs/ARCHITECTURE.md` sections 4.1-4.3.
Resource: $ARGUMENTS
## Steps
1. Read `docs/ARCHITECTURE.md` sections 4.1 (Services), 4.2 (Adapters), 4.3 (Types).
2. Ask the user:
- What is the endpoint base URL? (e.g. `/api/marketplace`)
- What is the response JSON format? (ask for an example or describe the fields)
- Which operations? (GET list, GET by ID, POST, PATCH, DELETE)
3. Create in order:
a. `types/[resource].types.ts` -- mirrors API exactly (snake_case)
b. `types/[resource].contracts.ts` -- app contract (camelCase, correct types)
c. `adapters/[resource]-adapter.ts` -- inbound (API->App) + outbound (App->API)
d. `services/[resource]-service.ts` -- HTTP only, no try/catch, no transformation, native `fetch`
4. Required rules:
- Service: **NO try/catch**, **NO .map()/.filter()/new Date()**
- Adapter: **pure functions**, no side effects
- Types separated: .types.ts (API) != .contracts.ts (App)
- Service uses native `fetch` (available in both server and client in SvelteKit)
5. Validate: `npx svelte-check --tsconfig ./tsconfig.json`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!