一键导入
ci-schema-invariant-gate
Ensures correct execution order of migrations, seeders, and tests in CI
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Ensures correct execution order of migrations, seeders, and tests in CI
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
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.
Works with models that have non-standard primary key names. Activates when writing factories, tests, relationships, or seeders for models that use a custom primary key instead of id.
| name | ci-schema-invariant-gate |
| description | Ensures correct execution order of migrations, seeders, and tests in CI |
Enforces correct execution order of database setup and test execution in CI.
CI MUST run in this order:
php artisan migrate:fresh --seed
php artisan test
No deviations allowed.
This skill ONLY controls:
It does NOT validate:
These are handled by other skills.
If CI fails:
CI does NOT interpret or classify failures.
Test execution MUST always run on a fresh database state created by:
migrate:fresh --seed
No cached or partial state is allowed.
CI defines execution order only.
It does not define correctness of the system.