powered by TechFeed
表示モード
ハウツー

AIへの「引き継ぎ書」を書いたら4日でテストカバレッジが28%→79%に — ClaudeとCursorに文脈を記憶させる「スキル」という発想

9月22日、Telerikが「6 Months of Claude and Cursor, Pt 1: Skills in Claude」と題した記事を公開した。ClaudeとCursorを6ヶ月使い続ける中で発見した「スキル(instruction files)」という概念が、AIコーディングの生産性をどう変えたかを詳しく解説している。「AIに何度も同じことを説明している」と感じているなら、この記事が示す解決策は直接刺さるはずだ。

9月22日、Telerikが「6 Months of Claude and Cursor, Pt 1: Skills in Claude」と題した記事を公開した。ClaudeとCursorを6ヶ月使い続ける中で発見した「スキル(instruction files)」という概念が、AIコーディングの生産性をどう変えたかを詳しく解説している。「AIに何度も同じことを説明している」と感じているなら、この記事が示す解決策は直接刺さるはずだ。


4日間でテストカバレッジ28%→79%、何が起きたのか

著者は2026年1月からCursorを本格的に使い始め、すでに2025年からClaudeを利用していた。最初は両ツールを組み合わせる中で、ある根本的な問題にぶつかった。

AIは毎回リセットされる。

Cursorはプロジェクト横断でコードを読めるが、「このシステムはEntity Framework Coreを使っていない」「.tsxファイルはコンポーネントではなくテンプレートだ」「このC#メソッドはReactコードを生成するジェネレーターだ」といったプロジェクト固有の文脈を知らない。Claudeも同様で、新しい会話のたびにスタック、テンプレートのルール、背景をゼロから説明し直す必要があった。

著者はClaudeでプロンプトを組み立ててCursorに渡すというワークフローを試みていた。Claude側でプロジェクトの背景や意図を丁寧に言語化し、それをCursorへの指示として活用するという分業だ。しかし当初はAIがジェネレーター自体を書き換えようとするという誤作動が続いた。そこで両ツールを適切に「教育」し始めた結果、わずか4日間でテストカバレッジが28%から79%に向上。テスト数も8,000件から17,000件に増加し、データベース構造やセキュリティ上の問題(int型とlong型の取り違えなど)が露出した。

なお、ここでいう「テストカバレッジ」は元記事においてbranch coverage(分岐カバレッジ)として言及されている。コード中のすべての分岐条件(if/else等)をテストが網羅できているかを示す指標で、単純な行カバレッジよりも厳しい基準だ。28%→79%という改善幅は、この指標においては特に大きな意味を持つ。

ボトルネックはAIの能力ではなく、永続的なコンテキストの欠如だった。

タイトルで「引き継ぎ書」と表現したのもこの点に対応している。新しいメンバーがプロジェクトに参加するたびに口頭で説明し直す手間をなくすため、チームがドキュメントを整備するように、AIに対しても「このプロジェクトとはどういうものか」を事前に文書として渡す。その文書こそが、著者の言う「スキル」だ。


「スキル」とは何か

スキルとは、Markdownファイルとして書かれたinstruction fileのことだ。

  • Claudeの場合:Markdownファイルとして保存・ロードされ、関連する会話で自動的に参照される「構造化されたメモリ」として機能する(Claude Projects の概要はAnthropicの公式ページを参照)
  • Cursorの場合.cursor/rulesディレクトリ内の.mdcファイルが相当する。AIエージェントがタスク実行前に読み込む行動ルールだ(Cursor公式のRulesドキュメントも参照)

著者は本質をこう表現している。

スキルなしのAI利用は、ブリーフィングなしでコンサルタントを雇うようなものだ。ブリーフィングなしではAIは即興する。ブリーフィングがあればAIは実行する。


最初のスキルが最も効いた

著者が最初に作ったスキルは、Cursor向けのシステムアイデンティティ定義だ。内容は以下のようなものだった。

  • SaaSジェネレータープラットフォームであり、C# .NET 10で書かれている
  • DapperもEF Coreも使用しない
  • テンプレートは.tsx.cs.css.ps1ファイルを出力するC#メソッドである
  • 常に開いている2つのリポジトリと、正規参照モデルであるMDSプロジェクトの関係性
  • 設定はプラットフォームごとの内部.envファイルから取得する

この1ファイルを追加した結果、CursorがEntity Frameworkを提案したり、マイグレーションを生成しようとしたりする動作が止まった。テストを依頼すれば、標準がFluentAssertionsMoqxUnitであること、モックがSystemインターフェースに従う必要があることを最初から理解して動く。「数週間分の摩擦が1つのスキルで消えた」と著者は述べている。


スキルは静的な文書ではなく、成長するコードだ

最初のスキルを作ると、その後は自然に増えていった。AIが特定の種類のミスをするたびに対応するスキルに新しいルールを追記し、うまくいったパターンは明示的に強化する。

著者はこれを「人間と機械のパートナーシップから生まれた学習を文書化したもの」と表現している。スキルはプロジェクトのドキュメントであると同時に、AIへの継続的なフィードバックループでもある。


実践する人へのアドバイス

著者が勧める始め方は明快だ。

  1. まずプロンプトではなくスキルを書く
  2. 自分がどんな開発者か、プロジェクトの構造と絶対に変えてはいけないルール、命名規則やフォルダ構成などのパターンを文書化する
  3. AIがミスをしたらスキルを更新し、正しい動作を強化する

数週間後には、自分のコードをほぼ理解したエージェントが手元にいる状態になる、というのが著者の経験だ。

次回のPart 2では、コーディング用skill.mdファイルの具体的なスキャフォールドが公開される予定だ。Cursorの.mdcファイルや、ClaudeのProjectsメモリ機能を使いこなしたいと考えているなら、続編も注目に値する。


詳細は6 Months of Claude and Cursor, Pt 1: Skills in Claudeを参照していただきたい。