skills/ddd-skills/ddd-clean-architecture/SKILL.md
Provides comprehensive guidance for clean architecture including layer separation, dependency rules, and architectural patterns. Use when the user asks about clean architecture, needs to implement clean architecture principles, or structure applications with clean architecture.
npx skillsauth add partme-ai/full-stack-skills ddd-clean-architectureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill whenever the user wants to:
com.example.app/
├── entity/ # Entities — business rules, no dependencies
├── usecase/ # Use Cases — application logic, depends only on entity
│ ├── port/ # Input/output port interfaces
│ └── interactor/ # Use case implementations
├── adapter/ # Interface Adapters — presenters, gateways
│ ├── controller/ # Web controllers
│ ├── presenter/ # Response formatting
│ └── gateway/ # Gateway implementations
└── framework/ # Frameworks — DB, web server, external APIs
├── web/
└── persistence/
// Use case port (input boundary)
public interface CreateOrderUseCase {
OrderOutput execute(CreateOrderInput input);
}
// Use case interactor
public class CreateOrderInteractor implements CreateOrderUseCase {
private final OrderGateway orderGateway;
private final PaymentGateway paymentGateway;
public CreateOrderInteractor(OrderGateway orderGateway, PaymentGateway paymentGateway) {
this.orderGateway = orderGateway;
this.paymentGateway = paymentGateway;
}
@Override
public OrderOutput execute(CreateOrderInput input) {
Order order = Order.create(input.getItems());
paymentGateway.charge(order.totalAmount());
orderGateway.save(order);
return OrderOutput.from(order);
}
}
public interface OrderGateway {
void save(Order order);
Optional<Order> findById(String id);
}
clean architecture, dependency rule, use case, entity, interface adapter, gateway, layer separation, DDD, testability
development
Provides per-component and per-API examples with cross-platform compatibility details for uni-app, covering built-in components, uni-ui components, and APIs (network, storage, device, UI, navigation, media). Use when the user needs official uni-app components or APIs, wants per-component examples with doc links, or needs platform compatibility checks.
tools
Creates new uni-app projects via the official CLI or HBuilderX with Vue 2/Vue 3 template selection, manifest.json and pages.json configuration, and directory structure setup. Use when the user wants to scaffold a new uni-app project, initialize project files with a single command, or set up the development environment.
tools
Browses, installs, configures, and manages plugins from the uni-app plugin market (ext.dcloud.net.cn) including component plugins, API plugins, and template plugins with dependency handling. Use when the user needs to find and install uni-app plugins, configure plugin settings, manage plugin dependencies, or integrate third-party components.
tools
Develops native Android and iOS plugins for uni-app including module creation, JavaScript-to-native communication, and plugin packaging for distribution. Use when the user needs to build custom native modules, extend uni-app with native capabilities (camera, Bluetooth, sensors), or create publishable native plugins.