Agent Skillsopensquilla/opensquilla › meta-arxiv-daily-digest-deck

meta-arxiv-daily-digest-deck

GitHub

自动获取指定分类的arXiv论文,生成结构化摘要并渲染为PPTX演示文稿,同时持久化存储至长期记忆。支持手动或定时触发,用于每日学术简报。

src/opensquilla/skills/exp/meta-arxiv-daily-digest-deck/SKILL.md opensquilla/opensquilla

Trigger Scenarios

用户请求arxiv daily digest 包含cs.XX等分类标签的指令 定时任务调度

Install

npx skills add opensquilla/opensquilla --skill meta-arxiv-daily-digest-deck -g -y
More Options

Non-standard path

npx skills add https://github.com/opensquilla/opensquilla/tree/main/src/opensquilla/skills/exp/meta-arxiv-daily-digest-deck -g -y

Use without installing

npx skills use opensquilla/opensquilla@meta-arxiv-daily-digest-deck

指定 Agent (Claude Code)

npx skills add opensquilla/opensquilla --skill meta-arxiv-daily-digest-deck -a claude-code -g -y

安装 repo 全部 skill

npx skills add opensquilla/opensquilla --all -g -y

预览 repo 内 skill

npx skills add opensquilla/opensquilla --list

SKILL.md

Frontmatter
{
    "kind": "meta",
    "name": "meta-arxiv-daily-digest-deck",
    "always": false,
    "triggers": [
        "arxiv daily digest",
        "arxiv digest deck",
        "arxiv 日报",
        "arxiv 晨刊"
    ],
    "provenance": {
        "origin": "opensquilla-original",
        "license": "Apache-2.0"
    },
    "composition": {
        "steps": [
            {
                "id": "fetch_arxiv",
                "kind": "agent",
                "with": {
                    "task": "Fetch the latest papers from arXiv's public API.\n\nDefault query: cs.CL OR cs.AI, sorted by submittedDate descending,\nmax_results=6. If the user's invocation contains a category override,\nhonor it (look for `cs.XX` patterns in the message).\n\nUser invocation:\n{{ inputs.user_message | xml_escape | truncate(200) }}\n\nURL template: `http:\/\/export.arxiv.org\/api\/query?search_query=<query>&sortBy=submittedDate&sortOrder=descending&max_results=6`\n\nUse the available HTTP fetch tool. Parse the Atom XML response and\nextract for each entry: id (with version), title, summary (the abstract),\nauthors (up to 5), pdf URL.\n\nReply with ONLY a JSON array on one line, no preamble:\n  [{\"id\":\"...\", \"title\":\"...\", \"abstract\":\"...\", \"authors\":[...], \"pdf_url\":\"...\"}, ...]\n\nIf the fetch fails (HTTP error, parse error, empty result), reply with\nexactly: FETCH_FAILED: <one-line cause>\n"
                },
                "skill": "sub-agent"
            },
            {
                "id": "digest_papers",
                "kind": "agent",
                "with": {
                    "task": "Write a structured digest for each paper. Skip if upstream is\nFETCH_FAILED — reply with `DIGEST_SKIPPED` in that case.\n\nPapers JSON from upstream:\n---\n{{ outputs.fetch_arxiv | truncate(10000) }}\n---\n\nFor each paper, output this exact block (separate papers with a line of `---`):\n\n## <Paper Title>\n**Authors**: <first 3 author names, then et al. if more>\n**arXiv ID**: <id>\n**Core claim** (1 sentence): <claim>\n**Method summary** (2-3 sentences): <how>\n**Key numbers** (if present): <metric: value, metric: value>\n**Why it matters** (1 sentence): <relevance>\n"
                },
                "skill": "summarize",
                "depends_on": [
                    "fetch_arxiv"
                ]
            },
            {
                "id": "render_deck",
                "kind": "agent",
                "with": {
                    "task": "Render the per-paper digest below into a PPTX deck. One slide per\npaper. Slide title = paper title. Slide body = the rest of that\npaper's digest block. Title slide first with text\n`arXiv Daily Digest — {{ inputs.user_message | xml_escape | truncate(80) }}`.\n\nDigest body:\n---\n{{ outputs.digest_papers | truncate(12000) }}\n---\n\nSave to: `{{ inputs.workspace_dir }}\/arxiv-daily\/digest.pptx`\n(overwrite OK; cron mode keeps only the latest, manual fire uses\nthe same name and the user can rename after if needed). Create\nthe `arxiv-daily\/` subdirectory if missing.\n\nReply with the absolute output path on a single line, no preamble.\n\nIf the digest is `DIGEST_SKIPPED`, reply: `RENDER_SKIPPED`."
                },
                "skill": "pptx",
                "depends_on": [
                    "digest_papers"
                ]
            },
            {
                "id": "persist",
                "kind": "tool_call",
                "tool": "memory_save",
                "tool_args": {
                    "mode": "append",
                    "path": "memory\/arxiv-daily.md",
                    "content": "=== arxiv-daily digest ===\ninvocation: {{ inputs.user_message | xml_escape | truncate(200) }}\ndeck: {{ outputs.render_deck | truncate(200) }}\ndigest:\n{{ outputs.digest_papers | truncate(8000) }}"
                },
                "depends_on": [
                    "digest_papers",
                    "render_deck"
                ],
                "tool_allowlist": [
                    "memory_save"
                ]
            }
        ]
    },
    "description": "Fetch the day's top arXiv submissions in a chosen category, write a structured per-paper digest, render the digest as a PPTX deck (one slide per paper), and persist the digest to long-term memory. Use for a daily 'arxiv morning briefing' — manual fire or cron-scheduled.",
    "meta_priority": 55
}

arXiv Daily Digest Deck (Meta-Skill)

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.

Trigger surface

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.

Fallback

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?…'.

Version History

  • 7f72a32 Current 2026-07-05 18:40

Same Skill Collection

src/opensquilla/skills/bundled/advanced-dubbing-studio/SKILL.md
src/opensquilla/skills/bundled/ai-video-script/SKILL.md
src/opensquilla/skills/bundled/audio-cog/SKILL.md
src/opensquilla/skills/bundled/awesome-webpage-image-download/SKILL.md
src/opensquilla/skills/bundled/awesome-webpage-research/SKILL.md
src/opensquilla/skills/bundled/AwesomeWebpageMetaSkill/SKILL.md
src/opensquilla/skills/bundled/cron/SKILL.md
src/opensquilla/skills/bundled/docx/SKILL.md
src/opensquilla/skills/bundled/filesystem/SKILL.md
src/opensquilla/skills/bundled/git-diff/SKILL.md
src/opensquilla/skills/bundled/github/SKILL.md
src/opensquilla/skills/bundled/history-explorer/SKILL.md
src/opensquilla/skills/bundled/html-coder/SKILL.md
src/opensquilla/skills/bundled/html-to-pdf/SKILL.md
src/opensquilla/skills/bundled/http-fetch/SKILL.md
src/opensquilla/skills/bundled/latex-compile/SKILL.md
src/opensquilla/skills/bundled/memory/SKILL.md
src/opensquilla/skills/bundled/music-and-singing-studio/SKILL.md
src/opensquilla/skills/bundled/nano-banana-pro-openrouter/SKILL.md
src/opensquilla/skills/bundled/nano-banana-pro/SKILL.md
src/opensquilla/skills/bundled/nano-pdf/SKILL.md
src/opensquilla/skills/bundled/openrouter-video-generator/SKILL.md
src/opensquilla/skills/bundled/paper-abstract-author/SKILL.md
src/opensquilla/skills/bundled/paper-citation-planner/SKILL.md
src/opensquilla/skills/bundled/paper-experiment-stub/SKILL.md
src/opensquilla/skills/bundled/paper-outline-author/SKILL.md
src/opensquilla/skills/bundled/paper-preference-planner/SKILL.md
src/opensquilla/skills/bundled/paper-refbib-stub/SKILL.md
src/opensquilla/skills/bundled/paper-revision-author/SKILL.md
src/opensquilla/skills/bundled/paper-section-author/SKILL.md
src/opensquilla/skills/bundled/paper-source-curator/SKILL.md
src/opensquilla/skills/bundled/pptx/SKILL.md
src/opensquilla/skills/bundled/seedance-2-prompt/SKILL.md
src/opensquilla/skills/bundled/skill-creator-linter/SKILL.md
src/opensquilla/skills/bundled/skill-creator-proposals/SKILL.md
src/opensquilla/skills/bundled/skill-creator-smoke-test/SKILL.md
src/opensquilla/skills/bundled/srt-from-script/SKILL.md
src/opensquilla/skills/bundled/stack-trace-generic-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-go-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-js-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-python-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-rust-probe/SKILL.md
src/opensquilla/skills/bundled/subtitle-burner/SKILL.md
src/opensquilla/skills/bundled/swe-bench/SKILL.md
src/opensquilla/skills/bundled/text-file-read/SKILL.md
src/opensquilla/skills/bundled/title-card-image/SKILL.md
src/opensquilla/skills/bundled/video-merger/SKILL.md
src/opensquilla/skills/bundled/video-still-animator/SKILL.md
src/opensquilla/skills/bundled/voice-clone-lab/SKILL.md
src/opensquilla/skills/bundled/voice-conversion-studio/SKILL.md

Metadata

Files
0
Version
5e8cfba
Hash
535c8449
Indexed
2026-07-05 18:40

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-06 20:12
浙ICP备14020137号-1 $Гость$