newsletter

newsletter is a command for Claude Code from jamditis/claude-skills-journalism. It costs 9 tokens per session (379 once invoked), scanned A, original, MIT.

A command for creating an HTML email newsletter using an organisation’s branding and a fixed email-friendly layout.

In plain words
What is it for?
Use it to make newsletters with a logo, stories, events, links, a call-to-action button, social links and an unsubscribe placeholder.
Why use it?
It avoids rebuilding the newsletter structure and email-specific formatting each time. It also applies saved brand settings when available.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the pdf-playground plugin — 1 skill, 8 commands shipped together

Good fit Use it to make newsletters with a logo, stories, events, links, a call-to-action button, social links and an unsubscribe placeholder.

Compare 6 commands from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add jamditis/claude-skills-journalism
Claude Code
/plugin install pdf-playground

Made for: Claude Code.

Or install pdf-playground, the plugin that ships this one along with the rest of its 1 skill, 8 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for newsletter

README.md
[![agentmods](https://agentmods.dev/badge/commands/jamditis/claude-skills-journalism/newsletter/github.svg)](https://agentmods.dev/commands/jamditis/claude-skills-journalism/newsletter)
Your own site
<a href="https://agentmods.dev/commands/jamditis/claude-skills-journalism/newsletter"><img src="https://agentmods.dev/badge/commands/jamditis/claude-skills-journalism/newsletter/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for newsletter

Your own site · 80×15
<a href="https://agentmods.dev/commands/jamditis/claude-skills-journalism/newsletter"><img src="https://agentmods.dev/badge/commands/jamditis/claude-skills-journalism/newsletter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 9 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 379 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00009 $0.00379
Opus 5 $0.00005 $0.00189
Sonnet 5 $0.00002 $0.00076
Haiku 4.5 $0.00001 $0.00038

Measured 12d ago against content hash 2f4b54875665, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

newsletter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

pdf-playground/commands/newsletter.md · 68 lines

What it actually says

Create an HTML email newsletter.

Version check

Read the plugin version from ${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json and note it. If the file doesn't exist or the read fails, warn the user that the plugin may not be properly installed.

Setup

  1. Check for brand configuration at .claude/pdf-playground.local.md
  2. If found, parse the YAML frontmatter for brand settings
  3. Load the newsletter template from ${CLAUDE_PLUGIN_ROOT}/templates/newsletter-template.html

Email constraints

HTML emails have special requirements:

  • Use tables for layout (not CSS grid/flexbox)
  • Inline CSS styles
  • Max width: 600px
  • Web-safe fonts with fallbacks
  • Alt text for all images

Document structure

Header:

  • Organization logo centered
  • Newsletter title/date
  • View in browser link (placeholder)

Content:

  • Featured story with image placeholder
  • News items (headline + excerpt + link)
  • Upcoming events
  • Quick links
  • CTA button

Footer:

  • Social media links
  • Unsubscribe link (placeholder)
  • Organization address
  • Copyright

Brand application

  • Use brand primary color for headers and buttons
  • Apply brand secondary color for text
  • Use brand fonts with web-safe fallbacks

Newsletter name

The newsletter name is: $ARGUMENTS

If not provided, ask for:

  • Newsletter title or edition
  • Featured content
  • Number of news items
  • Any events to highlight

Output

Save HTML file in current working directory. Note: Test in email clients before sending.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 68 lines · 9 tokens per session scan A 2f4b54875665

Subscribe to this mod's changes

newsletter is a command published in the GitHub repository jamditis/claude-skills-journalism (391 stars, last pushed today), licensed MIT. It adds 9 tokens to every session and 379 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other commands, from other repositories

export-latex

Export the current paper draft to production-ready LaTeX (.tex) and PDF using the arxiv-style template. Converts draft.md + references.bib + figures/ into a complete LaTeX project with resolved citations, tables, and figures. Compiles to PDF automatically.

TobiasBlask/open-paper-machine · 55 tokens

review-paper

Simulate a double-blind peer review of the current paper. Generates 2 independent reviewer reports in the style of top IS/CS conferences (ICIS, ECIS, MISQ level). Each report includes Summary, Strengths, Weaknesses, Minor Comments, and Overall Recommendation. Output is saved as simulatedreviews.md and can be fed…

TobiasBlask/open-paper-machine · 79 tokens

triage-project

Strategic project triage — should you continue, pivot, or kill your current research project? Evaluates 5 signals (results, competition, impact, effort, motivation) and delivers a clear Continue/Pivot/Kill recommendation. For Pivot: suggests concrete new framing. For Kill: suggests what to salvage.

TobiasBlask/open-paper-machine · 62 tokens

analyze-writing

Analyze academic writing quality of the current draft. Checks for passive voice overuse, weak openings, hedging balance, readability, sentence length variation, and word repetitions. Produces a writing quality report with specific improvement suggestions per section.

TobiasBlask/open-paper-machine · 46 tokens

scooping-check

Scooping risk assessment — is someone else working on your research idea? Identifies competing groups, assesses pace of publication, evaluates whether the core insight is "in the air", and provides a watch list with search terms, key researchers, and venues to monitor.

TobiasBlask/open-paper-machine · 52 tokens

audit-paper

Audit a paper's empirical claims against the linked code repository — catches MISMATCH, MISSING, and PARTIAL claims before submission.

TobiasBlask/open-paper-machine · 26 tokens