reflect
ユーザーが選択したレンズを通じて振り返りを実施します。履歴を実行し、レンズを適用して、スクライブ経由でノートに記録します。
description の原文を見る
Retrospective through a user-chosen lens. Runs history, applies lens, writes note via scribe.
SKILL.md 本文
Reflect
あなたは reflect ワークフローです。ユーザーが選択したレンズの周りに history と scribe を構成します。あなた自身の意見は適用しません — レンズが意見を保持します。
CLI
/almanac:reflect [--lens NAME | --lens-file PATH | --lens-inline "PROMPT"]
[--date yesterday|today|YYYY-MM-DD|last-N-days]
[--since ISO-8601] [--until ISO-8601]
[--project NAME|all]
[--grep REGEX]
[--tools read,edit,write,bash,other]
[--dry-run]
レンズフラグは排他的です — 最大1つだけ指定できます。指定がない場合は、AskUserQuestion でプロンプトを表示し、利用可能な組み込みレンズ(learning、pain-points、skill-candidates、workflow)と ~/.almanac/lenses/*.md に見つかったユーザーレンズを列挙します。
事前確認
cwdがvaultであることを確認します。.obsidian/またはルートの任意の.mdをチェックします。ない場合は停止します。.almanac.mdを読みます。欠落している場合は、ユーザーに2つのオプションでプロンプトを表示します:Run /almanac:init first/Prompt for needed values now。プロンプト実行を選択した場合、最低限reflect-outputフォルダを要求します。サイレントにデフォルトを指定しません。- レンズフラグを検証します:
--lens、--lens-file、--lens-inlineのうち最大1つだけ指定できます。複数指定された場合は、以下で停止します:Pick one. - レンズフラグが指定されていない場合は、
AskUserQuestionでレンズをプロンプトします。Globを使用して組み込みおよび~/.almanac/lenses/*.mdを列挙します。
レンズ解決
| フラグ | 解決方法 |
|---|---|
--lens NAME | まず ~/.almanac/lenses/<NAME>.md をチェックします。存在する場合はそれを使用します(ユーザーが組み込みをシャドウイングします)。それ以外の場合はプラグインの lenses/<NAME>.md を使用します。どちらもない場合は、以下で停止します: No lens named <NAME>. Available: <list>. |
--lens-file PATH | 指定されたパスを Read します。存在する必要があります。 |
--lens-inline "PROMPT" | メモリ内に合成レンズを構築します。プロンプトを本文とし、最小限のフロントマター(name: inline、title-template: "Reflection — {{date}}", tags: [reflection])を持ちます。 |
レンズのYAMLフロントマターをパースします。必須キー: name、title-template。オプション: tags、description。必須キーが欠落している場合 → そのキーを名前に含むメッセージで停止します。
履歴呼び出し
ユーザーの日付/プロジェクト/grep/ツールフィルターと --format summary を使用して履歴ロジックを起動します。正確なフィルターセマンティクスが必要な場合は、兄弟の skills/history/SKILL.md を読みます。
YAMLサマリーを変数にキャプチャします。これをレンズ本文に {{history-summary}} として代入します。
レンズレンダリング
レンズ本文の変数を代入します:
{{date}}— 人間が読みやすい解決されたウィンドウ(例:2026-04-15またはlast 7 days){{project}}—--projectの値、設定されていない場合はall{{lens-name}}— レンズのnameフロントマターフィールド{{history-summary}}— 履歴からキャプチャされたYAMLブロック
同じ変数で title-template をレンダリングしてノートのタイトルを生成します。
レンズ実行
レンダリングされたプロンプト本文を、それがあなた自身の指示であるかのように実行します。文字通りに従います。レンズが WebSearch を実行するように指示した場合は、そうします。
レンズは以下の2つの出力モードのうち1つを指定します:
- 音声規定 (例:
learning、pain-points) — レンズが感覚を記述し、テンプレート指紋を禁止します。その音声で書きます。レンズが要求していないヘッダー、リスト、またはラベルを追加しません。レンズが具体的な形を与えなかったからといって、なじみのあるテンプレート形状に後退しません。 - 構造規定 (例:
skill-candidates、workflow) — レンズがセクションおよびフィールド形状を指定します。正確にそれらのセクションをその形で生成します。
レンズ本文は本文コンテンツのみを生成する必要があります — YAMLフロントマターブロックはありません。scribe がフロントマターレンダリングを所有します。レンズが --- ブロックを発行した場合は、ハンドオフ前に削除します。
チャレンジングなプロンプトを柔らかくしないでください。レンズは契約出力です。
編集
書き込む前に、生成された本文をスクラブします:
- APIキーとトークンをストリップします:
sk-(ant-)?[A-Za-z0-9_-]{20,}(OpenAI / Anthropic)ghp_[A-Za-z0-9]{30,}、gho_[A-Za-z0-9]{30,}、ghs_[A-Za-z0-9]{30,}(GitHub)xox[abpors]-[A-Za-z0-9-]{10,}(Slack)AKIA[0-9A-Z]{16}(AWSアクセスキー)- JWT:
eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,} key、token、secret、password、bearerなどの単語に隣接する32文字以上の16進数/Base64ブロック
- メールアドレスをストリップします(
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}) - 現在のvaultの外を指す絶対ファイルパスをストリップします(vaultの相対パスは保持します)
編集は保守的です。マッチが曖昧な場合は編集します。正規のリストはここと docs/privacy.md にあります — 1つを変更するときは同期を保つようにします。
スクライブ呼び出し
コンテンツハンドオフ: reflectは編集された本文を cwd の .almanac-scratch.md に書き込み、--content-file .almanac-scratch.md でスクライブを起動し、スクライブが返った後に rm -f .almanac-scratch.md を実行します。
スクライブ起動:
--title: レンダリングされたtitle-template--content-file .almanac-scratch.md--output-hint reflect—.almanac.mdのreflect-outputフォルダに解決されます--tags: レンズのtagsフロントマターフィールドをカンマで結合します。欠落している場合は、reflection,<lens-name>にデフォルト設定します。--date: 解決された日付
正確なスクライブインターフェースについては、兄弟の skills/scribe/SKILL.md を読みます。
ドライラン
--dry-run では、.almanac-scratch.md を書き込まず、スクライブを呼び出しません。解決されたターゲットパス(.almanac.md :: reflect-output + タイトルから派生)を --- とフル編集本文の後に出力します。
出力
成功時は、書き込まれたノートのvault相対パスを出力します。
エラー
- 複数のレンズフラグ → 停止し、「Pick one.」と表示します。
- レンズファイル欠落 → 利用可能なレンズをリストして停止します。
- レンズYAMLが不正 → 停止し、パースエラーを名前に付けます。
- 空の履歴サマリー(ウィンドウ内にセッションがない) → とにかくノートを書き込みます。レンズは空のウィンドウについて何か言うことがあるかもしれません、または出力は簡潔になります。セッションを作り上げません。
- WebSearch が利用不可(レンズがこれを使用する場合) → レンズ自体がこれを処理します。
reflectはフォールバックを強制しません。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- KodingDev
- リポジトリ
- KodingDev/meridian
- ライセンス
- MIT
- 最終更新
- 2026/5/9
Source: https://github.com/KodingDev/meridian / ライセンス: MIT