mcpField
R
research-methodology

research-methodology

github.com/itallstartedwithaidea生産性44105 回インストール29 週間前に更新
リポジトリ

research-methodology について

研究者向けの科学研究方法論スキルです。文献レビューや仮説の形成から、実験設計、査読への準備までを支援します。反証可能性、検出力、事前登録、方法論の厳密さを重視します。

主な機能

  1. 01研究課題と仮説の形成
  2. 02システマティックレビュー
  3. 03実験設計と対照条件
  4. 04検出力分析とサンプル数計画
  5. 05倫理審査と投稿準備

活用シーン

  1. 01対照条件を設けた実験の設計
  2. 02システマティックレビューの実施
  3. 03論文の方法論の評価
  4. 04研究提案書や投稿原稿の準備

インストール

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

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill research-methodology

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

詳細

研究方法論

googleadsagent.ai™ による Agent Skills™ の一部です

説明

研究方法論は、文献のギャップからの仮説生成、適切な対照を用いた実験計画、体系的な文献レビュー、データ収集のプロトコル、査読の準備に至るまで、科学的研究のライフサイクル全体をエージェントに案内します。エージェントは研究協力者として機能し、あらゆる段階で方法論の厳密さを徹底します。

分析がどれほど高度であっても、方法論が不十分であれば結果は無効になります。このスキルは、反証不可能な仮説、適切な対照のない実験、検出力分析に基づかないサンプルサイズ、データの範囲を超えた結論など、よくある方法論上の失敗を防ぎます。エージェントは、欠陥のある設計に時間やリソースを投入する前に、早い段階で難しい問いを投げかけます。

このスキルでは、研究準備に関する実務的な側面も扱います。ブール検索式を用いた文献検索の構成、引用文献データベースの管理、再現可能な実験プロトコルの設計、倫理審査委員会向け資料の準備、各学術誌の要件に合わせた投稿原稿の書式設定などです。優れた研究のあり方を知ることと、それを体系的に実行することの間をつなぎます。

使用する場面

  • 研究上の問いや仮説を立てるとき
  • 適切な対照とサンプルサイズを用いて実験を設計するとき
  • 体系的な文献レビューを実施するとき
  • 査読に提出する原稿を準備するとき
  • 助成金申請書や研究計画書を作成するとき
  • 既存論文の方法論を評価するとき

仕組み

graph TD
    A[Research Question] --> B[Literature Review]
    B --> C[Identify Knowledge Gap]
    C --> D[Formulate Hypothesis]
    D --> E[Design Experiment]
    E --> F[Power Analysis: Sample Size]
    F --> G[Define Controls + Variables]
    G --> H[Ethical Review Preparation]
    H --> I[Data Collection Protocol]
    I --> J[Analysis Plan: Pre-registered]
    J --> K[Execute + Collect Data]
    K --> L[Analyze per Pre-registered Plan]
    L --> M[Write Manuscript]
    M --> N[Peer Review Preparation]

方法論のフローは、ゲートを設けた順次的なものです。実験を設計する前に仮説が反証可能であること、データを収集する前に実験の検出力が十分であること、実行開始前に分析計画が事前登録されていることが求められます。

実装

class ResearchProtocol:
    def formulate_hypothesis(self, observation: str, literature: list[str]) -> dict:
        return {
            "null_hypothesis": "There is no significant difference between...",
            "alternative_hypothesis": "Treatment X increases Y by at least Z...",
            "falsifiability": "This hypothesis is falsifiable because...",
            "variables": {
                "independent": ["Treatment type (A vs B vs control)"],
                "dependent": ["Measured outcome Y"],
                "controlled": ["Age, sex, baseline Z"],
                "confounding": ["Prior exposure to X"],
            },
        }

    def power_analysis(self, effect_size: float, alpha: float = 0.05, power: float = 0.80) -> dict:
        from statsmodels.stats.power import TTestIndPower
        analysis = TTestIndPower()
        n = analysis.solve_power(effect_size=effect_size, alpha=alpha, power=power)
        return {
            "required_n_per_group": int(np.ceil(n)),
            "total_n": int(np.ceil(n)) * 2,
            "effect_size": effect_size,
            "alpha": alpha,
            "power": power,
            "recommendation": f"Recruit {int(np.ceil(n * 1.2))} per group to account for 20% attrition",
        }

    def literature_search(self, topic: str) -> dict:
        return {
            "databases": ["PubMed", "Scopus", "Web of Science"],
            "query": f'("{topic}") AND (randomized OR controlled) AND ("2020"[Date] : "2026"[Date])',
            "inclusion_criteria": [
                "Peer-reviewed original research",
                "English language",
                "Human subjects",
                "Published 2020-2026",
            ],
            "exclusion_criteria": [
                "Review articles (captured separately)",
                "Case reports (n < 10)",
                "Non-peer-reviewed preprints",
            ],
            "prisma_flow": "Record screening, eligibility, and inclusion counts per PRISMA 2020",
        }

    def experimental_design(self, hypothesis: dict) -> dict:
        return {
            "design": "Randomized controlled trial, double-blind, parallel group",
            "randomization": "Block randomization with variable block sizes (4, 6, 8)",
            "blinding": "Participants and assessors blinded; unblinded statistician",
            "primary_outcome": hypothesis["variables"]["dependent"][0],
            "secondary_outcomes": [],
            "timeline": "Baseline → 4 weeks intervention → 8 weeks follow-up",
            "analysis_plan": "Pre-registered at OSF.io before data collection",
        }

ベストプラクティス

  • pハッキングを防ぐため、データ収集前に分析計画を事前登録します
  • データ収集後ではなく、設計段階で検出力分析を実施します
  • 体系的レビューにはPRISMAガイドラインを、臨床試験にはCONSORTを使用します
  • 引用文献管理ツール(Zotero、Mendeley)を使い、常に更新される文献データベースを維持します
  • 報告では、探索的分析と確認的分析を分けます
  • 方法論上の弱点に正直に触れる限界のセクションを設けます

プラットフォームの互換性

プラットフォームサポート備考
Cursor完全プロトコル+分析コード
VS Code完全LaTeX+Python 統合
Windsurf完全研究ワークフローをサポート
Claude Code完全方法論のガイダンス
Cline完全研究プロトコルの生成
aider一部コードレベルのサポート

関連スキル

キーワード

research-methodology hypothesis-generation experimental-design literature-review power-analysis pre-registration peer-review prisma


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

コメント