From henkaten-council
Use this skill to run on-demand henkaten (change-point) detection against the current project state. Classifies detected changes by 4M axis and change_origin (active vs passive), applies configurable sensitivity thresholds (conservative / balanced / sensitive), and writes detected records to .council/henka-register.jsonl via scripts/append-henka.py.
How this skill is triggered — by the user, by Claude, or both
Slash command
/henkaten-council:council-detectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
On-demand henkaten change-point detection skill for the henkaten-council
On-demand henkaten change-point detection skill for the henkaten-council governance plugin. User-invoked for targeted inspection of project state deviations. Complements the automatic detection in council-autorun Step 1A.
Prerequisite: .council/ must already exist in the target project (run
/henkaten-council:council-kickoff first).
council-detect is the on-demand version of the henkaten detection logic
that runs automatically in council-autorun Step 1A. Use it when:
The skill dispatches the henkaten-detector agent with a user-specified
sensitivity threshold, collects detected change-points, classifies each by
change_origin and 4M axis, and writes records to .council/henka-register.jsonl
via scripts/append-henka.py.
The detection sensitivity controls how aggressively the henkaten-detector agent flags deviations. Three tiers are available:
conservative — Low False-Positive ModeOnly the most clearly unscheduled and impactful deviations are flagged:
schemas/ or hooks/ outside any declared sprint scopeevidence_class: observedUse when: running detection mid-sprint when scheduled edits are common and you only want to catch genuine anomalies.
balanced — Default Detection ModeStandard detection matching the behavior of council-autorun Step 1A:
conservative detections plus:agents/, instructions/, templates/, skills/
outside the active sprint scope.council/state/ fileschange_origin: passive changes from CI or external toolingUse when: running detection as a health check before or after a sprint.
This is the default if no --sensitivity flag is provided.
sensitive — High-Coverage ModeAll deviations flagged, including low-impact and inferred ones:
balanced detections plus:speculative)change_origin: active corrections logged in decision-log but not yet
reflected in Henkaten recordsUse when: doing a thorough audit at a cycle boundary, or when investigating a suspected systematic issue across multiple sprint boundaries.
Default sensitivity: balanced (if --sensitivity is not provided).
change_origin Classification (R1)Every detected change-point is classified by its origin:
change_origin | Meaning | Examples |
|---|---|---|
active | The council or orchestrator initiated the change | Applied course correction, retroactively updating a state file, council-initiated file write |
passive | The change arrived from outside the council's actions | User edit, CI artifact, trine-eval output, external dependency bump, file restored by build tool |
This classification is mandatory. The henkaten-detector agent MUST assign
change_origin to every record. If origin is ambiguous, assign the most
likely origin and set evidence_class: inferred with confidence ≤ 3.
Every detected record is also classified on the 4M axis per
schemas/henka-record.schema.json:
| Axis | Meaning | Examples |
|---|---|---|
Man | Human-introduced change | User edited a file, operator changed config |
Machine | Tool or automated process change | CI pipeline output, automated script write |
Method | Process or procedure change | Governance rule update, skill instruction change |
Material | Input/output artifact change | Schema update, sprint contract modification |
Read the --sensitivity flag (default: balanced). Validate the value is one
of conservative, balanced, or sensitive. If invalid, surface an error
and halt.
Read the reference baseline for detection:
.council/henka-register.jsonl — existing records (to avoid duplicates).council/decision-log.jsonl — decisions that may explain active changes.harness/sprints.json — sprint scope definitions (for scheduled suppression).harness/contracts/sprint-{NN}.md — current sprint's declared file scope.council/standard-work.json — expected standard-work stateRetrieve the last-known clean state via:
git diff HEAD -- .claude-plugin/plugin.json
git log --oneline -5
Dispatch agents/henkaten-detector.md as a fork-context subagent via Task.
Pass:
change_origin classification requirements (R1)schemas/henka-record.schema.jsonThe henkaten-detector agent returns a list of candidate Henkaten records with classification fields populated.
For each candidate record returned by the henkaten-detector agent:
Scheduled suppression check: verify the file is not within the active sprint's declared scope (per Step 1A.4 of council-autorun). If it is scheduled, discard the candidate and log a suppression note.
Duplicate check: scan .council/henka-register.jsonl for an existing
open record with the same change_type and affected_files. If a duplicate
exists, update the existing record's last_seen timestamp rather than
creating a new record.
Evidence validation: verify evidence_class, confidence, and
change_origin are all present and valid. If any field is missing, reject
the record and log a validation warning.
Write to henka-register.jsonl: append validated records via
scripts/append-henka.py. This is the ONLY permitted write path for
Henkaten records (per the controlled-artifacts append-only rule).
python scripts/append-henka.py --record '{...}'
scripts/append-henka.py performs schema validation against
schemas/henka-record.schema.json before appending. If validation fails,
the script returns non-zero and the Orchestrator halts with the error.
After all records are written (or suppressed), surface a summary to the user:
high / medium / low / informationalblocking or high-risk records — these require resolution before
the next sprint can start (per council-autorun Step 1A.2 halt logic)scripts/append-henka.py (append-only rule)| Dependency | Purpose |
|---|---|
agents/henkaten-detector.md | Change-point classification agent dispatched by this skill |
scripts/append-henka.py | Append-only writer for .council/henka-register.jsonl (sprint 4 deliverable) |
schemas/henka-record.schema.json | Schema for henkaten record validation (4M axis enum, change_origin enum) |
skills/council-autorun/SKILL.md Step 1A | Automatic detection in the sprint loop (sister flow to this skill) |
.council/henka-register.jsonl | Destination for detected records |
.harness/contracts/sprint-{NN}.md | Sprint scope for scheduled-suppression check |
npx claudepluginhub ats-kinoshita-iso/henka-council --plugin henkaten-councilProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.