Knowledge
Obsidian vault のナレッジ管理。ノート・デイリーノート・MOC の検索、保存、整理に使う。記録・参照の意図がある時や、コードベース外のドメイン知識・社内ルール・意思決定が関わる時は能動的に検索・保存する。From its SKILL.md
npx -y skills add Suree33/agent-skills --skill knowledgeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.7 KB, ~3.4k tokens by cl100k_base, as published. Nobody here has run it
Knowledge — Obsidian ナレッジ管理
Obsidian vault を Zettelkasten 方式で管理するスキル。調査結果の保存、既存ナレッジの検索、デイリーノート管理、ノートの整理・リンク構築を行う。
Vault
- vault 名: 環境変数
OBSIDIAN_KNOWLEDGE_VAULTで指定する。CLI にはvault="$OBSIDIAN_KNOWLEDGE_VAULT"として渡す - 未設定の場合は選択した CLI の
vaultsで候補を提示し、今回使う vault をユーザーに確認する。あわせて、毎回の確認を省くためOBSIDIAN_KNOWLEDGE_VAULTを設定するよう推奨する - vault パスが必要な時(filesystem フォールバックなど)は選択した CLI の
vaults verboseの出力から該当 vault 名の行のパスを取得する - 関連スキル:
obsidian-cli(CLI操作)、obsidian-markdown(Markdown構文)
CLI と filesystem の使い分け
全操作で CLI を優先する。まず command -v obsidian-cli を確認し、あれば obsidian-cli を使う。なければ command -v obsidian を確認して obsidian を使う。Nix 環境では obsidian が GUI 本体を指す場合があるため、この順序を守る。選択した CLI に $OBSIDIAN_KNOWLEDGE_VAULT を vault= 引数として渡し、目的のコマンド(search, read, create, append, daily:read, daily:append など)を実行する。
- 例(
obsidian-cliがある場合):obsidian-cli vault="$OBSIDIAN_KNOWLEDGE_VAULT" search query="test" create/appendはデフォルトでファイルを開かない。エディタで開きたい時だけopenを付ける
CLI が無い・落ちる・対象コマンドが失敗する場合は filesystem 操作にフォールバックし、vault ディレクトリ内の .md ファイルを直接読み書きする。vault パスは選択した CLI の vaults verbose が使えればその出力から取得し、CLI 自体が使えない場合はユーザーに確認する。書き込みは obsidian-markdown スキルの構文規約に従って frontmatter + 本文を構成し、書き込み権限が無ければユーザー承認を取る。
Zettelkasten 規約
ノートの種類
- Permanent Note: アトミックな知識(1ノート = 1概念)
- frontmatter:
type: permanent
- frontmatter:
- Literature Note: 外部情報源の要約・引用
- frontmatter:
type: literature
- frontmatter:
- MOC: トピック別ナビゲーション(関連ノートへの wikilink 集)
- frontmatter:
type: moc
- frontmatter:
- Daily Note: 日次の記録(タスク・日記・予定)
- frontmatter:
type: daily
- frontmatter:
- Plan Note: 一時的な実装計画・作業計画
- frontmatter:
type: plan
- frontmatter:
frontmatter スキーマ
---
title: ノートのタイトル
type: permanent | literature | moc | daily | plan
tags:
- topic/subtopic
date: YYYY-MM-DD
source: "(literature のみ) URL や書籍名"
ai_generated: true # AI がノートを新規作成した場合のみ付与(agent 問わず共通)。人間のノートを編集しただけの場合は付けない
aliases:
- 別名
---
命名・配置ルール
- ファイル名 = タイトルそのまま(日本語OK)。例:
Go の context パッケージ.md - Daily Note は Obsidian の Daily notes 設定に合わせて
dailynotes/YYYY/M月/YYYY-MM-DD.mdに配置。それ以外はルートにフラット配置 - 実装計画は
type: planの一時的な作業メモとしてplans/に配置する。恒久的な知識として残す内容は、完了後に Permanent Note へ抽出する - タグは
topic/subtopic階層形式。例:#golang/concurrency,#testing/playwright - 1ノート1概念を厳守。長くなる場合は分割して
[[wikilink]]で繋ぐ - 関連する既存ノートには必ず
[[wikilink]]を張る - 関連する MOC が存在すれば、追加候補の wikilink 差分を提示し、ユーザー確認後に MOC を更新する
MOC の構造
MOC は特定トピックのナビゲーションページ。サブトピックごとにセクションを分けて wikilink を整理する:
---
title: MOC - Golang
type: moc
tags:
- golang
date: 2026-06-09
---
# Golang
## Concurrency
- [[Go の context パッケージ]]
- [[goroutine のライフサイクル]]
## Testing
- [[Go のテーブルドリブンテスト]]
サブコマンド
引数なしで /knowledge を呼んだ場合は、会話の流れから適切なサブコマンドを推定する。
save — 調査結果・知識の保存
トリガー: /knowledge save, 「ノートに保存して」「Obsidian に記録して」「vault に追加」、またはコードベースから分からない情報が会話で判明した時(能動的記録)
能動的記録の基準: 以下を満たす情報は、明示的な指示が無くても保存する。保存後に何を記録したかユーザーに報告する。
- コードや公式ドキュメントを読んでも分からない(例: ドメイン知識、関連リポジトリの関係性、社内ルール、意思決定の経緯、外部連携の仕様)
- 将来の作業でも再利用する価値がある(その会話限りの一時情報は対象外)
- 会話コンテキストから保存すべき内容を特定する(ユーザーが明示した範囲、または直近の調査・分析結果)
- アトミック性を判断する。複数の独立した概念を含む場合は分割を提案する
- 選択した CLI の
searchで関連する既存ノートを検索する - ノートの種類を判断する(save が作るのは Permanent / Literature。MOC は手順 6、Daily は
daily、Plan はplans/で別途扱う):- 自分の分析・まとめ → Permanent Note
- 外部ドキュメント・記事の要約 → Literature Note(
sourceフィールドに出典を記載)
- Zettelkasten 規約に従ってノートを作成する:
- frontmatter(title, type, tags, date, ai_generated: true)
- 本文(簡潔に。箇条書きやコードブロック活用)
- 関連ノートへの
[[wikilink]]
- 関連する MOC があれば追加する wikilink の差分を提示し、ユーザー確認後に更新する。なければ MOC の作成を提案する
- 作成したノートのタイトルとパスをユーザーに報告する
search — 既存ナレッジの検索・参照
トリガー: /knowledge search <query>, 「vault で調べて」「前に書いたノートに...」「ノートにあったはず」、またはコードベースから分からない情報が必要になった時(能動的検索)
能動的検索の基準: 以下の場面では、明示的な指示が無くても作業前に vault を検索する。
- ドメイン用語・プロダクト仕様・他リポジトリとの関係・過去の意思決定の経緯が関わるタスクを始める時
- 過去に同種の調査をした可能性がある時
- ヒットしたら出典ノートを明示して回答・作業に取り込む。ヒットしなければ通常の調査(コード・公式ドキュメント・ユーザーへの質問)にフォールバックする
- 選択した CLI の
searchでキーワード検索する(CLI 不可時はrg -lで代替) - ヒットしたノートの内容を選択した CLI の
readで読む(CLI 不可時は filesystem から直接読む) - 選択した CLI の
backlinksや本文中の[[wikilink]]から関連ノートも辿る - 検索結果を要約して会話に取り込む。ノートの正確な引用が必要な場合はそのまま提示する
daily — デイリーノート管理
トリガー: /knowledge daily, 「今日のデイリーノート」「タスク追加して」「日記に書いて」
- 読み取り: 選択した CLI の
daily:readでその日のノートを取得 - タスク追加: 選択した CLI の
daily:appendで Tasks セクションに- [ ] タスク内容を追記 - 日記追記: 日記セクションに内容を追記
- 新規作成: デイリーノートが無い場合、テンプレート(
templates/デイリーノート.md)から作成
デイリーノートのテンプレート:
#dailynotes
## Tasks
## 日記
## 明日の予定
CLI 不可時は filesystem 操作で dailynotes/YYYY/M月/YYYY-MM-DD.md に直接作成する。
organize — ノートの整理・リンク構築
トリガー: /knowledge organize, 「ノート整理して」「MOC 更新して」「リンク追加して」
以下の操作を単独または組み合わせて実行する:
- タグ付け: 選択した CLI の
searchで未タグのノート(frontmatter にtagsがないもの)を検出し、内容からタグを提案する。ユーザー確認後に選択した CLI のproperty:setで適用 - リンク構築: ノート間の関連性を検出し、wikilink の追加を提案する。ユーザー確認後に追記
- MOC 作成・更新: 指定トピックの MOC を新規作成するか、既存 MOC に新しいリンクを追加する
- 孤立ノート検出: どの MOC にもリンクされておらず backlinks もないノートを発見し、整理を提案する
organize は破壊的な変更を伴う可能性があるため、変更内容を提示してユーザーの確認を得てから適用する。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.