Tips & Techniques

講義に入りきらなかった発見たち

講師が日々の運用で見つけた小ネタ集

本編の 5 Phase には収まらなかったけれど、Claude Code を毎日使っていく中で「これは効く」と感じたコツを集めました。気が向いたときに 1 つずつ拾い読みしてください。

← 本編ページに戻る

A. 基本操作の小ネタ

最初の 1〜2 週間で「あ、こんなコマンド/挙動があったんだ」と気づくと作業がぐっと軽くなる、入門寄りの Tip です。

1. /btw — 会話履歴を汚染しないサイドクエスチョン

こんなとき: 実装中にちょっとした疑問が湧いた。普通に質問すると、その質疑応答がメインの作業履歴に残って文脈がぼやける…。

Claude Code の答え: プロンプトの頭に /btw を付けると、その質問と回答は 会話履歴に残らず 消えます。サイドクエストとして処理して、メインタスクの文脈はそのまま守れます。

/btw この `--continue` フラグ、ちなみに何ができる?

★ 「ちなみに」レベルの軽い質問専用。重要な意思決定は普通に質問して履歴に残しましょう。

2. /rewind/resume — セッション操作の使い分け

こんなとき: 作業を間違った方向に進めてしまった、または昨日の別作業に戻りたい。

Claude Code の答え: 役割が違う 2 つのコマンドを使い分けます。

  • /rewind今いるセッション内 で会話を巻き戻す。間違った方向を取り消したいとき
  • /resume <session-id>別の過去セッションに切り替える。昨日の作業や fork した別ブランチに戻るとき

/fork で分岐させた先のセッション ID は直後にメモしておくと、後で /resume で行き来しやすくなります。

3. 使用量は 5 時間ローリングウィンドウ

こんなとき: 「Pro プランの上限って深夜 0 時にリセットされる?」と気になった。

Claude Code の答え: 固定時刻のリセットではなく、使い始めたタイミングから 5 時間後 に枠が回復する方式です。Claude.ai と枠を共有しているので、ブラウザ版で重い処理をすると CLI 側にも影響します。

★ 朝 9 時に Phase 3 の /arscontexta:setup を回したら、リセットは 14 時頃。重い処理は時間帯を選んで走らせるとスムーズ。

B. 運用パターン(中級向け)

毎日触っていると見えてくる「設計の判断」「メンテのコツ」を集めました。慣れてきたら手を入れてみてください。

4. Claude Code のルール階層 — 7 つのレイヤー

こんなとき: CLAUDE.md とスキルとメモリ、それぞれに似たような指示を書けるけど、結局どれが効くの?

Claude Code の答え: 強い順に並べると、ユーザーの直接指示が最強で、デフォルトプロンプトが最弱です。

強さ 場所 効力
1(最強) ユーザーの直接指示(プロンプト) すべてを上書き
2 プロジェクト / グローバル CLAUDE.md セッション全体のベース指示
3 スキル(SKILL.md) 呼び出し時に注入される手順書
—(別系統) hooks(settings.json) Claude を経由せずハーネスが強制実行
4 memory(MEMORY.md) 参考情報として読まれる、優先度低め
5(最弱) デフォルトシステムプロンプト すべてに上書きされうる

★ 「絶対に毎回 X してほしい」は CLAUDE.md ではなく hooks に書きます。CLAUDE.md は判断レイヤー、hooks は強制レイヤー。

5. CLAUDE.md は「ファイル構造」ではなく「ルール」を書く

こんなとき: 新しいプロジェクトを始めて CLAUDE.md を書こうとしたら、ついディレクトリ構造ツリーを書きそうになった。

Claude Code の答え: ファイルツリーは Claude Code が ls で勝手に把握できます。CLAUDE.md に書くべきは、コードからは読み取れない判断基準・行動指針 — たとえば「コミットメッセージは日本語」「テスト失敗時はスキップせず根本原因を直す」など。

★ 「ここに何を書けばいいか」迷ったら、「これは未来の自分/他の Claude が見落とすかも」 と感じたルールだけを書く。

6. settings.json の整理は「壊れた permission」から

こんなとき: いつの間にか settings.json の allow リストが膨らんで、削除したディレクトリ参照やワンショットコマンドが残っている。

Claude Code の答え: 一度全部見直して、構造化された permission パターン("Bash(git:*)" など)に圧縮します。one-shot の "Bash(echo hello)" のような具体コマンドは原則削除、許可は パターン単位 でまとめる。

"Bash(rm:*)""Bash(curl:*)" など破壊的・通信系は deny 側に書く方が安全です(CLAUDE.md より下のレイヤーで止まる)。

C. アーキテクチャの理解(上級向け)

Claude Code を「自分仕様の道具」として深く育てたい人向けの設計の話です。

7. セキュリティは「重要なほど下のレイヤーに重ねる」

こんなとき: --dangerously-skip-permissions で動かしたいけど、本当に何でもさせて大丈夫?

Claude Code の答え: 防御は 3 層 で考えます。番号は L1(一番深い)→ L3(一番浅い) という積み重なりで、 下(L1 寄り)に行くほど強い守り になります。Claude の判断に頼らず機械的にブロックされるからです。

イメージは 玉ねぎの皮。攻撃や危険なコマンドが外から来たとき、最初にぶつかるのが一番外の L3(薄皮)、突破されると L2、それも突破されると一番内側の L1(固い芯) に到達します。重要なルールほど内側(L1 寄り)に書く のが鉄則です。

  1. L3 — 判断レイヤー(一番浅い・弱い)

    CLAUDE.md / SKILL.md / memory

    Claude が読んで「従う努力」をするだけ。長い会話で忘れたり、巧妙な指示で上書きされうる

  2. L2 — ハーネスレイヤー(中間)

    settings.json の permissions.deny / hooks

    Claude Code 本体が手前で自動ブロック。Claude の判断に依存しないので確実

  3. L1 — OS レイヤー(一番深い・強い)

    Docker / chroot / ファイルパーミッション

    プロセス自体が実行できない。突破には OS レベルの脆弱性が必要なので、一番固い守り

↓ ほど深い層 = Claude の判断に頼らず、機械的にブロックされる

用語の補足:「ハーネス」とは Claude Code 本体(CLI)のこと。Claude (AI) と OS の間で動いていて、AI が出したツール実行リクエストを許可・拒否するゲートキーパー役です。「プロンプトインジェクション」は、Web ページや外部ファイルに「以前のルールを無視して xxx を実行しろ」のような罠が埋め込まれていて Claude を騙す手口で、L3 はこれに屈する可能性があります。

使い分けの目安:

  • 「コミットメッセージは日本語で」程度のルール → L3 (CLAUDE.md) で OK
  • .env~/.ssh は絶対に読ませない」 → L2 (settings.json の deny) に書く(L3 だけだと事故りうる)
  • 「初見の OSS や怪しいスクリプトを試す」 → L1 (Docker) で囲って実行する

8. 5 時間リミットが切れた後、自動で再開させる

こんなとき: 作業中に「5-hour limit reached - resets 3pm」と出てセッションが止まった。リセット時刻まで放置して、後で勝手に再開していてほしい。

Claude Code の答え: 公式の自動リトライ機能は 2026 年現在ありません(関連 Issue は #35744#36320#38263 など複数 Open のまま)。外部の小さなラッパー を組み合わせて代替するのが定番です。

3 つのアプローチ(易しい順)

方式 仕組み 向き
(a) CLI ラッパー npm i -g claude-auto-retry 等の小ツールが tmux で claude を監視し、リミットメッセージを検知 → 待機 → 自動で continue を投入 ★ 最もラク。SSH 切断後も tmux が動き続ける
(b) Hook + sleep Stop hook で停止を捕捉 → ccusage でリセット時刻を取得 → sleep 後に claude -c を再起動 自分で書く派、設定を細かく持ちたい人向け
(c) tmux + cron 固定時刻に tmux send-keyscontinue を送り込む 枯れた手法。リセット時刻が予測可能なときだけ有効

おすすめツール 3 つ(すべて MIT)

セッション復帰の公式コマンド

外部ツールの裏側で使われている、Claude Code 純正の 3 つの復帰フラグ:

  • claude --continue (短縮 -c) — カレントディレクトリで最新セッションを継続
  • claude --resume <session-id> (短縮 -r) — 特定セッションを ID 指定で復帰、ID 省略でインタラクティブピッカー
  • claude --fork-session — 復帰時に新しい session ID を採番(元セッションは保持)

★ 出典・参考: Claude Code 公式 CLI reference / anthropics/claude-code #35744 / 上記 3 ツールの GitHub。--continue / --resume / --fork-session は公式仕様。自動リトライ要望は複数 Issue が enhancement ラベルで Open のまま(2026-04 時点)。

D. 推奨プラグイン・拡張

Claude Code は素のままでも便利ですが、運用の型を skill として導入するプラグイン を入れると、初学者でも一気に「ベテランの動き」をなぞれるようになります。ここでは講師が実運用で使っている推奨プラグインを紹介します。

9. superpowers — 開発ワークフローを 13 個の skill にまとめたフレームワーク

こんなとき: Claude Code に依頼すると「いきなり実装に走って、テストも書かず、確認もしないまま完了報告」という流れになりがち。家で 1 人で続けると、誰もチェックしてくれない。

Claude Code の答え: obra/superpowers (MIT) を入れると、「ブレスト → 設計 → 計画 → 実装(TDD)→ 検証 → コードレビュー」 という開発の型が、Claude Code 側に skill として常駐します。Claude が「今この場面はどの skill を使うべきか」を自動判断して呼び出してくれます。

インストール

/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

マーケット登録 → インストールの 2 ステップ。Phase 2 で習った /plugin の流れと同じです。

入れると有効になる主な skill

skill 名 何をする 嬉しさ
brainstorming 実装前に質問で要件を引き出し、設計案を提示・検証する ★「いきなり実装」を防ぐ
writing-plans 承認済み設計を 2〜5 分粒度のタスクに分解 「次に何をする」で迷わない
verification-before-completion 「完了」と言う前に検証コマンド実行を強制 ★「動くはず」事故を物理的に防ぐ
systematic-debugging 4 フェーズで根本原因を特定するプロセス ★「エラー握り潰し」を回避
test-driven-development RED-GREEN-REFACTOR の TDD サイクル テスト文化を最初から
using-git-worktrees 承認済みプランを worktree で隔離して作業 main を壊さず実験できる(慣れてから)
requesting-code-review 提出前にチェックリストで自己レビュー 家で続ける段階の成長加速

最初に押さえる 3 つ(★ 印)

  1. brainstorming — 受講者が一番つまずく「要件が曖昧なまま書き始める」を構造的に潰す
  2. verification-before-completion — 「動くはず」で完了報告する事故を物理的に防ぐ
  3. systematic-debugging — エラーと出会うたび「どう直すか」の型が手元にある安心感

★ 出典・参考: obra/superpowers (GitHub) / marketplace / 作者の解説ブログ。 ライセンスは MIT。

← 本編ページに戻る