mcpField
S
scientific-writing

scientific-writing

github.com/itallstartedwithaideaドキュメント4496 回インストール29 週間前に更新
リポジトリ

scientific-writing について

scientific-writingは、論文、抄録、研究助成申請書、補足資料を作成する研究者向けのエージェントスキルです。IMRaDに沿った構成案に加え、引用、LaTeX、投稿先の書式への対応を支援します。

主な機能

  1. 01IMRaDの章構成ガイド
  2. 02投稿先テンプレートへの準拠
  3. 03BibTeXによる引用管理
  4. 04LaTeXでの数式・図の整形
  5. 05統計表の書式設定
  6. 06語数・引用スタイルの確認

活用シーン

  1. 01研究論文の執筆・編集
  2. 02投稿先に合わせたLaTeX原稿の準備
  3. 03引用と参考文献の整備
  4. 04語数制限に沿った抄録の作成

インストール

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

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill scientific-writing

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

詳細

科学論文の執筆

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

説明

科学論文の執筆では、適切な引用管理、LaTeX の書式設定、各学術誌固有のテンプレートへの準拠を通じて、研究論文、抄録、研究助成金の申請書、補足資料の作成を支援します。エージェントは、正確な表現、論理的な論証構成、根拠に裏付けられた主張という、科学的な議論の慣例に従った原稿の各セクションを作成します。

科学論文の執筆は創作ではありません。すべての文には、背景の提示、根拠の提示、結論の導出、限界の認識といった役割があります。このスキルは IMRaD 構成(Introduction、Methods、Results、Discussion)を徹底し、引用が投稿先の学術誌のスタイルに従っていることを確認するとともに、現代の学術誌で求められる受動態と能動態のバランスを保ちます。

このスキルは、原稿準備における機械的な作業も扱います。具体的には、BibTeX による引用管理、数式や図の LaTeX 書式設定、適切な統計表記を用いた表の作成、学術誌への投稿要件(語数制限、図の形式、参考文献のスタイル)への準拠です。こうした機械的な作業は研究者の時間を不釣り合いに多く費やすため、エージェントによる自動化に最適です。

使用する場面

  • 研究論文のセクションを執筆または編集する場合
  • 特定の学術誌向けに論文を LaTeX で整形する場合
  • 引用を管理し、参考文献一覧を作成する場合
  • 語数制限内で抄録を執筆する場合
  • 補足資料や付録を準備する場合
  • 引用スタイル(APA、IEEE、Nature)を相互に変換する場合

仕組み

graph TD
    A[Research Results] --> B[Select Target Journal]
    B --> C[Load Journal Template]
    C --> D[Write IMRaD Sections]
    D --> E[Introduction: Context + Gap + Hypothesis]
    D --> F[Methods: Reproducible Protocol]
    D --> G[Results: Data + Statistics + Figures]
    D --> H[Discussion: Interpretation + Limitations]
    E --> I[Citation Integration]
    F --> I
    G --> I
    H --> I
    I --> J[LaTeX Formatting]
    J --> K[Compliance Check: Word Limits, Figures]
    K --> L[Submission-Ready Manuscript]

各セクションは、その修辞的な役割に沿って執筆されます。Introduction では広い背景から具体的な研究上の空白へと焦点を絞り、Results では解釈を加えずにデータを提示し、Discussion では既存の文献に照らして結果を解釈します。

実装

\documentclass[twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[numbers]{natbib}
\usepackage{booktabs}

\title{Edge-Rendered SEO Pages: A Scalable Approach to Local Search Optimization}
\author{Research Team \\ googleadsagent.ai}
\date{2026}

\begin{document}
\maketitle

\begin{abstract}
We present an edge rendering architecture that generates 18,000+ unique
landing pages from a matrix of 116 services and 155 cities, achieving
sub-50ms time-to-first-byte globally. Our approach eliminates the
build-time scaling limitations of static site generation while maintaining
the SEO benefits of server-rendered HTML. Evaluation across 6 months of
production traffic demonstrates a 34\% improvement in organic search
impressions compared to the previous SSG approach ($p < 0.001$, $d = 0.72$).
\end{abstract}

\section{Introduction}
Local search optimization requires unique, high-quality pages for each
service-location combination~\cite{moz2025local}. Static site generation
(SSG) approaches face quadratic build time growth as the service-location
matrix expands~\cite{vercel2024ssg}.
\end{document}
class ManuscriptBuilder:
    SECTION_GUIDELINES = {
        "abstract": {"max_words": 250, "structure": ["background", "methods", "results", "conclusion"]},
        "introduction": {"paragraphs": [
            "Broad context and importance",
            "Current state of knowledge",
            "Knowledge gap or limitation",
            "Study objective and hypothesis",
        ]},
        "methods": {"requirements": ["reproducible", "past_tense", "no_results"]},
        "results": {"requirements": ["data_driven", "no_interpretation", "stats_with_effect_sizes"]},
        "discussion": {"paragraphs": [
            "Principal findings",
            "Comparison with existing literature",
            "Mechanistic interpretation",
            "Limitations",
            "Future directions and conclusion",
        ]},
    }

    def validate_abstract(self, text: str, max_words: int = 250) -> dict:
        words = text.split()
        return {
            "word_count": len(words),
            "within_limit": len(words) <= max_words,
            "has_background": any(kw in text.lower() for kw in ["context", "background", "importance"]),
            "has_conclusion": any(kw in text.lower() for kw in ["conclude", "demonstrate", "suggest"]),
        }

ベストプラクティス

  • 投稿先の学術誌で別途指定されていない限り、IMRaD 構成に従います
  • 統計値は、検定名、自由度、検定統計量、p 値、効果量の順に報告します
  • 明確さを優先して能動態を使います。「測定を行った」ではなく「私たちは測定した」とします
  • 抄録は投稿先の学術誌の語数制限内に収めます(通常 150~300 語)
  • 特定の主張を裏付ける際は、レビュー論文ではなく一次資料を引用します
  • 査読者の懸念に先回りして対処する限界に関するセクションを含めます

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

プラットフォーム対応状況備考
Cursor完全対応LaTeX と BibTeX に対応
VS Code完全対応LaTeX Workshop 拡張機能
Windsurf完全対応科学論文の執筆に対応
Claude Code完全対応原稿の生成
Cline完全対応テンプレートに基づく執筆
aider部分対応テキスト編集のみ

関連スキル

キーワード

scientific-writing latex imrad citations bibtex manuscript abstract journal-submission peer-review


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

コメント