Comprehensive quality verification: spec compliance, lint, type-check, tests, cross-layer data flow, code reuse, and consistency checks. Use when code is written and needs quality verification, before committing changes, or to catch context drift during long sessions.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Trellis Check?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tincopper-trellis-check-neeko)
---
name: trellis-check
description: "Comprehensive quality verification: spec compliance, lint, type-check, tests, cross-layer data flow, code reuse, and consistency checks. Use when code is written and needs quality verification, before committing changes, or to catch context drift during long sessions."
---
# Code Quality Check
Comprehensive quality verification for recently written code. Combines spec compliance, cross-layer safety, and pre-commit checks.
---
## Step 1: Identify What Changed
```bash
git diff --name-only HEAD
git status
```
## Step 2: Read Applicable Specs
```bash
python3 ./.trellis/scripts/get_context.py --mode packages
```
For each changed package/layer, read the spec index and follow its **Quality Check** section:
```bash
cat .trellis/spec/<package>/<layer>/index.md
```
Read the specific guideline files referenced — the index is a pointer, not the goal.
## Step 3: Run Project Checks
Run the project's **dev-loop check command** — the fast one, not the full gate. Which command
that is, is declared by the project (root `AGENTS.md`, "AI Assistant Workflow Notes" — this
repo: `pnpm check:quick`). Fix any failures before proceeding.
Do NOT run the full gate (suite-wide lint + all unit tests) at this step: it is minute-scale
and belongs to wrap-up / pre-push. Run it only when the user explicitly asks, or when the
change plausibly crosses module boundaries that the fast check cannot cover.
**Frequency matters as much as which command.** This is a wrap-up action, not a per-edit one:
run it once over the accumulated change set, not once per file. Re-running it on an unchanged
surface cannot find anything new. And since that command already contains the project's lint /
test / type-check, never run those standalone "on top of it" — the only exception is red/green
feedback during TDD, where a single test file is an observation, not a gate.
## Step 4: Review Against Checklist
### Code Quality
- [ ] Linter passes?
- [ ] Type checker passes (if applicable)?
- [ ] Tests pass?
- [ ] No debug logging left in?
- [ ] No suppressed warnings or type-safety bypasses?
### Test Coverage
- [ ] New function → unit test added?
- [ ] Bug fix → regression test added?
- [ ] Changed behavior → existing tests updated?
### Spec Sync
- [ ] Does `.trellis/spec/` need updates? (new patterns, conventions, lessons learned)
> "If I fixed a bug or discovered something non-obvious, should I document it so future me won't hit the same issue?" → If YES, update the relevant spec doc.
## Step 5: Cross-Layer Dimensions (if applicable)
Skip this step if your change is confined to a single layer.
### A. Data Flow (changes touch 3+ layers)
- [ ] Read flow traces correctly: Storage → Service → API → UI
- [ ] Write flow traces correctly: UI → API → Service → Storage
- [ ] Types/schemas correctly passed between layers?
- [ ] Errors properly propagated to caller?
### B. Code Reuse (modifying constants, creating utilities)
- [ ] Searched for existing similar code before creating new?
```bash
grep -r "pattern" src/
```
- [ ] If 2+ places define same value → extracted to shared constant?
- [ ] After batch modification, all occurrences updated?
### C. Import/Dependency (creating new files)
- [ ] Correct import paths (relative vs absolute)?
- [ ] No circular dependencies?
### D. Same-Layer Consistency
- [ ] Other places using the same concept are consistent?
---
## Step 6: Report and Fix
Report violations found and fix them directly. Re-run project checks after fixes.