🕌

Workflow as Code としての Agent Skills

に公開

TL;DR

  • Agent Skillsを活用することで、業務手順・判断基準・フォーマット・例外処理をテキスト化し、LLMによる自動実行とバージョン管理を実現する「Workflow as Code (WaC)」を導入できます。
  • 業務をコード化するWaCは、AIを補助装置として業務に組み込み、生産性を向上させる強力な手段となります。

Workflow as Code(WaC) とは?

筆者による造語です。
同じような造語に PaC (Product as Code) も最近聞いたりするかもしれません。
インフラの世界で「Infrastructure as Code(IaC)」が当たり前になったのと同じで、

  • 業務手順
  • 判断基準
  • 入出力のフォーマット
  • 例外時の扱い

こういったものを口頭説明ではなく テキストで記述し、レビューして、バージョン管理する。
そのテキストを LLM が「読んで」「解釈して」「実行する」ことで、業務を AI 化していくことを指します。

ここで出てくるのが Anthropic の Agent Skills です。
これはまさに、WaC を実用レベルで回すための「入れ物」として設計されていると思っています。

Anthropic Agent Skills は WaC の「入れ物」

Claude の世界をざっくりレイヤーで見ると、こんな感じになります。

  1. LLM 本体(Claude 4.5 など)

  2. ツール / MCP

    • 外部 API や DB、ストレージに触るための“腕”
  3. Agent Skills

    • その腕を使って どういう手順で仕事するか を書いた業務マニュアル
  4. UI / 実行環境

    • Claude.ai / Claude Code / 自前アプリ(API / Agent SDK)

Agent Skills はモデルやツールそのものではなく、

ツールにアクセスできる Claude に対して、
「この仕事はこういう順番で、こういうルールでやってね」
と教えるためのパッケージ

という位置づけになります。

ここに WaC のテキスト(業務フロー)が乗るイメージです。

Agent Skills の中身

1つの Agent Skills は、ファイルシステム上の ただのフォルダ です。中身はだいたいこんな構成になります。

.claude/
  skills/
    my-skill/
      SKILL.md
      scripts/      (必要なら)
      resources/    (必要なら)

核心は SKILL.md です。ここに WaC を書きます。

  • この Skill の目的

    • 例)「生の会議メモを、決まったフォーマットの議事録に整形する」
  • どんな入力を想定しているか

    • 箇条書きのメモなのか、タイムラインなのか
  • 手順

      1. メモを読み取り議題を推定
      1. 決定事項 / TODO / 論点に分類
      1. 指定の見出し構造で出力 …のような流れ
  • 出力フォーマット

    • 見出し、箇条書き、敬語/常体などのルール
  • 入力と出力のサンプル

必要であれば、

  • 集計や変換を行う スクリプト(Python など)
  • PowerPoint / Excel / Word / PDF の テンプレート

scripts/resources/ に置いておくこともできます。

まとめると、

SKILL.md = 業務フローをテキストで書いた WaC 本体
scripts / resources = それを支える補助ツール・テンプレ

という関係です。

どんなときに Agent Skills を使うと良いか

全部を Skill にする必要はなくて、向き不向きがあります。
向いているのは、だいたい次のような仕事です。

  1. 毎回ほぼ同じ手順でやる作業

    • 月次レポート、定例議事録、リリースノートなど。
    • 「説明すると長いけど、やることは毎回だいたい同じ」系。
  2. 人によってアウトプットがブレる作業

    • 仕様レビュー、デザインレビュー、簡単な契約チェックなど。
    • WaC としてルールを SKILL.md に書いておくと、ブレが減る。
  3. 軽いコード実行やファイル操作を含むワークフロー

    • CSV 読み込み → 集計 → グラフ → コメント までの一連の流れなど。

逆に、毎回やり方もゴールも違うような「完全フリースタイル」なタスクは、
素の Claude にそのまま喋った方が向いています。

かんたんな使い方

meeting-notes という名前の Skill について考えてみます。

1. フォルダを用意する

作業ディレクトリで、次のような構造を作ります。

.claude/
  skills/
    meeting-notes/
      SKILL.md

2. SKILL.md を書く

中身は Markdown です。最低限、次の情報を書きます。

*   Skill の目的
    *   例: 「会議メモを読みやすい議事録に整形する」
    *   `SKILL.md`の冒頭に、このSkillが何をするものなのかを明確に記述します。
    *   ```markdown
        # Meeting Notes Generator Skill
        このSkillは、与えられた会議メモを読み込み、決定事項、TODO、論点に分類し、
        指定されたフォーマットで議事録を生成します。
        ```

ここまで書くと、

会議メモを貼って「議事録にして」と頼む
→ Claude が meeting-notes Skill を読んで、
その WaC に沿って処理する

という動きになります。

コードを書き込む、というより 「ちゃんとした業務マニュアルを Markdown にする」 という感覚に近いです。

まとめ

Agent Skills を使うと業務手順・判断基準・フォーマット・例外処理をテキストとして書き、LLM がそれを読んで業務を実行することができそう。

Workflow as Code(WaC)みたいな感じで業務をコード化することでAIを補助として業務に組み込むことができるようになってきている。

最初の一歩としては、難しく考えずに、「毎回めんどくさいけど、やることは毎回ほぼ同じ仕事をひとつ選ぶ → その手順とルールを SKILL.md に書いて Skill にする」のようにすると良さそう。

Discussion