project-types

Selects the right combination of coding skills for each microservice project type.

Updated Jun 25, 2026
One-click install
npx skills add https://github.com/oriddd/ai-toolkit --skill project-types-oriddd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-types
Source: https://github.com/oriddd/ai-toolkit/tree/main/copilot/public/skills/project-types
Command: npx skills add https://github.com/oriddd/ai-toolkit --skill project-types-oriddd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When scaffolding a new Java/Spring Boot project, developers often guess which coding standards and skills apply, leading to inconsistent setups or missing mandatory practices. This meta-skill removes that guesswork by mapping each project kind to its required and optional skills before repository creation. ## Core Features & Use Cases - Type Matrix: Defines five canonical project shapes — synchronous REST microservice, event-driven service, scheduler/batch job, library/SDK, and monolith-with-microservice-bones — each with required and optional skills. - Decision Flow: Provides a branching questionnaire (HTTP exposure, event consumption, scheduling, bounded contexts) to classify any new service deterministically. - Orchestration Presets: Pre-fills answers for the create-repo skill per project type, including naming conventions for entry points (controller, consumer, scheduler) and package structure. - Use Case: A team starting a Kafka consumer service invokes this skill first; it classifies the project as Type B, mandates messaging and persistence skills, and skips HTTP-specific skills like api-design. ## Quick Start Ask the AI to classify your new service using the project-types skill and pre-select the required skills before running create-repo.

Frequently Asked Questions about project-types

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose which skills to apply when creating a new Spring Boot microservice?

Run the project-types meta-skill first. It classifies your service into one of five types (REST, event-driven, scheduler, library, or monolith) and lists the required and optional skills, then pre-fills answers for create-repo.

What skills are required for an event-driven Spring Boot service?

Event-driven services (Type B) require everything from the REST baseline plus the messaging skill as mandatory and persistence almost always, typically with an outbox pattern. The api-design skill is optional, only needed if a small admin HTTP API exists.

Can one repository combine a REST API, scheduler, and Kafka consumer?

No. The skill explicitly forbids mixing project types in a single deployable. Each type should live in its own repository, with shared logic extracted into libraries consumed by the individual services.

What is the difference between Type A REST and Type E monolith project types?

Type A is a single-bounded-context synchronous REST microservice. Type E is a monolith owning multiple bounded contexts, which mandates the domain-modeling skill and intra-process messaging via ApplicationEventPublisher so a future split stays cheap.

Which skills apply when building a reusable Java library or SDK?

Library projects (Type D) require code-structure, spring-boot-conventions, exception-handling, sdk-publishing, unit-tests, quality-review, release-versioning, documentation-and-adr, and static-analysis. CI is included but CD and Helm charts are skipped since libraries are not deployed.