harness-language
Set, switch (English <-> Chinese), or refresh a harness project's output-language policy.
Skill by Alan-IFT
Chalk Labs
Need help deploying harness-language?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/alan-ift-harness-language
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
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-language
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-language- Description
- Set, switch (English <-> Chinese), or refresh a harness project's output-language policy. Non-destructive, idempotent, with a dry-run preview. Use to change a project's working language or to refresh a stale policy — "switch to Chinese output", "make this project English", "切到中文输出". NOT /harness-upgrade (layout and version), NOT /harness-decision-mode (how much the AI decides on its own).
- License
- MIT
- Allowed tools
- Read,, Write,, Edit,, Glob,, Grep,, Bash,, AskUserQuestion,, TodoWrite
- Instructions
- 201 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
# /harness-language
Set / switch / refresh a harness project's **output-language policy** — the project-wide
rule that decides which language the project's AI produces. Two target states are
supported:
- **`en`** — the single-language English policy (everything the project's AI produces is
English).
- **`zh`** — the consumer-split Chinese policy (human-facing output in Chinese,
agent/LLM-facing artifacts in English; the current canonical split).
The command rewrites **only** the three policy-bearing surfaces of the *target project*:
1. `.harness/rules/00-core.md` — the policy SECTION (heading-anchored).
2. `CLAUDE.md` — the single top policy LINE.
3. `.github/copilot-instructions.md` — the single top policy LINE.
Nothing else in the project changes. It is non-destructive (a `.bak` precedes every edit;
a clean git tree is required so `git reset` is a full rollback), idempotent (a second run
on an already-current project is a clean no-op), and reversible (`en` -> `zh` -> `en`
restores the exact original bytes, because all text is pulled from the plugin templates).
> This skill is the **judgment layer**. All mechanical work — locating the policy section
> by its canonical heading, slicing it, substituting the canonical block, swapping the
> one-line policy, writing the `.bak`, the byte-identity NOOP — is done by one
> deterministic helper, `language-policy.sh`, which the skill bootstraps from the
> plugin template cache and drives with explicit flags. The skill does NO markdown
> string-replacement and embeds NO policy text itself.
## When to invoke
- `/harness-language en` — make the project English-only.
- `/harness-language zh` — make the project use the consumer-split Chinese policy.
- `/harness-language` (no arg) — **refresh** the project's CURRENT language to the latest
canonical text (useful for an old project initialized before the policy was refined).
- For a layout/version upgrade (scripts, hooks, verify_all) → use `/harness-upgrade`.
- For a brand-new project → use `/harness-init` (it asks the language at init).
## Procedure
Use `TodoWrite` to track. Stages are gated: never apply without an explicit user "yes".
### 1. Target & 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. (The helper's
`.bak` covers any untracked policy surface.)
- Confirm at least one of `.harness/rules/00-core.md` OR `CLAUDE.md` exists. If **neither**
→ **halt**, point the user at `/harness-init` (empty project) or `/harness-adopt`
(no-harness project): "this project has no language-policy surface to operate on".
### 2. Validate the argument
- If an argument is present and is not `en` or `zh` → **halt** ("only en|zh are
supported"), change nothing.
### 3. Locate the plugin template cache + read the target version
Resolve the plugin template root, in this order (first hit wins) — identical to
`/harness-upgrade`:
1. **`$CLAUDE_PLUGIN_ROOT`** if set → `$CLAUDE_PLUGIN_ROOT/skills/harness-init/templates`.
Best-effort only; if unset, fall through — do NOT depend on it.
2. **Versioned plugin cache glob (load-bearing):**
`~/.claude/plugins/cache/harness-kit-marketplace/harness-kit/*/skills/harness-init/templates`.
On multiple matches pick the **highest semver** directory.
3. **Dev / marketplace-less fallbacks:**
`~/.claude/plugins/cache/*/harness-kit/*/skills/harness-init/templates`, then
`~/.claude/skills/harness-init/templates`.
4. **None resolve → halt** ("could not locate the harness-kit plugin template cache;
reinstall the plugin"). The helper is never invoked.
The helper's `--template-root` is the directory **above** `skills/harness-init/templates`
— the resolved cache root `<cache>/harness-kit/<version>/` (the directory that contains
`skills/`). Read `<that>/.claude-plugin/plugin.json` `version` and surface it in the plan
as human prose ("Target policy version: x.y.z").
> The helper does ZERO cache discovery — discovery is judgment, so it stays in this AI
> layer. The helper is a pure deterministic transform driven by `--template-root`. The
> canonical policy text is read ONLY from the resolved templates, never fabricated and
> never sourced from the target project — so a stale project that does not already contain
> the canonical text still gets the correct target text.
### 4. Determine the target language (detect-then-ASK; never silently guess)
- **Explicit `en`/`zh`** → that is the target. Detection still runs (to report "switching
from <X> to <Y>" or "already <Y>"), but the choice is fixed by the argument.
- **No-arg refresh** → you have no language yet, but the helper REQUIRES `--lang`. To read
the current language WITHOUT changing anything, invoke the helper with a placeholder
`--lang <either en|zh> --dry-run` purely to capture the `DETECT|<lang>|<source>` record
from stdout — the helper emits `DETECT|...` unconditionally after arg-validation and
before any mutation, and `--dry-run` writes nothing, so the placeholder language is
inert. Then **confirm the detected language with `AskUserQuestion`**, pre-filled:
"Detected `<lang>`. Refresh to the current canonical `<lang>` policy? [yes / switch to
the other language / cancel]". The confirmed value becomes the real `--lang` from step 5.
- **Ambiguous** (`DETECT|ambiguous|...`: conflicting sources or no recognizable policy
surface) → `AskUserQuestion` with **no pre-filled default** ("Could not determine the
current language. Set it to: [en / zh / cancel]"). Never guess.
Detection order (the helper computes it): `.harness/rules/00-core.md` policy heading →
`CLAUDE.md` top policy line → `.github/copilot-instructions.md` top policy line; first
confident hit wins.
### 5. Plan (dry-run) → present → confirm → apply
1. Invoke the helper with `--dry-run`:
```
bash <root>/.harness/scripts/language-policy.sh --template-root <abs> --lang <en|zh> --dry-run
```
(Drive whichever copy is present in the target project's `.harness/scripts/`; if the
project has no `language-policy.*` yet, copy it from
`<template-root>/skills/harness-init/templates/common/.harness/scripts/` first — the
same self-bootstrap `/harness-upgrade` does for its helper.)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-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 - 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-decision-mode
Alan-IFT
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…
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
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-decision-mode
Alan-IFT
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…
SkillBFreshness: BClaude Code - 0.524score
harness-explore
Alan-IFT
Research / feasibility mode.
SkillBFreshness: BClaude Code
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get harness-language running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
harness-language skill. Agent Mart. https://agentmart.dev/skills/alan-ift-harness-language (last updated 2026-10-24)