mcpField
L
ln-001-standards-researcher

ln-001-standards-researcher

github.com/levnikolaevich開発584123 回インストール2 日前に更新
リポジトリ

ln-001-standards-researcher について

Epic や Story の技術ノートを作成するチーム向けの調査スキルです。MCP Ref で関連する標準とアーキテクチャパターンを調べ、出典リンク付きの調査内容を作成して再利用できるよう保存します。

主な機能

  1. 01プロジェクトの技術スタック検出
  2. 02標準とアーキテクチャパターンの調査
  3. 03関連する既存ガイドの確認
  4. 04コードなしの表とリンクの作成
  5. 05再利用可能な調査文書の保存

活用シーン

  1. 01Story 作成前に Epic の標準を記録
  2. 02技術領域の RFC とパターン指針を確認
  3. 03同じ Epic 内の複数 Story で調査を再利用

MCP 対応

MCP Ref を使って標準、RFC、アーキテクチャパターンの文書を検索します。技術ノート向けの調査結果を返し、ファイルにも保存します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-001-standards-researcher

インストール後、Claude Code で/ln-001-standards-researcherを入力して読み込まれたか確認します。

同梱ファイルreferences/research_guidelines.md

詳細

パス: ファイルパス(shared/、references/、../ln-*)は、スキルリポジトリのルートからの相対パスです。CWD に見つからない場合は、この SKILL.md ディレクトリを探し、1 つ上の階層をリポジトリのルートとしてください。

Standards Researcher(ワーカー)

このスキルでは、MCP Ref を使用して業界標準とアーキテクチャパターンを調査し、ストーリーの技術ノート向けに標準調査を作成します。

目的

指定されたエピック/ストーリーのドメインに関する業界標準、RFC、アーキテクチャパターンを調査します。ストーリーの技術ノートに挿入する標準調査セクション(表とリンク、コードなし)を作成します。

このスキルを使用するタイミング

このスキルは、以下の場合に使用してください。

  • ストーリーの作成前に標準やパターンを調査する必要がある場合(タスクが業界のベストプラクティスに従うようにするため)
  • エピックの技術ノートで、文書化が必要な特定の標準(OAuth、OpenAPI、WebSocket など)に言及している場合
  • タスクで古いパターンが使われたり、RFC への準拠に違反したりするのを防ぐ場合
  • 標準調査が必要なあらゆるスキルで再利用する場合

ワークフロー

このスキルでは、標準とアーキテクチャパターンに焦点を当てた 7 フェーズのワークフローに従います。

Stack Detection → Identify → Ref Research → Existing Guides → Generate Research → Save to File → Return
フェーズ 0:スタックの検出

目的:調査前にプロジェクトのスタックを特定し、クエリを絞り込みます。

検出方法:

指標スタッククエリの接頭辞
*.csproj、*.sln.NET"C# ASP.NET Core"
package.json + tsconfig.jsonNode.js"TypeScript Node.js"
requirements.txt、pyproject.tomlPython"Python"
go.modGo"Go Golang"
Cargo.tomlRust"Rust"
build.gradle、pom.xmlJava"Java"

手順:

  1. context_store.TECH_STACK が指定されている場合は確認し、直接使用します
  2. それ以外の場合:プロジェクトルートで指標ファイルを Glob します
  3. フェーズ 2〜3 で使う detected_stack.query_prefix を保存します

出力:detected_stack = {language, framework, query_prefix}

スキップ条件:スタックを検出できない場合は、接頭辞を付けずに続行します(汎用クエリ)。


フェーズ 1:ライブラリの特定

目的:エピック/ストーリーからライブラリとテクノロジーに関するキーワードを抽出します。

手順:

  1. エピック/ストーリーの説明を読む(入力として提供)

    • エピックの技術ノートから、言及されているライブラリ/フレームワークを抽出します
    • エピックのスコープインから、テクノロジーに関するキーワード(認証、レート制限、決済など)を抽出します
    • エピックの目標文からストーリーのドメインを特定します(例:「レート制限の追加」→ ドメイン = 「レート制限」)
  2. ライブラリ一覧を抽出します:

    • 主要ライブラリ(明示的に言及されているもの)
    • 推定されるライブラリ(例:「REST API」→ FastAPI、「キャッシュ」→ Redis)
    • API が安定している、広く知られたライブラリ(requests、urllib3 など)は除外します
  3. ストーリーのドメインを特定します:

    • エピックの目標またはストーリーのタイトルから抽出します
    • 例:レート制限、認証、決済処理、ファイルアップロード

出力:ライブラリ一覧(最大 3~5 件)+ストーリーのドメイン

スキップ条件:

  • エピックでライブラリに言及していない → 空の調査サマリーを出力
  • 広く知られたライブラリを使う簡単な CRUD 操作 → 空の調査サマリーを出力
  • エピックに「調査不要」と明記されている → スキップ

フェーズ 2:MCP Ref による調査

目的:業界標準とアーキテクチャパターンを確認します。

手順:

  1. 標準/RFC に焦点を当てます:

    • mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [story_domain] RFC standard specification") を呼び出します
    • 例:"C# ASP.NET Core rate limiting RFC standard specification"
    • 抽出項目:RFC/仕様への参照(OAuth 2.0 RFC 6749、OpenAPI 3.0、WebSocket RFC 6455)
  2. アーキテクチャパターンに焦点を当てます:

    • mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [story_domain] architectural patterns best practices") を呼び出します
    • 例:"TypeScript Node.js authentication architectural patterns best practices"
    • 抽出項目:ミドルウェア、依存性注入、デコレーターパターン

**出力:**標準準拠の表+アーキテクチャパターンの一覧


フェーズ 3:MCP Ref による調査

目的:業界標準とベストプラクティスを取得します。

手順:

  1. ライブラリと Story ドメインの組み合わせごとに:

    • mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [library] [domain] best practices {current_year}") を呼び出します
    • mcp__Ref__ref_search_documentation(query="[detected_stack.query_prefix] [domain] industry standards RFC") を呼び出します
    • 例:"C# ASP.NET Core Polly rate limiting best practices {current_year}"
  2. 結果から抽出します(コードは不可。テキスト/表のみ):

    • 業界標準(RFC/仕様への参照:OAuth 2.0、REST API、OpenAPI 3.0)
    • 一般的なパターン(推奨事項/非推奨事項の説明、避けるべきアンチパターン)
    • 統合アプローチ(ミドルウェア、依存性注入、デコレーター)
    • セキュリティ上の考慮事項(OWASP 準拠、脆弱性の緩和)
    • 公式ドキュメントの URL(スタックに適した信頼できる情報源へのリンク)
  3. 調査結果を保存し、調査概要の作成に備えます

出力:標準準拠表(RFC/標準名、準拠方法)+ベストプラクティスのリスト


フェーズ 4:既存ガイドを確認

目的:docs/guides/ ディレクトリに関連するパターンガイドがあるかを確認します。

手順:

  1. ガイドディレクトリを確認します:

    • Glob を使用して docs/guides/*.md を検索します
    • ガイドのファイル名を読み取ります
  2. ガイドを Story ドメインに照合します:

    • キーワードを照合します(例:レート制限の Story にはレート制限ガイド)
    • あいまい一致を行います(例:「authentication」は「auth.md」や「oauth.md」に一致)
  3. Technical Notes でリンクするガイドのパスを収集します

出力:既存ガイドのリスト(プロジェクトルートからの相対パス)


フェーズ 5:標準に関する調査結果を作成

目的:調査結果をまとめ、Story の Technical Notes サブセクション用の標準に関する調査結果を作成します。

**NO_CODE ルール:**コードスニペットは使用しません。表と公式ドキュメントへのリンクのみを使用します。

形式の優先順位:

┌─────────────────────────────────────┐
│ 1. TABLES + ASCII diagrams ← Priority │
│ 2. Lists (enumerations only)        │
│ 3. Text (last resort)               │
└─────────────────────────────────────┘

出力形式(表を優先):

## Standards Research

**Standards compliance:**

| Standard | Requirement | How to Comply | Reference |
|----------|-------------|---------------|-----------|
| RFC 6749 | OAuth 2.0 | Use PKCE for public clients | [RFC 6749](url) |
| RFC 6585 | Rate Limiting | Return 429 + Retry-After | [RFC 6585](url) |

**Architectural patterns:**

| Pattern | When to Use | Reference |
|---------|-------------|-----------|
| Middleware | Request interception | [Official docs](url) |
| Decorator | Cross-cutting concerns | [Official docs](url) |

**Existing guides:**
- [guide_path.md](guide_path.md) - Brief description

出力:Story の Technical Notes サブセクションに挿入する標準に関する調査結果(Markdown 文字列)

重要な注意事項:

  • 標準とパターンのみに焦点を当てます(ライブラリの詳細は含めません。ライブラリは Task レベルで調査します)
  • ブログ記事より公式ドキュメントと RFC 標準を優先します
  • スタックに適したドキュメントにリンクします(.NET には Microsoft のドキュメント、JS には MDN など)
  • 標準に関する調査結果が空の場合(標準/パターンがない場合)→ フェーズ 6 をスキップし、「標準に関する調査は不要です」を返します

フェーズ 6:調査結果をファイルに保存

目的:再利用とナレッジベースのために、標準に関する調査結果を独立したファイルに保存します。

必須:呼び出し元に文字列として返す場合でも、すべての調査結果を必ずファイルに保存します。

手順:

  1. 次の調査番号を決定します:

    • docs/research/rsh-*.md ファイルを Glob で検索します
    • 番号を抽出し、最大値を確認します
    • 次の番号 = 最大値 + 1(ファイルがない場合は 001)
  2. ファイル名を生成します:

    • 形式:rsh-{number:03d}-{slug}.md
    • story_domain からスラッグを作成します(例:「rate-limiting」、「oauth-authentication」)
    • 例:rsh-042-rate-limiting.md
  3. テンプレートを使って調査ドキュメントを作成します:

# Standards Research: {Story Domain}

**Created:** {ISO date}
**Epic:** {Epic ID if available}
**Research Type:** Standards & Architectural Patterns

## Question

What industry standards and architectural patterns apply to {story_domain}?

## Context

{Brief description from Epic/Story}

## Methodology

- **Standards:** MCP Ref search for RFCs and specifications
- **Patterns:** MCP Ref search for architectural patterns and best practices
- **Stack:** {detected_stack.language} {detected_stack.framework}

## Findings

{Insert Standards Research content from Phase 5 here}

## Conclusions

{1-2 sentences summarizing key standards/patterns that must be followed}

## Next Steps

- Reference this research in Story Technical Notes
- Link from architecture.md if patterns affect system design
- Create ADR if architectural decision needed

## Sources

{List of all MCP Ref search URLs with dates}
  1. ファイルを保存します:

    • docs/research/{filename} に書き込みます
    • docs/research/ が存在しない場合は、ディレクトリを作成します
    • ファイルが正常に保存されたことを確認します
  2. README を更新します(存在する場合):

    • docs/research/README.md があるか確認します
    • 存在し、`` を含む場合は、調査項目を追記します
    • 形式:- [{filename}]({filename}) - {one-line summary}

出力:ファイルパス(例:docs/research/rsh-042-rate-limiting.md)

スキップ条件:

  • 標準に関する調査結果が空の場合 → ファイルを作成しません
  • 対象ディレクトリがなく、作成できない場合 → ユーザーに警告し、ファイル作成をスキップします
フェーズ 7:結果を返す

呼び出し元スキルに返す内容(ln-220、ln-310):

  1. Story Technical Notes に挿入する Standards Research 文字列(Markdown)
  2. リンク用の ファイルパス(文字列):docs/research/rsh-{NNN}-{slug}.md

形式:

{
  "standards_research": "<markdown string>",
  "file_path": "docs/research/rsh-042-rate-limiting.md"
}

呼び出し元スキルが文字列のみを想定している場合は、Standards Research 文字列のみを返します。ファイルはどちらの場合も作成されます。


インテグレーション

依存関係:

  • MCP Ref(ref_search_documentation)- 業界標準とパターン
  • Glob(docs/guides/ をスキャン)

入力パラメーター:

  • epic_description(文字列)- Epic Technical Notes + Scope In + Goal
  • story_domain(文字列、任意)- ストーリーのドメイン(例:「レート制限」)

出力形式:

  • 主出力: Markdown 文字列(Story Technical Notes サブセクション用の Standards Research)
  • 副出力: ファイルパス(文字列):docs/research/rsh-{NNN}-{slug}.md
  • 内容: 標準 + パターン(ライブラリはタスクレベルで調査)
  • 注: ファイルは必ず作成されます(フェーズ 6)

時間制限とパフォーマンス

時間制限: Epic ごとに最大 15~20 分

パフォーマンス:

  • 調査は Epic ごとに 1 回のみ実施します
  • 結果はすべてのストーリーで再利用します(5~10 件のストーリーで 1 回の調査結果を活用できます)
  • 可能な場合は MCP 呼び出しを並列実行します(Context7 + Ref)

トークン効率:

  • Context7:ライブラリあたり最大 3000 トークン
  • 合計:一般的な Epic で約 10,000 トークン(ライブラリ 3~4 件)

重要なルール

  • ファイル作成は必須: すべての調査結果を docs/research/rsh-{NNN}-{slug}.md ファイルに保存する必要があります(フェーズ 6)。例外はありません
  • NO_CODE: 出力には、公式ドキュメントへのテーブルとリンクのみを含めます。コードスニペットは含めません
  • 形式の優先順位: テーブル + ASCII 図を最優先し、次にリスト、最後の手段として文章を使用します
  • スタックを考慮したクエリ: すべての MCP Ref 呼び出しに、検出された query_prefix(例:「C# ASP.NET Core」)を含める必要があります
  • ライブラリより標準を優先: RFC とアーキテクチャパターンに重点を置きます。ライブラリの詳細はタスクレベルで調査します
  • 時間制限: Epic ごとに最大 15~20 分。調査は 1 回のみ実施し、すべてのストーリーで再利用します

完了の定義

  • スタックを検出し(検出できない場合はスキップ)、query_prefix を設定した
  • Epic/ストーリーの説明からライブラリとストーリーのドメインを抽出した
  • 標準/RFC とアーキテクチャパターンについて MCP Ref の調査を完了した
  • docs/guides/ 内の既存ガイドをスキャンして照合した
  • Standards Research の出力を Markdown で生成した(テーブル + リンク、コードなし)
  • 調査結果をファイルに保存した:必須セクションをすべて含む docs/research/rsh-{NNN}-{slug}.md を作成した
  • README を更新した(docs/research/README.md が存在し、プレースホルダーがある場合)
  • 出力を呼び出し元スキルに返した:Standards Research 文字列 + ファイルパス

参照ファイル

ツール:

  • mcp__Ref__ref_search_documentation() - ベストプラクティスと標準を検索
  • Glob - docs/guides/ ディレクトリをスキャン

ガイドライン:

  • 必ず読み込む: references/research_guidelines.md を読み込む — 調査品質ガイドライン(ブログ記事より公式ドキュメントを優先し、LTS バージョンを優先)

  • 必ず読み込む: shared/references/research_tool_fallback.md を読み込む


バージョン: 3.1.0 最終更新日: 2026-02-14

コメント