SE

service-development

Scaffolds and manages services in app/features/services using established project templates.

Install

mkdir -p .claude/skills/service-development && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16318" && unzip -o skill.zip -d .claude/skills/service-development && rm skill.zip

Installs to .claude/skills/service-development

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build or update services in `app/features/services` using the `_template/service` conventions (container/store/structure/lib/constants) so code stays consistent with project rules.
180 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Scaffold new services using a template
  • Update existing service components (container, store, structure, lib, constants)
  • Remove existing services and their wiring
  • Enforce consistent file roles and guardrails for service components
  • Auto-inject reducer and action bindings for services with stores

How it works

The skill provides CLI commands to scaffold, update, or remove services. It enforces a specific directory structure and coding conventions for service components like containers, stores, and libraries, ensuring consistency with project rules.

Inputs & outputs

You give it
Service name, optional `--no-store` flag
You get back
A new or updated service directory with consistent file structure and code conventions, or a removed service

When to use service-development

  • Creating new feature services
  • Standardizing Redux store wiring
  • Cleaning up old project services

About this skill

Service Development

When to use

  • Creating a new service (copy _template/service into app/features/services/<serviceName> and rename Sample placeholders).
  • Updating container/store/structure/lib/constants for an existing service while keeping template rules intact.
  • Removing an existing service and its wiring from store/actions via CLI.

Quick start

  1. Scaffold via CLI:
    • ill addService auth
    • or ill addService --name auth
    • Add --no-store if the service does not need a Redux slice/store wiring.
  2. Keep export surface the same (index.tsx re-exports store/constants/lib and exposes { service: useContainer } from a lowercase export).
  3. Replace placeholder DTO/UI types, schemas, and data models; move every magic number/string into constants/ and re-export via constants/index.ts.
  4. If the service is global (app-wide side effects), register it in the root ServiceInjector services list.
  5. Remove via CLI when needed:
    • ill removeService auth
    • or ill removeService --name auth

File roles and guardrails

  • container (container/index.ts)

    • Hook signature stays useContainer: SC; no props passed.
    • Comment every logical block with // Описание: Начало/Конец; do not comment the return; update comments instead of deleting.
    • Naming: camelCase vars/functions, PascalCase components/types, booleans with is/has/should/can; handlers named on***Handler; use meaningful names.
    • No useCallback/useMemo (React compiler handles it).
    • Constants in SCREAMING_SNAKE_CASE under constants/ with barrel re-export; no inline magic literals.
    • If the service talks to backend and you map data between layers, keep transformations in lib/mappers (do not do mapping in container).
  • index.tsx

    • Must export a lowercase service object to avoid collisions with widgets:
      • export const auth = { service: useContainer }
    • Re-export constants, store, lib to support useAppActions auto-binding.
  • store/index.ts

    • Only reducers inside createSlice; no extra functions.
    • initialState imported from structure; do not type initialState.
    • Re-export via Actions and Reducer (used by useAppActions and store assembly).
  • structure/index.ts

    • Holds initialState only; no functions; no type declaration for the state object.
  • lib/types

    • Use type aliases (no interfaces) with Type suffix; enums with Enum suffix.
    • No function type definitions here; boolean names with is/has/should/can.
    • Put request/response DTO adapters here if service interacts with API/persistence.
  • lib/mappers

    • Sole place for DTO ↔ internal model transformations; return Nullable where appropriate.
  • lib/schemas

    • Yup schemas for forms/validation when needed; keys should be enums from lib/types.
  • lib/utils

    • Lightweight helpers that consume typed data; magic values go to constants/.
  • constants/

    • SCREAMING_SNAKE_CASE, meaningful names, no single-letter or cryptic abbreviations; re-export through constants/index.ts.
    • name.ts builds a service name from NAME_FROM_PACKAGE_JSON (service naming, not widget naming).

Store and actions wiring

If you scaffolded without --no-store, the CLI will auto-inject:

  • Reducer import + reducer key into app/application/store/reducers.ts under // Services: Начало
  • Actions binding into app/utils/hooks/useAppActions.ts

If you scaffolded with --no-store:

  • CLI will NOT inject reducer/hooks. Keep the service free of Redux usage (or wire it manually if you later add a slice).

Do not confuse templates

  • repo root _template/service/*: scaffolding templates used by ill addService
  • widget-local templates/*: UI decomposition pieces used by widgets (not applicable to services)

Final checks

  • Comments preserved/updated per template; no inline magic values; types/mappers/schemas/constants live in their dedicated files.
  • Export name casing: service export is lowercase in index.tsx.
  • If the service is app-global: it is included in the ServiceInjector list in /app/root.tsx.

When not to use it

  • When creating a service that does not need a Redux slice/store wiring but `--no-store` is not used
  • When using `useCallback`/`useMemo` in containers
  • When using inline magic literals instead of constants

Limitations

  • Hook signature for `useContainer` stays `useContainer: SC`; no props passed.
  • No `useCallback`/`useMemo` in containers.
  • Only reducers inside `createSlice`; no extra functions.

How it compares

This skill standardizes service development by providing scaffolding, update, and removal tools that enforce strict conventions for file structure, naming, and Redux integration, ensuring consistency across a project unlike ad-hoc service c

Compared to similar skills

service-development side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
service-development (this skill)04moNo flagsIntermediate
senior-fullstack357moReviewIntermediate
web-component-design55moNo flagsIntermediate
react-component-patterns31moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

senior-fullstack

davila7

Comprehensive fullstack development skill for building complete web applications with React, Next.js, Node.js, GraphQL, and PostgreSQL. Includes project scaffolding, code quality analysis, architecture patterns, and complete tech stack guidance. Use when building new projects, analyzing code quality, implementing design patterns, or setting up development workflows.

35110

web-component-design

wshobson

Master React, Vue, and Svelte component patterns including CSS-in-JS, composition strategies, and reusable component architecture. Use when building UI component libraries, designing component APIs, or implementing frontend design systems.

548

react-component-patterns

HoangNguyen0403

Modern React component architecture and composition patterns.

332

nx-generate

nrwl

Generate code using nx generators. USE WHEN scaffolding code or transforming existing code - for example creating libraries or applications, or anything else that is boilerplate code or automates repetitive tasks. ALWAYS use this first when generating code with Nx instead of calling MCP tools or running nx generate immediately.

111

dev-builder

zinohome

你是全栈开发工程师,负责根据产品需求文档(Product-Spec.md)和原型图(如有)实现功能代码。你的核心职责是:

00

screenshot-to-code

OneWave-AI

Convert UI screenshots into working HTML/CSS/React/Vue code. Detects design patterns, components, and generates responsive layouts. Use this when users provide screenshots of websites, apps, or UI designs and want code implementation.

204389

Search skills

Search the agent skills registry