harness-decision-mode
Switch or set a harness project's decision / escalation MODE — Mode 1 (human decides every judgment call), Mode 2 (the AI decides per the PRESET rubric…
Skill by Alan-IFT
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/alan-ift-harness-decision-mode
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/harness-decision-mode
Tools it pre-approves 8
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Write,Edit,Glob,Grep,Bash,AskUserQuestion,TodoWrite
What's inside
- Skill name
harness-decision-mode- Description
- Switch or set a harness project's decision / escalation MODE — Mode 1 (human decides every judgment call), Mode 2 (the AI decides per the PRESET rubric, escalating only the red lines), or Mode 3 (the AI decides per your own custom rubric). Use to change HOW MUCH the AI decides on its own versus asks you first — "switch decision mode", "let the AI decide on its own", "make it ask me first", "切换决策模式", "让 AI 自己拿主意", "改成人工决策", "用我自己的决策规则". NOT for editing the rubric's CONTENT only (edit .harness/decision-rubric.md directly), NOT for output-language (/harness-language), NOT for layout upgrades (/harness-upgrade).
- License
- MIT
- Allowed tools
- Read,, Write,, Edit,, Glob,, Grep,, Bash,, AskUserQuestion,, TodoWrite
- Instructions
- 157 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
# /harness-decision-mode
Set or switch a harness project's **decision & escalation mode** — the project-wide control over
how a judgment call is resolved when the AI hits a choice it would otherwise put to you. The full
policy lives in `.harness/rules/25-decision-policy.md`; the principles the AI decides by live in
`.harness/decision-rubric.md`. This skill flips the **Active mode** line of the policy (and, for a
first Mode-3 switch, seeds the Custom rubric).
The three modes (from `25-decision-policy.md`):
- **Mode 1 — human decides** (the safe default for new projects). The AI escalates every judgment
call it cannot resolve from the request, the code, or an unambiguous default.
- **Mode 2 — preset-rubric autonomy.** The AI decides anything the **Preset rubric** covers,
escalates only the red lines + uncovered/irreversible calls, and logs each autonomous decision.
- **Mode 3 — custom-rubric autonomy.** Same mechanism as Mode 2, but the AI decides by YOUR
**Custom rubric** instead of the Preset. The red lines and the audit trail still apply.
The command rewrites **only** the single `Active mode:` line of
`.harness/rules/25-decision-policy.md` (plus, for a first Mode-3 switch with an empty Custom rubric,
the `## Custom rubric (Mode 3)` section of `.harness/decision-rubric.md`). Every other byte of every
file is preserved. It is non-destructive (a `.bak` precedes each edit; a clean git tree is required
so `git reset` is a full rollback) and idempotent (re-picking the already-active mode is a clean
no-op — no write, no `.bak`).
> This skill is the **judgment layer**, and the edit is small enough to do directly: a single-line
> replace via the `Edit` tool plus (Mode-3 only) a section-body replace. There is **no helper
> script** — unlike `/harness-language`, no heading-anchored section slicing or byte-identical
> cross-shell round-trip is needed here, so adding a `.sh` pair would be machinery that does
> not earn its place (`.harness/rules/15-skill-authoring.md` P6).
## When to invoke
- "Switch to Mode 2 / let the AI decide on its own" → pick Mode 2.
- "Make it ask me before deciding / 改成人工决策" → pick Mode 1.
- "Use my own decision rules / 用我自己的决策规则" → pick Mode 3 (you'll author the Custom rubric).
- "切换决策模式 / 让 AI 自己拿主意" → run it, pick the mode interactively.
## When NOT to invoke
- To change WHAT the Preset or Custom rubric SAYS without changing the mode → edit
`.harness/decision-rubric.md` directly; this skill only flips the active mode (and seeds an empty
Custom rubric on a first Mode-3 switch).
- To change the project's output language → `/harness-language`.
- To upgrade an old project's layout / scripts / version → `/harness-upgrade`.
- On a brand-new project that has no `.harness/rules/25-decision-policy.md` yet → run `/harness-init`
(new projects start at Mode 1 by default), or `/harness-upgrade` to bring an old project up to the
current layout. This skill does NOT bootstrap a missing policy file.
- On this kit's own dogfood repo casually — it targets *generated* projects (though it works here
too; the dogfood Active mode is deliberately 2).
## Procedure
Use `TodoWrite` to track. The apply step is gated: never write without an explicit user "yes".
### 1. Precondition gate
The current working directory is the target project.
- Confirm `.git/` exists. If not → **halt**, no changes ("not a git repository").
- Refuse on a **dirty working tree** (`git status --porcelain` non-empty) with "commit or stash your
changes first" — this preserves the `git reset` rollback path.
- Confirm `.harness/rules/25-decision-policy.md` exists. If **not** → **halt**: "this project has no
decision-policy to switch; run `/harness-init` (new project) or `/harness-upgrade` (old project)."
### 2. Read the current Active mode
Read `.harness/rules/25-decision-policy.md` and find the single line matching
`Active mode: <N>` (the canonical line is bold: `**Active mode: 2 (preset-rubric autonomy …).**`).
- If exactly one such line is found → `current = N` (1, 2, or 3). Display it ("current = Mode N").
- If **no** recognizable `Active mode:` line, or **more than one** → **halt** with a conflict
message ("could not find a single 'Active mode' line in 25-decision-policy.md; it may be
hand-mangled — fix it by hand or restore from backup"). NEVER guess or write into an
unrecognized structure.
### 3. Pick the target mode
`AskUserQuestion`: present Mode 1 / Mode 2 / Mode 3 as options, each with a one-line description of
what it does (text from "The three modes" above). **Pre-select the current mode.** The user picks one.
### 4. Idempotency
If `target == current` → report "already Mode N — nothing to do" and **stop** (no write, no `.bak`).
### 5. Confirm and apply the Active-mode line
1. Compute the new Active-mode line by replacing only the mode digit + its short parenthetical label,
preserving the rest of the line's prose. The canonical labels:
- Mode 1: `**Active mode: 1 (human decides — the safe default).**`
- Mode 2: `**Active mode: 2 (preset-rubric autonomy, "balanced" calibration).**`
- Mode 3: `**Active mode: 3 (custom-rubric autonomy).**`
(Keep the surrounding lines — the "New projects … default to Mode 1 … Switch with
`/harness-decision-mode`" sentence below it — unchanged.)
2. Show the single-line diff (old → new). `AskUserQuestion`: "Apply this change? [yes / no]".
3. On **"yes"**: write a timestamped `.bak` of `25-decision-policy.md`, then `Edit` the one
`Active mode:` line (exact old-string → new-string). On **"no"** → stop, change nothing.
### 6. Mode-3 Custom-rubric capture (only when switching TO Mode 3)
If `target == 3`:
1. Read `.harness/decision-rubric.md` and locate the `## Custom rubric (Mode 3)` section body.
2. **If the body is empty** (only the instruction blockquote + the `_(empty …)_` placeholder, no
authored bullets):
- `AskUserQuestion` (use the free-text **"Other"** option) collecting the user's custom decision
prompts — the principles they want the AI to decide by. Offer to gather several (e.g. "add
another?" loop) and let them finish.
- Write a `.bak` of `decision-rubric.md`, then `Edit` the Custom-section body: replace the
`_(empty …)_` placeholder with the user's bullets (keep the instruction blockquote above it).
3. **If the body is already non-empty** → leave it untouched; just report that Mode 3 now reads the
existing Custom rubric. (To change its content, the user edits `decision-rubric.md` directly.)
### 7. Final report
```
Set decision mode: Mode <M> -> Mode <N>
25-decision-policy.md: Active-mode line rewritten
decision-rubric.md: <Custom rubric seeded with N prompts | unchanged>
Backups: <.bak paths>From Alan-IFT/harness-kit, MIT.
More from Alan-IFT/harness-kit
- 0.529score
harness-deflate
Alan-IFT
Holistic anti-entropy sweep.
SkillBFreshness: BClaude Code - 0.524score
harness
Alan-IFT
Full 7-stage Harness pipeline.
SkillBFreshness: BClaude Code - 0.524score
harness-verify
Alan-IFT
Run the project's total verification (.harness/scripts/verify_all).
SkillBFreshness: BClaude Code +9 - 0.524score
harness-language
Alan-IFT
Set, switch (English <-> Chinese), or refresh a harness project's output-language policy.
SkillBFreshness: BClaude Code - 0.524score
harness-stream
Alan-IFT
Streaming / living-pool mode.
SkillBFreshness: BClaude Code - 0.524score
harness-upgrade
Alan-IFT
Upgrade an already-initialized but stale harness project to the current plugin layout, non-destructively and idempotently, with a dry-run preview, then prove…
SkillBFreshness: BClaude Code - 0.524score
harness-plan
Alan-IFT
Design-only mode of the Harness pipeline — runs Requirement Analyst → Solution Architect → Gate Reviewer and stops.
SkillBFreshness: BClaude Code - 0.524score
harness-batch
Alan-IFT
Run a fixed list of tasks (T-01...T-NN) through the 7-stage pipeline in sequence, one isolated context per task, stopping only on strong signals.
SkillBFreshness: BClaude Code - 0.524score
harness-explore
Alan-IFT
Research / feasibility mode.
SkillBFreshness: BClaude Code - 0.524score
harness-goal
Alan-IFT
Open-ended goal mode.
SkillBFreshness: BClaude Code - 0.524score
harness-grill
Alan-IFT
Interview the user ONE question at a time to pin down what they actually want BEFORE any pipeline runs, giving a recommended answer per question and…
SkillBFreshness: BClaude Code - 0.524score
harness-intervene
Alan-IFT
Drop a redirect / pause / note / add-task signal into a running 7-stage Harness pipeline (or a /harness-stream pool).
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 8, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Alan-IFT/harness-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Alan-IFT
- 0.529score
harness-deflate
Alan-IFT
Holistic anti-entropy sweep.
SkillBFreshness: BClaude Code - 0.524score
harness
Alan-IFT
Full 7-stage Harness pipeline.
SkillBFreshness: BClaude Code - 0.524score
harness-plan
Alan-IFT
Design-only mode of the Harness pipeline — runs Requirement Analyst → Solution Architect → Gate Reviewer and stops.
SkillBFreshness: BClaude Code - 0.524score
harness-batch
Alan-IFT
Run a fixed list of tasks (T-01...T-NN) through the 7-stage pipeline in sequence, one isolated context per task, stopping only on strong signals.
SkillBFreshness: BClaude Code - 0.524score
harness-explore
Alan-IFT
Research / feasibility mode.
SkillBFreshness: BClaude Code - 0.524score
harness-goal
Alan-IFT
Open-ended goal mode.
SkillBFreshness: BClaude Code
Cite this page
harness-decision-mode skill. Agent Mart. https://agentmart.dev/skills/alan-ift-harness-decision-mode (last updated 2026-10-24)