development-assistant について
development-assistantは、Claude Patent Creatorを拡張するための開発スキルです。ツール、アナライザー、設定、機能の追加に向け、実装から検証、テスト、ドキュメント作成までを案内します。
主な機能
- 01MCPツール追加のガイド
- 02USPTO準拠アナライザーの作成ガイド
- 03Pydanticによる設定追加
- 04RAG検索パイプラインの変更
- 05Claude Codeスラッシュコマンドの追加
- 06パフォーマンス監視のパターン
活用シーン
- 01プロジェクトへのMCPツール追加
- 02新しい準拠アナライザーの実装
- 03RAG検索と再ランキングの調整
- 04機能のテストとドキュメントの追加
MCP 対応
Claude Patent CreatorにMCPツールを追加する方法として、入力検証、パフォーマンス監視、サーバー登録を説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ robthepcguy/ claude-patent-creator --skill development-assistantインストール後、Claude Code で/development-assistantを入力して読み込まれたか確認します。
詳細
開発アシスタントスキル
Claude Patent Creator の開発と拡張を支援するエキスパートシステムです。新しい MCP ツール、アナライザー、設定オプション、機能を追加する際に、ベストプラクティスと既存のパターンに従えるようガイドします。
このスキルを使用するタイミング
MCP ツール、アナライザー、設定オプション、BigQuery クエリ、スラッシュコマンドを追加するとき、またはパフォーマンス最適化を実装するときに有効にします。
開発ワークフロー
Feature Request -> Planning -> Implementation (Code + Validation + Monitoring + Tests) -> Testing -> Documentation -> Integration
新しい MCP ツールの追加
クイックスタート:
- 入力、出力、依存関係を定義します
mcp_server/validation.pyに Pydantic モデルを作成します- デコレーターを使用して、
mcp_server/server.pyにツール関数を追加します scripts/にテストスクリプトを作成します- CLAUDE.md を更新します
主なデコレーター:
@mcp.tool() # Register as MCP tool
@validate_input(YourInput) # Pydantic validation
@track_performance # Performance monitoring
テンプレート:
def your_tool(param: str, optional: int = 10) -> dict:
"""Comprehensive docstring (Claude sees this).
Args:
param: Description
optional: Description with default
Returns:
Dictionary containing: key1, key2, key3
"""
# Implementation
return {"result": "data"}
新しいアナライザーの追加
概要: アナライザーは BaseAnalyzer を継承し、USPTO への準拠をチェックします。
最小限の例:
from mcp_server.analyzer_base import BaseAnalyzer
class YourAnalyzer(BaseAnalyzer):
def __init__(self):
super().__init__()
self.mpep_sections = ["608", "2173"]
def analyze(self, content: str) -> dict:
issues = []
if violation:
issues.append({
"type": "violation_name",
"severity": "critical",
"mpep_citation": "MPEP 608",
"recommendation": "Fix description"
})
return {"compliant": len(issues) == 0, "issues": issues}
設定オプションの追加
mcp_server/config.py で Pydantic の設定を使用します:
# In config.py
class AppSettings(BaseSettings):
enable_feature_x: bool = Field(default=False, description="Enable X")
# In your code
from mcp_server.config import get_settings
if get_settings().enable_feature_x:
# Feature enabled
パフォーマンス監視の追加
@track_performance
def your_function(data):
with OperationTimer("step1"):
result1 = step1(data)
with OperationTimer("step2"):
result2 = step2(result1)
return result2
RAG 検索パイプラインの変更
パイプライン:Query -> HyDE -> Vector+BM25 -> RRF -> Reranking -> Results
カスタマイズできる箇所: クエリの拡張、カスタムスコアリング、フィルタリング、再ランキング戦略
新しいスラッシュコマンドの追加
.claude/commands/your-command.mdを作成します- フロントマターに
description、modelを追加します - ワークフローの手順を記述します
- Claude Code を再起動します
テンプレート:
---
description: Brief command description
model: claude-sonnet-4-5-20250929
---
# Command Name
## When to Use
- Use case 1
## How It Works
Step 1: ...
開発のベストプラクティス
- 既存のパターンに従います
- 型ヒントを使用します
- docstring を記述します(Google スタイル)
- エラーを適切に処理します
- 入力を検証します(Pydantic)
- 操作をログに記録します
- パフォーマンスを監視します
よくある開発タスク
BigQuery クエリの追加: mcp_server/bigquery_search.py にメソッドを追加します
検証ルールの追加:
class YourInput(BaseModel):
field: str
@field_validator("field")
@classmethod
def validate_field(cls, v):
if not meets_requirement(v):
raise ValueError("Error message")
return v
ログの追加:
from mcp_server.logging_config import get_logger
logger = get_logger()
logger.info("event_name", extra={"context": "data"})
クイックリファレンス:ファイルの場所
| タスク | 主なファイル | 関連ファイル |
|---|---|---|
| MCP ツールの追加 | mcp_server/server.py | mcp_server/validation.py |
| アナライザーの追加 | mcp_server/your_analyzer.py | mcp_server/analyzer_base.py |
| 設定の追加 | mcp_server/config.py | .env、CLAUDE.md |
| BigQuery クエリの追加 | mcp_server/bigquery_search.py | - |
| テストの追加 | scripts/test_your_feature.py | - |
主なパターン
MCP ツールのパターン:
@mcp.tool()
@validate_input(InputModel)
@track_performance
def tool_name(param: type) -> dict:
"""Docstring visible to Claude."""
from module import Component
if invalid:
return {"error": "message"}
result = process(param)
return {"key": "value"}
アナライザーのパターン:
class YourAnalyzer(BaseAnalyzer):
def analyze(self, content: str) -> dict:
issues = []
issues.extend(self._check_x(content))
return {
"compliant": len(issues) == 0,
"issues": issues,
"recommendations": self._generate_recommendations(issues)
}