AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Academic Paper

skill-thtskaran-claude-skills-academic-paper · by thtskaran

>

No reviews yet
0 installs
32 views
0.0% view→install

Install

$ agentstack add skill-thtskaran-claude-skills-academic-paper

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access Used
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-thtskaran-claude-skills-academic-paper)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Academic Paper? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Academic Paper Skill

Generate publication-ready academic research papers as professionally formatted PDFs. This skill covers the full pipeline: gathering inputs → writing/rewriting → figure creation → PDF formatting with reportlab → submission preparation for SSRN/arXiv.


Workflow Decision Tree

When the user triggers this skill, figure out where they are:

User has...             → Start at...
─────────────────────────────────────────────
A topic/idea only       → Stage 1 (Gather) → full pipeline
Bullet points/notes     → Stage 2 (Structure) → write → format
A markdown/text draft   → Stage 3 (Write/Rewrite) → format
A finished draft        → Stage 5 (Format as PDF)
A PDF, needs submission → Stage 6 (Submission Prep)

Always ask what they have and what they need. Don't assume full pipeline.


Stage 1: Gather Inputs

Collect these before ANY writing:

Required:

  • Author full name, email, affiliation (company name or "Independent Researcher" — both valid)
  • Paper type: preprint, position paper, empirical study, literature synthesis, technical report
  • Existing content: draft file, notes, or topic description
  • Target venue: SSRN, arXiv, specific journal, or general

Ask about:

  • Do they have citations/references already, or do we need to find them?
  • Do they have figures/diagrams, or should we create them?
  • Any page limits or formatting constraints from the venue?
  • Any specific sections they want or don't want?

If user provides a markdown/text draft:

  1. Read the entire draft before doing anything
  2. Count all citations — you'll need to verify none get lost during rewriting
  3. Map the section structure
  4. Identify: What's the thesis? What evidence supports it? What's missing?

Stage 2: Structure

Standard Paper Architecture

Title + Abstract (≤300 words) + Keywords (8-12)
1. Introduction         → Hook → Gap → Thesis → Contribution list
2. Background/Related   → Only what the reader needs; argue, don't survey
3-5. Core sections      → The actual contribution (varies by paper type)
6. Discussion           → Implications, limitations, future work
7. Conclusion           → Mirror intro, restate contributions concretely
References              → Hanging indent, consistent format
Appendices (optional)   → Supporting tables, proofs, supplementary data

Before Writing, Map the Argument

Do this explicitly — it prevents structural drift:

  • Thesis: One sentence. The paper's central claim.
  • Evidence chain: What supports it? Arrange in logical order.
  • Counterarguments: What would a skeptic say? Plan where to address.
  • Novel contribution: What is genuinely NEW here?
  • Reader: Who is reading this, and what do they already know?

Stage 3: Write or Rewrite

Writing Principles

1. Enter the reader's world first. Open with what the audience already knows and cares about — a concrete scenario, a surprising finding, a known problem. Then introduce your contribution. Never lead with your own framework.

2. Every section ARGUES, not just DESCRIBES. Bad section heading: "Related Work." Good: "Three Independently Studied Phenomena That Interact as a System." Each section should advance a claim, not just organize information.

3. Concrete before abstract. Give a specific example or scenario, then generalize. The reader should visualize before you name.

4. Every data point gets a "so what" sentence. Never drop a statistic bare. After every cited finding, one sentence interpreting what it means for YOUR argument. Example: "Retrieval drops to 29.8% at 32K tokens (Modarressi et al., 2025). A user asking 'remember what I said about feeling worthless?' is making exactly this kind of semantic retrieval request — and the model is likely to fail."

5. Transitions advance the argument. Kill "Additionally", "Furthermore", "Moreover" as paragraph openers. Each transition should show logical progression: "This creates a problem that..." / "That finding has a direct corollary..." / "The mechanism just described operates differently when..."

6. Introduction and conclusion bookend. Open with a scenario → return to it in the conclusion with resolution.

7. Write for the skeptical expert. Smart, busy, looking for reasons to stop reading. Front-load importance. Cut ruthlessly.

Rewriting an Existing Draft — THE RULES

These are non-negotiable when polishing someone's draft:

  1. Preserve ALL citations verbatim. Never change, remove, or invent citations. After

rewriting, diff-check: count refs in original vs. output. Must match.

  1. Preserve ALL data points exactly. Numbers, percentages, dates — untouched.
  2. Preserve the author's core argument. Improve the vehicle, don't change the destination.
  3. Convert bullet/numbered lists to flowing prose in the body. Lists only in appendices.
  4. Strengthen the opening — add a narrative hook if missing.
  5. Add interpretive "so what" sentences after key findings.
  6. Sharpen transitions between paragraphs and sections.
  7. Trim redundancy. If two sentences say the same thing, keep the stronger one.
  8. Check for orphan claims — assertions without supporting evidence or citations.

Stage 4: Figures

Creating SVG Diagrams

For flowcharts, system diagrams, conceptual figures — build them as SVG:


  
    
      
    
    
      
    
  

  
  

  

Visual design rules:

  • ALWAYS set explicit white background — SVGs default to transparent which renders as BLACK in PDFs
  • Muted professional palette:
  • Pink endpoints/warnings: fill="#ffcdd2" stroke="#e57373"
  • Blue processes: fill="#c5cae9" stroke="#7986cb"
  • Green outcomes: fill="#c8e6c9" stroke="#66bb6a"
  • Neutral steps: fill="#fafafa" stroke="#aaa" or fill="#fff" stroke="#999"
  • Subtle drop shadows via SVG `` (not CSS)
  • Arrow markers (``) for flow direction
  • Dashed strokes (stroke-dasharray="8,5") for feedback loops
  • Font: Georgia or Times New Roman, 11-13px
  • Box labels: 3-6 words max. If longer, split across two `` lines
  • Rounded rects (rx="4") look more professional than sharp corners
  • Add annotations for loop labels using rotated text

Converting SVG → high-res PNG for PDF embedding:

pip install cairosvg --break-system-packages -q
import cairosvg
cairosvg.svg2png(url='/home/claude/figure.svg', write_to='/home/claude/figure.png', scale=3)

Always 3× scale. This produces a crisp image even at print resolution.

Handling User-Provided Images with Dark/Transparent Backgrounds

This is a common gotcha — transparent PNGs render with BLACK backgrounds in PDFs.

Safe approach — replace only exact-black pixels (preserves dark text):

from PIL import Image
import numpy as np

img = Image.open('figure.png')
arr = np.array(img).copy()
mask = (arr[:,:,0] Keywords: keyword1, keyword2, ...", 'Keywords'))
story.append(hr())
story.append(NextPageTemplate('later'))

Tables — THE #1 FORMATTING BUG

ALWAYS wrap cell content in Paragraph objects. Raw strings WILL overflow their columns and overlap adjacent cells. This is guaranteed to happen with any cell longer than ~15 chars.

from reportlab.platypus import Table, TableStyle, Paragraph
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.enums import TA_LEFT
from reportlab.lib.colors import HexColor, white

cell_style = ParagraphStyle('Cell', fontName='Times-Roman',
    fontSize=9, leading=12, alignment=TA_LEFT)
header_style = ParagraphStyle('CellH', fontName='Times-Bold',
    fontSize=9, leading=12, alignment=TA_LEFT)

# Build data as Paragraph objects
data = [
    [Paragraph(f'{h}', header_style) for h in headers],
]
for row in rows:
    data.append([Paragraph(str(cell), cell_style) for cell in row])

table = Table(data, colWidths=col_widths, repeatRows=1)
table.setStyle(TableStyle([
    ('BACKGROUND', (0,0), (-1,0), HexColor("#e8eaf6")),   # header bg
    ('VALIGN', (0,0), (-1,-1), 'TOP'),
    ('GRID', (0,0), (-1,-1), 0.4, HexColor("#c5cae9")),
    ('TOPPADDING', (0,0), (-1,-1), 5),
    ('BOTTOMPADDING', (0,0), (-1,-1), 5),
    ('LEFTPADDING', (0,0), (-1,-1), 6),
    ('RIGHTPADDING', (0,0), (-1,-1), 6),
    ('ROWBACKGROUNDS', (0,1), (-1,-1), [white, HexColor("#fafafa")]),
]))

Column width strategy: Distribute CONTENT_W (6.5 inches) across columns. Give wider columns to text-heavy cells. Example for a 3-column table with model names, descriptions, and numbers: [1.5*inch, 3.5*inch, 1.5*inch].

Equations

reportlab CANNOT render LaTeX. Use these approaches:

# Inline: use  and  tags
Paragraph("R(n) ≈ R0 · e−α·n/neff", eq_style)

# Unicode math symbols that work in Times-Roman:
# ≈ ≤ ≥ ∝ ∞ α β γ δ ε θ λ μ σ · × ± ∑ √ ∂ ∫ → ← ↔ ≠ ∈
# Em dash: \u2014   En dash: \u2013   Minus: \u2212   Multiply: \u00d7

If the paper needs complex multi-line equations (integrals, matrices, aligned systems), tell the user: "For proper equation typesetting, I recommend converting to LaTeX and compiling with pdflatex. reportlab is better for papers with minimal math."

Figures

from PIL import Image as PILImage
from reportlab.platypus import Image, Spacer

img = PILImage.open(img_path)
w_px, h_px = img.size
aspect = h_px / w_px

fig_w = 4.5 * inch
fig_h = fig_w * aspect
if fig_h > 7.0 * inch:        # cap to fit on one page
    fig_h = 7.0 * inch
    fig_w = fig_h / aspect

story.append(Spacer(1, 6))
story.append(Image(img_path, width=fig_w, height=fig_h, hAlign='CENTER'))
story.append(Paragraph("Figure 1. Caption text here.", fig_caption_style))

Horizontal Rules

from reportlab.platypus import HRFlowable

def hr():
    return HRFlowable(width="100%", thickness=0.5, color=RULE_COLOR,
                      spaceBefore=8, spaceAfter=8)

Building and Delivering

doc.build(story)
print(f"PDF generated: {OUTPUT_PATH}")

# Copy to outputs and present
import shutil
shutil.copy(OUTPUT_PATH, '/mnt/user-data/outputs/paper-title.pdf')
# Then use present_files tool

Stage 6: Submission Preparation

SSRN (Zero Friction — Recommended for Independent Researchers)

Required for submission form:

  1. Title — must match PDF title exactly
  2. Authors — name, email, affiliation. No institutional email required.
  3. Abstract — plain text only. Strip all markdown formatting (**bold** → bold text, etc.)
  4. Keywords — 8-12 terms, comma-separated
  5. PDF upload — the formatted paper
  6. eJournal classifications — browse the tree and checkbox relevant ones
  7. Paper type — select "Working Paper" for preprints
  8. Availability — set to "Publicly Available" (CRITICAL: private papers don't appear in

SSRN search or eJournal distributions)

eJournal selection strategy: Select MULTIPLE classifications for cross-disciplinary visibility:

  • One PRIMARY journal where the core contribution lives
  • 2-3 SECONDARY journals based on who else should read this
  • Think about the READER, not just the TOPIC

Example SSRN networks and journals:

  • CompSciRN: Artificial Intelligence, Human-Computer Interaction, Cybersecurity
  • PsychRN: Cognitive Psychology, Developmental Psychology
  • LawRN: Science & Technology Law, Regulation of AI
  • HealthRN: Mental Health, Public Health

JEL codes (optional but helps discoverability): Common ones for AI papers: O33 (Tech Change), L86 (Info/Internet Services), K32 (Environmental/Health/Safety Law), I31 (Wellbeing)

Processing time: Officially ≤3 business days. Realistically 2-5 days. ~30% of submissions get desk-rejected (not for quality — formatting/metadata issues). Clean PDF + complete metadata = faster approval.

SSRN retains no copyright. Authors keep full rights. Non-exclusive revocable license only.

arXiv

Key requirements:

  • Endorsement required for first-time submitters in most categories
  • Find endorsers among researchers you cite — cold-email with your SSRN preprint link
  • Publish on SSRN first, pursue arXiv endorsement in parallel
  • Submit PDF or LaTeX source (LaTeX preferred for proper math rendering)

Relevant categories for AI/ML papers:

  • cs.AI — Artificial Intelligence
  • cs.CL — Computation and Language (NLP/LLM papers)
  • cs.HC — Human-Computer Interaction
  • cs.CY — Computers and Society (safety, ethics, policy)
  • cs.LG — Machine Learning

Strategy for independent researchers: Publish SSRN first → get a DOI and download traction → use this to approach arXiv endorsers. Having a live, citable preprint makes endorsement requests more credible than cold-emailing with an unpublished manuscript.

AI Disclosure Statement

All major publishers (Elsevier, Springer Nature, Wiley, Taylor & Francis, SAGE) permit AI tools for editorial refinement. AI cannot be listed as author. Recommended wording:

> "The author used [Tool Name] ([Company]) for editorial refinement and prose revision > of this manuscript. All research synthesis, analysis, argumentation, and conclusions > are the author's own."

Place in an "Acknowledgments" section before References.


Quality Checklist — Run Before Delivery

[ ] Title on PDF matches submission metadata exactly
[ ] Citation count: original draft refs == final PDF refs (diff-check if rewritten)
[ ] All data points (numbers, %, dates) unchanged from source
[ ] Tables: open PDF and visually inspect every table for text overflow
[ ] Figures: white backgrounds, captions present, readable at print size
[ ] Page numbers on every page
[ ] Running headers on pages 2+
[ ] References: consistent format, hanging indent, no broken entries
[ ] Abstract ≤ 300 words
[ ] Keywords present (8-12 terms)
[ ] No orphan headings (heading at page bottom, body on next page)
[ ] PDF metadata: title + author set in document properties
[ ] No "Amy AI", product names, or internal project refs (if paper is venue-agnostic)

File Locations

| What | Where | |---|---| | Working directory | /home/claude/ | | User uploads | /mnt/user-data/uploads/ | | Final deliverables | /mnt/user-data/outputs/ | | Skill scripts | Bundled in scripts/ alongside this SKILL.md |

Always present_files the final PDF + any SVG figures.


Common Pitfalls (Learned the Hard Way)

  1. Table text overflow — The #1 bug. ALWAYS use Paragraph() in cells. Never raw strings.
  2. Transparent/dark PNG backgrounds — Render as black in PDF. Replace exact-black pixels

(≤2,2,2) with white. Don't flood-fill aggressively — it destroys text.

  1. SVG without explicit white background — Transparent SVG backgrounds also render black

in PDF. Always include `` as the first element.

  1. Lost citations during rewrite — Count references before and after. Must match exactly.
  2. Unicode subscripts in reportlab — Characters like ₀₁₂ render as BLACK BOXES in

Times-Roman. Use ` and ` XML tags in Paragraph objects instead.

  1. Figure too tall for page — Always cap height at ~7 inches and maintain aspect ratio.
  2. SimpleDocTemplate — Can't do different headers per page. Use BaseDocTemplate with

PageTemplate(id='first') and PageTemplate(id='later').

  1. Equations — reportlab can't do LaTeX math. Use Unicode + sub/super tags for simple

equations. For complex math, recommend the LaTeX pipeline instead.

  1. SSRN abstract formatting — Plain text only. Strip all markdown/HTML before pasting.
  2. Orphan headings — Check final PDF visually. Use KeepTogether() or KeepWithNext()

if a heading lands at the bottom of a page with its body on the next.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.