Skip to content
cccskills
FreePublished on GitHub

use-cases-and-orchestration

Orchestrate services and repositories through use cases to implement application-level workflows and business scenarios.

The English summary is being prepared. Showing the original description.

Authula/authula273 stars(GitHub 273 + cccskills 0)

Run score Not tested

See how to install

Files included (2)

  • SKILL.md2.3 KB
  • examples/todo_usecases.go1.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Use Cases & Orchestration

When to use this skill

  • Implement workflows that span multiple services
  • Define reusable operations that handlers invoke
  • Keep handlers thin by moving logic into use cases if multiple services are needed/used
  • Encapsulate business logic and orchestration in a single place
  • Coordinate complex operations that require multiple steps and services

Key principles

  1. Service orchestration: Use cases call multiple services
  2. Business-focused: Methods represent user actions, not HTTP operations
  3. Dependency injection: Services passed at construction
  4. Pure domain: No HTTP, no routing, just business logic delegated to services. Usecases simply orchestrate services and handle validation, errors, and return domain models
  5. Testable: Can be tested independently by mocking services as services are interfaces

Pattern

Use cases orchestrate services:

  • Implement as structs with service dependencies
  • Single public Execute or action method e.g. RegisterUseCase with Execute(ctx context.Context, reqCtx *models.RequestContext) (res *someStructType, error). The res can be a domain model that returns the data from each service's method output, but should not be an HTTP response. The handler can convert it to an HTTP response if needed.
  • Handle validation such as checking request parameters passed down from the handler.
  • Coordinate multiple services sequentially
  • Handle errors and return domain models

Example

See examples/todo_usecases.go for:

  • CreateTodoUseCase orchestrating TodoService
  • MarkTodoCompleteUseCase patterns
  • Request/response types and error handling

Common mistakes

  1. Use cases returning HTTP status codes
  2. Validation in handlers instead of use cases
  3. Use cases calling other use cases
  4. Creating new services instead of injecting
  5. Use cases with no clear purpose

References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Wire dependencies using constructor-based dependency injection throughout services, repositories, and handlers.

The English summary is being prepared. Showing the original description.

Authula/authula273Updated Oct 24, 2026

Use this skill when answering questions, explaining concepts, writing technical responses, reviewing code, or helping with development tasks. Communicate in clear, simple, standard English. Keep answers concise and focused, remove unnecessary filler and repetition, explain technical ideas in plain language, and structure information so it is easy to read and understand. When showing code, present it clearly with enough context for the developer to understand what it does and where it belongs.

The English summary is being prepared. Showing the original description.

Authula/authula273Updated Oct 24, 2026

A relentless interview to sharpen a plan or design.

The English summary is being prepared. Showing the original description.

Authula/authula273Updated Oct 24, 2026

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

The English summary is being prepared. Showing the original description.

Authula/authula273Updated Oct 24, 2026

Implement HTTP handlers that parse requests, invoke use cases, and format responses following REST conventions.

The English summary is being prepared. Showing the original description.

Authula/authula273Updated Oct 24, 2026

Compact the current conversation into a handoff document for another agent to pick up.

The English summary is being prepared. Showing the original description.

Authula/authula273Updated Oct 24, 2026

See all skills by Authula

Report a problem with this skill