kotonoha 0.4.1 → 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 +50 -1
- package/README-ja.md +108 -18
- package/README.md +155 -23
- package/bin/kotonoha.js +64 -12
- package/package.json +7 -3
- package/skills/obsidian-bases/SKILL.md +140 -0
- package/skills/obsidian-bases/assets/templates/cards.base +8 -0
- package/skills/obsidian-bases/assets/templates/kanban.base +7 -0
- package/skills/obsidian-bases/assets/templates/list.base +8 -0
- package/skills/obsidian-bases/assets/templates/table.base +10 -0
- package/skills/obsidian-bases/references/execution-contract.json +246 -0
- package/skills/obsidian-bases/references/workflow.md +159 -0
- package/skills/obsidian-bases/scripts/check.cjs +690 -0
- package/skills/obsidian-bases/scripts/package-lock.json +104 -0
- package/skills/obsidian-bases/scripts/package.json +18 -0
- package/skills/obsidian-bases/scripts/verify.cjs +454 -0
- package/skills/obsidian-canvas/SKILL.md +134 -0
- package/skills/obsidian-canvas/assets/templates/comparison.canvas +11 -0
- package/skills/obsidian-canvas/assets/templates/mind-map.canvas +11 -0
- package/skills/obsidian-canvas/assets/templates/note-map.canvas +10 -0
- package/skills/obsidian-canvas/assets/templates/workflow.canvas +11 -0
- package/skills/obsidian-canvas/references/execution-contract.json +404 -0
- package/skills/obsidian-canvas/references/workflow.md +189 -0
- package/skills/obsidian-canvas/scripts/canvas.py +1479 -0
- package/skills/obsidian-canvas/scripts/canvas.py.lock +143 -0
- package/skills/obsidian-canvas/scripts/test_canvas.py +2047 -0
- package/skills/obsidian-canvas/scripts/test_canvas.py.lock +143 -0
- package/skills/obsidian-vault/SKILL.md +149 -93
- package/skills/obsidian-vault/references/workflow.md +61 -4
- package/skills/obsidian-vault/scripts/test_vault.py +76 -0
- package/skills/obsidian-vault/scripts/vault.py +118 -71
- package/skills/tech-writer/SKILL.md +26 -36
- package/skills/tech-writer/references/japanese-prose-optimization.md +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,53 @@ 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
|
+
|
|
31
|
+
## [0.4.2] - 2026-10-20
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- Add `obsidian-bases` for Table, Cards, List and Kanban configuration with direct
|
|
36
|
+
authorized host edits, four original templates and a read-only stdin checker.
|
|
37
|
+
Ship a private dependency lock, excluding dependency caches from installation.
|
|
38
|
+
- Add `obsidian-canvas` for scoped JSON Canvas diagnosis, four diagram
|
|
39
|
+
templates, explicit edits, layout proposals and approval-gated saves.
|
|
40
|
+
- Add per-string semantic reviews for selected Canvas text and labels,
|
|
41
|
+
persistent evidence/proposal markings, and original acceptance fixtures.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- Allow explicitly authorized host-tool creation and editing of Vault Markdown
|
|
46
|
+
notes without mandatory CLI plans. Keep CLI plan-approved saving optional,
|
|
47
|
+
preserve proofreading checks, and distinguish direct-edit failure guarantees.
|
|
48
|
+
- Use the user-specified directory, or the current directory by default, for
|
|
49
|
+
Vault direct editing. Modify the authorized target itself rather than a
|
|
50
|
+
session-state copy; retain Vault scope and auxiliary-copy consent checks.
|
|
51
|
+
- Rewrite the `obsidian-vault` Skill entrypoint in concise English to reduce
|
|
52
|
+
loading tokens while preserving its operating and safety rules.
|
|
53
|
+
- Share authorized storage and atomic commit primitives with `obsidian-vault`
|
|
54
|
+
while preserving its Markdown CLI contract. Existing unapplied plans must
|
|
55
|
+
be regenerated and approved after updating the implementation.
|
|
56
|
+
|
|
10
57
|
## [0.4.1] - 2026-10-19
|
|
11
58
|
|
|
12
59
|
### Added
|
|
@@ -163,4 +210,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
163
210
|
[0.1.0]: https://github.com/nahisaho/kotonoha/releases/tag/v0.1.0
|
|
164
211
|
[0.1.4]: https://github.com/nahisaho/kotonoha/compare/v0.1.2...v0.1.4
|
|
165
212
|
[0.1.5]: https://github.com/nahisaho/kotonoha/compare/v0.1.4...v0.1.5
|
|
166
|
-
[
|
|
213
|
+
[0.4.2]: https://github.com/nahisaho/kotonoha/compare/d76ef4a...v0.4.2
|
|
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
|
|
|
@@ -63,19 +63,60 @@ Obsidianでは、[`obsidian.md`](skills/tech-writer/assets/templates/obsidian.md
|
|
|
63
63
|
|
|
64
64
|
## Obsidian Vaultの操作
|
|
65
65
|
|
|
66
|
-
専用の`obsidian-vault`は、Vault
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
専用の`obsidian-vault`は、Vaultの規約確認、Markdownノートの直接作成・編集、関連ノート候補、内部リンク診断、日本語添削を担当します。
|
|
67
|
+
直接編集は`kotonoha@0.4.2`に含まれます。
|
|
68
|
+
対象と変更内容への許可を確認し、ホストのファイルツールで本文・プロパティ・タグ・リンクを変更できます。
|
|
69
|
+
直接編集には専用CLIの計画ファイル、Python、uvは不要です。Obsidianアプリ、MCP、プラグインにも依存しません。
|
|
70
|
+
文書構成にはtech-writer、日本語添削にはjapanese-proseを利用します。
|
|
71
|
+
|
|
72
|
+
Vault、読み取り範囲、モデルに渡す情報を利用者が明示し、指定外の内容を保持します。
|
|
73
|
+
保存前の確認を求められた場合は、差分承認まで保存しません。
|
|
74
|
+
直接編集の作業ディレクトリはユーザー指定を優先し、未指定なら依頼開始時のカレントディレクトリを使います。
|
|
75
|
+
相対保存先はそこから解決しますが、Vaultルート基準と明示したパスや絶対パスは維持します。
|
|
76
|
+
許可済みのVaultと範囲内にある対象自体を編集し、セッション領域のコピーで代替しません。
|
|
77
|
+
補助ファイルへの同意と適切な保存場所も別途必要です。
|
|
78
|
+
CLI計画保存モードも選べます。こちらはLinux、CPython 3.12、uvを使い、正確な差分と計画の承認後にapplyします。
|
|
79
|
+
両モードとも、添削時の記法保護とハッシュ付き意味レビューは省略しません。
|
|
72
80
|
未解決リンクを誤りと断定せず、自動修復もしません。
|
|
73
|
-
処理はオフライン・lock付きで起動します。依存関係の初回準備は別途の許可が必要です。
|
|
81
|
+
CLI処理はオフライン・lock付きで起動します。依存関係の初回準備は別途の許可が必要です。
|
|
74
82
|
依頼例、コマンド、コピーの保持と復旧は[操作ガイド](skills/obsidian-vault/references/workflow.md)を参照してください。
|
|
75
83
|
|
|
76
|
-
|
|
84
|
+
保存は必要な確認ができるローカル通常ファイルに限定し、シンボリックリンク、維持できない属性、複数ハードリンクを拒否します。
|
|
77
85
|
拡張属性付きファイルも保存非対応であり、SELinuxラベルなどの削除を回避策にしません。
|
|
78
|
-
|
|
86
|
+
直接編集はCLIの原子的確定、ルートロック、成功記録による再実行保護を利用しません。
|
|
87
|
+
保存後に読み戻して確認しますが、途中失敗や同時編集の完全な防止は保証しません。
|
|
88
|
+
LLMの誤判断を完全には防げず、ホストを隔離する機能でもありません。
|
|
89
|
+
|
|
90
|
+
## Obsidian Canvasの操作
|
|
91
|
+
|
|
92
|
+
専用の`obsidian-canvas`は、ノート関係図、アイデア整理、条件付きの手順、資料比較を扱います。
|
|
93
|
+
JSON Canvas 1.0の読み取り・診断・配置提案・編集に対応し、Obsidianの起動やURLへの通信は行いません。
|
|
94
|
+
この機能は`kotonoha@0.4.2`に含まれます。
|
|
95
|
+
|
|
96
|
+
同じ場所に共用API版1のobsidian-vaultを導入します。Canvasだけの選択導入では兄弟を自動更新しません。
|
|
97
|
+
添削ではjapanese-proseも必要です。初期対応はLinux、CPython 3.12、固定依存によるオフライン実行です。
|
|
98
|
+
既存の兄弟Skillが旧版なら、必要な更新を明示し、許可なく置き換えません。
|
|
99
|
+
|
|
100
|
+
保存前にID・属性ごとの変更、根拠や提案の文字による表示、正確な差分と計画を確認します。
|
|
101
|
+
日本語添削には変更文字列ごとのハッシュ付き意味レビューが必要です。
|
|
102
|
+
保存は利用者が明示承認した1Canvasだけに限定し、参照元ノートや添付を変更しません。
|
|
103
|
+
未知の構造は診断のみとし、実表示や任意の拡張、casefoldファイルシステムの検証済み対応は保証しません。
|
|
104
|
+
同意、コマンド、部分実施、保存結果が不明な場合の復旧は[Canvas操作ガイド](skills/obsidian-canvas/references/workflow.md)を参照してください。
|
|
105
|
+
|
|
106
|
+
## Obsidian Basesの操作
|
|
107
|
+
|
|
108
|
+
専用の`obsidian-bases`は、Table・Cards・List・Kanbanの`.base`を作成・診断・直接編集します。
|
|
109
|
+
この機能は`kotonoha@0.4.2`に含まれます。
|
|
110
|
+
作業ディレクトリはユーザー指定を優先し、未指定ならカレントディレクトリを使います。
|
|
111
|
+
許可済みの対象自体をホストツールで編集し、ノートのプロパティや埋め込みbaseブロックは変更しません。
|
|
112
|
+
|
|
113
|
+
読み取り専用のNode検査器へ正確な文字列を渡し、保存するバイト列と検査結果のハッシュを照合します。
|
|
114
|
+
Node 18以上と固定依存が必要です。依存の準備は別途許可を得たnpm ciで行い、検査中の自動取得はしません。
|
|
115
|
+
導入時には専用のロックファイルを含め、node_modulesはコピーしません。
|
|
116
|
+
式の実行やObsidian表示は確認せず、未知の機能・アプリ版不明・未完了の検査では保存を拒否します。
|
|
117
|
+
条件・数式の変更は正確な差分と保存の許可を確認し、条件なしでは全Vaultが表示されることを説明します。
|
|
118
|
+
直接編集にはCLIのロック・原子的確定・再実行記録はありません。
|
|
119
|
+
依存の準備、4種類の独自テンプレート、原文保持、失敗時の扱いは[Bases操作ガイド](skills/obsidian-bases/references/workflow.md)を参照してください。
|
|
79
120
|
|
|
80
121
|
## consulting-analystの機能
|
|
81
122
|
|
|
@@ -114,7 +155,8 @@ White Paper向けの分析を作成して
|
|
|
114
155
|
|
|
115
156
|
### 前提条件
|
|
116
157
|
|
|
117
|
-
- GitHub Copilot
|
|
158
|
+
- GitHub Copilot(CLIまたは対応IDEのエージェントモード)かClaude Codeがインストールされていること
|
|
159
|
+
- インストーラー用のNode.js 18以上とnpm
|
|
118
160
|
- tech-writerの構造lintを実行する場合はPython 3.9以上
|
|
119
161
|
- 同梱`japanese-prose`の文章lint、読解負荷分析、アウトライン抽出、用語検査、編集前後の不変条件検査を実行する場合はPython 3.10以上と`uv`。GiNZA、`ja_ginza`、spaCy、Markdown解析用の依存関係は、各スクリプトの初回実行時に`uv`が解決
|
|
120
162
|
|
|
@@ -127,22 +169,52 @@ npm install --save-dev kotonoha
|
|
|
127
169
|
npx kotonoha install
|
|
128
170
|
```
|
|
129
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
|
+
|
|
130
200
|
### 同梱スキルをまとめてインストール
|
|
131
201
|
|
|
132
|
-
`kotonoha install
|
|
202
|
+
`kotonoha install`は、まだ存在しない同梱スキルをすべてインストールします。`consulting-analyst`、`tech-writer`、`japanese-prose`、`obsidian-vault`、`obsidian-canvas`、`obsidian-bases`、`presentation-planner`を`.github/skills/`へインストールします。
|
|
133
203
|
|
|
134
204
|
```bash
|
|
135
205
|
npm install --save-dev kotonoha
|
|
136
206
|
npx kotonoha install --skill all
|
|
137
207
|
```
|
|
138
208
|
|
|
139
|
-
`--skill all`が既定値であるため、`npx kotonoha install`も同じ動作です。5
|
|
209
|
+
`--skill all`が既定値であるため、`npx kotonoha install`も同じ動作です。7つのスキルがインストールされたことを確認します。0.4.1はCanvasとBasesを含まない5つでした。
|
|
140
210
|
|
|
141
211
|
```bash
|
|
142
212
|
test -f .github/skills/consulting-analyst/SKILL.md
|
|
143
213
|
test -f .github/skills/tech-writer/SKILL.md
|
|
144
214
|
test -f .github/skills/japanese-prose/SKILL.md
|
|
145
215
|
test -f .github/skills/obsidian-vault/SKILL.md
|
|
216
|
+
test -f .github/skills/obsidian-canvas/SKILL.md
|
|
217
|
+
test -f .github/skills/obsidian-bases/SKILL.md
|
|
146
218
|
test -f .github/skills/presentation-planner/SKILL.md
|
|
147
219
|
```
|
|
148
220
|
|
|
@@ -183,13 +255,14 @@ README-ja.mdの日本語を自然で読みやすい表現に修正して
|
|
|
183
255
|
新しい日本語文書では、`このリポジトリの日本語READMEを作成して`のように依頼すると、`tech-writer`が下書きと構造レビューを行い、rubber-duck reviewの前にGiNZAベースの文章最適化を実行します。文章最適化を確実に指定する場合は、`<ファイル名>を技術文書として作成または修正し、GiNZAによる日本語表現最適化まで実施して`と指示します。
|
|
184
256
|
|
|
185
257
|
既定のインストール先は、現在のプロジェクトの`.github/skills/`です。
|
|
186
|
-
consulting-analyst、tech-writer、japanese-prose、obsidian-vault、presentation-plannerをそれぞれのサブディレクトリに配置します。
|
|
258
|
+
consulting-analyst、tech-writer、japanese-prose、obsidian-vault、obsidian-canvas、obsidian-bases、presentation-plannerをそれぞれのサブディレクトリに配置します。
|
|
187
259
|
スキルを1つだけインストールする場合や、対応している別のディレクトリを使用する場合は、次のように指定します。
|
|
188
260
|
|
|
189
261
|
```bash
|
|
190
262
|
npx kotonoha install --skill consulting-analyst
|
|
191
263
|
npx kotonoha install --skill presentation-planner
|
|
192
|
-
npx kotonoha install --
|
|
264
|
+
npx kotonoha install --agent claude
|
|
265
|
+
npx kotonoha install --agent claude --target ~/.claude/skills
|
|
193
266
|
npx kotonoha install --target ~/.copilot/skills
|
|
194
267
|
```
|
|
195
268
|
|
|
@@ -229,8 +302,12 @@ npmパッケージを更新しても、コピー済みのスキルは自動更
|
|
|
229
302
|
|
|
230
303
|
```bash
|
|
231
304
|
npx kotonoha install --force
|
|
305
|
+
npx kotonoha install --agent claude --force
|
|
306
|
+
npx kotonoha install --agent all --force
|
|
232
307
|
```
|
|
233
308
|
|
|
309
|
+
上記のうち、初回の導入と同じ`--agent`に対応するコマンドを1つ実行します。最初のコマンドが更新するのは、既定のCopilot向け配置先だけです。
|
|
310
|
+
|
|
234
311
|
スキルを1つだけ更新する場合は、次のように実行します。
|
|
235
312
|
|
|
236
313
|
```bash
|
|
@@ -250,7 +327,7 @@ npx kotonoha install --target ~/.copilot/skills --force
|
|
|
250
327
|
|
|
251
328
|
```bash
|
|
252
329
|
npx kotonoha --version
|
|
253
|
-
git diff -- .github/skills
|
|
330
|
+
git diff -- .github/skills .claude/skills
|
|
254
331
|
```
|
|
255
332
|
|
|
256
333
|
`--force`なしで`npx kotonoha install`を実行しても既存のスキルディレクトリは更新されず、不足しているスキルだけがインストールされます。
|
|
@@ -265,12 +342,15 @@ git diff -- .github/skills
|
|
|
265
342
|
cp -r skills/consulting-analyst /path/to/your-repo/.github/skills/consulting-analyst
|
|
266
343
|
cp -r skills/tech-writer /path/to/your-repo/.github/skills/tech-writer
|
|
267
344
|
cp -r skills/japanese-prose /path/to/your-repo/.github/skills/japanese-prose
|
|
345
|
+
cp -r skills/obsidian-vault /path/to/your-repo/.github/skills/obsidian-vault
|
|
346
|
+
cp -r skills/obsidian-canvas /path/to/your-repo/.github/skills/obsidian-canvas
|
|
347
|
+
cp -r skills/obsidian-bases /path/to/your-repo/.github/skills/obsidian-bases
|
|
268
348
|
cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
|
|
269
349
|
```
|
|
270
350
|
|
|
271
|
-
## Copilotに文書作成を依頼
|
|
351
|
+
## Copilot・Claude Codeに文書作成を依頼
|
|
272
352
|
|
|
273
|
-
Copilot
|
|
353
|
+
CopilotまたはClaude Codeのセッションで必要な文書種別を依頼すると、対応するスキルが自動的に呼び出されます。
|
|
274
354
|
|
|
275
355
|
- 「READMEを書いて」「この設計書をレビューして」「PR説明文を書いて」「この手順書を分かりやすくして」
|
|
276
356
|
- 「要件定義書を作って」「承認済み要件からシステム設計書を書いて」「移行計画とRunbookを作って」
|
|
@@ -311,10 +391,20 @@ skills/presentation-planner/ # シナリオ、デザイン仕様、PPTX引き継
|
|
|
311
391
|
references/ # 責任境界、シナリオ・デザインガイド、カスタマイズ、引き継ぎ契約
|
|
312
392
|
assets/scenario-templates/ # 経営判断、技術説明、データ報告向けシナリオ
|
|
313
393
|
assets/design-templates/ # 経営提案、技術説明、データ報告向けYAMLデザイン
|
|
394
|
+
skills/obsidian-vault/ # 許可範囲のMarkdown操作と共用保存API
|
|
395
|
+
skills/obsidian-canvas/ # JSON Canvas診断、配置、承認付き保存
|
|
396
|
+
scripts/ # 固定依存のオフラインCLIと独自受入データの試験
|
|
397
|
+
assets/templates/ # 関係図、アイデア、手順、比較の構成例
|
|
398
|
+
skills/obsidian-bases/ # Basesの直接編集と読み取り専用検査
|
|
399
|
+
scripts/ # 標準入力の検査器、専用依存のlock、作業コピー用の試験
|
|
400
|
+
assets/templates/ # Table、Cards、List、Kanban
|
|
314
401
|
.github/skills/tech-writer # Copilot CLIが読み込むskills/tech-writerへのシンボリックリンク
|
|
315
402
|
.github/skills/consulting-analyst
|
|
316
403
|
.github/skills/japanese-prose
|
|
317
404
|
.github/skills/presentation-planner
|
|
405
|
+
.github/skills/obsidian-vault
|
|
406
|
+
.github/skills/obsidian-canvas
|
|
407
|
+
.github/skills/obsidian-bases
|
|
318
408
|
```
|
|
319
409
|
|
|
320
410
|
## 既知の制約
|
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
|
|
@@ -10,7 +10,12 @@ Japanese wording with GiNZA-based diagnostics. `presentation-planner` turns
|
|
|
10
10
|
source material into a reusable presentation scenario, slide outline, design
|
|
11
11
|
specification, and handoff for a dedicated PPTX creation skill.
|
|
12
12
|
The `obsidian-vault` skill applies scoped Vault conventions and link diagnostics
|
|
13
|
-
and
|
|
13
|
+
and directly creates or edits authorized Markdown notes using host file tools,
|
|
14
|
+
with optional CLI plan-approved saving. Direct editing is included in 0.4.2.
|
|
15
|
+
The `obsidian-canvas` skill adds scoped diagram diagnosis,
|
|
16
|
+
layout and approval-gated Canvas edits in 0.4.2.
|
|
17
|
+
The `obsidian-bases` skill adds direct `.base` configuration editing
|
|
18
|
+
and a read-only static checker for Table, Cards, List and Kanban.
|
|
14
19
|
|
|
15
20
|
[English](./README.md) | [日本語](./README-ja.md)
|
|
16
21
|
|
|
@@ -119,24 +124,84 @@ for setup, placeholder handling, and limitations.
|
|
|
119
124
|
|
|
120
125
|
## Working with an Obsidian Vault
|
|
121
126
|
|
|
122
|
-
Use the dedicated `obsidian-vault` skill for Vault conventions,
|
|
123
|
-
related-note proposals, internal-link diagnosis and Japanese
|
|
124
|
-
|
|
125
|
-
Obsidian, MCP or plugins.
|
|
126
|
-
|
|
127
|
+
Use the dedicated `obsidian-vault` skill for Vault conventions, direct Markdown
|
|
128
|
+
creation and editing, related-note proposals, internal-link diagnosis and Japanese
|
|
129
|
+
proofreading. The direct-edit workflow uses host file tools without
|
|
130
|
+
requiring Python, uv, Obsidian, MCP or plugins. Use `tech-writer` for document
|
|
131
|
+
structure and `japanese-prose` for proofreading.
|
|
127
132
|
|
|
128
133
|
The user explicitly selects the Vault, read scopes and model-context consent.
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
Direct editing requires authorization for the exact target and changes, preserves
|
|
135
|
+
unspecified content, refuses unsafe paths, and reads back the saved file.
|
|
136
|
+
A request for a proposal or pre-save approval never authorizes a write.
|
|
137
|
+
Direct edits use the user-specified working directory, or the current directory
|
|
138
|
+
at request start by default. Relative targets resolve there unless explicitly
|
|
139
|
+
Vault-relative; absolute targets stay unchanged. Edit the authorized target
|
|
140
|
+
itself, not a session-state copy. This does not broaden the permitted Vault scope;
|
|
141
|
+
auxiliary copies still need separate consent and a suitable location.
|
|
142
|
+
Protected syntax checks and a hash-bound semantic review remain required for
|
|
143
|
+
Japanese proofreading in either mode.
|
|
131
144
|
Unresolved links are observations, not automatic repair requests.
|
|
132
|
-
|
|
133
|
-
|
|
145
|
+
|
|
146
|
+
Optional CLI plan-approved saving remains available for creation and proofreading,
|
|
147
|
+
not general content edits. Only `apply` writes in this mode, after exact plan
|
|
148
|
+
approval. It requires Linux, CPython 3.12 and uv, using
|
|
149
|
+
`uv run --offline --locked --python 3.12`; dependency bootstrap needs separate
|
|
150
|
+
consent. Direct edits do not use the CLI's root lock, atomic commit or receipt-based
|
|
151
|
+
replay protection, and must not be an automatic fallback from CLI failures.
|
|
152
|
+
See the [Japanese workflow guide](skills/obsidian-vault/references/workflow.md)
|
|
134
153
|
for requests, command examples, data retention and recovery.
|
|
135
154
|
|
|
136
|
-
Saving
|
|
137
|
-
symlinks,
|
|
138
|
-
|
|
139
|
-
|
|
155
|
+
Saving requires verifiable local regular files and preserved ownership/modes;
|
|
156
|
+
symlinks, multiple hard links and unsupported attributes are refused.
|
|
157
|
+
CLI saving additionally requires a verified filesystem and refuses all xattrs,
|
|
158
|
+
including SELinux labels. Never remove attributes to bypass a refusal.
|
|
159
|
+
Direct-edit failure and concurrency limitations are disclosed before saving;
|
|
160
|
+
neither mode eliminates post-check external edits or LLM mistakes.
|
|
161
|
+
The skill is not a host sandbox.
|
|
162
|
+
|
|
163
|
+
## Working with Obsidian Canvas
|
|
164
|
+
|
|
165
|
+
The dedicated `obsidian-canvas` skill handles note maps, mind maps, conditional
|
|
166
|
+
workflows and evidence comparisons in JSON Canvas 1.0. It reads, diagnoses,
|
|
167
|
+
lays out and edits `.canvas` files without opening Obsidian or fetching URLs.
|
|
168
|
+
This feature is included in `kotonoha@0.4.2`.
|
|
169
|
+
|
|
170
|
+
Install `obsidian-vault` alongside it with storage API version 1. A selective
|
|
171
|
+
Canvas install does not silently add or replace siblings; an old backend
|
|
172
|
+
reports a missing dependency. Japanese proofreading additionally requires
|
|
173
|
+
`japanese-prose`. Runtime commands are locked and offline on Linux/Python 3.12.
|
|
174
|
+
|
|
175
|
+
Every changed plan binds exact content, authorized ID/field changes, persisted
|
|
176
|
+
evidence/proposal markings and the review. Selected text and labels require
|
|
177
|
+
per-string semantic reviews when proofreading. Only an explicitly approved
|
|
178
|
+
plan can save a single Canvas; source notes and attachments are unchanged.
|
|
179
|
+
Unknown structure is diagnosis-only. Rendering, arbitrary Obsidian extensions
|
|
180
|
+
and casefold filesystem behavior are not claimed as verified.
|
|
181
|
+
See the [Japanese Canvas workflow](skills/obsidian-canvas/references/workflow.md)
|
|
182
|
+
for scope, copying consent, partial results and uncertain-save recovery.
|
|
183
|
+
|
|
184
|
+
## Working with Obsidian Bases
|
|
185
|
+
|
|
186
|
+
`obsidian-bases` creates, reads, diagnoses and directly edits standalone `.base`
|
|
187
|
+
files for Table, Cards, List and Kanban. It does not change source notes,
|
|
188
|
+
Markdown properties or embedded base blocks. This feature is included in
|
|
189
|
+
`kotonoha@0.4.2`.
|
|
190
|
+
|
|
191
|
+
Authorized host tools save the exact target in the user-selected working
|
|
192
|
+
directory (cwd by default). A Node >=18 stdin checker only validates text:
|
|
193
|
+
no Vault paths, saving, expression evaluation or network. Prepare its private
|
|
194
|
+
fixed dependencies explicitly with separate consent, using
|
|
195
|
+
`npm ci --prefix <bases-dir>/scripts --ignore-scripts --no-audit --no-fund`;
|
|
196
|
+
add `--offline` for a separately selected cache-only preparation.
|
|
197
|
+
Installation ships the private lockfile but excludes dependency caches.
|
|
198
|
+
|
|
199
|
+
Every filter/formulas change needs exact content/save authority; unfiltered
|
|
200
|
+
display covers the whole Vault when opened. Unknown features, application version
|
|
201
|
+
or incomplete checks block saving. Direct edits have no CLI lock, atomic commit
|
|
202
|
+
or receipt protection. Rendering, real expression results and arbitrary host
|
|
203
|
+
enforcement remain unverified. See the [Bases workflow](skills/obsidian-bases/references/workflow.md)
|
|
204
|
+
for exact-byte preservation, four original templates and failure handling.
|
|
140
205
|
|
|
141
206
|
## What consulting-analyst does
|
|
142
207
|
|
|
@@ -186,7 +251,8 @@ handoff without inventing missing evidence.
|
|
|
186
251
|
|
|
187
252
|
### Prerequisites
|
|
188
253
|
|
|
189
|
-
- 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
|
|
190
256
|
- Python 3.9+ for tech-writer's structural lint
|
|
191
257
|
- Python 3.10+ and `uv` for the edit-invariant gate and bundled GiNZA
|
|
192
258
|
diagnostics such as prose lint,
|
|
@@ -203,11 +269,54 @@ npm install --save-dev kotonoha
|
|
|
203
269
|
npx kotonoha install
|
|
204
270
|
```
|
|
205
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
|
+
|
|
206
314
|
### Install all bundled skills together
|
|
207
315
|
|
|
208
316
|
`kotonoha install` installs every packaged skill that is not already present.
|
|
209
317
|
The following commands install `consulting-analyst`, `tech-writer`,
|
|
210
|
-
`japanese-prose`, `obsidian-vault`, and `presentation-planner`
|
|
318
|
+
`japanese-prose`, `obsidian-vault`, `obsidian-canvas`, `obsidian-bases`, and `presentation-planner`
|
|
319
|
+
into `.github/skills/`:
|
|
211
320
|
|
|
212
321
|
```bash
|
|
213
322
|
npm install --save-dev kotonoha
|
|
@@ -215,13 +324,15 @@ npx kotonoha install --skill all
|
|
|
215
324
|
```
|
|
216
325
|
|
|
217
326
|
`--skill all` is the default, so `npx kotonoha install` has the same behavior.
|
|
218
|
-
Confirm that all
|
|
327
|
+
Confirm that all seven skills were installed (0.4.1 had five):
|
|
219
328
|
|
|
220
329
|
```bash
|
|
221
330
|
test -f .github/skills/consulting-analyst/SKILL.md
|
|
222
331
|
test -f .github/skills/tech-writer/SKILL.md
|
|
223
332
|
test -f .github/skills/japanese-prose/SKILL.md
|
|
224
333
|
test -f .github/skills/obsidian-vault/SKILL.md
|
|
334
|
+
test -f .github/skills/obsidian-canvas/SKILL.md
|
|
335
|
+
test -f .github/skills/obsidian-bases/SKILL.md
|
|
225
336
|
test -f .github/skills/presentation-planner/SKILL.md
|
|
226
337
|
```
|
|
227
338
|
|
|
@@ -287,14 +398,17 @@ pass unambiguously, ask: `Create or revise <file> as a technical document and
|
|
|
287
398
|
run GiNZA-based Japanese prose optimization.`
|
|
288
399
|
|
|
289
400
|
The default destinations are `.github/skills/consulting-analyst`,
|
|
290
|
-
`.github/skills/tech-writer`, `.github/skills/japanese-prose`,
|
|
401
|
+
`.github/skills/tech-writer`, `.github/skills/japanese-prose`,
|
|
402
|
+
`.github/skills/obsidian-vault`, `.github/skills/obsidian-canvas`,
|
|
403
|
+
`.github/skills/obsidian-bases`, and
|
|
291
404
|
`.github/skills/presentation-planner` in the current project. To install only
|
|
292
405
|
one skill, or use another supported skill directory:
|
|
293
406
|
|
|
294
407
|
```bash
|
|
295
408
|
npx kotonoha install --skill consulting-analyst
|
|
296
409
|
npx kotonoha install --skill presentation-planner
|
|
297
|
-
npx kotonoha install --
|
|
410
|
+
npx kotonoha install --agent claude
|
|
411
|
+
npx kotonoha install --agent claude --target ~/.claude/skills
|
|
298
412
|
npx kotonoha install --target ~/.copilot/skills
|
|
299
413
|
```
|
|
300
414
|
|
|
@@ -341,8 +455,13 @@ skills. Reinstall all packaged skills after the package update:
|
|
|
341
455
|
|
|
342
456
|
```bash
|
|
343
457
|
npx kotonoha install --force
|
|
458
|
+
npx kotonoha install --agent claude --force
|
|
459
|
+
npx kotonoha install --agent all --force
|
|
344
460
|
```
|
|
345
461
|
|
|
462
|
+
Choose the command matching the original `--agent`; these are alternatives.
|
|
463
|
+
The first updates only the default Copilot destination.
|
|
464
|
+
|
|
346
465
|
To update only one skill:
|
|
347
466
|
|
|
348
467
|
```bash
|
|
@@ -364,7 +483,7 @@ committing them:
|
|
|
364
483
|
|
|
365
484
|
```bash
|
|
366
485
|
npx kotonoha --version
|
|
367
|
-
git diff -- .github/skills
|
|
486
|
+
git diff -- .github/skills .claude/skills
|
|
368
487
|
```
|
|
369
488
|
|
|
370
489
|
Running `npx kotonoha install` without `--force` is safe but does not update
|
|
@@ -383,12 +502,15 @@ into that repository's `.github/skills/`, `.claude/skills/`, or your global
|
|
|
383
502
|
cp -r skills/consulting-analyst /path/to/your-repo/.github/skills/consulting-analyst
|
|
384
503
|
cp -r skills/tech-writer /path/to/your-repo/.github/skills/tech-writer
|
|
385
504
|
cp -r skills/japanese-prose /path/to/your-repo/.github/skills/japanese-prose
|
|
505
|
+
cp -r skills/obsidian-vault /path/to/your-repo/.github/skills/obsidian-vault
|
|
506
|
+
cp -r skills/obsidian-canvas /path/to/your-repo/.github/skills/obsidian-canvas
|
|
507
|
+
cp -r skills/obsidian-bases /path/to/your-repo/.github/skills/obsidian-bases
|
|
386
508
|
cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
|
|
387
509
|
```
|
|
388
510
|
|
|
389
|
-
## Ask Copilot for the document you need
|
|
511
|
+
## Ask Copilot or Claude Code for the document you need
|
|
390
512
|
|
|
391
|
-
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
|
|
392
514
|
invoked automatically.
|
|
393
515
|
|
|
394
516
|
- "Write a README", "Review this design doc", "Write the PR description",
|
|
@@ -430,10 +552,20 @@ skills/presentation-planner/ # storyline, design-spec, and PPTX handoff skill
|
|
|
430
552
|
references/ # boundary, scenario/design guidance, customization, handoff contract
|
|
431
553
|
assets/scenario-templates/ # executive, technical, and data-report narrative scenarios
|
|
432
554
|
assets/design-templates/ # executive, technical, and data-report YAML designs
|
|
555
|
+
skills/obsidian-vault/ # scoped Markdown notes and shared storage API
|
|
556
|
+
skills/obsidian-canvas/ # JSON Canvas diagnosis, layouts, and approved saves
|
|
557
|
+
scripts/ # locked offline CLI and original-fixture tests
|
|
558
|
+
assets/templates/ # note map, mind map, workflow, comparison
|
|
559
|
+
skills/obsidian-bases/ # direct Bases configuration and read-only validation
|
|
560
|
+
scripts/ # stdin checker, private dependency lock, checkout-only tests
|
|
561
|
+
assets/templates/ # Table, Cards, List, Kanban
|
|
433
562
|
.github/skills/tech-writer # symlink to skills/tech-writer (where Copilot CLI reads it)
|
|
434
563
|
.github/skills/consulting-analyst
|
|
435
564
|
.github/skills/japanese-prose
|
|
436
565
|
.github/skills/presentation-planner
|
|
566
|
+
.github/skills/obsidian-vault
|
|
567
|
+
.github/skills/obsidian-canvas
|
|
568
|
+
.github/skills/obsidian-bases
|
|
437
569
|
```
|
|
438
570
|
|
|
439
571
|
## Known limitations
|