本文へ移動

2026-07-01 時点の資料です。読みやすさのために、一部の文字の色を濃くしています。

松葉 / Matsuba での開発ワークフローの実践/ Skills & Subagents on Claude Code

松葉 / Matsuba は、AI コーディング支援ツール「Claude Code」を用いて開発しています。本資料では、まず Claude Code の中心となる4つの機能と、その土台となるプロジェクトナレッジ(docs)を説明し、続いて松葉 / Matsuba がどのような技術で組み上がっているかを紹介したうえで、その開発を「Skills(スキル)」と「Subagents(サブエージェント)」でどのように仕組み化し、日々どう実践しているかをお伝えします。専門用語には初出で短い注釈を添えています。

01

Claude Code の4つの機能Four building blocks

Claude Code は、対話しながらコードの調査・作成・修正を行える開発ツールです。松葉 / Matsuba の開発では、その中でも次の4つの機能を組み合わせて使っています。いずれも公式に用意されている仕組みで、それぞれ役割が異なります。

機能一言でいうとこの開発での役割
CLAUDE.mdProject instructionsプロジェクト共通の指示や前提を書いておくと、毎回自動で読み込まれるファイル。全体で守る共通ルールと、各種資料への索引。すべての作業がまず参照する土台です。
SkillsAgent Skills特定の作業のときだけ読み込ませる、手順や知識をまとめた部品。「各工程のやり方」と「領域ごとの設計知識」を部品として持たせ、必要な場面でだけ開きます。
SubagentsSubagents本体とは別に動く、役割と持ち物(参照する知識)を固定した補助の担当。実装・レビュー・監査を役割ごとに切り出し、本体とは別々に作業させます。
slash commandsSlash commandsよく使う操作を「/ 名前」の一語で呼び出す仕組み。対話の起動や、作業の締め(変更をまとめて記録する操作)を、決まった手順で呼び出します。
図 01 · 4つの機能の関係
利用者(あなた)指示・確認メインエージェント(本体)意思決定・統合・あなたへの確認CLAUDE.md常時の前提・共通ルールSkills — 手順各工程のやり方Skills — 知識領域ごとの設計知識Subagents(サブエージェント)役割・知識を固定した別働の担当プロジェクトナレッジ(docs)プロジェクトの必要知識すべて=唯一の正解slash command で起動常時参照必要時に参照委任索引入口

読み方: 利用者が slash command でメインエージェント(本体)を起動します。メインは CLAUDE.md(常時の前提)を参照し、必要時に Skills を開き、一部の作業を Subagents(サブエージェント)へ委任します。金茶の矢印が示すとおり、CLAUDE.md は「索引」として、Skills は「入口」として、いずれも最終的にプロジェクトナレッジ(docs)=必要知識をすべて収めた唯一の正解を指し示します。Subagents も同じ Skills を通じてナレッジを参照します。

02

プロジェクトナレッジ(docs)Project knowledge

先ほどの4機能とは別に、開発の土台となる文書群があります。これは Claude Code の機能ではなく、プロジェクトが自前で持つ知識の集まりです。設計ルールだけでなく、基本構想・要件・業務の仕様・機能や画面の詳細・実装の段取りまで、開発に必要な知識をすべて収めた「唯一の正解」で、本資料ではこれを「プロジェクトナレッジ」と呼びます。4つの機能は、いずれも最終的にこのプロジェクトナレッジを拠り所にします。

どんな情報が入っているかWhat it holds

プロジェクトナレッジは大きく次の分類で整理されています(各分類の中身の詳細は割愛します)。

分類入っている情報
基本構想プロダクトの目的・スコープ・要件・業務の仕様、ブランドやトーンの決まり。
機能の詳細どんな機能(業務処理)があるかのカタログと、その仕様。
画面の詳細どんな画面があるかの一覧と、機能との対応関係。
デザイン配色・字体・コンポーネントなどのデザイン方針。
設計ルール領域ごと(クラウド・フロント・サーバ・データベース・テスト・CI/CD)の作り方の決まり。
実装の段取りどの順で作るか(ロードマップ)と、作業のまとまりへの分割。

4機能との関係How it connects

プロジェクトナレッジそのものは人が整備し、Claude Code の4機能がそれを正しく参照するように役割分担しています。

機能プロジェクトナレッジとの関係
CLAUDE.mdどこを読めばよいかを示す「索引」。作業の前に、まずここから該当箇所へ辿ります。
Skills(知識)ナレッジへの「入口」。事実を書き写さず、読むべき箇所を指し示すことに徹します(書き写すと、後で食い違う原因になるため)。
Subagents担当する作業のとき、知識のスキルを通じてプロジェクトナレッジを参照します。

要点: プロジェクトの知識はプロジェクトナレッジ(docs)に一元化し、CLAUDE.md(索引)→ Skills(入口)→ Subagents(参照)という経路で、関係者全員が同じ「唯一の正解」を見ます。知識を写して持たないことが、内容の食い違いを防ぐ鍵です。

03

プロジェクトの全体像と採用技術What we build, and how

ワークフローの話に入る前に、対象となるプロジェクトそのものを紹介します。松葉 / Matsuba は、お取引先と社内をつなぐ業務ファイル共有基盤です。画面・サーバ処理・データ保管・非同期処理といった性質の異なる複数の領域から成り、それぞれが守るべき決まりも異なります。この「領域ごとに決まりが違う」という性質が、後半で述べる役割分担の土台になります。

図 02 · プロジェクトの構成
実行環境 · 複数のサービスとして稼働画面 / API / 非同期ワーカー + データベース + ファイル保管(クラウド)ビルド → デプロイCODEBASE · MONOREPO(1リポジトリに集約)画面側画面配置・デザインの決まりサーバ処理側クリーンアーキテクチャ4層構成非同期処理イベント駆動の連携共有部品型・スキーマ・定数(全体で共通)PROJECT KNOWLEDGE · 開発の土台プロジェクトナレッジ(docs)必要知識すべて=唯一の正解作業のまとまり単位で実装決まった工程を順に通す全領域が参照

読み方: ソースコードは1つのリポジトリに集約(モノレポ)し、性質の異なる領域に分けて管理します。各領域が守る決まりは「プロジェクトナレッジ(docs)」に集約され、ここが唯一の正解です。実装は「作業のまとまり」単位で、決まった工程を順に通して進めます。

採用技術Technology stack

現在の Web 開発で主流かつ実績のある技術を、TypeScript と Go を主言語として組み合わせています。ロゴは Simple Icons(オープンソースの公式ブランドアイコン集)から、資料の配色に合わせて単色で表示しています。

領域採用技術主要ロゴ
Web フロントFrontendNext.js 16(App Router) / React 19 / TypeScript。画面の静的な部分と動的な部分を1ページ内で分けて配信します。
UI・スタイルUITailwind CSS / shadcn/ui。共通の見た目の部品を、松葉のデザインに合わせて調整して使います。
サーバ処理BackendHono(軽量な API フレームワーク) / Node.js。クリーンアーキテクチャ(後述)の4層構成で組みます。
認証・認可AuthBetter Auth。社内はシングルサインオン、社外はメールのワンタイムコードによる二要素認証で利用者を確かめます。
BA
データベースDatabasePostgreSQL(Supabase 提供)。取引先ごとの越境をデータの最下層(行単位)で遮断します。
型共有・ORMType sharingPrisma / Zod(入力検証)。画面からデータベースまでを同じ型定義で貫き、ズレをビルド時に検知します。
保管・検査Storage & scanGoogle Cloud Storage + ClamAV(オープンソースのウイルス検査エンジン)。用途別にバケットを分離します。
AV
非同期・ジョブAsync & jobsCloud Run(サーバレス実行基盤) / Pub/Sub(非同期メッセージング) / Go 製のワーカー。イベント駆動で連携します。
CI/CD・基盤CI/CDGitHub Actions(自動ビルド・デプロイ) / Docker / Terraform(構成のコード化)。デプロイは鍵ファイルを持たない認証(Workload Identity Federation)で行います。

実装の要点Implementation principles

Clean Architecture

クリーンアーキテクチャ

サーバ処理を4つの層に分け、業務のルールを中心に据えます。内側の層が外側のライブラリに依存しない構造にすることで、部品の差し替えや変更に強くなります。

End-to-end Types

端から端まで型安全

画面・サーバ処理・データベースを同じ型定義で貫きます。どこかを変更したときのズレが、動かす前(ビルド時)に自動で見つかります。

Defense in Depth

多層防御(ウイルス検査)

アップロードされたファイルは、検査前と検査後で物理的に別々の保管場所に置きます。未検査のファイルが業務の動線に紛れ込まない構造です。

Row-level Security

行単位のアクセス制御

取引先をまたぐアクセスを、アプリだけでなくデータベースの最下層(行単位)でも遮断します。上位の処理に誤りがあっても、データベースの側で越境を防ぐ二重の備えです。

04

開発ワークフローの実践The workflow in practice

ここからが本題です。前述のとおりプロジェクトは領域ごとに決まりが異なり、実装は「作業のまとまり」単位で複数の工程を通して進めます。この開発を、Skills と Subagents を使って3つの層に整理し、役割を分担して回しています。全体の構成を先に図で示します。

図 03 · 開発ワークフローの3層構成
利用者(あなた)指示・確認メインエージェント(本体・中枢)対話・意思決定・統合・あなたへの確認確認のやりとりプロセススキル — 各工程の手順(唯一の正解)仕様と計画・仕様レビュー・実装・実装レビュー・リファクタリング・改善 の6工程工程を指名サブエージェント(専門役)— メインが工程に応じて起用工程に応じて起用実装役サーバ処理・DB実装役画面・デザインレビュー役仕様・計画レビュー役実装監査役セキュリティナレッジスキル — 領域ごとの設計知識への入口実装役とレビュー役が同じものを参照する設計知識を参照プロジェクトナレッジ(docs)プロジェクトの必要知識すべて=唯一の正解正解を参照

読み方: あなたと対話できるのはメインエージェント(中枢)だけです。中枢がその工程の手順(プロセススキル)に従い、工程に応じてサブエージェント(専門役)を起用します(枠内の5役)。専門役は領域ごとの知識(ナレッジスキル)を通じて、唯一の正解であるプロジェクトナレッジ(docs)を参照します。実装役は曖昧な点があれば推測せず質問を返して止まり、レビュー役は指摘だけを行い、指摘がゼロになるまで点検を繰り返します。

3つの層の役割Three layers

層役割補足
プロセススキルProcess skills各工程の手順の「唯一の正解」を持つ。手順を改善すると、1か所の修正がすべての作業に反映されます。
ナレッジスキルKnowledge skills領域ごとの設計知識への入口を持つ。実装役とレビュー役が同じものを参照するため、知識のズレが起きにくくなります。
専門役Subagents役割・参照する知識・使うモデルを固定した担当。実装役・レビュー役・監査役の5役に分かれています。
中枢Main対話・意思決定・統合・確認を担う。専門役は利用者と直接対話できないため、確認の関門は中枢だけに置きます。

専門役(サブエージェント)The specialist roles

役割識別子担当
実装役(サーバ側)matsuba-backend-engineerサーバ処理とデータベースの実装。
実装役(画面側)matsuba-frontend-engineer画面とデザインの実装。
レビュー役(仕様・計画)matsuba-doc-reviewer仕様と作業計画の点検(指摘のみ)。
レビュー役(実装)matsuba-impl-reviewer実装したコードの点検(指摘のみ)。
監査役(セキュリティ)matsuba-security-auditor認証・認可まわりのセキュリティ点検。

役割の契約(振る舞いの約束): 実装役は、仕様に曖昧な点があれば推測で進めず、質問をまとめて返していったん止まります。変更を確定・記録する操作は行いません。レビュー役は、修正はせず指摘だけを行い、根拠を引用できない指摘はしません。指摘は「修正 → 再点検」を繰り返し、ゼロになって初めて工程を終えます。

工程ごとのサブエージェントの分担Who does what

工程中枢がやること起用する専門役(識別子)体数
① 仕様と計画仕様の意思決定・確認調査系のみ(専門役なし)0
② 仕様レビュー指摘の裁定・修正レビュー役(仕様・計画)matsuba-doc-reviewer1
③ 実装作業の分解・要所の実装・統合実装役 matsuba-backend-engineer / matsuba-frontend-engineer(並行可)〜2
④ 実装レビュー裁定・修正・手順書の出力レビュー役(実装)matsuba-impl-reviewer +必要時 監査役 matsuba-security-auditor1〜2
⑤ リファクタリング影響範囲の判断機械的な適用のみ実装役へ委任必要時
⑥ 改善・仕様変更依頼の受領・対話内容が固まった作業のみ実装役へ委任必要時

運用の3ルールThree operating rules

1. 委任は中枢の判断で、指定があればそれを優先: どの作業を誰に任せるかは中枢が文脈から判断します。作業指示書に委任先が書かれていれば、それに従います。

2. 並行作業の衝突を防ぐ: 全体で共通の部品は中枢が先に確定させ、各担当には作業する範囲を割り当てて、同じ箇所を2人が触らないようにします。

3. 点検は再点検で閉じる: 指摘は「修正 → もう一度レビュー役で確認」を繰り返します。自己申告では終わらせず、指摘ゼロで工程を完了します。

05

整備した資産の全体像The organized toolset

このワークフローを支える部品の一式です。各部品の中身(具体的なルールや手順の文面)には触れませんが、種類ごとに名前・識別子・概要を一覧にします。識別子(matsuba-… など)は、実際に呼び出すときの名前です。

ナレッジスキル(設計知識の入口・6本)Knowledge skills

領域識別子概要
画面デザインmatsuba-frontend-design配色・字体・トーン・使いやすさ(アクセシビリティ)の決まり。
画面実装matsuba-frontend-impl画面の配置ルール、表示の最適化、画面とサーバ間の型の受け渡し。
サーバ処理matsuba-backendサーバ処理の設計(4層)、処理の一貫性、エラーや記録の共通ルール。
データベース・共通部品matsuba-db-repoデータベース設計、行単位のアクセス制御、共通部品の取り決め。
テストmatsuba-testingテストの方針と、手元での実行/自動での実行の切り分け。
基盤matsuba-infraクラウド構成、自動デプロイ、非同期処理の取り決め。

プロセススキル(工程の手順・6本)Process skills

工程識別子概要
仕様と計画matsuba-spec-and-plan詳細な仕様と作業計画を作る手順。
仕様レビューmatsuba-review-spec-and-plan仕様と計画を点検する手順。
実装matsuba-implement実装を進める手順(分担と並行作業の管理)。
実装レビューmatsuba-review-implement実装したコードを点検する手順。
リファクタリングmatsuba-refactorコードを整理・改善する手順。
改善・仕様変更matsuba-brush-upあとから来た要望に対応する手順。

資料デザインスキル(1本)Docs design

用途識別子概要
開発過程資料の体裁統一matsuba-docs-designこの種の解説資料の見た目を揃える部品。本資料もこれで作成しています。

専門役サブエージェント(5体)と、使うスキルSubagents & their skills

役割識別子使う(読み込む)スキル概要
実装役(サーバ側)matsuba-backend-engineermatsuba-backend/matsuba-db-repo/matsuba-testingサーバ処理とデータベースの実装。
実装役(画面側)matsuba-frontend-engineermatsuba-frontend-impl/matsuba-frontend-design/matsuba-testing画面とデザインの実装。
レビュー役(仕様・計画)matsuba-doc-reviewer対象に応じて各ナレッジスキルを参照仕様・計画の点検(指摘のみ)。
レビュー役(実装)matsuba-impl-reviewer対象に応じて各ナレッジスキルを参照実装したコードの点検(指摘のみ)。
監査役matsuba-security-auditor本番データベースの裏取りが中心認証・認可まわりのセキュリティ点検。

コマンド(2つ)Slash commands

用途識別子概要
対話の起動/grill-me資料や計画を突き詰めるための対話を始める。
作業の締め/wrap-up変更をまとめて記録する(変更を残す唯一の正規手順)。

このほか、作業のまとまりを始めるための「工程ファイルの雛形(テンプレート)」一式があります。

置き場所について: これらの部品はソースコードと同じリポジトリで管理しています。改善の履歴が変更の記録として残り、内容をレビューできる形で積み上がっていきます。

06

実現していること/今後Outcome & next

この仕組みによって、開発の進め方は次のような状態になっています。

Reproducible

品質の再現性

手順が一元化されているため、どの作業も同じ工程・同じ点検を通ります。担当や日をまたいでも、進め方がぶれにくくなります。

Specialized

領域別の分担

画面・サーバ処理・データベースといった領域ごとに、その領域の決まりを持った専門役が実装します。

Independent review

独立した再点検

実装した担当とは別のレビュー役が、実装とは別のコンテキストで点検します。指摘がゼロになるまで繰り返すため、確認前に漏れを拾えます。

Focused

中枢の集中力の温存

定型に近い作業を専門役へ切り出すことで、中枢は仕様の意思決定と統合に集中できます。

育て方と今後Growing the system

知見をためて強くする: 実装中に新しい注意点が見つかったら、該当するナレッジスキルに一行足します。一度の追記がその後のすべての作業に効くため、使うほど知見が積み上がっていきます。

横への展開: スキルの形式は他の AI 開発ツールでも利用できるため、将来の併用も設計上は可能です(互換性の詳細は、その時点の仕様を都度確認します)。