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 +23 -1
- package/README-ja.md +40 -6
- package/README.md +55 -6
- package/bin/kotonoha.js +60 -11
- package/package.json +3 -2
- package/skills/obsidian-bases/references/workflow.md +4 -0
- package/skills/obsidian-canvas/references/workflow.md +2 -0
- package/skills/obsidian-vault/references/workflow.md +2 -0
- package/skills/tech-writer/SKILL.md +14 -34
- package/skills/tech-writer/references/japanese-prose-optimization.md +3 -1
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
|
-
[
|
|
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
|
|
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
|
|
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 --
|
|
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
|
|
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
|
|
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 --
|
|
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
|
|
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
|
-
--
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
122
|
-
.map((skill) =>
|
|
123
|
-
|
|
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
|
-
|
|
133
|
-
|
|
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
|
-
"description": "GitHub Copilot
|
|
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
|
-
|
|
5
|
-
API
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
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
|
|
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
|