mcpField
H
hrt-dark-mode-routing

hrt-dark-mode-routing

github.com/hash-idAgent workflows250 installsUpdated 5d ago
Repository

About hrt-dark-mode-routing

hrt-dark-mode-routing is a skill that defines where non-auto-resolved findings go during specified development phases when dark mode is active. It is for workflows using the related hrt skills, and centralizes rules that would otherwise be repeated in phase instructions.

Key features

  1. 01Checks for dark.md before routing
  2. 02Routes findings by phase and type
  3. 03Keeps security decisions with the user
  4. 04Supports planning-only and implementation variants
  5. 05Records gate reasoning in dark.md

Use cases

  1. 01Route proposal, specs, and design findings
  2. 02Handle alignment decisions and high findings
  3. 03Review apply-phase blockers and code findings

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/hash-id/openspec-schema --skill hrt-dark-mode-routing

After installing, type/hrt-dark-mode-routingin Claude Code to confirm it loaded.

Details

From the project README

hrt-dark-mode-routing

dark.md existing is the only signal dark mode is active (created by hrt-dark-mode-opt-in). This skill holds the routing rules that were previously copied into every phase instruction. A phase instruction points here with one line; the rules live here.

If dark.md does not exist, this skill does nothing — every finding follows its normal path to the user.

The rule, by calling phase

A finding that would normally escalate to the user is routed as below. Everything that auto-resolves outside dark mode still auto-resolves — dark mode never changes the auto-resolve rule, only where the non-auto-resolved findings go.

PhaseRoutes to hrt-dark-mode-decision-gateStill goes to the userdark.md section
proposal (hrt-adversarial-authoring, artifact: proposal)a single-reviewer UNANCHORED findingeverything hrt-security-pass decided; the hrt-change-size-gate "one change or several?" questionProposal
specs (hrt-adversarial-authoring, artifact: specs)a single-reviewer UNANCHORED findingeverything hrt-security-pass decidedSpecs
design (hrt-adversarial-authoring, artifact: design)a single-reviewer UNANCHORED findingeverything hrt-security-pass decidedDesign
align (hrt-align-consistency-review)every ALIGN DECISION and HIGH findingnothing extra — but VERIFY and WALKTHROUGH are unchanged, and WALKTHROUGH stays the mandatory closing review; the user is also shown dark.mdAlign (tag each entry with its cycle number)
apply Phase 1 (tdd loop)a seam-mismatch blocker (the gate can weigh an alternative seam against code, design, and specs)any other Phase 1 blockerApply
apply Phase 2 (hrt-apply-code-review)every finding that would otherwise surface to the usernothing extraApply

Invariants across all phases

  1. ANCHORED findings, and findings both independent reviewers raised, auto-resolve in the calling skill and never reach this routing at all.
  2. A finding that is a security requirement or mitigation already decided by hrt-security-pass ALWAYS goes to the user, never to hrt-dark-mode-decision-gate. That decision is a hard constraint, not an opposing case to weigh.
  3. The hrt-change-size-gate "one change or several?" question ALWAYS goes to the user. The answer depends on the user's capacity and priorities, which no grounding artifact holds.
  4. WALKTHROUGH in align stays mandatory and fully manual in every dark-mode variant.
  5. hrt-dark-mode-decision-gate is always a fresh subagent, always writes its reasoning to the matching dark.md section, and never escalates to the user from within itself — it always produces a decision. See that skill for the steel-manning procedure.

Planning-only vs +implementation

dark.md's header names the variant.

  • planning-only: routing applies through align. apply is out of scope — if dark.md's header is planning-only, apply STOPS and tells the user planning-only dark mode ends at WALKTHROUGH.
  • +implementation: routing also applies to apply Phase 1 and Phase 2 as in the table. After Phase 2, dark.md is presented in full alongside the code diff as a second closing review before the user commits.

Comments

Markdown supported