Agent skill
check-cross-layer
Post-implementation verification across multiple code dimensions: cross-layer data flow, code reuse analysis, import path validation, and same-layer consistency checks. Identifies missed update sites, type mismatches, and duplicated constants. Use when changes span 3+ architectural layers, after modifying shared constants or configs, after batch file modifications, or when creating new utility functions.
Install this agent skill to your Project
npx add-skill https://github.com/mindfold-ai/Trellis/tree/main/packages/cli/src/templates/codex/skills/check-cross-layer
SKILL.md
Cross-Layer Check
Check if your changes considered all dimensions. Most bugs come from "didn't think of it", not lack of technical skill.
Note: This is a post-implementation safety net. Ideally, read the Pre-Implementation Checklist before writing code.
Related Documents
| Document | Purpose | Timing |
|---|---|---|
| Pre-Implementation Checklist | Questions before coding | Before writing code |
| Code Reuse Thinking Guide | Pattern recognition | During implementation |
$check-cross-layer (this skill) |
Verification check | After implementation |
Execution Steps
1. Identify Change Scope
git status
git diff --name-only
2. Select Applicable Check Dimensions
Based on your change type, execute relevant checks below:
Dimension A: Cross-Layer Data Flow (Required when 3+ layers)
Trigger: Changes involve 3 or more layers
| Layer | Common Locations |
|---|---|
| API/Routes | routes/, api/, handlers/, controllers/ |
| Service/Business Logic | services/, lib/, core/, domain/ |
| Database/Storage | db/, models/, repositories/, schema/ |
| UI/Presentation | components/, views/, templates/, pages/ |
| Utility | utils/, helpers/, common/ |
Checklist:
- Read flow: Database -> Service -> API -> UI
- Write flow: UI -> API -> Service -> Database
- Types/schemas correctly passed between layers?
- Errors properly propagated to caller?
- Loading/pending states handled at each layer?
Detailed Guide: .trellis/spec/guides/cross-layer-thinking-guide.md
Dimension B: Code Reuse (Required when modifying constants/config)
Trigger:
- Modifying UI constants (label, icon, color)
- Modifying any hardcoded value
- Seeing similar code in multiple places
- Creating a new utility/helper function
- Just finished batch modifications across files
Checklist:
- Search first: How many places define this value?
bash
# Search in source files (adjust extensions for your project) grep -r "value-to-change" src/ - If 2+ places define same value -> Should extract to shared constant
- After modification, all usage sites updated?
- If creating utility: Does similar utility already exist?
Detailed Guide: .trellis/spec/guides/code-reuse-thinking-guide.md
Dimension B2: New Utility Functions
Trigger: About to create a new utility/helper function
Checklist:
- Search for existing similar utilities first
bash
grep -r "functionNamePattern" src/ - If similar exists, can you extend it instead?
- If creating new, is it in the right location (shared vs domain-specific)?
Dimension B3: After Batch Modifications
Trigger: Just modified similar patterns in multiple files
Checklist:
- Did you check ALL files with similar patterns?
bash
grep -r "patternYouChanged" src/ - Any files missed that should also be updated?
- Should this pattern be abstracted to prevent future duplication?
Dimension C: Import/Dependency Paths (Required when creating new files)
Trigger: Creating new source files
Checklist:
- Using correct import paths (relative vs absolute)?
- No circular dependencies?
- Consistent with project's module organization?
Dimension D: Same-Layer Consistency
Trigger:
- Modifying display logic or formatting
- Same domain concept used in multiple places
Checklist:
- Search for other places using same concept
bash
grep -r "ConceptName" src/ - Are these usages consistent?
- Should they share configuration/constants?
Common Issues Quick Reference
| Issue | Root Cause | Prevention |
|---|---|---|
| Changed one place, missed others | Didn't search impact scope | grep before changing |
| Data lost at some layer | Didn't check data flow | Trace data source to destination |
| Type/schema mismatch | Cross-layer types inconsistent | Use shared type definitions |
| UI/output inconsistent | Same concept in multiple places | Extract shared constants |
| Similar utility exists | Didn't search first | Search before creating |
| Batch fix incomplete | Didn't verify all occurrences | grep after fixing |
Output
Report:
- Which dimensions your changes involve
- Check results for each dimension
- Issues found and fix suggestions
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
create-command
Scaffolds a new skill file with proper naming conventions and structure. Analyzes requirements to determine skill type and generates appropriate content. Use when adding a new developer workflow skill, creating a custom skill, or extending the Trellis skill set.
finish-work
Pre-commit quality checklist covering lint, typecheck, tests, code-spec sync, API changes, database migrations, cross-layer verification, and manual testing. Blocks commit if infra or cross-layer specs lack executable depth. Use when code is written and tested but not yet committed, before submitting changes, or as a final review before git commit.
update-spec
Captures executable contracts and coding knowledge into .trellis/spec/ documents after implementation, debugging, or design decisions. Enforces code-spec depth for infra and cross-layer changes with mandatory sections for signatures, contracts, validation matrices, and test points. Use when a feature is implemented, a bug is fixed, a design decision is made, a new pattern is discovered, or cross-layer contracts change.
check
Validates recently written code against project-specific development guidelines from .trellis/spec/. Identifies changed files via git diff, discovers applicable spec modules, runs lint and typecheck, and reports guideline violations. Use when code is written and needs quality verification, to catch context drift during long sessions, or before committing changes.
check-cross-layer
Post-implementation verification across multiple code dimensions: cross-layer data flow, code reuse analysis, import path validation, and same-layer consistency checks. Identifies missed update sites, type mismatches, and duplicated constants. Use when changes span 3+ architectural layers, after modifying shared constants or configs, after batch file modifications, or when creating new utility functions.
start
Initializes an AI development session by reading workflow guides, developer identity, git status, active tasks, and project guidelines from .trellis/. Classifies incoming tasks and routes to brainstorm, direct edit, or task workflow. Use when beginning a new coding session, resuming work, starting a new task, or re-establishing project context.
Didn't find tool you were looking for?