Install
$ agentstack add skill-felipe-so-coarse-ink-claude-code-coarse-write ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
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 →About
/coarse-write — Write Final Review
Usage: /coarse-write
Argument ($ARGUMENTS) is the paper slug (e.g. my-paper). All paths are relative to the workspace root d:/Dropbox/Research/Coarse Reviewer/.
Path setup
CLASSIFICATION=.coarse_cache/_classification.jsonOVERVIEW_JSON=.coarse_cache/_overview.jsonCOMMENTS_VERIFIED=.coarse_cache/_comments_verified.jsonOUTPUT=reviews/-review.mdOUTPUT_PDF=reviews/-review.pdf
Re-read CLASSIFICATION, OVERVIEW_JSON, and COMMENTS_VERIFIED before writing.
Step 14 — Write Output
Write the final review to OUTPUT using the Write tool. Use this exact format:
# {title}
**Date**: {today's date as MM/DD/YYYY}
**Domain**: {domain}
**Taxonomy**: {taxonomy}
**Filter**: Active comments
---
## Overall Feedback
Here are some overall reactions to the document.
{assessment paragraph if non-empty}
**{Issue 1 title}**
{Issue 1 body}
**{Issue 2 title}**
{Issue 2 body}
[... all overview issues ...]
**Recommendation**: {recommendation text}
**Key revision targets**:
1. {target 1}
2. {target 2}
[... only if recommendation is not "accept" ...]
**Status**: [Pending]
---
## Detailed Comments ({N})
### 1. {comment 1 title}
**Status**: [Pending]
**Quote**:
> {verbatim quote — prefix every line with "> " for multi-line quotes}
**Feedback**:
{feedback text}
---
### 2. {comment 2 title}
[...]
After writing, confirm the file exists with the Read tool and print the path.
See reference_review.md in the workspace root for a gold-standard example showing the expected depth, tone, and format.
Step 15 — Convert to PDF (PyMuPDF)
Run this Python one-liner to convert OUTPUT to OUTPUT_PDF:
python -c "
import fitz, markdown, pathlib, sys
sys.stdout.reconfigure(encoding='utf-8')
md = pathlib.Path('OUTPUT').read_text(encoding='utf-8')
body = markdown.markdown(md, extensions=['extra'])
html = '''
body{font-family:Georgia,serif;font-size:11pt;line-height:1.55;color:#1a1a1a}
h1{font-size:15pt;line-height:1.3;margin-bottom:6pt}
h2{font-size:13pt;margin-top:18pt;border-bottom:.5pt solid #bbb;padding-bottom:2pt}
h3{font-size:11pt;margin-top:14pt}
blockquote{border-left:2pt solid #999;margin:8pt 0;padding:2pt 10pt;color:#444;font-style:italic;background:#f8f8f8}
hr{border:none;border-top:.5pt solid #ddd;margin:16pt 0}
p{margin:6pt 0}
strong{font-weight:bold}
''' + body + ''''''
story = fitz.Story(html=html)
writer = fitz.DocumentWriter('OUTPUT_PDF')
mediabox = fitz.paper_rect('a4')
where = mediabox + (40, 50, -40, -50)
more = 1
while more:
dev = writer.begin_page(mediabox)
more, _ = story.place(where)
story.draw(dev)
writer.end_page()
writer.close()
print('PDF written: OUTPUT_PDF')
"
Replace OUTPUT and OUTPUT_PDF with the actual paths before running.
Requires: markdown and PyMuPDF (both are project dependencies — install once with uv pip install markdown pymupdf).
If PyMuPDF is unavailable, fall back to Chrome headless:
"C:/Program Files/Google/Chrome/Application/chrome.exe" \
--headless --disable-gpu --print-to-pdf-no-header \
--print-to-pdf="OUTPUT_PDF" "OUTPUT_HTML"
(requires first converting OUTPUT to HTML with the markdown package)
Done. Report the path to both OUTPUT and OUTPUT_PDF.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Felipe-SO
- Source: Felipe-SO/coarse-ink-claude-code
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.