S

Scientific Writing Elite

Enterprise-grade skill for core, skill, deep, research. Includes structured workflows, validation checks, and reusable patterns for scientific.

SkillClipticsscientificv1.0.0MIT
0 views0 copies

Scientific Writing Elite

Produce structured scientific documents — manuscripts, grant proposals, literature reviews, and reports — using AI-assisted deep research, citation management, and field-appropriate formatting. This skill covers document structure conventions, writing style for different sections, reference integration, and automated formatting for journal submission.

When to Use This Skill

Choose Scientific Writing Elite when you need to:

  • Draft or revise scientific manuscripts following journal-specific formatting guidelines
  • Write grant proposals with structured specific aims and research plans
  • Generate literature review sections with properly formatted citations
  • Produce technical reports with consistent style and reproducible formatting

Consider alternatives when:

  • You need to create visual figures for papers (use Scientific Visualization System)
  • You need slide decks for presentations (use Scientific Slides Elite)
  • You need systematic literature search and retrieval (use Research Lookup Elite)

Quick Start

pip install jinja2 pyyaml bibtexparser
import jinja2 import yaml # Define manuscript structure manuscript = { "title": "CRISPR-Cas9 Editing Efficiency in Primary Human T Cells", "authors": [ {"name": "J. Smith", "affiliation": "Dept. of Immunology, MIT"}, {"name": "A. Chen", "affiliation": "Broad Institute"}, ], "sections": { "abstract": { "background": "CRISPR-Cas9 gene editing in primary human T cells remains " "limited by delivery efficiency and off-target effects.", "methods": "We optimized electroporation parameters and guide RNA design " "for CD4+ and CD8+ T cell subsets from 12 healthy donors.", "results": "Our optimized protocol achieved 89% knockout efficiency " "(SD=4.2%) with <0.1% detectable off-target editing.", "conclusion": "Parameter optimization enables reliable, high-efficiency " "gene editing in primary T cells for immunotherapy applications." }, "introduction": "...", "methods": "...", "results": "...", "discussion": "..." }, "references_file": "references.bib" } # Structured abstract template abstract_template = jinja2.Template(""" ## Abstract **Background:** {{ abstract.background }} **Methods:** {{ abstract.methods }} **Results:** {{ abstract.results }} **Conclusion:** {{ abstract.conclusion }} """) rendered = abstract_template.render(abstract=manuscript["sections"]["abstract"]) print(rendered)

Core Concepts

Manuscript Section Structure

SectionPurposeKey Guidelines
AbstractSummarize entire paper150-300 words, structured (Background/Methods/Results/Conclusion)
IntroductionEstablish context and gapFunnel from broad to specific, end with hypothesis/aims
MethodsEnable reproducibilityPast tense, passive voice acceptable, include all parameters
ResultsPresent findingsPast tense, reference all figures/tables, no interpretation
DiscussionInterpret findingsCompare with literature, acknowledge limitations, future directions
ReferencesCredit sourcesFollow journal citation style (APA, Vancouver, Nature)

Citation Manager Integration

import bibtexparser def load_references(bib_file): """Load and index BibTeX references for citation.""" with open(bib_file, 'r') as f: bib_db = bibtexparser.load(f) refs = {} for entry in bib_db.entries: key = entry['ID'] author = entry.get('author', 'Unknown').split(' and ')[0].split(',')[0] year = entry.get('year', 'n.d.') title = entry.get('title', '').strip('{}') journal = entry.get('journal', '') refs[key] = { 'inline': f"({author} et al., {year})", 'full': f"{entry.get('author','')}, {title}. {journal} ({year})", 'entry': entry } return refs def cite(refs, key): """Return inline citation for a reference key.""" if key not in refs: return f"[MISSING: {key}]" return refs[key]['inline'] def format_bibliography(refs, cited_keys, style='apa'): """Format bibliography for cited references only.""" bib_entries = [] for i, key in enumerate(sorted(cited_keys), 1): if key in refs: bib_entries.append(f"{i}. {refs[key]['full']}") return '\n'.join(bib_entries) # Usage refs = load_references('references.bib') text = f"Previous work {cite(refs, 'smith2023')} demonstrated that..." print(text)

Grant Proposal Builder

from dataclasses import dataclass from typing import List @dataclass class SpecificAim: title: str rationale: str approach: str expected_outcomes: List[str] potential_pitfalls: List[str] alternatives: List[str] def format_specific_aims(aims: List[SpecificAim], project_title: str) -> str: """Format specific aims page for NIH-style grant.""" output = [f"# Specific Aims\n"] output.append(f"**Project Title:** {project_title}\n") for i, aim in enumerate(aims, 1): output.append(f"\n## Aim {i}: {aim.title}\n") output.append(f"**Rationale:** {aim.rationale}\n") output.append(f"**Approach:** {aim.approach}\n") output.append("**Expected Outcomes:**") for outcome in aim.expected_outcomes: output.append(f"- {outcome}") output.append("\n**Potential Pitfalls and Alternatives:**") for pitfall, alt in zip(aim.potential_pitfalls, aim.alternatives): output.append(f"- *Pitfall:* {pitfall}") output.append(f" *Alternative:* {alt}") return '\n'.join(output) # Example aims = [ SpecificAim( title="Characterize tumor-immune cell interactions via spatial transcriptomics", rationale="Spatial context of immune infiltration predicts immunotherapy response.", approach="Apply 10x Visium to matched pre/post-treatment biopsies (n=30).", expected_outcomes=["Spatial gene expression maps of tumor microenvironment", "Identification of immune cell niches predictive of response"], potential_pitfalls=["Low tissue quality from archived samples"], alternatives=["Use MERFISH for single-cell resolution if Visium sensitivity insufficient"] ) ] print(format_specific_aims(aims, "Spatial Transcriptomic Profiling of Immunotherapy Response"))

Configuration

ParameterDescriptionDefault
citation_styleReference format (apa, vancouver, nature, ieee)"apa"
max_abstract_wordsWord limit for abstract300
manuscript_formatOutput format (markdown, latex, docx)"markdown"
line_spacingLine spacing for output"double"
reference_managerBibTeX file path"references.bib"
figure_prefixHow figures are referenced in text"Fig."
table_prefixHow tables are referenced in text"Table"
section_numberingNumber sections automaticallytrue

Best Practices

  1. Write the Methods section first — Methods are the most concrete section and anchor the rest of the paper. Write them while the work is fresh, including all parameters, software versions, and statistical tests. Other sections are easier to draft once methods are established.

  2. Use active voice for clarity and brevity — "We measured cell viability" is clearer and shorter than "Cell viability was measured." Most modern journals prefer active voice. Reserve passive voice only when the actor is genuinely irrelevant or when journal style explicitly requires it.

  3. Structure paragraphs with claim-evidence-interpretation — Each results paragraph should state the finding (claim), reference the supporting data or figure (evidence), and briefly explain what it means (interpretation). This pattern keeps writing focused and prevents results from reading like a data dump.

  4. Track all citations programmatically — Use BibTeX or a reference manager from the start. Manual citation formatting leads to inconsistencies and errors. Automate bibliography generation so switching between journal styles (APA to Vancouver) requires changing one parameter, not reformatting every reference.

  5. Write for the reviewer, not just the reader — Anticipate reviewer concerns: justify sample sizes, explain why you chose specific methods over alternatives, and address limitations proactively. Papers that preempt obvious criticisms receive more favorable reviews and fewer revision rounds.

Common Issues

Citation keys don't match between text and BibTeX file — Maintain a consistent naming convention for BibTeX keys (e.g., authorYYYY or author_keyword_YYYY). Use a linter or script to check that every \cite{key} in the text has a matching entry in the .bib file before submission.

Word count exceeds journal limits — Scientific writing tends to balloon during drafting. After completing a draft, make a reduction pass: remove hedge words ("it is interesting to note that"), combine redundant sentences, and move non-essential methods to supplementary materials. Aim to cut 15-20% on the first editing pass.

Formatting breaks when converting between Markdown and LaTeX/DOCX — Use Pandoc with a custom template for reliable conversion: pandoc manuscript.md -o manuscript.docx --reference-doc=template.docx. Define cross-references with consistent syntax and test the conversion pipeline early rather than reformatting at the end.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates