<< All versions
Skill v1.0.0
currentAutomated scan100/100alizharb/agent-skills/decompose-model
──Details
PublishedOctober 3, 2026 at 06:24 PM
Content Hashsha256:a6fb17d4a2207e00...
Git SHA
──Files
Files (1 file, 1.5 KB)
SKILL.md1.5 KBactive
SKILL.md · 57 lines · 1.5 KB
version: "1.0.0" name: decompose-model description: "Use when a model is getting too large and needs concerns, casts, builders, or other extractions." license: MIT metadata: author: Ali Harb
Decompose Model
When To Use
Use this skill when an Eloquent model is becoming too large or starts mixing persistence with workflow code.
Inputs Needed
- Model name, current responsibilities, reusable behaviors, query needs, and extraction target.
Workflow
- Inspect the model and its related classes.
- Identify what belongs in relations, casts, accessors, mutators, builders, policies, or support classes.
- Extract reusable query logic into a builder or query object.
- Extract reusable behavior into a concern when it fits.
- Keep only small model-level invariants in the model.
- Add or update tests for the extracted behavior.
Files That May Be Created
- Builders, concerns, casts, support classes, policies, DTOs, and tests.
Files That May Be Modified
- The model, related builders, and related tests.
Architecture Rules
- The model should stay readable and persistence-focused.
- Reusable query logic should not become model scopes in new code.
- The model should not orchestrate workflows.
Testing Requirements
- Test the extracted behavior where it now lives.
Review Checklist
- Did the extraction reduce model size?
- Is the logic in the right layer?
- Did behavior stay the same?
Common Mistakes to Avoid
- Extracting too many tiny files without reducing complexity.
- Leaving reusable query behavior in model scopes.