Agent skill

Japanese Writing Drafter

by Chachamaru127 in Chachamaru127/claude-code-harness

Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad, say it like X instead') and draft a…

MITAuto-check: notesSales & Support

Install Japanese Writing Drafter

skills CLI
$ npx skills add Chachamaru127/claude-code-harness --skill japanese-writing-drafter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Chachamaru127/claude-code-harness japanese-writing-drafter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/japanese-writing-drafter .claude/skills/japanese-writing-drafter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
japanese-writing-drafter
GitHub stars
3.2k
Token cost
~1.5k tokens
SKILL.md length
150 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
MIT

At a glance

Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad, say it like X instead') and draft a…

  • Works in 7 steps: before / after を確定する: 直された元の表現 (before)… → pattern を作る: before の該当フラグメントを Go 正規表現… → good を作る: after… → …
  • User mentions writing-rule proposal
  • SKILL.md covers 核心契約, トリガー条件, 手順 and 関連
  • Calls python3

What it does

Japanese Writing Drafter is an agent skill from Chachamaru127/claude-code-harness. Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad, say it like X instead') and draft a pending writing-rule proposal into ~/.claude/writing-lint/proposals.jsonl for later human review. This skill is the ONLY writer of proposals.jsonl — it never edits rules.jsonl and never sets status to anything but pending. Promotion to rules.jsonl only happens via the human-run scripts/writing-rule-approve.sh. Use when user…

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Sales & Support, covering Proposals and quotes, Brand voice and tone and Linting and formatting. The repository describes itself as: Claude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle. The licence is MIT.

When your agent uses it

  • User mentions writing-rule proposal
  • Writing lint 提案

Example prompts

  • “this wording is bad, say it like X instead”
  • “/japanese-writing-drafter”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Bash

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. before / after を確定する: 直された元の表現 (before) と、operator が示した / 暗に求めた書き直し後の表現 (after) を会話から抽出する。before…
  2. pattern を作る: before の該当フラグメントを Go 正規表現 (RE2) として書く。特殊文字はエスケープする。ヒット範囲を広げすぎない(writing-rule.v1 の pattern は文全体ではなく該当箇所のみでよい)。
  3. good を作る: after をそのまま、または要点を保った短い言い換えとして書く。
  4. scenes を決める: 会話の文脈から分かるときだけ ["external"] / ["chat"] / ["docs"] 等を付ける。不明なら省略する(省略は「全シーン適用」の意味になる。無理に推測しない)。
  5. id を作る: 内容が分かる kebab-case スラッグに 8 桁の一意サフィックスを付ける(例: no-meta-narration-a1b2c3d4)。
  6. 追記する: 以下のコマンドで templates/schemas/writing-rule-proposal.v1.json に対する手書きバリデーション(必須キー + additionalProperties: false)を通してから 1…
  7. operator に伝える: 追記した id と、確認・承認コマンド (scripts/writing-rule-list.sh / scripts/writing-rule-approve.sh --id ) を短く伝える。承認するかどうかは operator…

What it can do on your machine

Read from SKILL.md and the folder at commit 2b2b748. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Japanese Writing Drafter loads about 1.5k tokens when it runs. Until then it costs about 221 tokens; SKILL.md has 150 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~221
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Chachamaru127/claude-code-harness at commit 2b2b748, republished under its MIT licence (© Chachamaru127). 150 words, ~1,476 tokens.

Download SKILL.mdSave it as .claude/skills/japanese-writing-drafter/SKILL.md (or your agent's skills folder).
name
japanese-writing-drafter
description
Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad, say it like X instead') and draft a pending writing-rule proposal into ~/.claude/writing-lint/proposals.jsonl for later human review. This skill is the ONLY writer of proposals.jsonl — it never edits rules.jsonl and never sets status to anything but pending. Promotion to rules.jsonl only happens via the human-run scripts/writing-rule-approve.sh. Use when user mentions writing-rule proposal, 表現を直して, 文体を直して, その言い方はNG, writing lint 提案, 指摘をルール化して. Do NOT load for: approving or rejecting proposals (use scripts/writing-rule-approve.sh), listing pending proposals (use scripts/writing-rule-list.sh), or scanning text against the existing dictionary (the writinglint engine / PostToolUse hook does that).
allowed-tools
Read, Bash
description-en
Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad…
description-ja
会話内で operator が agent の日本語表現を直した(文を書き直した、文体を明示的に指摘した、「その言い方じゃなくてこう書いて」と言った)ことを検知し、~/.claude/writing-lint/proposals.jsonl へ pending の writing-rule…
user-invocable
true

japanese-writing-drafter

会話内で operator が agent の日本語表現を直したときだけ、その指摘を pending の writing-rule 提案として ~/.claude/writing-lint/proposals.jsonl に追記する。提案の追記のみを行い、承認・却下・rules.jsonl への昇格は一切行わない。

核心契約

  • 書き込みはこの skill 経由のみ: proposals.jsonl に status: pending の行を追記できるのはこの skill だけ。他のどのスクリプト・hook もこのファイルに書き込まない。
  • 自動昇格経路は存在しない: rules.jsonl を更新できるのは人間が手で実行する scripts/writing-rule-approve.sh --id <id> だけ。この skill からも、他のどの hook からも writing-rule-approve.sh を自動起動しない。
  • 1 回の検知につき 1 提案。status は常に "pending" で書く。

トリガー条件

会話の中で、次のいずれかが起きたときだけ発動する(雑談・通常の作業指示では発動しない)。

  • operator が直前の agent 発言・生成物の日本語表現をそのまま書き直した
  • operator が「その言い方はNG」「〜じゃなくて…と書いて」のように文体・言い回しを名指しで指摘した
  • operator が明示的に「これルール化して」「writing-lint に登録して」と言った

手順

  1. before / after を確定する: 直された元の表現 (before) と、operator が示した / 暗に求めた書き直し後の表現 (after) を会話から抽出する。before が具体的な語句・言い回しに絞れないほど曖昧なら、提案せずに終える(無理に一般化しない)。
  2. pattern を作る: before の該当フラグメントを Go 正規表現 (RE2) として書く。特殊文字はエスケープする。ヒット範囲を広げすぎない(writing-rule.v1 の pattern は文全体ではなく該当箇所のみでよい)。
  3. good を作る: after をそのまま、または要点を保った短い言い換えとして書く。
  4. scenes を決める: 会話の文脈から分かるときだけ ["external"] / ["chat"] / ["docs"] 等を付ける。不明なら省略する(省略は「全シーン適用」の意味になる。無理に推測しない)。
  5. id を作る: 内容が分かる kebab-case スラッグに 8 桁の一意サフィックスを付ける(例: no-meta-narration-a1b2c3d4)。
  6. 追記する: 以下のコマンドで templates/schemas/writing-rule-proposal.v1.json に対する手書きバリデーション(必須キー + additionalProperties: false)を通してから 1 行追記する。CLAUDE_WRITING_LINT_PROPOSALS が設定されていればそのパスを、無ければ ~/.claude/writing-lint/proposals.jsonl を使う。
bash
python3 - <<'PY'
import json, os, sys, uuid
from datetime import datetime, timezone

repo_root = "REPO_ROOT"  # 呼び出し時に実際のリポジトリルートへ置き換える
schema_path = os.path.join(repo_root, "templates/schemas/writing-rule-proposal.v1.json")
proposals_path = os.environ.get("CLAUDE_WRITING_LINT_PROPOSALS") or os.path.join(
    os.path.expanduser("~"), ".claude/writing-lint/proposals.jsonl"
)

with open(schema_path, encoding="utf-8") as f:
    schema = json.load(f)

record = {
    "id": "SLUG-" + uuid.uuid4().hex[:8],
    "pattern": "PATTERN_HERE",
    "good": "GOOD_HERE",
    "status": "pending",
    "evidence": "EVIDENCE_HERE",
    "created_at": datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"),
}
# scenes / severity は分かるときだけ足す:
# record["scenes"] = ["external"]
# record["severity"] = "warning"


def validate(data, sch):
    required = set(sch.get("required", []))
    props = sch.get("properties", {})
    if sch.get("additionalProperties") is False:
        extra = set(data.keys()) - set(props.keys())
        if extra:
            raise ValueError(f"additional properties not allowed: {sorted(extra)}")
    for key in required:
        if key not in data:
            raise ValueError(f"missing required property: {key}")


validate(record, schema)

os.makedirs(os.path.dirname(proposals_path) or ".", exist_ok=True)
with open(proposals_path, "a", encoding="utf-8") as f:
    f.write(json.dumps(record, ensure_ascii=False) + "\n")

print(f"drafted pending proposal: {record['id']}")
PY
  1. operator に伝える: 追記した id と、確認・承認コマンド (scripts/writing-rule-list.sh / scripts/writing-rule-approve.sh --id <id>) を短く伝える。承認するかどうかは operator の判断であり、この skill は待たない。

関連

  • 承認 / 却下: scripts/writing-rule-approve.sh --id <id> (--reject で却下)
  • pending 一覧: scripts/writing-rule-list.sh
  • スキーマ: templates/schemas/writing-rule-proposal.v1.json (提案) / templates/schemas/writing-rule.v1.json (承認後のルール)
  • スキャンエンジン: go/internal/writinglint/ (Phase 135.1)

© Chachamaru127, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/japanese-writing-drafter of Chachamaru127/claude-code-harness.

Open the folder on GitHubat commit 2b2b748

Compare with similar skills

Japanese Writing Drafter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Japanese Writing Drafter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Japanese Writing Drafter this skillChachamaru127/claude-code-harness3.2k—~1.5kAutomated safety check: NotesMIT
GitHub Voicetobihagemann/turbo408—~1.3kAutomated safety check: PassMIT
Agent Styleyzhao062/agent-style709—~1.2kAutomated safety check: PassNone
Nz Business Englishjezweb/claude-skills1.1k—~2.4kAutomated safety check: PassMIT
Uk Business Englishjezweb/claude-skills1.1k—~2.2kAutomated safety check: PassMIT
Us Business Englishjezweb/claude-skills1.1k—~2.1kAutomated safety check: PassMIT

Similar skills

  • GitHub Voice

    tobihagemann/turbo

    Shared writing style rules for GitHub-facing output (PR comments, PR descriptions, PR titles, issues, design proposals).

    408 GitHub stars~1.3k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Agent Style

    yzhao062/agent-style

    Literature-backed English technical-prose writing rules. An agent skill from yzhao062/agent-style.

    709 GitHub stars~1.2k tokensUpdated 4 days ago
    Writing & ContentAuto-check passed
  • Nz Business English

    jezweb/claude-skills

    New Zealand business English writing style for professional communications — warm, inclusive, EN-NZ spelling (colour, organise, centre).

    1.1k GitHub stars~2.4k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Uk Business English

    jezweb/claude-skills

    British business English writing style for professional communications — polished, understated, EN-GB spelling (colour, organise, centre).

    1.1k GitHub stars~2.2k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Us Business English

    jezweb/claude-skills

    American business English writing style for professional communications — direct, action-oriented, EN-US spelling (color, organize, center).

    1.1k GitHub stars~2.1k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Authoring Rfds

    symposium-dev/symposium

    Write and structure RFDs (Requests for Discussion) for the Symposium project.

    249 GitHub stars~713 tokensUpdated yesterday
    Sales & SupportAuto-check passed

More from Chachamaru127/claude-code-harness

All 25 skills in this repo
  • CI Failure Triage and Repair

    Chachamaru127/claude-code-harness

    Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.

    3.2k GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check: notes
  • Cursor Composer Task Delegate

    Chachamaru127/claude-code-harness

    Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.

    3.2k GitHub stars~4.4k tokensUpdated 6 days ago
    Auto-check: notes
  • Acceptance Demo Generator

    Chachamaru127/claude-code-harness

    Renders a single HTML page showing each acceptance criterion as verified or not, with a ship, wait, or reject recommendation for non-engineers.

    3.2k GitHub stars~3.4k tokensUpdated 6 days ago
    Auto-check: notes
  • Harness Long-Running Task Loop

    Chachamaru127/claude-code-harness

    Repeats a long task as a series of scheduled wake-ups, each re-entering with fresh context and calling harness-work for one task per cycle.

    3.2k GitHub stars~2.3k tokensUpdated 6 days ago
    Auto-check: notes
  • Harness Plan

    Chachamaru127/claude-code-harness

    Creates and maintains Plans.md task plans with a spec delta, updates task markers and syncs plan progress with the implementation.

    3.2k GitHub stars~3.7k tokensUpdated 6 days ago
    Auto-check: notes
  • Harness Release

    Chachamaru127/claude-code-harness

    Runs a release for any project that keeps a Keep a Changelog file on GitHub, from version bump to merge, tag and GitHub Release after a single approval.

    3.2k GitHub stars~4.4k tokensUpdated 6 days ago
    Auto-check: notes

Questions about Japanese Writing Drafter

What does Japanese Writing Drafter do?

Detect when the operator corrects the agent's Japanese phrasing mid-conversation (rewrites a sentence, calls out a style problem, says 'this wording is bad, say it like X instead') and draft a…. Japanese Writing Drafter is an agent skill from Chachamaru127/claude-code-harness.jsonl for later human review.

When should I use Japanese Writing Drafter?

Japanese Writing Drafter fits situations like: user mentions writing-rule proposal; writing lint 提案.

How do I install Japanese Writing Drafter in Claude Code?

Run `npx skills add Chachamaru127/claude-code-harness --skill japanese-writing-drafter -a claude-code`. Or copy the skill folder (skills/japanese-writing-drafter in Chachamaru127/claude-code-harness) into .claude/skills/japanese-writing-drafter in your project. Claude Code loads it when a task matches its description.

How do I install Japanese Writing Drafter in Codex?

Run `npx skills add Chachamaru127/claude-code-harness --skill japanese-writing-drafter -a codex`. Or copy the skill folder (skills/japanese-writing-drafter in Chachamaru127/claude-code-harness) into .agents/skills/japanese-writing-drafter in your project. Codex loads it when a task matches its description.

Can I use Japanese Writing Drafter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chachamaru127/claude-code-harness --skill japanese-writing-drafter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/japanese-writing-drafter, .gemini/skills/japanese-writing-drafter, .github/skills/japanese-writing-drafter and .opencode/skills/japanese-writing-drafter in your project.

What does Japanese Writing Drafter need to run?

Going by SKILL.md and its folder, Japanese Writing Drafter needs the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash.

Does Japanese Writing Drafter access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Japanese Writing Drafter safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Japanese Writing Drafter use?

Japanese Writing Drafter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Japanese Writing Drafter use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Japanese Writing Drafter?

Skills that share tags, products or a category with Japanese Writing Drafter: GitHub Voice (tobihagemann/turbo, 408 stars), Agent Style (yzhao062/agent-style, 709 stars), Nz Business English (jezweb/claude-skills, 1.1k stars) and Uk Business English (jezweb/claude-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Japanese Writing Drafter?

Chachamaru127 (a GitHub user) maintains it in Chachamaru127/claude-code-harness, which has 3,156 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 5, 2026.

Source: Chachamaru127/claude-code-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.