この記事の実施記録(2026年5月): .claude/commands/ 配下に .md ファイルを1枚置く方式で、アラーム・スクリーンショット・クリップボード・天気・ファイルを開く・現在時刻・ポモドーロ・タイマーの8スキルを自作・運用中。コードは書いておらず、スキルファイルは自然言語の指示文で構成されている。Windows 11 環境で実稼働確認済み。
カップラーメンを作りながら Claude Code に話しかけた。
「ラーメン、3分計って」
3分後、画面にポップアップが出た。「14:32 になりました!」。それを見て思った。これ、自分で作ったツールだ。
Claude Code には公式のスキルマーケットプレイスのようなものはない。「ラーメンタイマーをインストール」という話ではなく、「自分で指示文を書いて自分だけのツールを育てる」という話になる。面倒そうに聞こえるかもしれないが、実際に手を動かしてみると、コードを1行も書かずにちゃんと動くものができた。
この記事では、そのやり方と、実際に使っているスキル8本を紹介する。
スキルの仕組み: .md を1枚置くだけ
Claude Code には「カスタムスラッシュコマンド(公式には「Skills」と呼ばれる仕組み)」がある。.claude/commands/ ディレクトリに .md ファイルを置くと、それがスキルとして登録される。
.claude/
└── commands/
├── alarm.md ← 「3分後に教えて」で発動
├── weather.md ← 「今日の天気教えて」で発動
└── now.md ← 「今何時?」で発動
ファイルの中身は、Claude への指示文だ。PowerShell や bash のコマンドを埋め込めるが、「こういうときはこうして」という自然言語の説明がメインになる。
~/.claude/commands/ に置けば全プロジェクト共通で使えるスキルになり、プロジェクト内の .claude/commands/ に置けばそのプロジェクト専用のスキルになる。
スキルの呼び出し方は2種類ある。
/alarm 14:30のようにスラッシュコマンドを直接打つ- 「15時になったら教えて」「天気は?」のように普通に話しかける
どちらでも動く。コマンド名を覚えなくても、いつも通り Claude に話しかければ Claude 側でトリガーを検知して動かしてくれる。
スキルの3つのレベル
作ってみてわかったのは、スキルには複雑さのレベルがあるということだ。
レベル1: 1コマンド呼び出し(/now、/weather)
既存のコマンドを1行呼ぶだけ。スキルファイルが4〜86行で完結する。
レベル2: スクリプト委譲(/alarm、/clip)
ロジックを .sh スクリプトに切り出して、スキルはラッパーとして呼ぶ。スキルファイルはシンプルに保ちつつ、処理が複雑になっても対応できる。
レベル3: スキル合成(/pomodoro)
既存のスキルを組み合わせて新しいスキルを作る。/alarm と /timer を組み合わせると、ポモドーロタイマーになる。
積み木のような設計だ。小さなスキルを作って、それを組み合わせていく。
スキル紹介: 8本の実況
/alarm — 「3分後に教えて」で動くアラーム
カップラーメンの話はこれだ。
実際のスキルファイル(alarm.md、23行)はシンプルで、scripts/util/alarm.sh を呼ぶだけの構成になっている。ロジックの実体はシェルスクリプト側(193行)に切り出されており、スキルはラッパーとして機能している。
呼び出し例: - 「3分後に教えて」→ 3分後にWindowsポップアップ - 「15時になったら教えて」→ 絶対時刻アラーム - 「1時間後に休憩リマインダー」→ 相対時刻指定
相対時刻(+3m)と絶対時刻(14:30)の両方に対応している。アラームはバックグラウンドで動くので、セットした後すぐに別の作業に戻れる。通知はWindowsのポップアップ(バルーンではなく前面に出るダイアログ)なので、画面を見ていなくても気づける。
macOS の場合は osascript の display notification で通知バナーを出す方法がある(Windows のように OK を押すまで消えないモーダルダイアログではなく、バナー通知になる点は違いとして覚えておいてほしい)。
/screenshot — スクショを撮って「この画面を分析して」
「この画面のエラー、何が問題か教えて」
この一言で、スクリーンショットを撮影し、その内容をClaude が解析する流れが作れる。
スキルファイル(53行)は PowerShell を使ってプライマリモニターをキャプチャし、タイムスタンプ付きのファイル名で tmp/ に保存する。保存されたファイルを Read ツールで読み込んで Claude に表示するという仕組みだ。
呼び出し例: - 「スクショ撮って」→ プライマリ画面をキャプチャ - 「拡張画面をスクショして」→ 2枚目のモニター - 「アクティブウィンドウだけ」→ 3秒待機後にキャプチャ(対象ウィンドウに切り替える時間を確保)
撮影してそのまま「この画面の赤枠の部分は何?」と聞くのが一番使う流れだ。エラー画面の診断や、UIの問題報告(「このボタンなんで動かないの」)に重宝している。
/clip — 生成したテキストをすぐ貼り付けたい
Claude が長文を生成したとき、それをメモアプリや他のツールに貼り付けたい場面がよくある。マウスで全選択してコピーするのが面倒で作った。
スキルファイル(20行)は PowerShell の Set-Clipboard を使っている。clip.exe は UTF-8 非対応なので使っていない(これははまりポイントだ。Windows の clip.exe は日本語が文字化けする)。
呼び出し例: - 「このコードをクリップボードにコピーして」→ Claude の直前出力をコピー - 「このファイルの内容をコピーして(ファイルパスを渡す)」→ ファイルを読んでコピー - 「さっきのMarkdownをコピーして」→ 直前の生成物をコピー
実行後は「クリップボードにコピーしました」の一言だけ返ってくる。シンプルだが、毎日使う。
/weather — 外出前に「今日の天気は?」
作業中にふと「今日傘いるかな」と思っても、ブラウザを開く気になれないことがある。Claude Code の中にいながら、話しかけるだけで確認できるのが /weather だ。
ブラウザに切り替えなくていい。今いる場所から離れずに済む。それだけの話だが、これが積み重なると地味に効く。
MCP の追加も、外部APIのキーも不要。Claude Code に標準で入っている WebFetch 権限だけで動く。
実際のスキルファイルを見ると86行あり、引数パターンを6種類サポートする設計になっている。(ネタ帳メモには「3行スキル」と書いていたが、読み返したら機能追加で育っていた。記事には実測値を書く)
/weather → 現在地の今日の天気 /weather tomorrow → 現在地の明日の予報 /weather 3days → 3日間予報(表形式) /weather Tokyo → 指定都市の今日 /weather tomorrow Ube → 指定都市の明日 /weather 3days Osaka → 指定都市の3日間
内部では wttr.in というサービスを WebFetch で取得している。「Tokyo: 晴れ +22°C」のようにコンパクトな形式で返ってくる。
「外出するんだけど、傘いる?」と話しかけるのが一番自然な使い方だ。天気の話をしながら他のこともできる。
/open — 「このファイルを開いて」
コードを書いていると「このファイルをエディタで見せて」という場面が頻繁にある。ターミナルでパスを打つよりも速い。
スキルファイル(24行)は拡張子を見てアプリを自動判定する。
.md / .txt / .log / .csv / .json / .yaml → VS Code(なければ Notepad) それ以外 → Windows の start "" でデフォルトアプリ
呼び出し例: - 「このファイルを開いて(パスを渡す)」→ VS Code で開く - 「このURLをブラウザで開いて」→ デフォルトブラウザで開く
スキルを動かすだけなら2行で済む。育てるのは後でいい。
/now — 「今何時?」
一番シンプルなスキルだ。スキルファイルはほんの数行で収まる。
powershell.exe -Command "Get-Date -Format 'yyyy-MM-dd HH:mm:ss (ddd)'"
これを実行して表示するだけ。「2026-05-01 14:32:45 (Thu)」のように返ってくる。
なぜこれが必要かというと、Claude Code は UTC/JST の混乱を起こしやすいからだ。Windowsで date コマンドを打つと UTC が返ることがある。JST で確実に現在時刻を取得するために、PowerShell 経由で取得する仕組みにしている。
「スキルって複雑なものだけじゃない。1コマンドでも作る価値がある」という好例だと思っている。
/pomodoro — 「25分集中する」で始まる作業記録付きタイマー
ここからがスキル合成の話だ。
/pomodoro は内部で2つのスキルを呼んでいる。
bash scripts/util/work-timer.sh start $ARGUMENTS(作業タイマー開始)bash scripts/util/alarm.sh +25m ポモドーロ終了!休憩してください(25分後アラーム)
スキルファイル(19行)はこの2つを順番に呼ぶだけ。「アラームとタイマーを組み合わせたらポモドーロになった」という話だ。
タスク名を渡すと logs/work-times.log に記録される。
/pomodoro 記事執筆 → 25分後: 「記事執筆ポモドーロ終了!休憩してください」 → ログに「記事執筆: 25分」が蓄積
後から「今週どのタスクに何時間かけたか」を確認できる。スキルを合成すると機能が掛け算になる。
/timer — 作業時間を記録するストップウォッチ
ポモドーロの土台になっているスキルだ。スキルファイルはとても短い。
bash scripts/util/work-timer.sh $ARGUMENTS
全部シェルスクリプト(work-timer.sh)に委譲している。スキルはその薄いラッパーだ。
呼び出し例: - 「作業時間 記録開始 記事執筆」→ タイマー開始 - 「作業時間 記録終了」→ タイマー終了、経過時間をログに記録 - 「今週何時間作業した?」→ ログから集計
複数タスクの並列計測にも対応している。「記事執筆しながらリサーチも計測する」ような場合でも別々に記録される。
「自分には難しそう」への答え
スキルを見せると「SE26年だから作れるんでしょ?」と思われることがある。でも、実際のスキルファイルを見てほしい。
/now スキルはほんの数行。/timer スキルも同様にとても短い。/clip スキルは「clip.exe は UTF-8 非対応なので Set-Clipboard を使う」という説明と PowerShell コマンドだけで構成されている。
スキルファイルの中身は、Claude に「こういう操作をするとき、こうやって」と教える指示文だ。プログラミング言語の文法を覚える必要はない。「3分後にポップアップを出す」という要件を日本語で書けば、それがスキルになる。
実際、私が担当したのは「何が欲しいか」を言語化することだけで、PowerShell のコード部分は Claude が書いた。スキルファイルの中にコードブロックが登場しているが、あれは全部 Claude に書いてもらったものだ。
失敗もある。/open は3回改良が必要だった。最初は start "" だけだったが、Markdown ファイルが想定と違うアプリで開いた。次に notepad.exe フォールバックを追加した。「開いてって言ったときにVS Codeの中で開いてもらうとうれしいときもある」という一言がきっかけで、VS Code 優先の今の形になった。ユーザーの自然言語の一言が、そのままスキルの仕様変更になった。
でも直すのは簡単だ。.md ファイルを編集するだけ。最悪ファイルを消せば元に戻る。公式機能の設定を壊したわけではないので、リセットが容易だ。
「ChatGPT でも同じことができるのでは?」という疑問もある。天気スキルはそうかもしれない。ただ、アラームはローカルの PowerShell を直接動かしてWindowsのポップアップを出している。スクリーンショットはローカルのファイルシステムに保存する。タイマーはローカルのログファイルに蓄積する。
決定的な違いは「1つの画面で完結する」点だ。ChatGPT でアラームをセットしようとすると、別アプリを開くか、ChatGPT の返答を見てから自分で操作する必要がある。Claude Code なら「3分後に教えて」と打ったらそのまま作業に戻れる。ブラウザのタブを切り替えない。作業の文脈が途切れない。「ちょっと天気を確認したい」「スクショを撮って分析したい」という小さな割り込みを、今いる場所から離れずに済ませられるのが本質的な価値だ。
まだ作っていないスキルたち
実は作りたいリストがある。
| スキル | 概要 |
|---|---|
/log |
一行作業日誌をファイルに追記 |
/standup |
昨日/今日/ブロッカーを整形出力 |
/break |
1時間ごとの休憩リマインダー(/alarm の応用) |
/speak |
テキストを読み上げ(PowerShell TTS) |
/note |
クイックメモをファイル保存 |
/break は /alarm があれば実装5分で済む。/standup は昨日のタイマーログを読んで整形するだけだ。「できること」が積み重なると、「次にやりたいこと」が次々と浮かぶ。
これらのスキルを配布しない理由がある。.sh スクリプトのパスや PowerShell の権限設定は環境依存が大きい。そのまま持ってきてもそのままでは動かない場合が多い。
一覧を見て「こういうものが作れるのか」と思ったら、Claude Code に「こういうスキルを .claude/commands/ に作って」と頼むのが一番速い。自分の環境に合わせて作ってもらえる。
Claude Code の基礎から体系的に学びたい方には、以下の書籍も参考になる。
Claude CodeによるAI駆動開発入門(平川知秀 著)
実践Claude Code入門――現場で活用するためのAIコーディングの思考法(西見公宏・吉田真吾・大嶋勇樹 著)
まとめ
「アイデアを言語化した瞬間に動くものになる」のが、スキル作りの感覚だ。
カップラーメンを作りながら「3分計ってほしい」と思ったら、その日のうちにアラームが動いた。「開いてって言ったときにVS Codeで開いてほしい」と一言言ったら、翌日には /open スキルに反映されていた。
要件を言語化できる人は、コードが書けなくてもスキルが作れる。
スキルが8本並ぶと、次の問いが出てくる——これらを組み合わせたチームとして動かすには、どういう設計が必要なのか。私はスキルを1本ずつ育てていくうちに、「個別ツールの集合」ではなく「AIが役割分担して動く仕組み」として整えることで、さらに使い物になると気づいた。その設計の考え方と実践をまとめたのが以下の本だ。序章・第1部が無料で読める。
- AIチームを作るまで——Claude Codeでマルチエージェント環境を設計する(Vol.1、序章・第1部無料)
関連記事
- Claude Code 実用TIPS集 — 知っていれば5秒、知らなければ1時間(パート1: 地雷回避編)
- 非エンジニアができること——Claude Code 実例ガイド
- タスク管理・リサーチ・記事公開を全部AIに振ったら、人間はどこで判断すればよくなったか
FAQ
Q. スキルを作るのに追加費用がかかりますか?
A. スキルファイルの仕組み(.claude/commands/ にファイルを置く方式)は、Claude Code の利用プランの範囲内で追加費用なく利用できる。Claude Code 自体の利用には Pro 以上(月額 $20〜)が必要。
Q. macOS でも動きますか?
A. 天気・現在時刻・タイマー・クリップボードは macOS でも動く。アラームとスクリーンショットは PowerShell を使っているため要変更。アラームは osascript -e 'display notification "..."' で代替できる。
Q. スキルファイルを間違えて壊したらどうなりますか?
A. .md ファイルを編集するか削除するだけで元に戻る。公式の設定ファイルには触れていないため、最悪ファイルを消せばリセットできる。