gabrielmoreira/agent-skills-mirror/writing-sop
- community
Checking that the SKILL.md file is still in the repository.
Four-phase iterative protocol for academic writing and document production. Covers outline → draft → self-review → polish with Stop Points, material supplementation loops, version comparison, and mechanical self-check. Includes IMRaD, LaTeX, docx/markdown, citation formatting, and md2pdf.
Install
npx vskill@latest install gabrielmoreira/agent-skills-mirror/writing-sopSKILL.md
The same SKILL.md was published earlier as wentorai/research-claw/writing-sop.
Academic Writing SOP — 学术写作标准操作规程
<!-- SKILL MAINTENANCE NOTES:
- RC's writing SOP — covers all document production workflows
- v2.0: Four-phase iterative protocol (material review → draft → self-review → polish)
- Boundary: survey-sop = "synthesizing info", writing-sop = "turning info into documents"
- Boundary: when citations insufficient, TRIGGER search-sop (don't duplicate search logic)
- Citation management is a writing sub-process, lives here (not search-sop)
- md2pdf: integrated here; md2pdf-export skill has full setup details
- Stop Point pattern from academic-deep-research — proven to work
- Update AGENTS.md pointers when modifying this skill
- Related Research-Plugins Skills paths based on RP v1.4.0
- Multi-model: MUST/NEVER keywords + numbered steps for low-IQ model compat
-->
When to Read This Skill
Read this skill when the user asks to:
- Draft or edit academic text (papers, reports, theses, proposals)
- Format citations or bibliographies
- Export/import references (BibTeX, RIS, CSV, JSON, PDF, DOI list)
- Write or compile LaTeX documents
- Convert markdown to PDF, docx, or other formats
- Polish academic language or adjust tone
- Prepare a manuscript for submission
FOUR-PHASE ITERATIVE WRITING PROTOCOL
CRITICAL — READ THIS FIRSTYou MUST follow this four-phase protocol for ALL writing tasks longer thanone paragraph. NEVER produce a complete draft in a single pass and call itdone. Each phase has explicit steps. Complete them IN ORDER.所有超过一段的写作任务必须遵循四阶段迭代流程。不得一次性写完就结束。
Version Tagging: Every workspace_save MUST use version tags: {topic}-v1.md, {topic}-v2.md, {topic}-final.md.
Phase 1: 材料审查与大纲 (Material Review & Outline)
Goal: Confirm requirements, audit materials, produce outline with per-section citation needs. Identify gaps BEFORE writing.
Step 1: Gather Requirements
MUST ask (skip items already answered by user):
- Target format — journal / conference / thesis / report / proposal?
- Venue/style — specific journal, conference, or template?
- Citation style — APA 7 / MLA 9 / Chicago / IEEE / other? (Default: APA 7)
- Language — English / Chinese / bilingual?
- Length target — approximate word/page count?
- Existing materials — notes, data, figures, prior drafts in workspace?
Step 2: Audit Available Materials (审查已有材料)
MUST execute:
workspace_list— checkoutputs/drafts/andoutputs/reports/for existing worklibrary_search— search local library for relevant papersworkspace_read— read any existing notes/outlines the user mentions
Step 3: Generate Section Outline (生成大纲)
MUST produce this table for EACH section:
| Section | Key Points | Citations Needed | Available | Gap? | |
|---|---|---|---|---|---|
| Introduction | Research gap, RQ, contributions | 5-8 | 3 | YES | |
| Methods | ... | ... | ... | ... |
Step 4: Material Supplementation Loop (材料补充循环)
IF any section has Gap? = YES:
- Tell user: "Sections X, Y need more citations. I will search."
- Trigger search-sop — use
web_searchor academic search tools - Add papers via
library_add_paperorlibrary_import_bibtex - Update outline table
- REPEAT until gaps filled or search exhausted (document remaining gaps)
NEVER proceed to Phase 2 with known gaps unless user explicitly approves.
⏸ STOP POINT 1 — Present Outline (展示大纲,等待确认)
MUST present: (1) outline table, (2) materials summary, (3) remaining gaps, (4) estimated length.
MUST say: "Please review this outline. Reply with changes, or confirm to proceed."
MUST WAIT. Do NOT proceed to Phase 2 automatically.
Phase 2: 初稿生成 (First Draft Generation)
Goal: Write section by section per outline. Save versioned draft.
Step 1: Write Section by Section (逐节撰写)
For EACH section in order:
- Write following outline key points
- Embed citations per agreed style (see Appendix A)
- Per-section check:
- Every factual claim has citation? If NO → add or flag
- All cited papers verified/in library? If NO → search or flag
- All outline key points covered? If NO → expand
- If citation missing mid-section: pause → search (search-sop) → add to library → continue
- If section needs a figure: pause → load Plotting SOP → generate figure →
workspace_savetooutputs/figures/→ embed reference ("See Figure N") → continue
Step 2: Save v1
Step 3: Progress Note
Tell user: "First draft (v1) saved. Moving to self-review." List any sections with improvised material.
Do NOT wait for input here. Proceed to Phase 3.
Phase 3: 自检与修订 (Self-Review & Revision)
Goal: Execute mechanical checklist. Fix issues. Save v2. Present results.
Step 1: Self-Check Checklist (自检清单)
MUST check ALL 10 items. Record PASS or FAIL for each.
| # | Check Item | Verify By | |
|---|---|---|---|
| 1 | Structure complete — follows IMRaD or target format? | Compare headings vs outline | |
| 2 | Every claim cited — no unsupported assertions? | Scan each paragraph | |
| 3 | Citation format consistent — same style throughout? | Spot-check 5+ citations | |
| 4 | No fabricated references — all papers real? | library_search cross-check | |
| 5 | Logical flow — transitions between paragraphs? | Read endings→beginnings | |
| 6 | Academic tone — no casual language? | Scan for colloquialisms | |
| 7 | Data/figures labeled — numbered, captioned, referenced? | Check each table/figure | |
| 8 | Abstract ≤250 words (if applicable)? | Word count | |
| 9 | No orphaned sections — every header has content? | Scan structure | |
| 10 | Length ±20% of target? | Word count |
Step 2: Fix Every FAIL
For EACH failed item:
- Describe the problem
- Fix it
- Re-verify → confirm PASS
If fixing requires new citations → trigger search (same as Phase 1 Step 4).
Step 3: Save v2
⏸ STOP POINT 2 — Present Self-Review (展示自检结果)
MUST present:
- Checklist results (10 items, PASS/FAIL)
- Change summary (v1 → v2)
- Remaining concerns
- Ask: "Review
{topic}-v2.md. Reply with changes, or confirm for final polish."
MUST WAIT. Do NOT proceed to Phase 4 automatically.
Phase 4: 精修与导出 (Polish & Export)
Goal: Apply feedback, final polish, export, show version diff.
Step 1: Apply User Feedback
For each piece of feedback: locate section → make change → verify consistency. If "no changes" → skip to Step 2.
Step 2: Final Language Polish (最终润色)
MUST apply these 5 passes (details in Appendix F):
- Conciseness — cut redundancies
- Precision — vague terms → exact values
- Flow — smooth transitions, add signposts
- Terminology — consistent terms for same concepts
- Grammar — agreement, tense, articles
Step 3: Save & Export
Export per user request:
| Format | Action | |
|---|---|---|
| docx | workspace_export({ source: "…-final.md", format: "docx" }) | |
workspace_export(…, format: "pdf") or md2pdf pipeline (Appendix E) | ||
| LaTeX | Save as .tex with preamble (Appendix D) | |
| BibTeX | library_export_bibtex |
If no format specified, ask user.
Step 4: Version Comparison (版本对比)
MUST present diff summary: structural changes, content changes, quality fixes, word counts (v1 / v2 / final).
⏸ STOP POINT 3 — Final Deliverables (展示最终成果)
MUST present: (1) all saved file paths, (2) version diff, (3) all 10 checks PASS, (4) caveats.
Writing task complete.
APPENDICES — Reference Material for the Phases Above
Appendix A: Citation Formatting
| Style | In-text | Reference Format | |
|---|---|---|---|
| APA 7 | (Author, Year) | Author, A. A. (Year). Title. Journal, vol(issue), pp. | |
| MLA 9 | (Author page) | Author. "Title." Journal, vol. X, no. Y, Year, pp. Z. | |
| Chicago | Footnote / (Author Year) | Author. Title. Place: Publisher, Year. | |
| IEEE | [1] | [1] A. Author, "Title," Journal, vol. X, no. Y, pp. Z, Year. | |
| Vancouver | (1) | 1. Author AA. Title. Journal. Year;Vol(Issue):Pages. | |
| Harvard | (Author Year) | Author, A.A. Year. Title. Journal, Vol(Issue), pp. | |
| Nature | Superscript^1 | 1. Author, A. A. Title. Journal Vol, Pages (Year). | |
| ACM | [Author Year] | Author. Year. Title. In Proc. Conf., Pages. |
Default: APA 7. For CSL/GB/T 7714-2015, read Citation Styles skill.
Appendix B: Citation Integrity Rules
- Every cited paper MUST exist in local library or be verifiable via DOI.
- Cite primary sources. Secondary only if primary genuinely inaccessible.
- Paraphrase → cite. Quote → quotation marks + page numbers.
- Cannot verify a paper? Say so. NEVER fabricate references.
Appendix C: Writing Quality Standards
- Clarity: Active voice. One idea per sentence. Define acronyms on first use.
- Precision: Exact numbers, not "many." Specify units.
- Structure: IMRaD unless user specifies otherwise.
- Tone: Academic 3rd person default. "We" for multi-author. Adjust per user.
- Transitions: Signpost phrases ("However," "In contrast," "Building on this,").
IMRaD Section Guidelines
- Introduction — literature gap, research question, contribution summary
- Methods — materials, procedures, statistical tests, sample size justification
- Results — data first, figures/tables referenced, no interpretation
- Discussion — compare prior work, limitations, implications, future work
- Abstract — standalone summary (background, methods, results, conclusion; ≤250 words)
Other sections: Literature Review (humanities), Theory/Model (econ/physics), Related Work (CS), Case Study (law/business).
Appendix D: LaTeX Writing SOP
Compilation: xelatex → biber/bibtex → xelatex ×2 → output.pdf Use exec: cd <dir> && xelatex -interaction=nonstopmode main.tex
| Template | Use Case | Package | |
|---|---|---|---|
| article/revtex | Journal | revtex4-2, elsarticle | |
| beamer | Presentations | beamer | |
| thesis | Graduation | THUThesis, SJTUThesis, ustcthesis | |
| IEEE conf | CS/EE | IEEEtran | |
| ACM | CS | acmart |
Formulas: Inline $...$, display \[...\] or equation, align align/aligned. Numbering: equation auto, equation* suppresses. Cross-ref: \label{eq:x} + \eqref{eq:x}.
Overleaf: Use \input{} to split; switch to xelatex for CJK.
Appendix E: Export & Conversion
Export
| Format | Tool | Use Case | |
|---|---|---|---|
BibTeX .bib | library_export_bibtex | LaTeX, Overleaf, JabRef | |
RIS .ris | library_export_bibtex(format:'ris') | EndNote, Mendeley, Zotero | |
| CSV/JSON/MD | workspace_save | Spreadsheet, API, docs |
Import
| Format | Tool | |
|---|---|---|
| BibTeX | library_import_bibtex | |
| RIS | library_import_ris | |
library_add_paper (extract DOI) | ||
| DOI list | library_batch_add | |
| CSV | Parse + library_batch_add |
Pandoc
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmirrors/repos/wentorai@Research-Claw/skills/writing-sop/SKILL.md
Popularity
- Repository stars
- 7
- Repository forks
- 2
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gabrielmoreira/agent-skills-mirror/writing-sop)