Academic Paper — Academic Paper Writing Agent Team
SkillSearchLets your agent write, plan, revise, and format academic papers with citations and multiple output formats.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Academic Paper — Academic Paper Writing Agent Team skill
About this capability
12-agent academic paper writing pipeline. 11 modes (full/plan/outline/revision/revision-coach/abstract/lit-review/format-convert/citation-check/disclosure/rebuttal-audit). 6 paper types, 5 citation formats, bilingual abstracts, LaTeX/DOCX-via-Pandoc/PDF output. Style Calibration + Writing Quality Ch
What this skill tells your AI
The instructions your AI receives, as published by imbad0202/academic-research-skills in academic-paper/SKILL.md and read by ahel’s review.
A general-purpose academic paper writing tool — 12-agent pipeline covering all disciplines, with higher education domain as the default reference.
v2.5 adds two writing quality features:
- Style Calibration (intake Step 10, optional) — Provide 3+ past papers and the pipeline learns your writing voice (sentence rhythm, vocabulary preferences, citation integration style). Applied as a soft guide during drafting; discipline conventions always take priority. See
shared/style_calibration_protocol.md. - Writing Quality Check (
references/writing_quality_check.md) — Context-sensitive writing diagnostics applied during the draft self-review step: vague or overused terms, punctuation that interrupts the argument, throat-clearing openers, paragraph and sentence shapes that impair clarity. Prompts for judgment subordinate to author and venue requirements, not quotas (#825).
Routing discipline (v3.9.2): see
.claude/CLAUDE.md"Routing Discipline (v3.9.2)" +shared/references/intent_clarification_protocol.mdfor cross-skill routing rules. This skill assumes routing has already settled — ambiguous cross-phase materials should have been clarified upstream.
Quick Start
Minimal command:
Write a paper on the impact of AI on higher education quality assurance
Write a paper on the impact of declining birth rates on private university management strategies
Execution flow:
- Configuration interview — paper type, discipline, citation format, output format
- Literature search — systematic search strategy, source screening
- Architecture design — paper structure, outline, word count allocation
- Argumentation construction — claim-evidence chains, logical flow
- Full-text drafting — section-by-section draft, register adjustment
- Citation compliance + bilingual abstract (parallel)
- Peer review — five-perspective categorical assessment, revision suggestions
- Output formatting — LaTeX/DOCX (via Pandoc)/PDF/Markdown
Trigger Conditions
Trigger Keywords
English: write paper, academic paper, paper outline, write abstract, revise paper, literature review paper, check citations, convert to LaTeX, convert format, format paper, conference paper, journal article, thesis chapter, research paper, guide my paper, help me plan my paper, step by step paper, draft manuscript, write methodology, write discussion, parse reviews, revision roadmap, help me with my revision, I got reviewer comments, convert citations
繁體中文: 寫論文, 學術論文, 論文大綱, 寫摘要, 修改論文, 文獻回顧論文, 檢查引用, 轉 LaTeX, 轉換格式, 研討會論文, 期刊文章, 學位論文, 研究論文, 引導我寫論文, 幫我規劃論文, 逐步寫論文, 寫方法論, 寫討論, 審查意見, 修訂路線圖, 幫我修改, 我收到審查意見, 轉換引用格式
한국어: 논문 작성, 논문 초안, 논문 개요, 초록 작성, 논문 수정, 인용 확인, 인용 형식 검사, LaTeX 변환, 서식 변환, 학위논문 작성, 학술지 논문 작성, 학회 논문 작성, 논문 계획을 도와줘, 단계별로 논문 쓰기, 심사 의견을 받았어, 심사 의견 반영, 답변서 점검, AI 사용 고지
Plan Mode Activation
Activate plan mode when the user wants guidance, step-by-step planning, or expresses uncertainty about paper structure. Default rule: when ambiguous between plan and full, prefer plan.
See
references/plan_mode_protocol.mdfor full intent signals and activation rules.
Does NOT Trigger
| Scenario | Use Instead |
|---|---|
| Deep research / fact-checking (not paper writing) | deep-research |
| Reviewing a paper (structured review) | academic-paper-reviewer |
| Full research-to-paper pipeline | academic-pipeline |
Distinction from deep-research
| Feature | academic-paper | deep-research |
|---|---|---|
| Primary output | Publishable paper draft | Research report |
| Structure | Journal-ready (IMRaD, etc.) | APA 7.0 report |
| Citation | Multi-format (APA/Chicago/MLA/IEEE/Vancouver) | APA 7.0 only |
| Abstract | Bilingual (zh-TW + EN) | Single language |
| Peer review | Simulated 5-dimension review | Editorial review |
| Output format | LaTeX/DOCX (via Pandoc)/PDF/Markdown | Markdown only |
| Revision loop | Max 2 rounds with targeted feedback | Max 2 rounds |
Agent Team (12 Agents)
| # | Agent | Role | Phase |
|---|---|---|---|
| 1 | intake_agent | Configuration interview: paper type, discipline, journal, citation format, output format, language, word count; Handoff detection; Plan mode simplified interview | Phase 0 |
| 2 | literature_strategist_agent | Search strategy design, source screening, annotated bibliography, literature matrix | Phase 1 |
| 3 | structure_architect_agent | Paper structure selection, detailed outline, word count allocation, evidence mapping | Phase 2 |
| 4 | argument_builder_agent | Argument construction, claim-evidence chains, logical flow, counter-argument handling; Plan mode argument stress test | Phase 3 / Plan Step 3 |
| 5 | draft_writer_agent | Section-by-section full draft writing, discipline register adjustment, word count tracking | Phase 4 |
| 6 | citation_compliance_agent | Citation format verification, reference list completeness, DOI checking | Phase 5a |
| 7 | abstract_bilingual_agent | Bilingual abstract (zh-TW + EN), 5-7 keywords each | Phase 5b |
| 8 | peer_reviewer_agent | Simulated double-blind review, five-perspective categorical assessment, revision suggestions (max 2 rounds) | Phase 6 |
| 9 | formatter_agent | Convert to LaTeX/DOCX (via Pandoc)/PDF/Markdown, journal formatting, cover letter, citation format conversion (APA 7 / Chicago / MLA / IEEE / Vancouver) | Phase 7 |
| 10 | socratic_mentor_agent | Plan mode Socratic mentor: chapter-by-chapter guidance, convergence criteria (4 signals), question taxonomy (4 types), INSIGHT extraction | Plan Step 0-3 |
| 11 | visualization_agent | Parse paper data and generate publication-quality figure code (Python matplotlib / R ggplot2) with APA 7.0 formatting, colorblind-safe palettes, and LaTeX integration | Phase 4 / Phase 7 |
| 12 | revision_coach_agent | Parse unstructured reviewer comments into a Revision Roadmap, or explicitly identified real-committee comments into the separate #668 source-accounted concern tracker; works standalone | Revision-Coach mode |
Output Formats
Text Formats
LaTeX (.tex + .bib), DOCX (via Pandoc), PDF (via LaTeX or Pandoc), Markdown.
Figures
When the paper contains quantitative results, the visualization_agent can generate publication-ready figures in Python (matplotlib/seaborn) or R (ggplot2) with APA 7.0 formatting and colorblind-safe palettes. Figures are delivered as runnable code + LaTeX \includegraphics integration code. See references/statistical_visualization_standards.md for chart type decision trees and code templates.
Citation Formats
APA 7.0 (default), Chicago (Author-Date or Notes-Bibliography), MLA 9, IEEE, Vancouver. The formatter_agent supports late-stage citation format conversion between any two supported formats via "Convert citations to [format]".
Orchestration Workflow (8 Phases)
Phase 0: CONFIG -> [intake_agent] -> Paper Configuration Record
Phase 1: RESEARCH -> [literature_strategist] -> Search Strategy + Source Corpus
Phase 2: ARCHITECTURE -> [structure_architect] -> Paper Outline + Evidence Map
Phase 3: ARGUMENTATION -> [argument_builder] -> Argument Blueprint
Phase 4: DRAFTING -> [draft_writer] -> Complete Draft
Phase 5a: CITATIONS -> [citation_compliance] ──┐ -> Citation Audit Report
Phase 5b: ABSTRACT -> [abstract_bilingual] ─┘ -> Bilingual Abstract + Keywords (parallel)
Phase 6: PEER REVIEW -> [peer_reviewer] -> Review Report (max 2 revision loops)
Phase 7: FORMAT -> [formatter] -> Final Output Package
See
references/workflow_phase_details.mdfor detailed per-phase agent behavior and output descriptions.
Review-target criteria binding (#684)
When Phase 0 has produced an author-confirmed ReviewTargetContext (#683), the
orchestrator initializes one pointer-only ReviewCriteriaBindingManifest and
uses it unchanged across the formative, internal-evaluator, and external-panel
consumers. The normative lifecycle, exact marker, closed roles, and explicit
degraded path are defined in
shared/references/review_criteria_consumer_protocol.md.
- Phase 2 owns the
FORMATIVEreceipt. The Structure Architect maps selected criterion ids to planned sections and evidence needs; later writing phases reuse that receipt and do not re-resolve the target. - Phase 6a receives the same pointer authority and Target Criteria Brief while
remaining paper-blind; its pre-commitment artifact owns the
INTERNALreceipt. Phase 6b receives that unchanged artifact, may assess applicability after it sees the draft, and owns any Critical/Major constructive finding sidecar. - Scientific validity, venue fit, and submission readiness remain distinct. Criteria never authorize invented evidence, results, methods, or changes to the author's contribution claim.
Binding validation is a handoff-conformance check only. It never supplies an
editorial verdict, severity, checkpoint state, or author triage. If the binding
is unavailable, disclose criteria_binding_unavailable; do not claim venue
alignment and do not silently reconstruct a target from model memory.
Checkpoint Rules
- ⚠️ IRON RULE: User must confirm Paper Configuration Record before proceeding to Phase 1
- Phase 2 -> 3: User must approve outline (can request restructuring)
- ⚠️ IRON RULE: Max 2 revision loops; unresolved items -> "Acknowledged Limitations"
- Peer Review Critical-severity issues block progression to Phase 7
- User can skip Phase 1 (literature) if providing own sources
v3.4.0 compliance (applies to
fullmode): Before finalization,compliance_agentruns RAISE principles-only check (warn-only; primary research is outside PRISMA-trAIce scope). Warnings are listed in the disclosure statement but never block the pipeline. Seeshared/raise_framework.md §Scope disclaimer.
Phase-by-phase Invocation Contract (v3.9.2)
academic-paper pipeline runs in 8 phases (Phase 0 intake → 7 formatting). Two invocation modes:
Mode A — orchestrator-driven (default): pipeline_orchestrator_agent (in academic-pipeline skill) runs all phases end-to-end with state tracking via Material Passport.
Mode B — phase-by-phase (cross-session resume): User invokes one agent per phase across sessions for long-running projects. Common pattern: write the draft in one session, return next week to citation-check / abstract / peer-review independently.
In Mode B, single-phase agents (Bucket A per docs/design/2026-05-18-ars-v3.9.2-agent-phase-classification.md) stay strictly within their assigned phase for writes. The 7 Bucket A agents in academic-paper are: literature_strategist (P1), structure_architect (P2), draft_writer (P4/P6 per invocation), citation_compliance (P5a), abstract_bilingual (P5b), peer_reviewer (P6), formatter (P7). Reads from upstream phases are allowed.
Multi-phase agents (Bucket B: argument_builder P3+Plan, visualization P4+P7) do exactly the work specified by the caller's invocation for that phase — no extension to other phases in the same call. The v3.6.6 generator-evaluator contract below additionally constrains draft_writer and peer_reviewer sub-phase behavior (Phase 4a/4b, Phase 6a/6b).
Routing into Mode B requires explicit user signal — /ars-<mode> slash command or [direct-mode] prefix. Ambiguous cross-phase input defaults to clarification per .claude/CLAUDE.md Routing Discipline + shared/references/intent_clarification_protocol.md.
Enforcement (v3.9.2): Phase Boundary blocks on Bucket A agents + advisory verifier (scripts/check_pipeline_integrity.py) + a deterministic PreToolUse write-scope guard in hook-enabled runtimes (#134 rescope, PR #294). Multi-phase envelope remains forward-scope (#134 Slices 3-5).
v3.6.6 Generator-Evaluator Contract Protocol
Authoritative orchestration block for the v3.6.6 contract-gated phase splits inside
academic-paper fullmode. Schema 13.1 since v3.6.6 (shared/sprint_contract.schema.json). Templates:shared/contracts/writer/full.json+shared/contracts/evaluator/full.json. Design spec:docs/design/2026-04-27-ars-v3.6.6-generator-evaluator-contract-design.md§5.Applies to
academic-paper fullmode only. Nine non-full modes (plan,outline-only,revision,revision-coach,abstract-only,lit-review,format-convert,citation-check,disclosure) are byte-equivalent across v3.6.5 → v3.6.6 and do not invoke this protocol. (The later-addedrebuttal-auditmode is likewise non-full and does not invoke this protocol.) Pipeline boundary unchanged:academic-pipelineStage 2 dispatchesacademic-paperin plan or full mode (full only invokes this protocol); Stage 3 dispatches the separateacademic-paper-reviewerskill (5-panel external editorial review). The in-pair Phase 6 evaluator under this protocol and the Stage 3 reviewer are different review layers — see design doc §5.1 audit conclusion 2.
Overview
v3.6.6 splits Phase 4 (writer drafting) and Phase 6 (in-pair evaluator review) into paper-blind / paper-visible call pairs gated by the writer_full and evaluator_full contracts. The split mirrors academic-paper-reviewer/references/sprint_contract_protocol.md (the v3.6.2 reviewer pattern) but adapts it for single-agent generator modes that have no panel and (for the writer) no scoring_plan.
The load-bearing mechanism is the physical separation of calls: writer Phase 4a never sees the runtime drafting artefacts; evaluator Phase 6a never sees the writer Phase 4b draft. This destroys the "read the paper, then rationalise the standard" drift path on the in-pair self-quality gate.
Four-call structure
For each academic-paper full invocation, Phase 4 + Phase 6 expand from two single calls into four separate model calls. Each call has its own system prompt and user content per the system-vs-user content discipline below.
- Phase 4a — writer paper-blind pre-commitment.
- System prompt:
### Phase 4a — Writer paper-blind pre-commitmentsub-section inacademic-paper/agents/draft_writer_agent.md§ "v3.6.6 Generator-Evaluator Contract Protocol". - User content:
writer_fullcontract JSON + paper metadata only (title,field,word_count). - Output:
## Acceptance Criteria Paraphrasesection + terminal[PRE-COMMITMENT-ACKNOWLEDGED]tag. - Lint: 3 structural checks (see § "Phase 4a / 6a output lint" below).
- System prompt:
- Phase 4b — writer paper-visible drafting + self-scoring.
- System prompt:
### Phase 4b — Writer paper-visible drafting + self-scoringsub-section in the same agent file. - User content:
writer_fullcontract JSON (re-injected) + Phase 4a output wrapped in<phase4a_output>...</phase4a_output>data delimiter + upstream drafting artefacts (Paper Configuration Record, Paper Outline, Argument Blueprint, Annotated Bibliography incl. its Search Strategy / Schema 2search_strategy(#548 — the bound the writer fills into search-bounded novelty claims), optional Style Profile, optional Knowledge Isolation Directive). - Output:
## Draft Body→## Dimension Scores→## Failure Condition Checks→## Writer Decision. - Lint: 4 structural checks (see § "Phase 4b / 6b output lint" below).
- System prompt:
- Phase 6a — evaluator paper-blind pre-commitment.
- System prompt:
### Phase 6a — Evaluator paper-blind pre-commitmentsub-section inacademic-paper/agents/peer_reviewer_agent.md§ "v3.6.6 Generator-Evaluator Contract Protocol". - User content:
evaluator_fullcontract JSON + paper metadata + the writer's most recent<phase4a_output>(the writer artefact the evaluator must verify perdisagreement_handling.pre_commitment_check_protocol.check_writer_artifact) +, when active, the pointer-only #684 manifest/Target Criteria Brief/INTERNALmarker. - Output:
## Contract Paraphrase+## Scoring Plan(per-dimensiondimension_id/what_to_look_for/what_triggers_block/what_triggers_warn) + pointer-only binding commitment (orcriteria_binding_unavailable) + terminal[PRE-COMMITMENT-ACKNOWLEDGED]tag. No additional H2 is introduced. - Lint: 5 structural checks.
- System prompt:
- Phase 6b — evaluator paper-visible scoring + decision.
- System prompt:
### Phase 6b — Evaluator paper-visible scoring + decisionsub-section in the same agent file. - User content:
evaluator_fullcontract JSON (re-injected) + Phase 6a output wrapped in<phase6a_output>...</phase6a_output>+ the writer's<phase4a_output>(unconditional perpre_commitment_check_protocol.check_writer_artifact) + the writer Phase 4b draft (the artefact under review) + the unchanged #684 authority when it was supplied in Phase 6a. - Output:
## Dimension Scores→## Failure Condition Checks→## Review Body→## Evaluator Decision, plus the role marker/unavailable disclosure and a separately validated constructive sidecar when applicable. - Lint: 5 structural checks.
- System prompt:
System prompt vs user content discipline
Mirrors sprint_contract_protocol.md §2 reviewer pattern verbatim:
- System prompt carries invariant policy text only: the phase sub-section instructions from the agent file's
## v3.6.6 Generator-Evaluator Contract Protocolblock, the lint description, and the phase-boundary tag conventions. - User content carries the contract JSON (re-injected per call) plus the runtime inputs allowed at that phase: paper metadata,
<phase4a_output>/<phase6a_output>delimiter blocks, upstream drafting artefacts, the paper draft.
All dynamic LLM output (Phase Na runtime emissions, paper content) lives in user content via data delimiters, never in the system prompt. This prevents accidental elevation of dynamic per-paper content into the invariant policy surface.
Schema field name vs runtime emission distinction
pre_commitment_artifacts (snake_case, backticks) is the schema field name in shared/sprint_contract.schema.json — a configuration declaration in the frozen contract baseline. The "writer Phase 4a pre-commitment output" is the runtime emission — the actual Markdown text the writer agent emits in Phase 4a. The runtime emission lives inside <phase4a_output> and gets handed off to Phase 4b / Phase 6a / Phase 6b. Same pattern for disagreement_handling (schema field) vs "evaluator Phase 6a pre-commitment output" (runtime emission). Mixing the two leads to confusion between contract baseline configuration and LLM-generated content.
Phase 4a / 6a output lint
Mode-specific structural check counts, per sprint_contract_protocol.md §4 enumeration convention:
- Writer Phase 4a (3 checks): required sections in order (
## Acceptance Criteria Paraphrase, terminal[PRE-COMMITMENT-ACKNOWLEDGED]); paraphrase paragraph count ≥pre_commitment_artifacts.acceptance_criteria_paraphrase.minimum_dimensions; Phase 4a content references contract JSON + paper metadata only. No## Scoring Plansection —writer_fullcarries no scoring_plan. - Evaluator Phase 6a (5 checks): required sections in order (
## Contract Paraphrase,## Scoring Plan, terminal[PRE-COMMITMENT-ACKNOWLEDGED]); paraphrase paragraph count ≥disagreement_handling.paraphrase_minimum_dimensions; one### <Dn>: <name>subsection per acceptance dimension; each scoring_plan subsection containsdisagreement_handling.scoring_plan.per_dimension_criteriafour-field shape (dimension_id,what_to_look_for,what_triggers_block,what_triggers_warn); Phase 6a content references contract JSON + paper metadata + the writer's<phase4a_output>plus the paper-blind #684 pointer authority only (no full draft / paper content). The binding commitment is unbulleted pointer data after Scoring Plan, not an additional H2.
Retry semantics: lint failure on the first attempt → retry once with the specific lint gap hinted in the system prompt; second failure → mark this role unusable per § "Single-agent generator unusable handling" below.
Phase 4b / 6b output lint
- Writer Phase 4b (4 checks): required sections in order —
## Draft Body,## Dimension Scores,## Failure Condition Checks,## Writer Decision; Dimension Scores one-to-one across the seven writer dimensions D1–D7 (pershared/contracts/writer/full.json); Failure Condition Checks one-to-one across F1 / F4 / F2 / F3 / F0; Writer Decision derivable from F-condition severity precedence. No multi-dissent retry (writer has no scoring_plan to dissent against). No consistency check (writer Phase 4a emits no scoring_plan trigger tokens). - Evaluator Phase 6b (5 checks): required sections in order —
## Dimension Scores,## Failure Condition Checks,## Review Body,## Evaluator Decision; Dimension Scores one-to-one across the five evaluator dimensions D1–D5 (pershared/contracts/evaluator/full.json); Failure Condition Checks one-to-one across F1 / F2 / F3 / F6 / F4 / F5 / F0; consistency check (Phase 6b score substring-matches Phase 6adisagreement_handling.scoring_plan.per_dimension_criteriatrigger tokens); Evaluator Decision derivable from F-condition severity precedence. No multi-dissent retry (evaluator's intra-phase disagreement is encoded as F-condition action viadisagreement_handling.disagreement_resolution, not as a retry trigger).
Multi-dissent retry remains reviewer-only (academic-paper-reviewer skill); generator modes have no panel and no scoring_plan dissent anchor.
Lint count summary across the three modes:
| Phase | Reviewer (zero-touch) | Writer | Evaluator |
|---|---|---|---|
| Phase 1 / 4a / 6a | 5 | 3 | 5 |
| Phase 2 / 4b / 6b | 6 | 4 | 5 |
Single-agent generator unusable handling
When a writer or evaluator phase becomes unusable (Phase Na lint twice fail OR Phase Nb lint fail), academic-paper emits a phase-level abort tag and routes to user intervention:
- Writer Phase 4 unusable →
[GENERATOR-PHASE-ABORTED: role=writer, contract=<id>, reason=<lint_failure_kind>]→ abortacademic-paperPhase 4 → user intervention decides retry / fallback / regression to Phase 3 (Argument Blueprint). - Evaluator Phase 6 unusable →
[GENERATOR-PHASE-ABORTED: role=evaluator, contract=<id>, reason=<lint_failure_kind>]→ abortacademic-paperPhase 6 → user intervention decides retry / fallback / regression to Phase 5 (Drafting completion).
[GENERATOR-PHASE-ABORTED] does not constitute a valid Phase 6b emission and cannot enter Stage 3 reviewer dispatch. Two valid Stage 3 entry paths exist (per design doc §5.1):
- Standard path: evaluator Phase 6b emits F0
evaluator_decision=acceptor F4evaluator_decision=accept_with_dissent_note. - Exceptional path: evaluator Phase 6b emits F5
evaluator_decision=flag_for_reviewer_stageafter the in-pair revision loop exhausts at round 2 with mandatory-dimension block recurring.
academic-paper carries no panel cardinality invariant for writer / evaluator (no panel_size field — Schema 13.1 §3.3.5 reviewer-conditional). There is no [PANEL-SHRUNK] analogue at the generator side; [GENERATOR-PHASE-ABORTED] is phase-level abort.
Operational monitor: track [GENERATOR-PHASE-ABORTED] rate over the first three months of v3.6.6 deployment. The denominator is per academic-paper full run — one user-perceived top-level invocation. The 5% threshold is (runs_with_any_abort) / (total_runs). If the rate exceeds 5%, v3.6.7 introduces graceful-degradation fallback (see § "Known limitations" below).
Cross-session resume scope
The v3.6.6 generator-evaluator round (Phase 4a + Phase 4b + Phase 6a + Phase 6b + in-pair revision loop) is an in-session atomic unit. Manual session split mid-round → writer Phase 4a output is lost; new session must restart academic-paper full mode from Phase 0.
Shortened here. Read the whole file on GitHub.
Signals
- GitHub stars
- 48k
- Forks
- 4k
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
academic-paper-imbad0202- Source
- github.com/imbad0202/academic-research-skills