Codex Skillsで自分のワークフローを書く方法:繰り返しプロンプトから再利用可能なSKILL.mdへ

Codex Skillsで独自ワークフローを作る実践ガイド。skillを作るべき場面、SKILL.mdの構成、descriptionの書き方、references、scripts、assetsの分け方、テストと保守方法を整理します。

Codex skillsで自分のワークフローを書くとは、繰り返しCodexに貼っている作業手順を、発見可能で保守しやすい SKILL.md にまとめることです。

一度きりのタスクなら、普通にプロンプトを書けば十分です。skillにする価値があるのは、同じ流れが繰り返し出てきて、手順、入力、出力、検証がある程度固定されている場合です。

結論

使いやすいCodex skillには、だいたい次の特徴があります。

  1. description に「いつ使うか」が明確に書かれている。
  2. SKILL.md にワークフロー、境界、入力、出力、検証が書かれている。
  3. 長い資料は references/、反復コマンドは scripts/、テンプレートは assets/ に分ける。
  4. 変更後は実タスクで試し、必要なときだけ発火するか確認する。

skillに向いている例:

1
2
3
4
5
中国語記事を公開可能なブログ記事に整える
ログを日報にまとめる
PRをセキュリティ、回帰、テスト不足の観点でレビューする
build、sync、purge、submitを含むデプロイ手順を固定する
商品画像を一定仕様に正規化する

skillは知識ではなく、再利用できる作業方法です。

Skill、AGENTS.md、Hooks、MCPの使い分け

まず置き場所を間違えないことが大切です。

必要なもの 置き場所
今回だけの要求 現在のプロンプト
リポジトリの規約、テストコマンド、コミット規則 AGENTS.md
再利用可能なタスク手順 Skill
ツール実行前後の機械的ルール Hook
外部システムやDBへのアクセス MCP server または app connector
定期レポートや定期チェック Automation
複数機能を配布するパッケージ Plugin

例えば「変更後に必ずformatする」はhook寄りです。「PRレビューで安全性、境界条件、テスト不足を確認する」はskill寄りです。「このrepoではnpmではなくpnpmを使う」は AGENTS.md に置きます。

最小構成

最小のskillは1ファイルだけです。

1
2
my-workflow/
  SKILL.md

少し大きい場合:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
my-workflow/
  SKILL.md
  references/
    checklist.md
    examples.md
  scripts/
    validate.ps1
    collect-data.py
  assets/
    report-template.md

役割:

  • SKILL.md: 入口、使用条件、手順、検証。
  • references/: 長い背景、例、rubric、用語集。
  • scripts/: 安定した機械的処理。
  • assets/: テンプレートやサンプル。

小さなskillなら無理に分割しなくて構いません。

SKILL.mdテンプレート

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
---
name: my-workflow
description: Use when the user asks to <specific trigger>. Handles <input>, produces <output>, and verifies <completion criteria>.
---

# My Workflow

## Purpose

このskillが解決する反復タスクと、解決しないことを書く。

## When To Use

- ユーザーが特定のタスクを求めたときに使う。
- 固定手順、固定出力、固定検証が必要なときに使う。
- 普通のQ&Aでは使わない。

## Inputs

- ユーザーが提供すべきもの。
- リポジトリから発見できるもの。
- 不足時にどう仮定または質問するか。

## Workflow

1. 状態を確認する。
2. 必要なファイルを読む。
3. 中核処理を行う。
4. 軽量検証を行う。
5. 結果と残作業を報告する。

## Constraints

- 変更してはいけないファイル。
- 実行してはいけないコマンド。
- 保持すべきフィールド。
- 衝突時の扱い。

## Verification

- 出力ファイルを確認する。
- 形式を確認する。
- コマンド結果を確認する。
- 残リスクを確認する。

## Reporting

最終報告には、変更内容、未変更部分、検証結果、リスクを含める。

すべての見出しが必要ではありませんが、これらの問いには答えるべきです。

descriptionが最重要

悪い例:

1
description: Help with reports.

よい例:

1
description: Use when the user asks to turn Git commits, issue updates, or daily work notes into a weekly engineering report with sections for completed work, risks, blockers, and next actions.

descriptionには、トリガー、入力、出力、境界を入れます。

プロンプトを手順に変える

一度きりのプロンプト:

1
あなたはシニアエンジニアです。この変更をレビューし、境界条件とテストを重点的に見てください。

skillでは手順にします。

1
2
3
4
5
6
7
8
## Workflow

1. `git status --short` を確認する。
2. 関連diffを読む。
3. スタイルより先に振る舞いの変化を見る。
4. 重大度順に findings を列挙する。
5. bug、回帰、安全性、テスト不足を優先する。
6. 問題がなければその旨と残テストリスクを書く。

手順の方が実行しやすく、監査もしやすいです。

referencesに分けるべきもの

次のようなものは references/ に移します。

  • 長いスタイルガイド;
  • 大量の出力例;
  • 用語表;
  • APIフィールド説明;
  • 評価rubric;
  • 翻訳対照表;
  • 複雑な業務ルール;
  • 毎回は不要な背景。

SKILL.md には参照条件だけを書きます。

1
2
3
4
5
## References

- レポート品質を判断するときだけ `references/report-rubric.md` を読む。
- 完全なテンプレートが必要なときだけ `assets/weekly-report-template.md` を読む。
- 短い要約タスクでは例文集を読まない。

scriptsにするべきもの

安定していて、機械的で、手書きすると間違えやすいものはスクリプト化します。

例:

  • ファイル一覧生成;
  • front matter検証;
  • JSONからMarkdown表への変換;
  • 固定データ取得;
  • buildコマンド実行;
  • 画像の一括変換;
  • link、slug、date、言語ファイル検査。

判断はCodexに、機械処理はscriptに任せます。

例:週報skill

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
---
name: weekly-report
description: Use when the user asks to create a weekly work report from Git commits, notes, issue updates, or chat summaries. Produces a concise Chinese report with completed work, impact, blockers, and next week plan.
---

# Weekly Report

## Workflow

1. Confirm the report date range. If missing, use the current week.
2. Collect source material from user-provided notes first.
3. If the user asks to include Git work, run `scripts/collect-git-summary.ps1`.
4. Group work by project or theme, not by raw commit order.
5. Produce a concise Chinese report using `assets/weekly-report-template.md`.
6. Mark uncertain items as uncertain instead of inventing progress.

## Constraints

- Do not expose private commit hashes unless the user asks.
- Do not claim shipped work if the source only shows drafts or experiments.
- Keep blockers separate from completed work.

## Reporting

Return the report content and list which sources were used.

例:コードレビューskill

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
---
name: focused-code-review
description: Use when the user asks for a code review of the current working tree, a commit, or a pull request. Prioritize bugs, regressions, security risks, and missing tests; do not rewrite code unless asked.
---

# Focused Code Review

## Workflow

1. Inspect `git status --short`.
2. Read the relevant diff.
3. Identify behavior changes before style issues.
4. List findings first, ordered by severity.
5. Include file and line references when possible.
6. If no issues are found, say so directly and mention remaining test gaps.

## Constraints

- Do not make code edits during review.
- Do not focus on formatting unless it can cause a real bug.
- Do not summarize before findings.

skillをテストする

書いたら3つを確認します。

1つ目は選択されるか。

1
$weekly-report 今週のコミットから週報を作って

自然文でも試します。

1
今週のgitコミットから週報を書いて

2つ目は選択後の手順が安定するか。正しいファイルを読み、正しいスクリプトを呼び、制約を守るか見ます。

3つ目は誤発火しないか。普通の質問でも発火するなら、descriptionが広すぎます。

よくあるミス

skillを百科事典にする

Skillは知識庫ではありません。やり方を書くものです。背景は references/ に移します。

descriptionが曖昧

“workflow” や “automation” だけでは足りません。いつ使い、何を入力し、何を出力するのかを書きます。

完了条件がない

検証がないと、Codexは早く完了と言いがちです。ファイル、コマンド、形式、結果の確認方法を書きます。

scriptsが危険

削除、上書き、公開、有料API呼び出し、一括リネームをデフォルトにしないでください。高リスク操作は確認が必要です。

巨大な万能skill

書く、翻訳、デプロイ、SEO、レビュー、週報など、小さく分けた方が保守しやすいです。

まとめ

Codex skillsは保存済みプロンプトではありません。繰り返しのワークフローを、発見可能で、実行可能で、検証可能なプロジェクト資産にするものです。

小さく始め、description、入力、出力、手順、制約、検証、報告を明確にします。機械的な処理はscriptへ、長い資料はreferencesへ分けると、長期的に使いやすくなります。

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。