원클릭으로
service-layer
Defines application service structure and business orchestration boundaries
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Defines application service structure and business orchestration boundaries
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | service-layer |
| description | Defines application service structure and business orchestration boundaries |
| license | MIT |
| metadata | {"author":"project"} |
Services are the only place business logic lives. They are framework-agnostic.
Services MUST:
Services MUST NOT:
app() or resolve() internallyConstructor injection only:
public function __construct(
private InvoiceRepository $repository
) {}
DTOs are not required for Filament → Service calls. Arrays are fine when the source is a trusted Filament form.
Use DTOs when:
Skip DTOs when:
Filament closures do not support constructor DI. app() is the only acceptable
escape hatch — and it belongs in the closure, not inside the service:
Action::make('create')
->action(function (array $data) {
app(InvoiceService::class)->createInvoice($data);
});
Modules/{Name}/Services/{Model}Service.php
Standard method names: createX, updateX, deleteX, findOrFail, listForCompany.
Ensures correct execution order of migrations, seeders, and tests in CI
Defines DTO structure, lifecycle, and transformation rules across the application
Handles Filament multi-tenancy: tenant scoping, TenantAware trait, observer behaviour, isScopedToTenant, and tenant switching. Activates when adding tenant-aware models, fixing company_id scoping, working with Filament::getTenant, debugging tenant isolation, or when the user mentions company scope, tenant, multi-tenancy, or company_id.
Configures Filament panel providers. Activates when adding a new panel, registering module resources in a panel, configuring tenant middleware, adjusting auth or theme settings, or when the user mentions PanelProvider, viteTheme, discoverResources, or panel configuration.
Defines the Filament v4 resource page structure used in this project: Resource + Pages + Schemas + Tables split, action patterns, and BaseResource conventions.
Creates and modifies code inside a modular Laravel structure. Targets internachi/modular (modules as real Composer packages with src/). Activates when adding a new module, adding a model/factory/migration/resource/service to an existing module, registering a module with Filament, or when the user mentions modules, modular, or a specific module name.