kotonoha 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.0] - 2026-10-20
11
+
12
+ ### Added
13
+
14
+ - Add explicit `kotonoha install --agent
15
+ copilot|claude|all` selection for GitHub Copilot, Claude Code, or both.
16
+ Keep the Copilot default and independent `--skill` selection.
17
+ - Preserve existing Skills in both roots, preflight explicit-skill conflicts
18
+ before copying, and allow `--target` overrides for a single agent.
19
+
20
+ ### Changed
21
+
22
+ - Document both hosts and their installation/update paths. Extend
23
+ `tech-writer`'s prose Skill discovery to Claude project and personal roots.
24
+ - Keep npm installation free of automatic Skill writes or interactive setup.
25
+
26
+ ### Fixed
27
+
28
+ - Shorten `tech-writer`'s description to the Agent Skills 1,024-character
29
+ limit so hosts discover all seven bundled Skills. Add a regression check.
30
+
10
31
  ## [0.4.2] - 2026-10-20
11
32
 
12
33
  ### Added
@@ -190,4 +211,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
190
211
  [0.1.4]: https://github.com/nahisaho/kotonoha/compare/v0.1.2...v0.1.4
191
212
  [0.1.5]: https://github.com/nahisaho/kotonoha/compare/v0.1.4...v0.1.5
192
213
  [0.4.2]: https://github.com/nahisaho/kotonoha/compare/d76ef4a...v0.4.2
193
- [Unreleased]: https://github.com/nahisaho/kotonoha/compare/v0.4.2...HEAD
214
+ [0.5.0]: https://github.com/nahisaho/kotonoha/compare/v0.4.2...v0.5.0
215
+ [Unreleased]: https://github.com/nahisaho/kotonoha/compare/v0.5.0...HEAD
package/README-ja.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # kotonoha
2
2
 
3
- kotonohaは、コンサルティング分析、技術文書、日本語表現、プレゼンテーション設計を支援するGitHub Copilot CLIスキルを提供します。曖昧な課題の構造化から、文書化、日本語表現の改善、プレゼンテーション設計までを一連の流れとして支援します。
3
+ kotonohaは、GitHub CopilotとClaude Code向けのスキルを提供します。曖昧な課題の構造化から、文書化、日本語表現の改善、プレゼンテーション設計までを一連の流れとして支援します。
4
4
 
5
5
  `consulting-analyst`は、課題を論点、仮説、証拠、選択肢、提言へ構造化します。分析結果を受け取った`tech-writer`は、README、設計文書、Blueprint、White Paper、提案書などへ内容を落とし込みます。日本語の表現品質は`japanese-prose`がGiNZAベースの診断で改善します。プレゼンテーションが必要な場合は、`presentation-planner`がシナリオ、スライド構成、デザイン仕様、PPTX作成スキル向けの引き継ぎ情報を生成します。
6
6
 
@@ -155,7 +155,8 @@ White Paper向けの分析を作成して
155
155
 
156
156
  ### 前提条件
157
157
 
158
- - GitHub Copilot CLIがインストールされていること
158
+ - GitHub Copilot(CLIまたは対応IDEのエージェントモード)かClaude Codeがインストールされていること
159
+ - インストーラー用のNode.js 18以上とnpm
159
160
  - tech-writerの構造lintを実行する場合はPython 3.9以上
160
161
  - 同梱`japanese-prose`の文章lint、読解負荷分析、アウトライン抽出、用語検査、編集前後の不変条件検査を実行する場合はPython 3.10以上と`uv`。GiNZA、`ja_ginza`、spaCy、Markdown解析用の依存関係は、各スクリプトの初回実行時に`uv`が解決
161
162
 
@@ -168,6 +169,34 @@ npm install --save-dev kotonoha
168
169
  npx kotonoha install
169
170
  ```
170
171
 
172
+ `npm install`はパッケージの導入だけを行います。エージェントの選択画面は表示せず、スキルディレクトリにも自動で書き込みません。
173
+
174
+ ### GitHub Copilot・Claude Code・両方を選択
175
+
176
+ `--agent`はkotonoha `0.5.0`以降で利用できます。`0.4.2`などの旧版では使えないため、先にnpmパッケージを更新してください。
177
+
178
+ ```bash
179
+ npx kotonoha install --agent copilot # .github/skills/
180
+ npx kotonoha install --agent claude # .claude/skills/
181
+ npx kotonoha install --agent all # 両方のディレクトリ
182
+ ```
183
+
184
+ 未指定時は従来どおり`--agent copilot`です。`--agent`で配置先のエージェント、`--skill`で導入するスキルを選びます。両エージェントには同じSkillファイル、スクリプト、テンプレートを配置します。エージェント本体のインストール、認証設定、各スキルのPython・Node実行依存の準備は行いません。
185
+
186
+ エージェントとスキルの選択は組み合わせられます。
187
+
188
+ ```bash
189
+ npx kotonoha install --agent claude --skill tech-writer
190
+ npx kotonoha install --agent all --skill obsidian-bases
191
+ npx kotonoha install --agent all --force
192
+ ```
193
+
194
+ 既存ディレクトリの保護と`--force`は、選択した各配置先に適用します。明示した単一スキルがどちらかの配置先に存在する場合、コピー開始前に処理を止めます。ただし、コピー中のファイルシステムエラーでは、それ以前のコピーが残ることがあります。複数の配置先をまとめて元に戻す機能はありません。
195
+
196
+ 単一エージェントでは`--target`で配置先を変更できます。`--agent all`と`--target`は併用できません。配置先を個別に変える場合は、エージェントごとに実行します。
197
+
198
+ この選択はファイルの配置先を決めるもので、エージェント間の隔離ではありません。Copilotも`.claude/skills`を認識するため、Claude向けに配置してもCopilotからの読み込みは防げません。対応する配置先は、公式資料([CopilotのSkill説明](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)、[Claude CodeのSkill説明](https://code.claude.com/docs/en/skills))を参照してください。
199
+
171
200
  ### 同梱スキルをまとめてインストール
172
201
 
173
202
  `kotonoha install`は、まだ存在しない同梱スキルをすべてインストールします。`consulting-analyst`、`tech-writer`、`japanese-prose`、`obsidian-vault`、`obsidian-canvas`、`obsidian-bases`、`presentation-planner`を`.github/skills/`へインストールします。
@@ -232,7 +261,8 @@ consulting-analyst、tech-writer、japanese-prose、obsidian-vault、obsidian-ca
232
261
  ```bash
233
262
  npx kotonoha install --skill consulting-analyst
234
263
  npx kotonoha install --skill presentation-planner
235
- npx kotonoha install --target .claude/skills
264
+ npx kotonoha install --agent claude
265
+ npx kotonoha install --agent claude --target ~/.claude/skills
236
266
  npx kotonoha install --target ~/.copilot/skills
237
267
  ```
238
268
 
@@ -272,8 +302,12 @@ npmパッケージを更新しても、コピー済みのスキルは自動更
272
302
 
273
303
  ```bash
274
304
  npx kotonoha install --force
305
+ npx kotonoha install --agent claude --force
306
+ npx kotonoha install --agent all --force
275
307
  ```
276
308
 
309
+ 上記のうち、初回の導入と同じ`--agent`に対応するコマンドを1つ実行します。最初のコマンドが更新するのは、既定のCopilot向け配置先だけです。
310
+
277
311
  スキルを1つだけ更新する場合は、次のように実行します。
278
312
 
279
313
  ```bash
@@ -293,7 +327,7 @@ npx kotonoha install --target ~/.copilot/skills --force
293
327
 
294
328
  ```bash
295
329
  npx kotonoha --version
296
- git diff -- .github/skills
330
+ git diff -- .github/skills .claude/skills
297
331
  ```
298
332
 
299
333
  `--force`なしで`npx kotonoha install`を実行しても既存のスキルディレクトリは更新されず、不足しているスキルだけがインストールされます。
@@ -314,9 +348,9 @@ cp -r skills/obsidian-bases /path/to/your-repo/.github/skills/obsidian-bases
314
348
  cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
315
349
  ```
316
350
 
317
- ## Copilotに文書作成を依頼
351
+ ## Copilot・Claude Codeに文書作成を依頼
318
352
 
319
- Copilot CLIセッションで必要な文書種別を依頼すると、対応するスキルが自動的に呼び出されます。
353
+ CopilotまたはClaude Codeのセッションで必要な文書種別を依頼すると、対応するスキルが自動的に呼び出されます。
320
354
 
321
355
  - 「READMEを書いて」「この設計書をレビューして」「PR説明文を書いて」「この手順書を分かりやすくして」
322
356
  - 「要件定義書を作って」「承認済み要件からシステム設計書を書いて」「移行計画とRunbookを作って」
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # kotonoha
2
2
 
3
- kotonoha provides GitHub Copilot CLI skills for consulting analysis, technical
3
+ kotonoha provides skills for GitHub Copilot and Claude Code: consulting analysis, technical
4
4
  documents, Japanese prose, and presentation planning. `consulting-analyst`
5
5
  structures ambiguous problems into issue trees, hypotheses, evidence, option
6
6
  comparisons, and recommendations. `tech-writer` turns that reasoning into
@@ -251,7 +251,8 @@ handoff without inventing missing evidence.
251
251
 
252
252
  ### Prerequisites
253
253
 
254
- - GitHub Copilot CLI installed
254
+ - GitHub Copilot (CLI or a supported IDE agent mode) or Claude Code installed
255
+ - Node.js 18+ and npm for the installer
255
256
  - Python 3.9+ for tech-writer's structural lint
256
257
  - Python 3.10+ and `uv` for the edit-invariant gate and bundled GiNZA
257
258
  diagnostics such as prose lint,
@@ -268,6 +269,48 @@ npm install --save-dev kotonoha
268
269
  npx kotonoha install
269
270
  ```
270
271
 
272
+ `npm install` installs the package only; it does not write to your agent's
273
+ skill directories or prompt you to choose an agent.
274
+
275
+ ### Choose GitHub Copilot, Claude Code, or both
276
+
277
+ Agent selection requires kotonoha `0.5.0` or later. Older packages such as
278
+ `0.4.2` do not support `--agent`; update the npm package before using it.
279
+
280
+ ```bash
281
+ npx kotonoha install --agent copilot # .github/skills/
282
+ npx kotonoha install --agent claude # .claude/skills/
283
+ npx kotonoha install --agent all # both directories
284
+ ```
285
+
286
+ The default is `--agent copilot`, preserving existing installations.
287
+ `--agent` chooses the destination agent(s); `--skill` chooses the bundled
288
+ skill(s). Both agents receive the same Skill files, scripts and templates.
289
+ The installer does not install either agent application, configure credentials,
290
+ or prepare Python/Node runtime dependencies for individual skills.
291
+
292
+ You can combine agent and skill selection:
293
+
294
+ ```bash
295
+ npx kotonoha install --agent claude --skill tech-writer
296
+ npx kotonoha install --agent all --skill obsidian-bases
297
+ npx kotonoha install --agent all --force
298
+ ```
299
+
300
+ Existing-directory protection and `--force` apply separately in each selected
301
+ root. An explicitly selected skill that already exists in either root blocks
302
+ the operation before any Skill is copied. A later filesystem/copy error can
303
+ still leave earlier copies installed; this is not a transaction across roots.
304
+
305
+ For one agent, `--target` overrides its default root. Combining `--target`
306
+ with `--agent all` is rejected; use separate commands for custom roots.
307
+
308
+ Agent selection controls file placement, not isolation: Copilot can also
309
+ discover `.claude/skills`. Installing for Claude does not prevent Copilot from
310
+ loading those files. See the official
311
+ [Copilot Skill locations](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)
312
+ and [Claude Code Skills](https://code.claude.com/docs/en/skills).
313
+
271
314
  ### Install all bundled skills together
272
315
 
273
316
  `kotonoha install` installs every packaged skill that is not already present.
@@ -364,7 +407,8 @@ one skill, or use another supported skill directory:
364
407
  ```bash
365
408
  npx kotonoha install --skill consulting-analyst
366
409
  npx kotonoha install --skill presentation-planner
367
- npx kotonoha install --target .claude/skills
410
+ npx kotonoha install --agent claude
411
+ npx kotonoha install --agent claude --target ~/.claude/skills
368
412
  npx kotonoha install --target ~/.copilot/skills
369
413
  ```
370
414
 
@@ -411,8 +455,13 @@ skills. Reinstall all packaged skills after the package update:
411
455
 
412
456
  ```bash
413
457
  npx kotonoha install --force
458
+ npx kotonoha install --agent claude --force
459
+ npx kotonoha install --agent all --force
414
460
  ```
415
461
 
462
+ Choose the command matching the original `--agent`; these are alternatives.
463
+ The first updates only the default Copilot destination.
464
+
416
465
  To update only one skill:
417
466
 
418
467
  ```bash
@@ -434,7 +483,7 @@ committing them:
434
483
 
435
484
  ```bash
436
485
  npx kotonoha --version
437
- git diff -- .github/skills
486
+ git diff -- .github/skills .claude/skills
438
487
  ```
439
488
 
440
489
  Running `npx kotonoha install` without `--force` is safe but does not update
@@ -459,9 +508,9 @@ cp -r skills/obsidian-bases /path/to/your-repo/.github/skills/obsidian-bases
459
508
  cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
460
509
  ```
461
510
 
462
- ## Ask Copilot for the document you need
511
+ ## Ask Copilot or Claude Code for the document you need
463
512
 
464
- Just ask for the document type you need in a Copilot CLI session, and it's
513
+ Just ask for the document type you need in a Copilot or Claude Code session, and it's
465
514
  invoked automatically.
466
515
 
467
516
  - "Write a README", "Review this design doc", "Write the PR description",
package/bin/kotonoha.js CHANGED
@@ -4,13 +4,19 @@ const fs = require("node:fs");
4
4
  const path = require("node:path");
5
5
 
6
6
  const packageJson = require("../package.json");
7
+ const agentTargets = {
8
+ copilot: ".github/skills",
9
+ claude: ".claude/skills",
10
+ };
7
11
 
8
12
  function printUsage() {
9
13
  console.log(`Usage:
10
- kotonoha install [--target <directory>] [--skill <name|all>] [--force]
14
+ kotonoha install [--agent <copilot|claude|all>] [--target <directory>] [--skill <name|all>] [--force]
11
15
 
12
16
  Options:
13
- --target <directory> Skill directory root (default: .github/skills)
17
+ --agent <name|all> Agent to install for (default: copilot)
18
+ copilot: .github/skills; claude: .claude/skills; all: both
19
+ --target <directory> Override the skill root for one agent; cannot combine with --agent all
14
20
  --skill <name|all> Skill to install (default: all)
15
21
  --force Replace existing selected skill installations
16
22
  --help Show this help
@@ -23,7 +29,8 @@ function fail(message) {
23
29
  }
24
30
 
25
31
  function parseInstallOptions(args) {
26
- let target = ".github/skills";
32
+ let agent = "copilot";
33
+ let target;
27
34
  let skill = "all";
28
35
  let force = false;
29
36
 
@@ -35,6 +42,25 @@ function parseInstallOptions(args) {
35
42
  continue;
36
43
  }
37
44
 
45
+ if (argument === "--agent") {
46
+ const value = args[index + 1];
47
+ if (!value || value.startsWith("--")) {
48
+ throw new Error("--agent requires copilot, claude, or all");
49
+ }
50
+ agent = value;
51
+ index += 1;
52
+ continue;
53
+ }
54
+
55
+ if (argument.startsWith("--agent=")) {
56
+ const value = argument.slice("--agent=".length);
57
+ if (!value) {
58
+ throw new Error("--agent requires copilot, claude, or all");
59
+ }
60
+ agent = value;
61
+ continue;
62
+ }
63
+
38
64
  if (argument === "--target") {
39
65
  const value = args[index + 1];
40
66
  if (!value || value.startsWith("--")) {
@@ -76,7 +102,14 @@ function parseInstallOptions(args) {
76
102
  throw new Error(`unknown option: ${argument}`);
77
103
  }
78
104
 
79
- return { target, skill, force };
105
+ if (agent !== "all" && !Object.hasOwn(agentTargets, agent)) {
106
+ throw new Error(`unknown agent: ${agent}; available agents: copilot, claude, all`);
107
+ }
108
+ if (agent === "all" && target !== undefined) {
109
+ throw new Error("--target cannot be combined with --agent all; install each agent separately to use custom directories");
110
+ }
111
+
112
+ return { agent, target, skill, force };
80
113
  }
81
114
 
82
115
  function install(args) {
@@ -89,7 +122,10 @@ function install(args) {
89
122
  }
90
123
 
91
124
  const skillsRoot = path.resolve(__dirname, "..", "skills");
92
- const targetRoot = path.resolve(process.cwd(), options.target);
125
+ const agents = options.agent === "all" ? Object.keys(agentTargets) : [options.agent];
126
+ const targetRoots = agents.map((agent) =>
127
+ path.resolve(process.cwd(), options.target ?? agentTargets[agent]),
128
+ );
93
129
 
94
130
  if (!fs.existsSync(skillsRoot)) {
95
131
  fail(`packaged skills not found at ${skillsRoot}`);
@@ -118,9 +154,16 @@ function install(args) {
118
154
  }
119
155
  }
120
156
 
121
- const existingDestinations = selectedSkills
122
- .map((skill) => path.join(targetRoot, skill))
123
- .filter((destination) => fs.existsSync(destination));
157
+ const destinations = targetRoots.flatMap((targetRoot) =>
158
+ selectedSkills.map((skill) => ({
159
+ skill,
160
+ targetRoot,
161
+ destination: path.join(targetRoot, skill),
162
+ })),
163
+ );
164
+ const existingDestinations = destinations
165
+ .filter(({ destination }) => fs.existsSync(destination))
166
+ .map(({ destination }) => destination);
124
167
 
125
168
  if (existingDestinations.length > 0 && !options.force && !installAll) {
126
169
  fail(
@@ -129,10 +172,16 @@ function install(args) {
129
172
  return;
130
173
  }
131
174
 
132
- fs.mkdirSync(targetRoot, { recursive: true });
133
- for (const skill of selectedSkills) {
175
+ for (const targetRoot of targetRoots) {
176
+ try {
177
+ fs.mkdirSync(targetRoot, { recursive: true });
178
+ } catch (error) {
179
+ fail(`failed to prepare skill root ${targetRoot}: ${error.message}`);
180
+ return;
181
+ }
182
+ }
183
+ for (const { skill, targetRoot, destination } of destinations) {
134
184
  const source = path.join(skillsRoot, skill);
135
- const destination = path.join(targetRoot, skill);
136
185
  if (fs.existsSync(destination) && !options.force) {
137
186
  console.log(
138
187
  `Skipped ${skill} (${destination} already exists; use --force to replace)`,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kotonoha",
3
- "version": "0.4.2",
4
- "description": "GitHub Copilot CLI skills for consulting analysis, technical writing, Japanese prose, Obsidian vaults, Canvas and Bases, and PPTX planning.",
3
+ "version": "0.5.0",
4
+ "description": "Skills for GitHub Copilot and Claude Code: consulting analysis, technical writing, Japanese prose, Obsidian vaults, Canvas and Bases, and PPTX planning.",
5
5
  "license": "MIT",
6
6
  "author": "nahisaho",
7
7
  "repository": {
@@ -28,6 +28,7 @@
28
28
  "keywords": [
29
29
  "copilot",
30
30
  "github-copilot",
31
+ "claude-code",
31
32
  "skill",
32
33
  "technical-writing",
33
34
  "consulting",
@@ -14,6 +14,10 @@ replacement authority. Do not overwrite local customizations without consent.
14
14
  npx kotonoha install --skill obsidian-bases
15
15
  ```
16
16
 
17
+ This defaults to Copilot's `.github/skills`. Add `--agent claude` for Claude
18
+ Code's `.claude/skills`, or `--agent all` for both. Resolve `<bases-dir>` from
19
+ the installed Skill in the selected root.
20
+
17
21
  Installation copies authored assets and the canonical private lockfile, not
18
22
  `node_modules`. Before dependency preparation explain the local installation
19
23
  directory and possible package-registry traffic; get separate permission.
@@ -20,6 +20,8 @@ kotonoha install --skill obsidian-canvas
20
20
  kotonoha install --skill obsidian-vault
21
21
  ```
22
22
 
23
+ 上記はCopilot向けの導入例である。Claude Codeでは両コマンドに`--agent claude`、両方には`--agent all`を付ける。CanvasとVaultの兄弟Skillは、エージェントごとの同じルートに置く。
24
+
23
25
  添削にはjapanese-proseも必要である。通常の図の編集では必須にしない。
24
26
  初回の依存準備で通信する場合は、対象と目的を説明して別に許可を得る。
25
27
 
@@ -77,6 +77,8 @@ npx kotonoha install --skill tech-writer
77
77
  npx kotonoha install --skill japanese-prose
78
78
  ```
79
79
 
80
+ 上記はCopilot向けの導入例である。Claude Codeでは各コマンドに`--agent claude`、両方には`--agent all`を付け、必要な兄弟Skillも同じルートへ導入する。既定のルートはCopilotが`.github/skills`、Claude Codeが`.claude/skills`である。以下の起動例では、選択したルートにパスを合わせる。
81
+
80
82
  既存のjapanese-proseが古い場合は共通ゲートを利用できず、依存不足となる。
81
83
  既存Skillのローカル変更を確認・退避し、利用者が更新を許可してから、対象Skillだけを`--force`付きで再導入する。
82
84
 
@@ -1,39 +1,17 @@
1
1
  ---
2
2
  name: tech-writer
3
3
  description: >-
4
- Helps structure and polish technical documents: README, design docs/ADRs,
5
- API reference, PR descriptions/commit messages/issue reports, release
6
- notes/CHANGELOG, user manuals/how-to guides, code comments/docstrings,
7
- requirements definitions, system designs, test plans, operations runbooks,
8
- migration plans, security designs/threat models, technical proposals,
9
- Blueprints, White Papers, RFI/RFP procurement documents, Obsidian notes
10
- and templates, and Qiita/Zenn articles. Use for requests
11
- like "write a README", "draft a design doc", "define system requirements",
12
- "write a system design", "create a test plan", "write an operations
13
- runbook", "plan a migration", "create a threat model", "write a technical
14
- proposal", "create a Blueprint", "write a White Paper", "draft an RFI",
15
- "create an RFP", "write this PR description", "clean up my commit
16
- message", "make this how-to guide clearer", "write API docs", "summarize
17
- the release notes", "create an Obsidian note", "write a Zenn article",
18
- "write this up for Qiita", as
19
- well as
20
- Japanese-language equivalents (「READMEを書いて」「設計ドキュメントを作って」
21
- 「要件定義書を作って」「システム設計書を書いて」「テスト計画書を作って」
22
- 「運用設計書を書いて」「移行計画を作って」「脅威モデルを作って」
23
- 「技術提案書を書いて」「Blueprintを作って」「ホワイトペーパーを書いて」
24
- 「RFIを作って」「RFPを作って」「PRの説明文を書いて」
25
- 「コミットメッセージを整えて」「手順書を分かりやすくして」
26
- 「APIドキュメントを整備して」「リリースノートをまとめて」
27
- 「Obsidian用のノートを作って」「Obsidianのテンプレートを作って」
28
- 「Zennの記事を書いて」「Qiitaに投稿する記事を書いて」). Especially useful when
29
- the request is a bare goal without enough context to start (e.g. "I want
30
- to write a README" / "○○を書きたい"), since this skill drives a one
31
- question-at-a-time intake before writing. Supports both Japanese and
32
- English documents, with Japanese as the primary target. Owns document
33
- structure, information completeness, and reader fit; for living Japanese
34
- documents, it invokes kotonoha's original bundled `japanese-prose` skill,
35
- which uses GiNZA for sentence-level naturalness, word choice, rhythm, and
36
- repeated AI-like pattern analysis.
4
+ Structures, writes, reviews, and scores technical documents: README,
5
+ design docs/ADRs, API references, requirements, system designs, test plans,
6
+ operations runbooks, migration plans, security designs/threat models,
7
+ technical proposals, Blueprints, White Papers, RFI/RFP, PR descriptions,
8
+ commit messages, issue reports, release notes/CHANGELOG, manuals/how-to
9
+ guides, comments/docstrings, Obsidian notes/templates, and Qiita/Zenn
10
+ articles. Use when asked to create, improve, review, or score these
11
+ documents in Japanese or English, including a bare goal without context.
12
+ Asks one question at a time before writing. Owns structure, completeness,
13
+ traceability, and reader fit; delegates sentence-level Japanese wording
14
+ to kotonoha's original bundled japanese-prose skill with GiNZA diagnostics.
37
15
  license: MIT
38
16
  argument-hint: "[write|review|score] [doctype] <target file or request>"
39
17
  ---
@@ -333,8 +311,10 @@ Load `japanese-prose` through the host's skill-loading mechanism. When only
333
311
  installed skill files are exposed, resolve the sibling path
334
312
  `<tech-writer-dir>/../japanese-prose/SKILL.md` first, then check
335
313
  `.github/skills/japanese-prose/SKILL.md`,
314
+ `.claude/skills/japanese-prose/SKILL.md`,
336
315
  `.copilot/skills/japanese-prose/SKILL.md`, and
337
- `$HOME/.copilot/skills/japanese-prose/SKILL.md`. Load the discovered
316
+ `$HOME/.copilot/skills/japanese-prose/SKILL.md`, then
317
+ `$HOME/.claude/skills/japanese-prose/SKILL.md`. Load the discovered
338
318
  `SKILL.md` and follow its quick or full workflow. A standard
339
319
  `npx kotonoha install` installs this sibling skill automatically. Treat the
340
320
  pass as unavailable only when someone copied or installed tech-writer without
@@ -50,8 +50,10 @@ Never trade technical precision for conversational phrasing.
50
50
  skill-loading mechanism. If the host exposes only skill files, resolve
51
51
  `<tech-writer-dir>/../japanese-prose/SKILL.md` first, then check
52
52
  `.github/skills/japanese-prose/SKILL.md`,
53
+ `.claude/skills/japanese-prose/SKILL.md`,
53
54
  `.copilot/skills/japanese-prose/SKILL.md`, and
54
- `$HOME/.copilot/skills/japanese-prose/SKILL.md`; expand `$HOME`, load the
55
+ `$HOME/.copilot/skills/japanese-prose/SKILL.md`, then
56
+ `$HOME/.claude/skills/japanese-prose/SKILL.md`; expand `$HOME`, load the
55
57
  discovered skill,
56
58
  and follow its workflow.
57
59
  2. Ask the loaded skill to review and rewrite only the Japanese prose under