Claude Code の `@` `!` 記号入門。ファイル参照とシェル実行
依頼文の中に `@` を混ぜれば、見てほしいファイルをそのまま渡せます。`!` を打てば、シェルコマンドが直接走って結果が会話に取り込まれます。スラッシュコマンドが本体への命令だったのに対し、こちらは依頼文そのものを効率化する道具です。手数を減らす2つの近道を、順番に見ていきます。
はじめに
前の記事「スラッシュコマンド入門」では、/ から始まる Claude Code 本体への操作命令 を扱いました。今回はそのお隣、プロンプト記号 の話です。
おさらいとして、Step 3 で扱う「コマンド類」は3つの層に分かれます。
- スラッシュコマンド(
/):Claude Code 本体への操作命令 - プロンプト記号(
@!):依頼文のなかで使う、入力を効率化する記号 ← この記事 - キーボードショートカット:流れを止める・モードを切り替える物理キー
スラッシュコマンドが「アプリへの操作」だとすると、プロンプト記号は 「Claude への依頼文を、ちょっとだけ早くする小道具」 です。たった2つしかありませんが、毎日のやり取りで使うので、一度覚えると元には戻れません。
プロンプト記号とは何か
プロンプト記号は、ふつうの依頼文に混ぜて使う 特別な記号のことです。
スラッシュコマンドとの違いを並べると、次のようになります。
| 種類 | 相手 | 使い方 | 例 |
|---|---|---|---|
| スラッシュコマンド | Claude Code(道具) | / から単独で打つ | /clear |
| プロンプト記号 | Claude(AI) | 依頼文のなかに混ぜる | @README.md を要約して |
スラッシュコマンドが 「/ を打って候補から選ぶ」 という独立した操作なのに対し、プロンプト記号は 「ふだんの依頼文に1〜2文字足すだけ」 で意味が変わります。日本語の文章のなかにそのまま混ぜて構いません。
ここから、@ と ! をひとつずつ見ていきます。
@ — ファイルを直接渡す
入力欄で @ を打つと、いま開いているフォルダのファイル一覧 がそのまま候補としてポップアップ表示されます。
@src/com
↓ 候補が出てくる
src/components/Header.astro
src/components/Footer.astro
src/components/PostCard.astro
...
矢印キーで選んで Enter、もしくはそのままパスを打ち込めば、そのファイルを「Claude に見せたいもの」として依頼文に埋め込める 仕組みです。
何が嬉しいのか
@ を使わなくても、Claude に「README.md を読んで要約して」と頼めばちゃんと動きます。ただ、その場合 Claude はこう動きます。
- 「README.md ですね、探します」
- ファイルをツールで読みに行く
- 中身を取得してから本題に入る
@ を使うと、この往復が消えます。最初から「これを見てね」と確定で渡している ので、Claude は探す手間なくいきなり要約に入れます。
具体例
たとえば、ヘッダーとフッターのコンポーネントを見比べて改善点を出してほしいとき。
@src/components/Header.astro と @src/components/Footer.astro
を見比べて、改善点を3つ教えてください
このように、1つの依頼文に複数の @ を混ぜる こともできます。日本語のあいだに @パス を埋め込んでいくイメージで使えるので、書き味は驚くほど自然です。
ディレクトリも渡せる
@ で渡せるのはファイルだけではありません。フォルダ単位 でも指定できます。
@src/components/ のなかから、フォーム関連のファイルだけ抜き出して
src/components/ を丸ごと渡すと、Claude はそのなかの構造を踏まえたうえで答えを返してくれます。「どこを見ればいいか」を Claude に判断させずに済む点が、@ の本当の価値です。
Web 制作者にとっての使いどころ
私自身がよく使う場面をいくつか挙げます。
| 場面 | 書き方 |
|---|---|
| 既存ファイルを参考にして新しいファイルを作りたい | @src/components/About.astro と同じ構成で Contact ページを作って |
| 2つのファイルの差分を確認したい | @old.css と @new.css の違いを表でまとめて |
| フォルダ全体を踏まえたうえで設計を相談したい | @src/pages/ の構成を見て、Privacy ページの置き場を提案して |
どれも「Claude に探させない」「最初から渡してしまう」という発想です。送り先が明確になっているメールほど早く返事が来る、と覚えるとイメージしやすいかもしれません。
! — シェルコマンドを直接走らせる
もうひとつの記号 ! は、毛色が違います。こちらは Claude を経由せずに、シェル(Bash)コマンドを直接そのまま実行する ためのものです。
入力欄の行頭に ! を打つと、その行は シェルモード として扱われます。Enter を押した瞬間、! の後ろに書いた内容がそのままターミナルで実行されます。
!ls
↓ Enter
node_modules
package.json
public
src
...
実行結果は Claude の会話の流れにそのまま取り込まれるので、続けて「いま見えてる構成のなかで src/ だけ詳しく説明して」と頼めば、Claude は出力結果を踏まえて答えてくれます。
「ls して」と頼むのとの違い
ここで気になるのは、Claude に「ls して」と頼んでも同じことができるのでは? という疑問だと思います。違いを整理しておきます。
| やり方 | 流れ | 体感 |
|---|---|---|
Claude に依頼(ls して) | Claude が「ls しますね」→ 実行確認 → 実行 → 結果を読む | 1〜2秒のやりとりが入る |
! で直接実行(!ls) | その瞬間に実行・結果が会話に追加 | 即時 |
機能としてはどちらも同じ結果になりますが、! のほうは「自分の手で打ったコマンドを Claude にも見せる」感覚 に近いものになります。Claude の判断を挟まずに自分が結果を確認したいとき、! のほうが気持ちよく流れます。
Tab で過去のコマンドを呼び出せる
! モードでは、Tab キーで過去に打ったシェルコマンドの履歴から補完 できます。同じコマンドを何度も打つ場面では、地味に効きます。
!npm run まで打って Tab を押せば、!npm run dev !npm run build といった候補がさっと出てくるイメージです。
モードから抜けたいとき
! を打って「やっぱりやめた」となる場面もあります。そのときは次のキーで抜けられます。
| キー | 効果 |
|---|---|
Esc | シェルモードを離脱 |
Backspace | ! を消して通常入力へ戻る |
Ctrl + U | 行を丸ごと消す |
どれを使っても結果は同じなので、自分の手癖に合うものを覚えておけば十分です。
長く走るコマンドはバックグラウンドに回せる
ビルドや起動コマンドのように、すぐに終わらないものを ! で走らせたいときは、Ctrl + B でバックグラウンド実行に切り替えられます。!npm run dev のような開発サーバー起動を、ターミナルを止めずに走らせ続けたい場面で使います。
最初のうちはあまり気にしなくて大丈夫です。「重い処理は Ctrl + B で逃がせる」 とだけ頭の隅に置いておけば、必要になった日に思い出せます。
注意点はひとつだけ
! は 入力した瞬間に実行されます。Claude が「実行していいですか?」と確認してくれる経路を通らないので、危険なコマンドを ! のあとに書くと、そのまま走ります。
具体的には、ファイルを消す rm、強制的に上書きする > リダイレクト、Git の取り消し系コマンドなどです。確認を入れてほしい場面では、! ではなく Claude に依頼文として頼むほうが安全 です。「ls」「pwd」「cat」のような 見るだけのコマンド は ! で気軽に、書き換える側のコマンド は依頼文で——と使い分けると、事故が起きにくくなります。
使い分けの目安
ここまでの内容を、3つの選択肢の表に圧縮しておきます。
| やりたいこと | 使うもの | 例 |
|---|---|---|
| 手元のファイル・フォルダを Claude に見せたい | @ | @README.md を要約して |
| すぐ実行したいシェルコマンドがある(見るだけ) | ! | !ls |
| Claude に判断・実装・書き換えを任せたい | 記号なし(ふつうの依頼) | Header に検索ボタンを追加して |
迷ったときは、「相手が誰か」 で考えると判断が早まります。@ は Claude に渡すための名札、! は シェルへの直行便、記号なしの依頼文は Claude への相談。3つを混ぜて使えるようになると、毎日の入力欄がぐっと軽くなります。
まとめ
プロンプト記号の要点を整理します。
- プロンプト記号は依頼文のなかに混ぜて使う:スラッシュコマンドと違い、独立して打つものではない
@はファイル・フォルダを直接渡す道具:オートコンプリートで候補が出る。複数並べてもいい!はシェルコマンドを直接走らせる道具:その瞬間に実行され、結果は会話に自動で取り込まれる!を抜けたいときはEscかBackspace:手癖に合うほうでよい- 長く走るコマンドは
Ctrl + Bでバックグラウンド化:開発サーバー起動などで使う - 書き換え系のコマンドは
!ではなく依頼文で:確認の経路を残しておくと事故が減る - 使い分けの軸は「相手が誰か」:Claude に見せる(
@)/シェルに直接(!)/Claude に相談する(記号なし)
次の記事「キーボードショートカットとモード」では、流れを止めたいとき、モードを切り替えたいときに使う物理キーをまとめます。スラッシュコマンドとプロンプト記号で「打つ命令」を覚えたら、最後に「打たずに済ませる近道」を押さえる——という流れです。続けて読むと、Claude Code の操作ひと回りが手に馴染みます。
WordPressを実際に動かしてきたサーバー:ロリポップ
Claude Code でWordPressサイトを組み立てるとき、最初に置く先として無理のないレンタルサーバー。月数百円から始められ、WordPressの自動インストールにも対応しています。設定で詰まりがちな初期段階の時間をかなり減らせます。