Skip to content
cccskills
FreePublished on GitHub

remember

【必須】ユーザーに記憶を頼まれたとき、保存先を判定してから書く。「覚えて」「保存して」「これ残して」「忘れないで」「メモって」など表現は問わない。ユーザーにClaudeの言動を誤りとして直されたとき、前にも同じことを言われた気がするときも発動。

このスキルを経由せずにauto-memory・CLAUDE.md・habits・tag-notes・rules・pinに書かない。

The English summary is being prepared. Showing the original description.

isizono/calm4 stars(GitHub 4 + cccskills 0)

Run score Not tested

See how to install

Files included (2)

  • SKILL.md21.3 KB
  • references/precedent-format.md9.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

remember

【必須】ユーザーが記憶を依頼した。以下のフローで保存先を判定し、確認の規定(下表)に従って実行する。新規保存専用のスキルであり、保存済みの記録そのものの訂正・撤回は forget skillの担当。

この判定木は rule-placement skillの4軸評価(契機/型/リスク/改訂見込み)から導出された高速表である。日常の「覚えて」はこの判定木で足りる。判定木の末端で迷う場合、1つの依頼に性質の異なる複数ルールが混ざっている場合は、rule-placementのfull評価へ切り替える。本判定木を改訂するときは、rule-placement側の評価体系から導出できる形を保つこと(片側だけの改訂は禁止。導出関係が崩れていたら矛盾として扱う)。

発動契機

以下のいずれかで発動する。

  • ユーザーが何かを覚えておくこと・保存すること・記憶に残すことを依頼した(「覚えて」「保存して」「これ残して」「忘れないで」「メモって」「記録して」など。表現のバリエーションは問わない)
  • ユーザーの発言に既視感がある(下の「既視感による自律発動」。雑談レベルの繰り返しは対象外)
  • ユーザーがこのセッションでのClaudeの行動・判断・出力を誤りとして直した(同じ指摘の繰り返し、「〜しないで」等。表現は問わない。人間の発話に限る)。まず直してから、本フローで教訓の置き場(フィードバックエントリを含む)を判定する

以下では発動しない(decision-record・forgetとの線引きは「## 注意」を参照)。

  • 経緯・成果物の記録(recording skillの担当)
  • メタask裁定の発効に伴う配置(rule-placement skillの担当)

確認の規定

書き先扱い
rules・habits・CLAUDE.md・判例decision・新しいdecision候補ごとに承認を得てから書く
フィードバックのエントリとノート・auto-memory・tag-notes・pin書いたあと1行で報告する

既視感による自律発動

ユーザーが明示的に記憶を依頼していなくても、発言に既視感を感じたら(雑談レベルの繰り返しは対象外)、判定フローの前処理3「既存を必ず引く」から始める(CALM searchだけで判定しない。get_feedback_entries、文脈内のauto-memory/habits/rulesの本文、触れたタグならtag-notesも見る)。

  • どこにも見つからない → 勘違いとして扱い、以降の判定フローには進まず通常の応答に戻る
  • 見つかったのが経緯(decision/log等)だけで、置き場所(フィードバックエントリ・auto-memory・habits・rules・tag-notes)には記録が無い → 新規保存として判定フローへ進む
  • 置き場所に記録がある → 再発の手順(下)に進む

型の前判定(あらかじめ答えを出しておく1問)

そのルールは「〜な状態なら〜してよい/すべき」という条件付き判断基準か? (適用条件と適用外を書き分けられ、隣接文脈に誤適用したら害がある型。例外条項付きの禁止はこれではなく無条件規範)

  • YES → 全文の正は判例decision(add_decisionsで記録。reasonに適用条件:/適用外:の定型節を含める。書式は本スキル同梱の references/precedent-format.md。承認を得てから書く)と決まる。続けて下の判定フローで契機を判定し、契機の置き場が決まった場合はそこへ要旨と判例への参照を書く(両方配置。実行時は判例decision作成→参照配置の順。参照側の承認/報告は、置き場ごとの確認の規定に従う)
  • NO → そのまま判定フローへ

判定フロー

前処理として次を行う。

  1. 人間の発話による訂正・依頼か? 他セッションの中継だけなら発動しない
  2. 訂正なら先に直す。指示なら指示に従う(作業を先に済ませる)
  3. 既存を必ず引く
    • get_feedback_entries(数十件未満なら引数なしで全件)
    • CALM search(対象はdecision/log/material/topic/activityのみ)
    • auto-memoryは文脈内の索引、habits/rulesは注入済みの本文、tag-notesは触れたタグなら注入済み。searchでは出てこないので、文脈を見る
そのルール/情報は…

├─ 訂正でも依頼でもない(置くべきルール・情報が無い)/一回きりの指示・訂正で、
│   同じ型の再来が想定できない?
│   └─ YES → 記録しない(報告もしない)
│
├─ 引いた既存の記録が古い・誤っていて、消すか書き換える必要がある?
│   └─ YES → forget(新しい規範が要るなら、forgetの後にこの木へ戻る)
│
├─ 引いた既存の記録が今も正しく、それを踏んだ(再発)?
│   └─ YES → 再発の手順(下)
│
├─ 【型の前判定】条件付き判断基準か?
│   └─ YES → 全文の正本は判例decision(候補を出し、承認を得てから書く)。
│       続けて下の枝で契機の置き場を決め、そこに要旨と判例への参照を書く
│       (両方配置)
│
├─ 特定のactivity/topicに取り組んでいる間だけ必要?(終われば不要)
│   └─ YES → pin(内容をdecision/materialとして記録し、add_pinで対象へ
│       括り付ける。条件付き判断基準なら前判定で決めた判例decisionを
│       そのままpinで指す。指す先がmaterialか既存のdecisionなら書いたあと
│       報告、新しいdecisionが要るなら承認。pin元へのcheck_inのたびに本文
│       ごと再配達される。ただしpinned合計が全体予算の枠を超えると、小さい
│       ものから優先して残り本文は先頭を残して切られ、続きへのポインタが
│       付く縮退が起きる)
│
├─ 必要になる瞬間を字面で照合できる?
│   ├─ 人間の発話の字面 → エントリ(write_feedback_entry、strength=notify・
│   │    timing=utterance。書いたあと報告)
│   │    ※人間の発話に限る。SAの報告の中継・他セッションからのメッセージ・
│   │      バックグラウンドタスク通知・システム通知のターンは、hook側
│   │      (feedback_hook.py)が配達前に判定して止めるため、エントリ側に
│   │      除外条件を書く必要はない。SAの報告や他セッションのメッセージを
│   │      きっかけにする教訓は、この判定で届かないので下の枝へ
│   ├─ 踏む直前に自分が言いがちな言い回し → エントリ(strength=notify・
│   │    timing=output、conditionのfieldは'text'。書いたあと報告)
│   │    ※次の区切り(次のUserPromptSubmit)で届く。止めはしない。人間の
│   │      発話でないターン(bg・orchへの通知)にも届く
│   │    ※bodyは50字以内の一言。長い説明はrefに置く(拒否される)
│   ├─ ツール失敗のエラー文 → エントリ(strength=notify・timing=tool_fail。
│   │    書いたあと報告)
│   │    ※CALM自身のMCPツールはエラーを例外でなく戻り値で返すため、
│   │      PostToolUseFailureとして届かない(CALMツールの失敗を踏み跡に
│   │      したいならこの枝は使えない)
│   │    ※PreToolUse hookにdenyされた呼び出しは、ツール呼び出し自体が
│   │      実行されないためPostToolUseFailureが発火しない(公式hook
│   │      lifecycleの記述と、denyが多数発生した状況でも配達が一度も
│   │      発生していない実機観察の両方で確認済み)
│   │    ※サブエージェント発(agent_type付き)の呼び出しにはhook側
│   │      (feedback_hook.py)が配達前に判定して止める
│   └─ 実行直前の引数でしか照合できない → blockのエントリ
│        (strength=block・timing=pre_tool。書いたあと報告)
│        ・実行直前にはblock(1回止め)しか無い。「知らせるだけ」は作れない
│        ・1回止める価値があるときだけ使う(見逃すと不可逆、または同じ罠を
│          繰り返し踏む)。それ以外はエントリにせず、下の枝へ
│        ・tool名だけでallが空のblockは作らない(そのツールを毎回止めて
│          しまう)
│   ※エラーの前(設計時・着手時)に知っておくべきことなら、エントリは補助
│     にとどめ、下の枝を主にする
│
├─ 特定のファイルに触れる時だけ必要?
│   └─ YES → ~/.claude/rules/(パス付き。承認)
│       (条件付き判断基準なら、rulesには要旨+判例への参照を書く。
│         `cc-memory-habits.md`はhabits DBからの自動投影ファイルで手動編集
│         対象外。対象はそれ以外の手動管理rulesファイル)
│
├─ 特定のタグ文脈でだけ必要?
│   └─ YES → tag-notes(update_tagで記録。書いたあと報告。条件付き判断基準
│       なら、tag-notesには要旨+判例への参照を書く。型が手順・事実参照
│       (仕様スナップショット・運用手順・歴史記録)なら全文を書かず
│       1行ポインタに留め、正典はコード/docs/資材に置く(rule-placement
│       Step3のタグ文脈行参照)。追記後の見込み文字数が天井(4,000字)を
│       超えるなら(現在天井未満でも増加更新は超過時に拒否されるため)、
│       先に`demote_tag_notes`で縮めてから書き込む)
│
├─ どのプロジェクト・文脈でも常に適用される?
│   ├─ 条件付き判断基準(前判定YES)?
│   │   └─ 判例decisionのみで完結(承認。追加の置き場は作らない。契機を
│   │       名指しできない条件付きは実質「自覚的な迷い」が契機であり、
│   │       迷った瞬間のsearch/add_ask同梱のpullで届く判例が正しい置き場)
│   ├─ 「従え」系の無条件規範?(条件節なしの1文で書ける)
│   │   ├─ 毎回必ず守るべき(違反の実害が大きい)
│   │   │   ├─ 100字未満で書ける → habits(承認。add_habit後、
│   │   │   │    update_habitでtrigger_mode="always"へ昇格)
│   │   │   └─ 収まらない → ~/.claude/rules/(承認。横断ルール)
│   │   └─ 弱い行儀・好み → habits(承認。intelligently層のまま)
│   │       (intelligently層は実際には引かれにくい実測がある。
│   │         本当に守らせたいものをここに置かない)
│   └─ 「知っとけ」系の文脈・tips?
│       ├─ 重要度高い → ~/.claude/CLAUDE.md(承認)
│       └─ 重要度低い → auto-memory(書いたあと報告)
│           (同じ趣旨の記録が再発したら、再発の手順(下)に従う)
│
└─ 次のいずれかに該当 → [rule-placement](../rule-placement/SKILL.md) のfull評価へ
    ・どれにも当てはまらない / 複数に該当して迷う
    ・1つの依頼に性質の異なる複数ルールが混ざっている
    ・契機が「あるツールを呼ぶ瞬間」「ある定型手順(skill)の実行」にしか
      名指しできない(配置先がPR経路になり、fast pathの守備範囲外)

エントリを新しく書く手順

  1. bodyだけで意味が通るように、100字以内で書く。refは配達されない
    • 長い手順は資材・skill・ファイルに置き、bodyに参照先を書く(例:「手順は資材〈名前〉をget_materialで読む」)
  2. refには「踏み跡: 〜」と経緯を書く。手入れのときに読むためのメモである
  3. 書いたら、名前と何をしたかを1行で報告する
  4. エントリの変更・削除はforgetを通さない

再発の手順(軽い出口)

まず、そのエントリが「届いた」かどうかを決める。

  • 「届いた」とみなすのは、そのエントリの配達文が、今の自分の文脈に見えているときだけである。配達文は次のどれかの形をとる。
    • 「過去の躓きから学んだ注意点」
    • 「直前のツール失敗に関連する過去の躓き」
    • 「直前の自分の発言に関連する過去の躓き」
    • ブロックの理由文
  • 見えていなければ「出なかった」とする。圧縮のあとや別のセッションでは、見えないので「出なかった」になる
  • 訂正の語彙そのものを条件にしたエントリは、踏んだあとにしか届かない。このため「届いた/出なかった」の欄は空でよい

既存の記録の種類ごとに、次のことをする。複数の種類に同じ記録があるとき(例: フィードバックエントリとrulesの両方に同じ教訓がある)は、フィードバックエントリの行を必ず実行してstumbleを書き、他の行はそのうえで追加として行う。

既存の記録すること
フィードバックエントリadd_feedback_note(kind="stumble")を書き、「届いた/出なかった」と「人に直されたか」を記す。<br>出なかった: get_feedback_entries(name=)でread_markを取り、write_feedback_entry(action="update")で条件を広げる。広げれば次は届く見込みならここまでにする。広げても字面で拾えない型なら、次の「届いたのに」と同じく格上げを検討する。<br>届いたのに踏んで人に直された: stumbleを1件書いた時点(再発1回)で、block化・rules/habits格上げ(要承認)・条件修正のいずれかを検討し、結果をnoteに残す。件数が溜まるのを待たない。
auto-memory / tag-notes字面で照合できる: エントリを新しく作る(書いたあと報告)。bodyはその記録の要旨とし、「詳細は〈記録名〉」と書く。<br>照合できない: まず「それを踏む直前に、自分が言いがちな言い回しはあるか」を考える。あれば、その言い回しを条件にしたoutputのエントリを新しく作る(書いたあと報告。上の「字面で照合できる」と同じ作り方で、bodyは50字以内)。言い回しが思い当たらないときだけ、その記録に日付つきで再発の1行を追記する。書式は- 再発 YYYY-MM-DD: <何が起きたか1行>(書いたあと報告)。<br>再発の行を1行追記した時点(再発1回=2回目に踏んだ時点)で、rule-placementのfull評価で格上げ先を決める。結論がrules・habits・CLAUDE.md・判例decision・新しいdecisionなら、下の「格上げの承認の取り方」に従う。tag-notes・pin・エントリなら書いたあと報告する。
rules / habits / CLAUDE.md字面で照合できる: blockかnotifyのエントリで強制力を足す(書いたあと報告)。bodyは人間の規則への参照だけにし、規則の中身を言い換えない。<br>照合できない: auto-memoryに「〈規則名〉の再発」の記録を作るか追記して、上の行と同じく再発の行を1行書いた時点でfull評価に進む。<br>すでに常時push(always/rules)に置かれていて上げる先が無いときは、書き直しの候補を出し、下の「格上げの承認の取り方」に従う。

照合できない再発は、この1本の道だけで扱う。full評価に進むのは、再発の行を追記して格上げを検討するときだけである。

格上げの承認の取り方

格上げ先が承認の要る置き場(rules・habits・CLAUDE.md・判例decision・新しいdecision)になったときは、次の2通りのどちらかで承認を取る。

  • 生きたセッションでユーザーがいる: その場で候補を出して聞く
  • 人がいない場面(sync-memoryなど、セッションを閉じる直前の一括処理): add_askでメタask(kind="meta"、blocks不要)を起票する。questionは「教訓〈名前〉を〈候補の置き場〉へ格上げしてよいか」とし、contextには教訓の要旨・踏んだ経緯・候補の置き場とその理由を入れる。起票までが仕事で、承認なしに書かない

格上げ則(判定フローに優先する例外)

「見逃すと不可逆な事故になる(外部へのpush・データ消失・他セッション巻き込み)」かつ「踏む直前に迷いが発生しない(良かれと思って・ついでに踏む)」ルールは、pull系(判例decision・habits intelligently層・auto-memory)に置いてはいけない。契機を名指しできるならその契機のpush経路(tag-notes/pin)、できないなら常時push(habits always昇格 or ~/.claude/rules/)へ格上げする。pull経路は実際には引かれないことがある。

  • 実行直前の引数で照合できるなら、blockのエントリを格上げ先の最上位にする
  • 既存のエントリがあっても、それが不可逆で、しかも気づかずに踏む種類なら、blockのエントリを新しく作ることを同時に検討する

格上げ先の経路の判断に迷う場合は、fast pathで即決せずrule-placementのfull評価(Step 4の強度補正)で確定する。

判定の3軸(fast path版)

  • 契機: 何が起きたらこのルールが要るのか。作業単位 → ファイル → タグの順(狭い契機から)に名指しを試し、名指しできないものだけを「常時」に落とす。複数の契機に該当したら、より狭い契機を採る。「重要だから常時」は契機の名指しの失敗(重要度はリスク軸で扱う)
  • 型: 無条件規範(従え系)/ 条件付き判断基準(〜ならOK系)/ 事実・tips(知っとけ系)
  • リスク: 見逃しコスト × 無自覚性。上記の格上げ則を参照

habits投影の仕組み

add_habitで記録したhabitは常にtrigger_mode='intelligently'(マニフェスト表示)で作成される。SessionStart時に~/.claude/rules/へ自動投影されるが、intelligently層はタイトルのみで、全文はget_habitsでのon-demand取得が必要になる。

「毎回必ず全文で見てほしい」レベルの制約は、記録後にupdate_habitでtrigger_mode="always"へ昇格する追加ステップが要る(新規作成と同時にalways指定はできない)。判定に迷う場合はユーザーに確認する。

注入の強度

強 ┃ habits(always層)        — 全文をSessionStartで常時投影。絶対守れ
   ┃ rules/                    — セッション起動時に全文注入。従え
   ┃ pin                       — pin元へのcheck_inのたび本文ごと再配達
   ┃                             (pinned合計が予算超過時は小さい順に優先、
   ┃                             溢れた分は先頭を残して切られポインタが付く)
   ┃ フィードバックエントリ    — 字面が一致した瞬間に配達、blockは実行を止める
   ┃ tag-notes                 — タグ文脈に触れた初回に全文注入
   ┃ CLAUDE.md                 — プロジェクト文脈として参照
   ┃ 判例decision              — search/pull_precedents/add_ask時にpullで届く
   ┃ auto-memory               — 見えてはいるけど、気づけば使え程度
   ┃ habits(intelligently層) — タイトルのみ常時投影、全文はget_habitsで取得
弱 ┃

注意

  • 判定に迷ったらrule-placementのfull評価へ。それでも決めきれない場合はユーザーに確認する
  • 「決めたことの事実記録」としてのdecision(decision-record skillの担当)は「覚えて」の対象外。ただし条件付き判断基準の配置先としての判例decisionは本フローの正規の出口であり、対象外ではない。記録時はdecision-recordの書式作法(定型節)に従う
  • auto-memoryとCALMの二重記録はOK(異なる注入経路として機能する)
  • 保存済みの記録そのものが古い・誤りで消す・書き換える必要がある場合は対象外。気づいたらforget skillへ

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

【必須】現在のアクティビティを完了にする、または完了にせず中断して寝かせる。「/af」「この作業完了」「クローズして」「一旦ここまで」「今日はここで止める」「いったん置いておく」など終える・中断する意図で発動。このスキルを経由せずにupdate_activityでcompleted・pending・snoozed・shelvedにしない。

The English summary is being prepared. Showing the original description.

isizono/calm4Updated Oct 16, 2026

【必須】新しいアクティビティを作成してcheck-inする。「/as」「新しい作業始める」「アクティビティ作って」「これやる」など新規作業の開始で発動。このスキルを経由せずにadd_activityを呼ばない(orchの起票はorch skillに従う)。

The English summary is being prepared. Showing the original description.

isizono/calm4Updated Oct 16, 2026

【必須】open askを1件ずつ人間に提示し、回答をanswer_askで記録する。「askに答える」「open ask消化して」「溜まってるask片付けたい」などで発動。このスキルを経由せずにanswer_askを呼ばない。

The English summary is being prepared. Showing the original description.

isizono/calm4Updated Oct 16, 2026

【必須】add_askでaskを起票する前に、question/contextをテンプレートで組み立てる。離席中・セッション跨ぎでしか答えられない判断が出たときや、「これ聞いといて」「判断委譲しといて」「後で確認して」などで発動。このスキルを経由せずにaskの文面を書かない(メタaskを除く)。

The English summary is being prepared. Showing the original description.

isizono/calm4Updated Oct 16, 2026

add_askの応答のsimilar_asksを見て、同型の問いが繰り返され裁定が一貫していると気づいたとき、判例をまとめてメタask(kind="meta")を起票する。

The English summary is being prepared. Showing the original description.

isizono/calm4Updated Oct 16, 2026

人間の判断待ちaskの受け箱をMonitorで監視し、判断構造が同じopen askが溜まっていればメタaskを起票する。「ask storeを監視して」「asksを見張って」「open askの滞留をチェックして」などで発動。

The English summary is being prepared. Showing the original description.

isizono/calm4Updated Oct 16, 2026

See all skills by isizono

Report a problem with this skill