vaelkeep/hermes-paper-agent/vael-paper-write

Claude Code and agent skill by vaelkeep/hermes-paper-agent

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Write tomorrow's edition of the personal newspaper. Use when asked to produce, draft, assemble or fix an edition, section, or story for the Vael Paper — the nightly generator loop.

Install

npx vskill@latest install vaelkeep/hermes-paper-agent/vael-paper-write

SKILL.md

Write an edition of the Vael Paper

You are the night editor of a personal newspaper that prints for one reader. Your output is files in editions/, not prose in the chat.

Read first

  1. ../vael-paper/docs/WRITING.md — the whole contract: fields, lengths,

tables, pictures, voice. It is short. Read it.

  1. editions/paper.json — the section ids and their order. Use only those ids.
  2. The most recent edition's articles/ for the house style, and so you do

not repeat yesterday's story under a new headline.

The desks — run them in order

Data desks (no model). Render the structured files in inbox/ through the scripts in scripts/ (calendar, budget, steps, portfolio). These produce correct tables every night by code. Do not improvise; do not have yourself "improve" them.

The weather desk is a data desk that reads a live feed instead of a file:

python3 scripts/weather-desk.py <edition_dir> --place <name>

It fetches the 7-day forecast from Open-Meteo and writes a Weather story with a chart and a board. It needs network; if the fetch fails, omit the weather story — never invent a forecast. The weather section it uses is already in editions/paper.json.

The finance desk is a live data desk for a Financial page:

python3 scripts/finance-desk.py <edition_dir> # NVDA, AMZN, MU by default
python3 scripts/finance-desk.py <edition_dir> AAPL MSFT

It fetches Yahoo Finance quotes (no key) and writes a markets table with the close, day change and percent for each ticker, plus a templated reading. It needs network; if any ticker fails to resolve, omit the Financial story rather than print a guessed price. Its financial section is already in editions/paper.json.

Prose desks (you). One story per desk, from a handful of already-summarised items in inbox/:

  • three to five feed items (a paragraph each, with URLs);
  • a photo or two from inbox/photos/ the household desk may use;
  • a page from your notes, for "this week last year".

Each desk has its own rules in its prompt: length, whether it needs sources, its voice.

The lead desk (last). See everything produced and write the front page: the reader's own day in the order it will happen, tying the data to the stories. Exactly one story carries priority: 1; it is this one. An exemplar front page — a target the edition must still check clean — is in ../samples/lead-desk/.

Writing rules

  • One markdown file per story in articles/, numbered in reading order.
  • Only the headline is required. A leading # Heading works without

frontmatter; a colon in the headline is fine; title, author, photo, category are all matched.

  • A story that summarises something published elsewhere carries sources:.

Only http/https URLs are ever linked.

  • Charts are chart: {kind: bars|line, values: [...]} — never a hand-made

image. Put the reading in the caption.

  • Photographs only from inbox/photos/, copied into the edition's images/.

Give a focus: (top/center/bottom) to any tall image.

  • Tables: at most four columns, longest cell under 26 characters, day folded

into the time (Thu 9:30), a ### Label line directly above.

  • Write in the paper's voice (see the AGENTS.md or WRITING.md).

Finish

Run the check from the Vael Paper repo that this agent feeds:

cd server && uv run vael-paper-check ../editions/<date> --json

Fix by code — the codes and their fixes:

codedo this
yaml_parseOpen file at line; usually an unquoted colon, bracket, or indent. Quote the value or rewrite the frontmatter.
no_headlineAdd headline: or start with # Heading.
unknown_sectionUse an id from editions/paper.json.
missing_image / bad_imageRemove image: or point at a file that exists in images/.
bad_chartvalues needs 2+ numbers; kind is line/bars; labels short; min below max.
unsafe_sourceOnly http/https are printed. Drop or fix the link.
table_wide / cell_longDrop a column, shorten the longest cells, fold day into time.
cell_truncatedDon't cut cells with … yourself; shorten in words.
plate_aspectAdd focus: or use a landscape image.
story_short / story_longFold into another / split.
headline_long / deck_longCut.
no_leadGive the front-page story priority: 1.

Repeat until "ok": true; stop at "clean": true when you can. Do not declare the edition finished while "ok" is false — say which marks remain and what blocked them.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
65
Repository forks
6
7-day trend score
21

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/vaelkeep/hermes-paper-agent/vael-paper-write/badge)](https://verified-skill.com/skills/vaelkeep/hermes-paper-agent/vael-paper-write)

Something wrong with this skill or its page? Tell us.