{{ outputs.fetch_arxiv | truncate(10000) }} ---
For each paper, output this exact block (separate papers with a line of `---`):
## <Paper Title>
**Authors**: <first 3 author names, then et al. if more>
**arXiv ID**: <id>
**Core claim** (1 sentence): <claim>
**Method summary** (2-3 sentences): <how>
**Key numbers** (if present): <metric: value, metric: value>
**Why it matters** (1 sentence): <relevance>
- id: render_deck
kind: agent
skill: pptx
depends_on: [digest_papers]
with:
task: |
Render the per-paper digest below into a PPTX deck. One slide per
paper. Slide title = paper title. Slide body = the rest of that
paper's digest block. Title slide first with text
`arXiv Daily Digest — {{ inputs.user_message | xml_escape | truncate(80) }}`.
Digest body:
---
{{ outputs.digest_papers | truncate(12000) }}
---
Save to: `{{ inputs.workspace_dir }}/arxiv-daily/digest.pptx`
(overwrite OK; cron mode keeps only the latest, manual fire uses
the same name and the user can rename after if needed). Create
the `arxiv-daily/` subdirectory if missing.
Reply with the absolute output path on a single line, no preamble.
If the digest is `DIGEST_SKIPPED`, reply: `RENDER_SKIPPED`.
- id: persist
kind: tool_call
tool: memory_save
tool_allowlist: [memory_save]
depends_on: [digest_papers, render_deck]
tool_args:
path: "memory/arxiv-daily.md"
mode: append
content: |
=== arxiv-daily digest ===
invocation: {{ inputs.user_message | xml_escape | truncate(200) }}
deck: {{ outputs.render_deck | truncate(200) }}
digest:
{{ outputs.digest_papers | truncate(8000) }}
A near-pure tool_call + linear DAG meta-skill: fetch arXiv via
the public Atom API, write a per-paper structured digest, render it
into a PPTX deck, and persist the digest into long-term memory under
the arxiv-daily topic.
Fire manually with the English trigger arxiv daily digest or one of the
localized triggers listed in the frontmatter. Category override: include a
cs.XX token anywhere in the invocation.
If fetch_arxiv fails (network or parse), the downstream steps
short-circuit by emitting _SKIPPED markers; no half-baked PPTX or
memory note is written. Operator can retry by re-invoking, or
manually run curl 'http://export.arxiv.org/api/query?…'.