kotonoha 0.5.2 → 0.5.4
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 +53 -1
- package/README-ja.md +105 -15
- package/README.md +143 -32
- package/package.json +2 -2
- package/skills/defuddle/SKILL.md +91 -0
- package/skills/knap/SKILL.md +94 -0
- package/skills/knap/assets/examples/source.json +5 -0
- package/skills/knap/assets/examples/sources.csv +3 -0
- package/skills/knap/assets/templates/source-note.knap.md +7 -0
- package/skills/knap/references/rendering.md +104 -0
- package/skills/obsidian-bases/SKILL.md +9 -0
- package/skills/obsidian-bases/references/expressions.md +113 -0
- package/skills/obsidian-canvas/SKILL.md +12 -1
- package/skills/obsidian-canvas/references/json-canvas.md +85 -0
- package/skills/obsidian-cli/SKILL.md +95 -0
- package/skills/obsidian-cli/references/commands.md +101 -0
- package/skills/obsidian-markdown/SKILL.md +107 -0
- package/skills/obsidian-markdown/references/syntax.md +170 -0
- package/skills/obsidian-vault/SKILL.md +113 -53
- package/skills/obsidian-vault/references/workflow.md +82 -50
- package/skills/tech-writer/SKILL.md +14 -7
- package/skills/tech-writer/references/doctypes/obsidian.md +12 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,56 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.5.4] - 2026-11-05
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Allow normal Markdown host direct saves on confirmed local Windows drives
|
|
15
|
+
mounted through WSL (`drvfs`, `9p` or `v9fs`), without a filesystem-name-only
|
|
16
|
+
refusal. Require in-place updates preserving the existing Windows file object,
|
|
17
|
+
path/identity checks and exact readback. Do not silently redirect rejected
|
|
18
|
+
Vault saves to `/tmp`. Keep Python CLI, Canvas and Bases storage policies unchanged.
|
|
19
|
+
|
|
20
|
+
## [0.5.3] - 2026-11-05
|
|
21
|
+
|
|
22
|
+
### Breaking changes
|
|
23
|
+
|
|
24
|
+
- Reduce `obsidian-vault` to scoped local reads, static validation and exact
|
|
25
|
+
candidate saving. Remove standalone authoring, convention inference,
|
|
26
|
+
related-note recommendations, link analysis and proofreading orchestration.
|
|
27
|
+
Route note content to `obsidian-markdown`, Japanese wording to
|
|
28
|
+
`japanese-prose` and explicitly selected live-app operations to `obsidian-cli`.
|
|
29
|
+
Retain the v1 backend request format, validation/save gates and Canvas storage
|
|
30
|
+
API version 1; legacy intent labels do not restore the removed workflows.
|
|
31
|
+
See the [migration and storage guide](skills/obsidian-vault/references/workflow.md).
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- Add `obsidian-markdown` for note authoring/editing, Obsidian-specific syntax,
|
|
36
|
+
Japanese proofreading coordination and protected local-storage handoffs.
|
|
37
|
+
- Add `obsidian-cli` for explicitly selected official application commands,
|
|
38
|
+
scoped note/task/property operations and authorized development diagnostics.
|
|
39
|
+
- Add `defuddle` for optional web/HTML-to-Markdown or JSON extraction, with
|
|
40
|
+
separate network consent and reviewed handoffs instead of direct Vault writes.
|
|
41
|
+
- Add `knap` for optional JSON/CSV template rendering, batch previews and
|
|
42
|
+
Vault-external staging, with original templates and example data.
|
|
43
|
+
- Add JSON Canvas field and Bases expression/view references, preserving the
|
|
44
|
+
existing validation subsets and save workflows.
|
|
45
|
+
- Expose the Obsidian suite through source-checkout Skill links and verify
|
|
46
|
+
selective installation plus npm-tarball delivery for both hosts.
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- Promote `0.5.3-dev.0` to stable `0.5.3`.
|
|
51
|
+
- Route all six capability families from `kepano/obsidian-skills` through
|
|
52
|
+
eleven bundled kotonoha Skills without introducing a second Canvas writer.
|
|
53
|
+
External tools remain optional and are not installed by kotonoha.
|
|
54
|
+
- Document npm and source-checkout installation for all eleven Skills.
|
|
55
|
+
Keep the Node.js >=18 installer requirement; the optional Knap CLI needs >=20.
|
|
56
|
+
- Preserve existing Vault, Canvas and Bases save workflows, one-note handoffs
|
|
57
|
+
and the prohibition on session-storage outputs. Official app commands require
|
|
58
|
+
separate authority and never bypass a refused storage operation.
|
|
59
|
+
|
|
10
60
|
## [0.5.1] - 2026-10-21
|
|
11
61
|
|
|
12
62
|
### Fixed
|
|
@@ -220,4 +270,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
220
270
|
[0.1.5]: https://github.com/nahisaho/kotonoha/compare/v0.1.4...v0.1.5
|
|
221
271
|
[0.4.2]: https://github.com/nahisaho/kotonoha/compare/d76ef4a...v0.4.2
|
|
222
272
|
[0.5.0]: https://github.com/nahisaho/kotonoha/compare/v0.4.2...v0.5.0
|
|
223
|
-
[
|
|
273
|
+
[0.5.3]: https://github.com/nahisaho/kotonoha/compare/d665884...v0.5.3
|
|
274
|
+
[0.5.4]: https://github.com/nahisaho/kotonoha/compare/v0.5.3...v0.5.4
|
|
275
|
+
[Unreleased]: https://github.com/nahisaho/kotonoha/compare/v0.5.4...HEAD
|
package/README-ja.md
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# kotonoha
|
|
2
2
|
|
|
3
|
-
kotonohaは、GitHub CopilotとClaude Code
|
|
3
|
+
kotonohaは、GitHub CopilotとClaude Code向けのスキルを提供します。曖昧な課題の構造化から、文書化、日本語表現の改善、Obsidianでの知識管理、プレゼンテーション設計までを支援します。
|
|
4
4
|
|
|
5
5
|
`consulting-analyst`は、課題を論点、仮説、証拠、選択肢、提言へ構造化します。分析結果を受け取った`tech-writer`は、README、設計文書、Blueprint、White Paper、提案書などへ内容を落とし込みます。日本語の表現品質は`japanese-prose`がGiNZAベースの診断で改善します。プレゼンテーションが必要な場合は、`presentation-planner`がシナリオ、スライド構成、デザイン仕様、PPTX作成スキル向けの引き継ぎ情報を生成します。
|
|
6
6
|
|
|
7
|
+
Obsidian向けには、Markdown記法、許可されたVault内のノート操作、JSON Canvas、Bases、公式アプリCLIを扱います。DefuddleによるWeb・HTML本文の抽出と、KnapによるJSON・CSVからのテンプレート生成にも対応します。操作ごとに、参照範囲・依存関係・保存の許可を確認します。
|
|
8
|
+
|
|
9
|
+
バージョンは **0.5.4** です(2026-11-05更新)。`obsidian-markdown`、`obsidian-cli`、`defuddle`、`knap`を含む11のスキルを同梱しています。npmパッケージを使うか、[ソースからスキルを導入する手順](#このチェックアウトからスキルを導入)を参照してください。
|
|
10
|
+
|
|
7
11
|
[English](./README.md) | [日本語](./README-ja.md)
|
|
8
12
|
|
|
9
13
|
## kotonoha(言の葉)という名前
|
|
@@ -30,6 +34,8 @@ kotonohaは文書構造と技術的な不変条件を固定してから日本語
|
|
|
30
34
|
- `scripts/lint.py`による構造検査。見出しレベルの飛び、言語指定のないコードブロック、未解決のプレースホルダー、不審なリンク、文章に隣接した強調記号を検出
|
|
31
35
|
- コミットメッセージ本文とコードコメント・docstringを除き、すべての文書種別でMarkdownを標準形式として使用
|
|
32
36
|
- 日本語を主な対象言語とし、英語文書にも対応
|
|
37
|
+
- Obsidianの記法説明、許可範囲のVaultノート操作、Canvas図、Bases設定の編集
|
|
38
|
+
- 明示的に選択したObsidianアプリ操作、Defuddleによる本文抽出、Knapによるデータからのノート生成。通信や保存への許可は個別に確認
|
|
33
39
|
|
|
34
40
|
## 対応している文書
|
|
35
41
|
|
|
@@ -63,11 +69,15 @@ Obsidianでは、[`obsidian.md`](skills/tech-writer/assets/templates/obsidian.md
|
|
|
63
69
|
|
|
64
70
|
## Obsidian Vaultの操作
|
|
65
71
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
Markdownノートとテンプレートの作成・編集は`obsidian-markdown`が担当します。
|
|
73
|
+
文書構成にはtech-writer、日本語の校正にはjapanese-proseを利用します。
|
|
74
|
+
`obsidian-vault`は、許可範囲のローカル読み取り・静的検証・確定済み候補の保存だけを担う共用基盤に縮小しました。
|
|
75
|
+
直接保存はホストのファイルツールを使うため、Python、uv、専用CLIの計画ファイルは不要です。
|
|
76
|
+
Obsidianアプリ、MCP、プラグインにも依存しません。
|
|
77
|
+
|
|
78
|
+
規約の推定、関連ノートの推薦、独立したリンク分析、校正作業の指揮はobsidian-vaultから削除しました。
|
|
79
|
+
アプリ上の検索・リンク確認には、明示的に選択したobsidian-cliを使います。これは編集上の推薦を代行する機能ではありません。
|
|
80
|
+
静的検証の観測値・リンク判定、v1依頼形式、Canvas用の共用保存API版1は互換性のために維持しますが、削除した上位ワークフローは提供しません。
|
|
71
81
|
|
|
72
82
|
Vault、読み取り範囲、モデルに渡す情報を利用者が明示し、指定外の内容を保持します。
|
|
73
83
|
保存前の確認を求められた場合は、差分承認まで保存しません。
|
|
@@ -75,7 +85,7 @@ Vault、読み取り範囲、モデルに渡す情報を利用者が明示し、
|
|
|
75
85
|
相対保存先はそこから解決しますが、Vaultルート基準と明示したパスや絶対パスは維持します。
|
|
76
86
|
許可済みのVaultと範囲内にある対象自体を編集し、セッション領域のコピーで代替しません。
|
|
77
87
|
補助ファイルへの同意と適切な保存場所も別途必要です。
|
|
78
|
-
Obsidian
|
|
88
|
+
Obsidian関連の各ワークフローは、成果物だけでなく原文・候補・診断・レビュー・計画・一時ファイルもセッション領域へ保存しません。
|
|
79
89
|
指定場所の実体がセッション領域なら、書き込み前に別の場所を確認し、委譲先にも同じ制約を引き継ぎます。
|
|
80
90
|
CLIの作業領域には引き続きVault外の場所が必要です。セッション領域ではない場所への同意を得て使用します。
|
|
81
91
|
この制約はスキルが保存するファイルに適用し、ホストが管理する会話ログは制御しません。
|
|
@@ -85,8 +95,14 @@ CLI計画保存モードも選べます。こちらはLinux、CPython 3.12、uv
|
|
|
85
95
|
CLI処理はオフライン・lock付きで起動します。依存関係の初回準備は別途の許可が必要です。
|
|
86
96
|
依頼例、コマンド、コピーの保持と復旧は[操作ガイド](skills/obsidian-vault/references/workflow.md)を参照してください。
|
|
87
97
|
|
|
88
|
-
|
|
89
|
-
|
|
98
|
+
保存は必要な確認ができるローカル通常ファイルに限定し、シンボリックリンクや複数ハードリンクを拒否します。
|
|
99
|
+
Linuxでは所有者・グループ・権限を維持します。
|
|
100
|
+
0.5.4から、通常の直接保存はWSL上のローカルWindowsドライブ(drvfs・9p・v9fs)にも対応します。
|
|
101
|
+
既存ノートは置換せず同じ実体へ書き込み、WindowsのACL・属性を保持します。仮想的なLinux権限だけでは拒否しません。
|
|
102
|
+
ネットワーク共有は対象外とし、パス・実体・保存後のバイト列を検証します。保存方式が不明な編集ツールは使いません。
|
|
103
|
+
`/tmp`等への別出力を、許可済みVaultの更新の代わりにはしません。
|
|
104
|
+
Python CLI・Canvas・Basesの対応範囲は広げません。CLIでは引き続きWSLのWindowsドライブや拡張属性付き対象を拒否します。
|
|
105
|
+
SELinuxラベルなどの削除を回避策にしません。
|
|
90
106
|
直接編集はCLIの原子的確定、ルートロック、成功記録による再実行保護を利用しません。
|
|
91
107
|
保存後に読み戻して確認しますが、途中失敗や同時編集の完全な防止は保証しません。
|
|
92
108
|
LLMの誤判断を完全には防げず、ホストを隔離する機能でもありません。
|
|
@@ -122,6 +138,49 @@ Node 18以上と固定依存が必要です。依存の準備は別途許可を
|
|
|
122
138
|
直接編集にはCLIのロック・原子的確定・再実行記録はありません。
|
|
123
139
|
依存の準備、4種類の独自テンプレート、原文保持、失敗時の扱いは[Bases操作ガイド](skills/obsidian-bases/references/workflow.md)を参照してください。
|
|
124
140
|
|
|
141
|
+
## Obsidian記法・アプリ操作・データからのノート生成
|
|
142
|
+
|
|
143
|
+
0.5.4は、[kepano/obsidian-skills](https://github.com/kepano/obsidian-skills)の6つの機能分野を、kotonoha独自の手順と例で扱います。
|
|
144
|
+
参照した版は[`3ccff5338ea700537839b21900aa5358a0402c98`](https://github.com/kepano/obsidian-skills/tree/3ccff5338ea700537839b21900aa5358a0402c98)です(2026-11-05確認)。
|
|
145
|
+
対応する実行環境や保存方法が参照先と同一という意味ではありません。既存のCanvas・Basesの検査範囲と保存制約を維持します。
|
|
146
|
+
|
|
147
|
+
| 機能 | kotonohaのSkill | 実行条件と保存先 |
|
|
148
|
+
|---|---|---|
|
|
149
|
+
| Markdownノートと記法 | [`obsidian-markdown`](skills/obsidian-markdown/SKILL.md) | 外部CLIは不要。作成・編集と日本語校正の指揮を担当し、ローカル入出力はobsidian-vaultへ引き継ぐ |
|
|
150
|
+
| JSON Canvas | [`obsidian-canvas`](skills/obsidian-canvas/SKILL.md) | 既存のPython検査と単一Canvasの計画承認を使用。json-canvasという別の導入名は追加しない |
|
|
151
|
+
| Bases | [`obsidian-bases`](skills/obsidian-bases/SKILL.md) | 既存のNode静的検査と、許可されたホストツールによる保存を使用 |
|
|
152
|
+
| 公式アプリCLI | [`obsidian-cli`](skills/obsidian-cli/SKILL.md) | 登録済みCLIとデスクトップアプリが必要。Vaultと対象ファイルを明示し、アプリ操作への許可を別途確認 |
|
|
153
|
+
| Web・HTML本文抽出 | [`defuddle`](skills/defuddle/SKILL.md) | 任意導入のDefuddleを使用。第三者サービスへの通信も含めて許可を確認し、標準出力か同意済みのVault外作業領域へ出力 |
|
|
154
|
+
| JSON・CSVテンプレート生成 | [`knap`](skills/knap/SKILL.md) | Knap CLIとNode 20以上が必要。検査・生成・一括出力のプレビューを行い、Vault外へ仮出力 |
|
|
155
|
+
|
|
156
|
+
公式アプリCLIは、kotonohaの`vault.py`とは別の操作経路です。現在の公式導入手順では、1.12.7以上のインストーラーと、設定画面のGeneralからのCLI登録が必要です。
|
|
157
|
+
コマンドがアプリを起動する場合もあるため、起動・プラグイン実行・画面取得には明示的な許可を確認します。保存拒否を回避する代替手段には使いません。
|
|
158
|
+
Basesの実データを問い合わせる場合は、結果に含まれる範囲への同意も必要です。静的検査だけで実表示や式の計算結果を確認済みとは扱いません。
|
|
159
|
+
|
|
160
|
+
Defuddleは、ローカルHTMLの処理でも第三者サービスへ通信する可能性があります。オフライン処理とはみなしません。
|
|
161
|
+
Knapによる生成は、元情報の取得・事実確認・保存の許可を兼ねません。一括生成では全出力先をプレビューし、同意済みの空のVault外ディレクトリへ仮出力します。
|
|
162
|
+
選択したノートはobsidian-markdownで内容を整え、ローカル保存だけをobsidian-vaultへ1ノートずつ渡します。
|
|
163
|
+
新しい経路でもセッション領域への保存は禁止し、外部ツールやアプリ設定を自動導入・変更しません。
|
|
164
|
+
|
|
165
|
+
依頼例:
|
|
166
|
+
|
|
167
|
+
```text
|
|
168
|
+
この文章の見出し・ブロックへのリンク、入れ子のコールアウト、
|
|
169
|
+
YAMLプロパティを確認して。Vaultは読まず、保存もしないで。
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
公式Obsidian CLIで、指定したVaultのNotes/Trial.mdを読んで。
|
|
174
|
+
実行前にVaultの識別情報とアプリ起動の許可を確認して。
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
KnapでCSVの各行からノートを作るプレビューを出して。
|
|
179
|
+
仮出力は同意済みのVault外ディレクトリを使い、生成・保存前に出力先を示して。
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
詳しい記法とコマンドは、[Markdown記法](skills/obsidian-markdown/references/syntax.md)、[アプリCLI](skills/obsidian-cli/references/commands.md)、[Canvasフィールド](skills/obsidian-canvas/references/json-canvas.md)、[Basesの式](skills/obsidian-bases/references/expressions.md)、[Knapの例](skills/knap/references/rendering.md)を参照してください。
|
|
183
|
+
|
|
125
184
|
## consulting-analystの機能
|
|
126
185
|
|
|
127
186
|
- 文書やプレゼンテーションを作る前に、意思決定者、意思決定の問い、成果、範囲、証拠不足を定義
|
|
@@ -161,10 +220,25 @@ White Paper向けの分析を作成して
|
|
|
161
220
|
|
|
162
221
|
- GitHub Copilot(CLIまたは対応IDEのエージェントモード)かClaude Codeがインストールされていること
|
|
163
222
|
- インストーラー用のNode.js 18以上とnpm
|
|
223
|
+
- 対象の操作を選んだ場合のみ、登録済みのObsidianデスクトップCLI、Defuddle、Knapが必要。Knap CLIにはNode.js 20以上を使用
|
|
164
224
|
- tech-writerの構造lintを実行する場合はPython 3.9以上
|
|
165
225
|
- 同梱`japanese-prose`の文章lint、読解負荷分析、アウトライン抽出、用語検査、編集前後の不変条件検査を実行する場合はPython 3.10以上と`uv`。GiNZA、`ja_ginza`、spaCy、Markdown解析用の依存関係は、各スクリプトの初回実行時に`uv`が解決
|
|
166
226
|
|
|
167
|
-
###
|
|
227
|
+
### このチェックアウトからスキルを導入
|
|
228
|
+
|
|
229
|
+
このソースチェックアウトには、11のスキルがすべて含まれます。
|
|
230
|
+
リポジトリのルートから、`/path/to/your-project`を導入先プロジェクトの絶対パスに置き換え、利用するエージェントのコマンドを1つ実行します。
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
node bin/kotonoha.js install --agent copilot --target /path/to/your-project/.github/skills
|
|
234
|
+
node bin/kotonoha.js install --agent claude --target /path/to/your-project/.claude/skills
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
どちらも既定では11のスキルを選択し、既存のスキルディレクトリは保持します。既存のコピーを更新する場合は、ローカルの変更を確認し、置き換える場合にだけ`--force`を追加します。
|
|
238
|
+
1つだけ導入する場合は、`--skill obsidian-markdown`などを追加します。
|
|
239
|
+
この操作はスキルファイルのコピーのみです。Obsidian、Defuddle、Knap、Pythonの依存関係、Bases検査器の依存関係は導入しません。
|
|
240
|
+
|
|
241
|
+
### 公開済みのnpmパッケージをインストール
|
|
168
242
|
|
|
169
243
|
パッケージをインストールし、同梱CLIで各スキルを対象のスキルディレクトリへコピーします。
|
|
170
244
|
|
|
@@ -203,14 +277,14 @@ npx kotonoha install --agent all --force
|
|
|
203
277
|
|
|
204
278
|
### 同梱スキルをまとめてインストール
|
|
205
279
|
|
|
206
|
-
`kotonoha install
|
|
280
|
+
`kotonoha install`は、まだ存在しない同梱スキルをすべてインストールします。公開済みパッケージを導入した環境で、全スキルを明示的に選ぶコマンドは次のとおりです。
|
|
207
281
|
|
|
208
282
|
```bash
|
|
209
|
-
npm install --save-dev kotonoha
|
|
210
283
|
npx kotonoha install --skill all
|
|
211
284
|
```
|
|
212
285
|
|
|
213
|
-
`--skill all`が既定値であるため、`npx kotonoha install
|
|
286
|
+
`--skill all`が既定値であるため、`npx kotonoha install`も同じ動作です。導入できるスキルは、使用したパッケージに依存します。
|
|
287
|
+
0.5.4には11のスキルを同梱しています。導入先プロジェクトで、すべて配置されたことを確認します。
|
|
214
288
|
|
|
215
289
|
```bash
|
|
216
290
|
test -f .github/skills/consulting-analyst/SKILL.md
|
|
@@ -219,6 +293,10 @@ test -f .github/skills/japanese-prose/SKILL.md
|
|
|
219
293
|
test -f .github/skills/obsidian-vault/SKILL.md
|
|
220
294
|
test -f .github/skills/obsidian-canvas/SKILL.md
|
|
221
295
|
test -f .github/skills/obsidian-bases/SKILL.md
|
|
296
|
+
test -f .github/skills/obsidian-markdown/SKILL.md
|
|
297
|
+
test -f .github/skills/obsidian-cli/SKILL.md
|
|
298
|
+
test -f .github/skills/defuddle/SKILL.md
|
|
299
|
+
test -f .github/skills/knap/SKILL.md
|
|
222
300
|
test -f .github/skills/presentation-planner/SKILL.md
|
|
223
301
|
```
|
|
224
302
|
|
|
@@ -259,7 +337,7 @@ README-ja.mdの日本語を自然で読みやすい表現に修正して
|
|
|
259
337
|
新しい日本語文書では、`このリポジトリの日本語READMEを作成して`のように依頼すると、`tech-writer`が下書きと構造レビューを行い、rubber-duck reviewの前にGiNZAベースの文章最適化を実行します。文章最適化を確実に指定する場合は、`<ファイル名>を技術文書として作成または修正し、GiNZAによる日本語表現最適化まで実施して`と指示します。
|
|
260
338
|
|
|
261
339
|
既定のインストール先は、現在のプロジェクトの`.github/skills/`です。
|
|
262
|
-
|
|
340
|
+
同梱の各スキルを、スキル名と同じサブディレクトリに配置します。
|
|
263
341
|
スキルを1つだけインストールする場合や、対応している別のディレクトリを使用する場合は、次のように指定します。
|
|
264
342
|
|
|
265
343
|
```bash
|
|
@@ -349,6 +427,10 @@ cp -r skills/japanese-prose /path/to/your-repo/.github/skills/japanese-prose
|
|
|
349
427
|
cp -r skills/obsidian-vault /path/to/your-repo/.github/skills/obsidian-vault
|
|
350
428
|
cp -r skills/obsidian-canvas /path/to/your-repo/.github/skills/obsidian-canvas
|
|
351
429
|
cp -r skills/obsidian-bases /path/to/your-repo/.github/skills/obsidian-bases
|
|
430
|
+
cp -r skills/obsidian-markdown /path/to/your-repo/.github/skills/obsidian-markdown
|
|
431
|
+
cp -r skills/obsidian-cli /path/to/your-repo/.github/skills/obsidian-cli
|
|
432
|
+
cp -r skills/defuddle /path/to/your-repo/.github/skills/defuddle
|
|
433
|
+
cp -r skills/knap /path/to/your-repo/.github/skills/knap
|
|
352
434
|
cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
|
|
353
435
|
```
|
|
354
436
|
|
|
@@ -395,13 +477,17 @@ skills/presentation-planner/ # シナリオ、デザイン仕様、PPTX引き継
|
|
|
395
477
|
references/ # 責任境界、シナリオ・デザインガイド、カスタマイズ、引き継ぎ契約
|
|
396
478
|
assets/scenario-templates/ # 経営判断、技術説明、データ報告向けシナリオ
|
|
397
479
|
assets/design-templates/ # 経営提案、技術説明、データ報告向けYAMLデザイン
|
|
398
|
-
skills/obsidian-vault/ #
|
|
480
|
+
skills/obsidian-vault/ # ローカル読み取り・検証・保存の共用基盤
|
|
399
481
|
skills/obsidian-canvas/ # JSON Canvas診断、配置、承認付き保存
|
|
400
482
|
scripts/ # 固定依存のオフラインCLIと独自受入データの試験
|
|
401
483
|
assets/templates/ # 関係図、アイデア、手順、比較の構成例
|
|
402
484
|
skills/obsidian-bases/ # Basesの直接編集と読み取り専用検査
|
|
403
485
|
scripts/ # 標準入力の検査器、専用依存のlock、作業コピー用の試験
|
|
404
486
|
assets/templates/ # Table、Cards、List、Kanban
|
|
487
|
+
skills/obsidian-markdown/ # ノート作成・編集。ローカル入出力はobsidian-vaultへ
|
|
488
|
+
skills/obsidian-cli/ # 明示選択した公式アプリCLI
|
|
489
|
+
skills/defuddle/ # 任意導入のWeb・HTML本文抽出。Vaultへ直接保存しない
|
|
490
|
+
skills/knap/ # 任意導入のJSON・CSV生成、プレビュー、Vault外への仮出力
|
|
405
491
|
.github/skills/tech-writer # Copilot CLIが読み込むskills/tech-writerへのシンボリックリンク
|
|
406
492
|
.github/skills/consulting-analyst
|
|
407
493
|
.github/skills/japanese-prose
|
|
@@ -409,6 +495,10 @@ skills/obsidian-bases/ # Basesの直接編集と読み取り専用検査
|
|
|
409
495
|
.github/skills/obsidian-vault
|
|
410
496
|
.github/skills/obsidian-canvas
|
|
411
497
|
.github/skills/obsidian-bases
|
|
498
|
+
.github/skills/obsidian-markdown
|
|
499
|
+
.github/skills/obsidian-cli
|
|
500
|
+
.github/skills/defuddle
|
|
501
|
+
.github/skills/knap
|
|
412
502
|
```
|
|
413
503
|
|
|
414
504
|
## 既知の制約
|
package/README.md
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
# kotonoha
|
|
2
2
|
|
|
3
|
-
kotonoha provides skills for GitHub Copilot and Claude Code: consulting analysis,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
kotonoha provides skills for GitHub Copilot and Claude Code: consulting analysis,
|
|
4
|
+
technical writing, Japanese prose, Obsidian workflows and presentation planning.
|
|
5
|
+
Turn evidence into documents, work with scoped Vault content, and prepare
|
|
6
|
+
presentations without mixing drafting with unauthorized saves.
|
|
7
|
+
|
|
8
|
+
`consulting-analyst` structures problems and evidence; `tech-writer` creates
|
|
9
|
+
reader-focused technical documents; `japanese-prose` improves Japanese wording
|
|
10
|
+
with GiNZA diagnostics. `presentation-planner` prepares scenarios, slide outlines
|
|
11
|
+
and design specifications for a dedicated PPTX creation skill.
|
|
12
|
+
|
|
13
|
+
The Obsidian suite covers Markdown syntax, authorized Vault notes, JSON Canvas,
|
|
14
|
+
Bases, official app commands, web/HTML extraction and JSON/CSV template rendering.
|
|
15
|
+
Each workflow keeps its own scope, dependency and save requirements.
|
|
16
|
+
|
|
17
|
+
Version: **0.5.4** (updated 2026-11-05), with eleven bundled Skills, including
|
|
18
|
+
`obsidian-markdown`, `obsidian-cli`, `defuddle` and `knap`.
|
|
19
|
+
Install the npm package or use the
|
|
20
|
+
[source-checkout installation](#install-skills-from-this-source-checkout).
|
|
19
21
|
|
|
20
22
|
[English](./README.md) | [日本語](./README-ja.md)
|
|
21
23
|
|
|
@@ -79,6 +81,10 @@ review.
|
|
|
79
81
|
message body (plain text by convention) and code comments/docstrings
|
|
80
82
|
(the target programming language's own syntax)
|
|
81
83
|
- Japanese as the primary target language, with English document support
|
|
84
|
+
- Draft Obsidian syntax and work with authorized Vault notes, Canvas diagrams
|
|
85
|
+
and Bases configuration without changing unrelated content
|
|
86
|
+
- Use explicitly selected official Obsidian commands, optional Defuddle
|
|
87
|
+
extraction and Knap data-driven rendering with separate consent and save gates
|
|
82
88
|
|
|
83
89
|
## Supported document types
|
|
84
90
|
|
|
@@ -124,11 +130,19 @@ for setup, placeholder handling, and limitations.
|
|
|
124
130
|
|
|
125
131
|
## Working with an Obsidian Vault
|
|
126
132
|
|
|
127
|
-
Use
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
Use `obsidian-markdown` to create or edit Markdown notes and templates. It uses
|
|
134
|
+
`tech-writer` for structure and coordinates Japanese proofreading with
|
|
135
|
+
`japanese-prose`. `obsidian-vault` is now only the shared backend for scoped
|
|
136
|
+
local reads, static validation and saving an already prepared candidate.
|
|
137
|
+
Its direct-save path uses host file tools without Python, uv, Obsidian, MCP
|
|
138
|
+
or plugins.
|
|
139
|
+
|
|
140
|
+
Standalone convention inference, related-note recommendations, link analysis
|
|
141
|
+
and proofreading orchestration have been removed from `obsidian-vault`.
|
|
142
|
+
Use an explicitly selected `obsidian-cli` workflow for live-app search and
|
|
143
|
+
link inspection; it does not replace editorial recommendations.
|
|
144
|
+
The backend retains static observations/link evidence, the v1 request format
|
|
145
|
+
and Canvas storage API version 1 for compatibility, not the removed workflows.
|
|
132
146
|
|
|
133
147
|
The user explicitly selects the Vault, read scopes and model-context consent.
|
|
134
148
|
Direct editing requires authorization for the exact target and changes, preserves
|
|
@@ -139,7 +153,7 @@ at request start by default. Relative targets resolve there unless explicitly
|
|
|
139
153
|
Vault-relative; absolute targets stay unchanged. Edit the authorized target
|
|
140
154
|
itself, not a session-state copy. This does not broaden the permitted Vault scope;
|
|
141
155
|
auxiliary copies still need separate consent and a suitable location.
|
|
142
|
-
All
|
|
156
|
+
All Obsidian workflows prohibit saving operation files in session storage,
|
|
143
157
|
including originals, candidates, diagnostics, reviews, plans and temporary files.
|
|
144
158
|
If a selected directory resolves there, they ask for another location before
|
|
145
159
|
writing. Delegated skills receive the same restriction. CLI workspaces still
|
|
@@ -158,9 +172,16 @@ replay protection, and must not be an automatic fallback from CLI failures.
|
|
|
158
172
|
See the [Japanese workflow guide](skills/obsidian-vault/references/workflow.md)
|
|
159
173
|
for requests, command examples, data retention and recovery.
|
|
160
174
|
|
|
161
|
-
Saving requires verifiable local regular files and
|
|
162
|
-
|
|
163
|
-
|
|
175
|
+
Saving requires verifiable local regular files; symlinks and multiple hard
|
|
176
|
+
links are refused. Native Linux saves preserve ownership/modes.
|
|
177
|
+
Host direct saves also support confirmed local Windows drives through WSL
|
|
178
|
+
(`drvfs`/`9p`/`v9fs`), not network shares. Existing notes must be updated in place,
|
|
179
|
+
preserving Windows ACLs/attributes rather than replacing the file or requiring
|
|
180
|
+
synthetic Linux permissions. Path/identity checks and exact readback remain
|
|
181
|
+
mandatory; an unknown host replacement method is not sufficient.
|
|
182
|
+
No silent `/tmp` output may substitute for an authorized Vault update.
|
|
183
|
+
This profile, added in 0.5.4, does not extend Python CLI, Canvas or Bases support.
|
|
184
|
+
CLI saving still requires a verified Linux filesystem and refuses all xattrs,
|
|
164
185
|
including SELinux labels. Never remove attributes to bypass a refusal.
|
|
165
186
|
Direct-edit failure and concurrency limitations are disclosed before saving;
|
|
166
187
|
neither mode eliminates post-check external edits or LLM mistakes.
|
|
@@ -209,6 +230,62 @@ or receipt protection. Rendering, real expression results and arbitrary host
|
|
|
209
230
|
enforcement remain unverified. See the [Bases workflow](skills/obsidian-bases/references/workflow.md)
|
|
210
231
|
for exact-byte preservation, four original templates and failure handling.
|
|
211
232
|
|
|
233
|
+
## Obsidian syntax, app commands and data-driven notes
|
|
234
|
+
|
|
235
|
+
The 0.5.4 Skills cover all six capability families in
|
|
236
|
+
[kepano/obsidian-skills](https://github.com/kepano/obsidian-skills), with original
|
|
237
|
+
kotonoha instructions and examples. Reference snapshot:
|
|
238
|
+
[`3ccff5338ea700537839b21900aa5358a0402c98`](https://github.com/kepano/obsidian-skills/tree/3ccff5338ea700537839b21900aa5358a0402c98),
|
|
239
|
+
checked 2026-11-05. This is capability coverage, not identical runtime support:
|
|
240
|
+
the existing Canvas/Bases validation subsets and approval rules remain intact.
|
|
241
|
+
|
|
242
|
+
| Capability | kotonoha Skill | Runtime and save boundary |
|
|
243
|
+
|---|---|---|
|
|
244
|
+
| Markdown notes and syntax | [`obsidian-markdown`](skills/obsidian-markdown/SKILL.md) | No external CLI; owns authoring/editing, coordinates Japanese proofreading and hands local I/O to `obsidian-vault` |
|
|
245
|
+
| JSON Canvas | [`obsidian-canvas`](skills/obsidian-canvas/SKILL.md) | Existing locked Python backend and approved single-Canvas plans; no new `json-canvas` install name |
|
|
246
|
+
| Bases | [`obsidian-bases`](skills/obsidian-bases/SKILL.md) | Existing read-only Node checker and authorized host saves |
|
|
247
|
+
| Official application CLI | [`obsidian-cli`](skills/obsidian-cli/SKILL.md) | Registered desktop CLI and app; explicit Vault/file targets and separate live-app authority |
|
|
248
|
+
| Web/HTML extraction | [`defuddle`](skills/defuddle/SKILL.md) | Optional Defuddle CLI, network consent including possible third-party requests; stdout or authorized external workspace |
|
|
249
|
+
| JSON/CSV templates | [`knap`](skills/knap/SKILL.md) | Optional Knap CLI with Node >=20; validate, render, preview and stage outside the Vault |
|
|
250
|
+
|
|
251
|
+
The application CLI is not `vault.py` and is never a fallback for a refused
|
|
252
|
+
storage operation. Its official setup currently requires installer 1.12.7+
|
|
253
|
+
and CLI registration in Settings > General. Commands can launch Obsidian;
|
|
254
|
+
launches, plugins, screenshots and developer execution need explicit authority.
|
|
255
|
+
Live Bases queries require consent for the effective result scope.
|
|
256
|
+
Canvas/Bases static checks do not prove application rendering or runtime results.
|
|
257
|
+
|
|
258
|
+
Defuddle can make asynchronous third-party requests even for local HTML.
|
|
259
|
+
It is not an assumed offline parser. Knap rendering does not fetch a source,
|
|
260
|
+
verify facts or authorize a save. Its batch workflow previews all output paths
|
|
261
|
+
and stages into an approved empty directory. `obsidian-markdown` prepares each
|
|
262
|
+
selected note, then hands local saving individually to `obsidian-vault`.
|
|
263
|
+
No new workflow permits session-storage outputs.
|
|
264
|
+
The installer prepares none of these optional tools or application settings.
|
|
265
|
+
|
|
266
|
+
Example requests:
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
Explain heading/block links, nested callouts and YAML properties in this text.
|
|
270
|
+
Do not read a Vault or save a note.
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
```text
|
|
274
|
+
Using the official Obsidian app CLI, read Notes/Trial.md in my selected Vault.
|
|
275
|
+
Confirm the Vault identity and app-launch permission before running commands.
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
Preview one Markdown note per CSV row with Knap. Use a consented staging
|
|
280
|
+
directory outside my Vault; show output paths before generating or saving.
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
See the [Markdown syntax](skills/obsidian-markdown/references/syntax.md),
|
|
284
|
+
[app commands](skills/obsidian-cli/references/commands.md),
|
|
285
|
+
[Canvas fields](skills/obsidian-canvas/references/json-canvas.md),
|
|
286
|
+
[Bases expressions](skills/obsidian-bases/references/expressions.md) and
|
|
287
|
+
[Knap examples](skills/knap/references/rendering.md).
|
|
288
|
+
|
|
212
289
|
## What consulting-analyst does
|
|
213
290
|
|
|
214
291
|
- Defines the decision-maker, decision question, outcome, scope, and evidence
|
|
@@ -259,13 +336,33 @@ handoff without inventing missing evidence.
|
|
|
259
336
|
|
|
260
337
|
- GitHub Copilot (CLI or a supported IDE agent mode) or Claude Code installed
|
|
261
338
|
- Node.js 18+ and npm for the installer
|
|
339
|
+
- Optional tools only for their selected workflows: registered Obsidian
|
|
340
|
+
desktop CLI, Defuddle, or Knap (Knap CLI requires Node.js 20+)
|
|
262
341
|
- Python 3.9+ for tech-writer's structural lint
|
|
263
342
|
- Python 3.10+ and `uv` for the edit-invariant gate and bundled GiNZA
|
|
264
343
|
diagnostics such as prose lint,
|
|
265
344
|
reading-load analysis, outline extraction, and terminology checks; `uv`
|
|
266
345
|
resolves GiNZA, `ja_ginza`, and spaCy on first use
|
|
267
346
|
|
|
268
|
-
### Install from
|
|
347
|
+
### Install Skills from this source checkout
|
|
348
|
+
|
|
349
|
+
All eleven Skills are available in this source checkout.
|
|
350
|
+
From the repository root, replace `/path/to/your-project` with the destination
|
|
351
|
+
project's absolute path and choose one command:
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
node bin/kotonoha.js install --agent copilot --target /path/to/your-project/.github/skills
|
|
355
|
+
node bin/kotonoha.js install --agent claude --target /path/to/your-project/.claude/skills
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Both commands select all eleven Skills by default and preserve existing Skill
|
|
359
|
+
directories. To update an existing copy, review local changes first and add
|
|
360
|
+
`--force` only when replacement is intended. To select one Skill, add
|
|
361
|
+
`--skill obsidian-markdown` or another bundled name.
|
|
362
|
+
This copies Skill files only; it does not install Obsidian, Defuddle, Knap,
|
|
363
|
+
Python dependencies or the Bases checker's dependencies.
|
|
364
|
+
|
|
365
|
+
### Install a published package from npm
|
|
269
366
|
|
|
270
367
|
Install the package, then copy all packaged skills into a skill directory
|
|
271
368
|
with the included CLI:
|
|
@@ -320,17 +417,15 @@ and [Claude Code Skills](https://code.claude.com/docs/en/skills).
|
|
|
320
417
|
### Install all bundled skills together
|
|
321
418
|
|
|
322
419
|
`kotonoha install` installs every packaged skill that is not already present.
|
|
323
|
-
|
|
324
|
-
`japanese-prose`, `obsidian-vault`, `obsidian-canvas`, `obsidian-bases`, and `presentation-planner`
|
|
325
|
-
into `.github/skills/`:
|
|
420
|
+
For an installed published package, the explicit form is:
|
|
326
421
|
|
|
327
422
|
```bash
|
|
328
|
-
npm install --save-dev kotonoha
|
|
329
423
|
npx kotonoha install --skill all
|
|
330
424
|
```
|
|
331
425
|
|
|
332
426
|
`--skill all` is the default, so `npx kotonoha install` has the same behavior.
|
|
333
|
-
|
|
427
|
+
The selected package determines which Skills are available; version 0.5.4
|
|
428
|
+
includes all eleven. In the destination project, confirm they were installed:
|
|
334
429
|
|
|
335
430
|
```bash
|
|
336
431
|
test -f .github/skills/consulting-analyst/SKILL.md
|
|
@@ -339,6 +434,10 @@ test -f .github/skills/japanese-prose/SKILL.md
|
|
|
339
434
|
test -f .github/skills/obsidian-vault/SKILL.md
|
|
340
435
|
test -f .github/skills/obsidian-canvas/SKILL.md
|
|
341
436
|
test -f .github/skills/obsidian-bases/SKILL.md
|
|
437
|
+
test -f .github/skills/obsidian-markdown/SKILL.md
|
|
438
|
+
test -f .github/skills/obsidian-cli/SKILL.md
|
|
439
|
+
test -f .github/skills/defuddle/SKILL.md
|
|
440
|
+
test -f .github/skills/knap/SKILL.md
|
|
342
441
|
test -f .github/skills/presentation-planner/SKILL.md
|
|
343
442
|
```
|
|
344
443
|
|
|
@@ -511,6 +610,10 @@ cp -r skills/japanese-prose /path/to/your-repo/.github/skills/japanese-prose
|
|
|
511
610
|
cp -r skills/obsidian-vault /path/to/your-repo/.github/skills/obsidian-vault
|
|
512
611
|
cp -r skills/obsidian-canvas /path/to/your-repo/.github/skills/obsidian-canvas
|
|
513
612
|
cp -r skills/obsidian-bases /path/to/your-repo/.github/skills/obsidian-bases
|
|
613
|
+
cp -r skills/obsidian-markdown /path/to/your-repo/.github/skills/obsidian-markdown
|
|
614
|
+
cp -r skills/obsidian-cli /path/to/your-repo/.github/skills/obsidian-cli
|
|
615
|
+
cp -r skills/defuddle /path/to/your-repo/.github/skills/defuddle
|
|
616
|
+
cp -r skills/knap /path/to/your-repo/.github/skills/knap
|
|
514
617
|
cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
|
|
515
618
|
```
|
|
516
619
|
|
|
@@ -558,13 +661,17 @@ skills/presentation-planner/ # storyline, design-spec, and PPTX handoff skill
|
|
|
558
661
|
references/ # boundary, scenario/design guidance, customization, handoff contract
|
|
559
662
|
assets/scenario-templates/ # executive, technical, and data-report narrative scenarios
|
|
560
663
|
assets/design-templates/ # executive, technical, and data-report YAML designs
|
|
561
|
-
skills/obsidian-vault/ # scoped
|
|
664
|
+
skills/obsidian-vault/ # scoped local read/validate/save backend and shared API
|
|
562
665
|
skills/obsidian-canvas/ # JSON Canvas diagnosis, layouts, and approved saves
|
|
563
666
|
scripts/ # locked offline CLI and original-fixture tests
|
|
564
667
|
assets/templates/ # note map, mind map, workflow, comparison
|
|
565
668
|
skills/obsidian-bases/ # direct Bases configuration and read-only validation
|
|
566
669
|
scripts/ # stdin checker, private dependency lock, checkout-only tests
|
|
567
670
|
assets/templates/ # Table, Cards, List, Kanban
|
|
671
|
+
skills/obsidian-markdown/ # note authoring/editing; local I/O uses obsidian-vault
|
|
672
|
+
skills/obsidian-cli/ # explicitly selected official live-app commands
|
|
673
|
+
skills/defuddle/ # optional web/HTML extraction, no direct Vault writes
|
|
674
|
+
skills/knap/ # optional JSON/CSV rendering, preview and external staging
|
|
568
675
|
.github/skills/tech-writer # symlink to skills/tech-writer (where Copilot CLI reads it)
|
|
569
676
|
.github/skills/consulting-analyst
|
|
570
677
|
.github/skills/japanese-prose
|
|
@@ -572,6 +679,10 @@ skills/obsidian-bases/ # direct Bases configuration and read-only validati
|
|
|
572
679
|
.github/skills/obsidian-vault
|
|
573
680
|
.github/skills/obsidian-canvas
|
|
574
681
|
.github/skills/obsidian-bases
|
|
682
|
+
.github/skills/obsidian-markdown
|
|
683
|
+
.github/skills/obsidian-cli
|
|
684
|
+
.github/skills/defuddle
|
|
685
|
+
.github/skills/knap
|
|
575
686
|
```
|
|
576
687
|
|
|
577
688
|
## Known limitations
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kotonoha",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "Skills for GitHub Copilot and Claude Code: consulting
|
|
3
|
+
"version": "0.5.4",
|
|
4
|
+
"description": "Skills for GitHub Copilot and Claude Code: consulting, technical writing, Japanese prose, Obsidian Markdown, Canvas, Bases and CLI, Defuddle, Knap, and PPTX planning.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "nahisaho",
|
|
7
7
|
"repository": {
|