change-classificationlisted
Install: claude install-skill synaptiai/synapti-marketplace
# Change Classification
## Contract
Iron law: classify before committing — every changed file gets a classification; unclassified files are not staged. Invoked by `/flow:commit` (Phase 2 CLASSIFY, cross-check), `/flow:start` (CODE phase per-task gate, step 8), `/flow:address` (after fixes), `/flow:debug`, and `/flow:pr` (pre-flight). Returns a finding-first table — File | Classification | Signal | Notes — with each file marked in-context, uncertain, out-of-context, or RED FLAG, plus first-touch notes and proposed atomic commit groups. Permitted skips: none. Red-flag files are blocked regardless of context; uncertain or out-of-context files go to the user via a six-field AskUserQuestion escalation before any commit.
## Signals
Evaluate in order: red flags, primary, secondary, default → uncertain.
| Category | Signal | Result |
|----------|--------|--------|
| Red flag | `.env*`, `credentials*`, `*secret*`, key files | BLOCK — never commit |
| Red flag | `*.lock`, `package-lock.json`, files >1MB, auto-generated | WARN — verify intentional |
| Primary | In branch diff (`git diff --name-only $DEFAULT_BRANCH...HEAD`) | in-context |
| Primary | Path matches issue title/body keywords | in-context |
| Primary | Path referenced in a TaskList task, or same top-level directory as task files | in-context |
| Secondary | Sibling of an in-context file; test companion (`foo.rb` ↔ `foo_test.rb`) | lean in-context |
| Secondary | Config/dotfile/manifest in project root | uncertain |
| Se