← 返回 Skills 市场
wiseqingyang

Article Summary Card

作者 wiseqingyang · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ 安全检测通过
167
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install article-summary-card
功能描述
Summarize articles or webpages into structured bundles exported as JSON, Markdown, HTML, and PNG with consistent layout and tagging.
使用说明 (SKILL.md)

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

  • python3
  • curl
  • 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

  1. Read the input article from a URL or local file.
  2. Extract the title and article body; remove obvious page chrome when possible.
  3. 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.
  4. Use the unified renderer to export the final summary JSON as Markdown, HTML, and PNG.
  5. 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:

  • title
  • source
  • article_text

Then in the current session:

  • Use references/prompts/plan-system.md and references/prompts/plan-user.md to design the summary structure.
  • Use references/prompts/summary-system.md and references/prompts/summary-user.md to write the final summary JSON.
  • Include tags in 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.md
  • output/article-summary.html
  • output/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
  • Claude Code
    • Project slash command: .claude/commands/article-summary-card.md
    • Usage pattern: /article-summary-card \x3Curl-or-file> [output-stem]
  • OpenClaw
    • OpenClaw uses skill folders containing SKILL.md, so this same directory is portable.
    • Install helper:
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.py no 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.
安全使用建议
This skill appears coherent and implements what it claims: it fetches a user-supplied URL (via curl), parses the HTML locally, invites the agent to run in-session LLM passes (using the prompt files), and renders a card using headless Chrome and Pillow. Things to consider before installing/running: (1) fetched URLs are controlled by the user — avoid pointing it at internal/metadata endpoints you don’t want accessed from the host (it will perform HTTP requests); (2) the scripts call subprocesses (curl, Chrome) — run in a secure/isolated environment if you’re cautious; (3) the install helper will copy the skill into ~/.openclaw by default — check that path if you have a different workspace; (4) if running on a shared or production host, verify the code (it’s short and readable) and ensure Chrome is run in an environment where network access and filesystem writes are acceptable. No credentials are requested and there are no hidden remote endpoints in the code.
功能分析
Type: OpenClaw Skill Name: article-summary-card Version: 1.0.2 The article-summary-card skill bundle is a legitimate tool designed to extract, summarize, and render web articles into Markdown, HTML, and PNG formats. The code uses standard libraries and external tools (curl, headless Chrome/Chromium, and Pillow) to perform its stated functions. Analysis of the scripts (e.g., `extract_article.py`, `render_card.py`, and `summarize_article.py`) shows no evidence of data exfiltration, malicious execution, or persistence mechanisms. The instructions in `SKILL.md` and the associated prompt templates in `references/prompts/` are strictly focused on the summarization workflow and do not contain any prompt-injection attacks or unauthorized commands.
能力评估
Purpose & Capability
Name/description match what the skill implements: extracting article text, summarizing (prompts provided), and rendering outputs. Declared runtime binaries (python3, curl, Chrome) and Pillow are appropriate for fetching, parsing, and producing screenshots; no unrelated credentials or tools are requested.
Instruction Scope
SKILL.md and code restrict actions to extracting article text (curl or local file), doing a two-pass in-session summary using the provided prompt files, and rendering outputs locally (Markdown/HTML/PNG). The Python scripts call curl and headless Chrome for fetching and screenshotting, which is consistent with the stated workflow. There are no instructions or code paths that attempt to read unrelated config, environment secrets, or post data to hidden external endpoints.
Install Mechanism
No install spec (instruction-only in registry); included install helper is a local copy operation into ~/.openclaw/workspace/skills which is reasonable. No remote downloads or archive extraction from arbitrary URLs are used.
Credentials
The skill requests no environment variables or credentials. The only runtime requirements are local binaries (python3, curl, Chrome/Chromium) and the Pillow package — proportionate to its function.
Persistence & Privilege
always is false and the skill does not request persistent elevated privileges. The install helper only copies the skill folder into the user's OpenClaw workspace when explicitly run; nothing force-enables the skill or modifies other skills' config.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install article-summary-card
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /article-summary-card 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
Fixed screenshot width normalization so exported PNGs consistently crop back to the intended 1125px canvas.
v1.0.1
Declared runtime requirements and removed undeclared browser environment-variable override to match the actual stable workflow.
v1.0.0
Initial release of article-summary-card skill. - Summarizes webpages, articles, or long text into reusable JSON, Markdown, HTML, and PNG outputs. - Stable two-round workflow: summary planning with tags, then final summary rendering. - Outputs consistent summary cards with titles, concise sections, and tags. - Exported files include: `.md`, `.html`, and `.png`, with styling based on a 375px layout system. - Provides extraction, rendering, and helper scripts, plus adapters for several platforms. - Renderer is deterministic and keeps HTML/CSS separate; all prompt logic is organized for easy revision.
元数据
Slug article-summary-card
版本 1.0.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

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。

💬 留言讨论