コンテンツにスキップ
LinkedInX

shared/ディレクトリの設計:AIが参照するルール・スキル・ワークフローの整理方法

ルールファイルが増えてきたときの問題

ハーネスエンジニアリングを進めていくと、AIに渡すルールファイルが増えていきます。最初は1ファイルで管理できていたものが、内容の追加とともに肥大化し、「どこに何が書いてあるか」がわかりにくくなります。

私がこのサイトを構築する中で直面したのは、CLAUDE.mdが長くなりすぎるという問題でした。禁止ルール、コンテンツの書き方、デプロイ手順、レビュー基準——これらをすべて1ファイルに書き続けると、AIが最初に参照するファイルが大きくなりすぎて、重要なルールが埋もれます。また、特定の作業に関係するルールだけをAIに読ませたいときでも、すべてのルールが1ファイルに混在していると、不要な情報も一緒に渡すことになります。

shared/ディレクトリの構造

この問題の対処として、AIが参照するすべてのファイルを shared/ というディレクトリに集め、その中を役割で分類する設計にしました。

新入社員に渡すマニュアルで例えると:

  • shared/rules/ → 「会社の規則と禁止事項」
  • shared/skills/ → 「各業務の手順書」
  • shared/workflow/ → 「複数ステップの作業フロー」

この3つの分類を使います。

rules(ルール)

禁止事項と方針を記録するファイル群です。「何をしてはいけないか」「このプロジェクトではどのような方針を取るか」を記述します。

たとえば content-i18n.md(コンテンツの言語方針)、no-ui-regression.md(UI変更の禁止範囲)、build-and-deploy.md(デプロイの制約)などです。ルールは条件ではなく方針として書き、AIが判断に迷わないよう明確にします。

skills(スキル)

特定のタスクを実行するための手順書です。新入社員が「この作業はどうやるんだっけ」と参照するマニュアルに相当します。

blog-writing/SKILL.md(ブログ記事の書き方)、editorial-review/SKILL.md(編集レビューの手順)などが該当します。AIはタスクを開始するときに関連するスキルファイルを参照し、手順に沿って作業を進めます。

workflow(ワークフロー)

複数のステップをまたいで進める作業フローを記述するファイル群です。ルールやスキルが単一のルール・手順であるのに対し、ワークフローは「最初から最後までの作業の流れ」を示します。

たとえば「記事を書いてから翻訳し、レビューして公開する」という一連の流れを記述するファイルです。

分類することで何が変わるか

ファイルを役割で分類することで、AIが「今の作業に必要な情報はどこにあるか」を把握しやすくなります。

CLAUDE.mdには「詳細はshared/rules/content-i18n.mdを参照」という形で参照先だけを書き、詳細を別ファイルに移動できます。CLAUDE.mdをコンパクトに保ちながら、必要な情報はすべてshared/配下に整理されている状態です。

また、ファイルが役割ごとに分かれていると、ルールを更新したいときに「どのファイルを変更すればよいか」が明確です。すべてが1ファイルにある状態では、1つの変更が他の記述に意図せず影響する場合があります。

運用のポイント

shared/ディレクトリを設計するときに重要なのは、「どこに何を置くか」の基準を最初に決めることです。基準がないと、ファイルが増えるにつれて分類が曖昧になります。

私が使っている判断基準は次のとおりです。

  • 「やってはいけないこと」や「このプロジェクトの方針」→ rules/
  • 「この作業の手順」→ skills/(サブディレクトリに SKILL.md として置く)
  • 「複数ステップにわたる作業フロー」→ workflow/

判断に迷う内容は、まず rules/ に入れて、後で必要であれば分類を変えます。

まとめ

AIに渡すルールファイルが増えてきたときは、役割による分類が有効です。shared/rules/(禁止事項・方針)、shared/skills/(作業手順)、shared/workflow/(複数ステップの流れ)という3分類を使うことで、AIが必要な情報を参照しやすくなり、CLAUDE.mdをコンパクトに保つことができます。ファイルが整理されると、AIの動作が一貫し、ルールの更新・管理もしやすくなります。