Article Summary Card
/install article-summary-card
Article Summary Card
Turn an article into a concise summary bundle.
When to use
- Summarize a webpage or article and deliver the result as an image.
- Convert long text into a reusable set of outputs:
JSON,Markdown,HTML,PNG. - Produce repeatable summary cards with a consistent layout and predictable sizing.
Runtime Requirements
python3curl- Chrome or Chromium for headless screenshots
- Python package:
Pillow
If Chrome is not installed at the default path, adjust the browser candidate list in scripts/render_card.py.
Workflow
- Read the input article from a URL or local file.
- Extract the title and article body; remove obvious page chrome when possible.
- In the current session, run two prompt rounds:
- Round 1: create a summary plan that decides how the article should be divided into sections.
- Round 1 must also generate 3 to 8 short tags for the article.
- Round 2: write the final summary JSON according to that plan.
- Use the unified renderer to export the final summary JSON as
Markdown,HTML, andPNG. - Verify the outputs exist and have a reasonable size.
Commands
Extract article text for the session workflow:
python3 article-summary-card/scripts/extract_article.py \
--url 'https://example.com/article' \
--out output/article-input.json
The extracted JSON contains:
titlesourcearticle_text
Then in the current session:
- Use
references/prompts/plan-system.mdandreferences/prompts/plan-user.mdto design the summary structure. - Use
references/prompts/summary-system.mdandreferences/prompts/summary-user.mdto write the final summary JSON. - Include
tagsin the final summary JSON and show them at the end of the rendered card and Markdown output.
Preferred final export:
python3 article-summary-card/scripts/render_outputs.py \
--summary output/article-summary.json \
--out-stem output/article-summary
This produces:
output/article-summary.mdoutput/article-summary.htmloutput/article-summary.png
Optional lower-level renderers:
python3 article-summary-card/scripts/render_markdown.py --summary output/article-summary.json --out output/article-summary.md
python3 article-summary-card/scripts/render_card.py --summary output/article-summary.json --out output/article-summary.png
Adjust styles in:
article-summary-card/assets/templates/mobile-card.css
The renderer keeps HTML and CSS separate:
article-summary-card/assets/templates/mobile-card.html
article-summary-card/assets/templates/mobile-card.css
The size system is based on a 375px design width multiplied by SCREEN_RATIO in CSS and Python.
Optional helper: generate a local heuristic draft JSON when you want a quick bootstrap, but do not treat it as the preferred path for high-quality output:
python3 article-summary-card/scripts/summarize_article.py \
--url 'https://example.com/article' \
--out output/article-summary-draft.json \
--mode heuristic
For final output, replace or rewrite that draft in-session and then use render_outputs.py.
summarize_article.py is a compatibility helper, not the main summarizer.
Cross-Platform Adapters
Codex- Native entrypoint is this skill folder itself:
article-summary-card/SKILL.md - Optional UI metadata:
article-summary-card/agents/openai.yaml
- Native entrypoint is this skill folder itself:
Claude Code- Project slash command:
.claude/commands/article-summary-card.md - Usage pattern:
/article-summary-card \x3Curl-or-file> [output-stem]
- Project slash command:
OpenClaw- OpenClaw uses skill folders containing
SKILL.md, so this same directory is portable. - Install helper:
- OpenClaw uses skill folders containing
python3 article-summary-card/scripts/install_openclaw.py
- Default destination:
~/.openclaw/workspace/skills/article-summary-card
Notes
- This skill prefers deterministic rendering over image-generation models so long Chinese text stays accurate.
- The preferred summarizer is the current session model, not an API call inside Python.
- Summary instructions are intentionally extracted into
references/prompts/so they can be revised without editing Python code. - Cross-platform portability comes from keeping one shared skill core and only adding thin platform entrypoints.
- If a site is hard to extract, inspect the HTML and add a site-specific extraction rule in
scripts/summarize_article.py. - For very long articles, keep the summary short enough to fit on one card. If it still overflows, shorten section points before re-rendering.
summarize_article.pyno longer performs LLM calls; it only generates a heuristic draft JSON.- When DOM height measurement succeeds, the renderer trusts that height and skips whitespace auto-cropping to avoid cutting off low-contrast tags or footer content.
- The renderer uses overscan-then-crop for long screenshots to avoid incomplete bottom rendering in headless Chrome.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install article-summary-card - 安装完成后,直接呼叫该 Skill 的名称或使用
/article-summary-card触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Article Summary Card 是什么?
Summarize articles or webpages into structured bundles exported as JSON, Markdown, HTML, and PNG with consistent layout and tagging. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 167 次。
如何安装 Article Summary Card?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install article-summary-card」即可一键安装,无需额外配置。
Article Summary Card 是免费的吗?
是的,Article Summary Card 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Article Summary Card 支持哪些平台?
Article Summary Card 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Article Summary Card?
由 wiseqingyang(@wiseqingyang)开发并维护,当前版本 v1.0.2。