一键导入
blog-scraper
Daily engineering blog scraper — visits top AI/eng blogs, extracts new articles verbatim, stores in Memex
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Daily engineering blog scraper — visits top AI/eng blogs, extracts new articles verbatim, stores in Memex
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Author one loop-harness planning ticket in the format the implement-ticket loop consumes. Use when asked to plan a feature, scope a change, draft a ticket, or turn a described problem into a ticket the loop can run. Writes one ticket file to the configured plans directory.
Run one planning ticket through the loop lifecycle - perceive (ledger + git reconcile), implement tests-first, gate via `loopctl stamp`, self-review, adversarial review, commit, close via `loopctl finish`. Use when asked to implement the next ticket, run the loop, or continue autonomous ticket implementation.
Generate static artwork/illustrations for a repo with Nano Banana Pro (aka "nano banana", Gemini 3 Pro Image) via the bundled generate_art.py — craft a detailed prompt, run the script, view the result, iterate. Use this whenever the user wants to create, generate, or regenerate a visual asset for a project: an architecture diagram, portrait, card/illustration, icon, splash, or any image that lands as a PNG in the repo — even if they don't name the tool or just say "make me an image / a picture of X". Do NOT trigger for application runtime image needs, or for editing source code rather than producing an image file.
Remove a solid background from an image and write a transparent PNG, using the bundled remove_background.py. Use this whenever the user wants to knock out, drop, or make transparent the background of a logo, banner, icon, or other static image asset in a repo, or to trim an asset to its content and pad it. Pairs with generate-art: generate a flat asset, then key its background here. Do NOT trigger for photo cutouts needing subject segmentation, for runtime image processing, or for editing source code rather than an image file.
Teach the user a new codebase, technology, framework, or system by walking through it from high-level architecture down to implementation details using a paginated, layered approach. Use this skill whenever the user wants to understand how something works, needs onboarding onto a new technology, asks you to explain a system end-to-end, or says things like "walk me through", "explain how X works", "I need to learn X", "teach me", or "help me understand". Also use when the user shares documentation and asks to be taught from it.
Write or refactor project documentation — tutorials, how-to guides, reference pages, and explanation articles — using the Diátaxis framework. Enforces strict mode purity (a tutorial is not a how-to is not a reference is not an explanation), Orwell's six rules for clear prose, and a ladder-of-abstraction rhythm where concrete examples open and close each piece. Targets HUMAN readers — not agents — so emphasizes plain, everyday English over jargon. Use whenever the user asks to write, draft, refactor, edit, improve, or polish documentation — phrases like "write a tutorial", "draft a how-to", "turn this into a reference", "document this feature", "rewrite this doc", "improve the README", "add user docs", "document the API", "explain how X works for newcomers", or any task that produces user-facing prose for a software project. Triggers even when the user does not say "Diátaxis" explicitly — any doc-writing or doc-refactoring task gets this lens.
| name | blog-scraper |
| description | Daily engineering blog scraper — visits top AI/eng blogs, extracts new articles verbatim, stores in Memex |
| version | 1.1.0 |
| metadata | {"hermes":{"tags":["productivity","scraping","engineering","blogs","memex"],"category":"productivity"}} |
When running scheduled daily blog scrapes, or when asked to check engineering blogs for new articles.
app:hermes:blog-scraper:*memex_*). Do not shell out to curl./post-mortem skill.For each blog, check previously scraped URLs:
memex_kv_get(key="app:hermes:blog-scraper:scraped:{site_key}")
Site keys: anthropic, openai, spotify, deepmind, uber, mistral, ollama. Value is JSON array of URLs. Missing key = first run.
For each blog:
Before saving, verify:
If failed: skip article, report to subagent with /post-mortem skill.
For successfully captured articles:
curl -sL -A "Mozilla/5.0" -o /tmp/{uuid}.png {image_url}memex_add_assets(note_id=$NOTE_ID, ...)If image download fails, continue — save article text anyway.
For each new article:
memex_retain(
title="{actual article title from page}",
author="blog-scraper",
description="{first sentence of article}",
tags=["blog-scraper", "engineering", "{source}"],
markdown_content=$FULL_VERBATIM_ARTICLE_MARKDOWN,
vault_id="inbox",
note_key="blog-scraper:article:{url_slug}",
background=True
)
Capture the returned note id into NOTE_ID so downstream steps (asset attach) can reference it.
markdown_content is raw markdown (no base64 encoding). The note_key ensures idempotency. The body must include: source URL, author, date, complete article.
Update KV for each blog:
memex_kv_write(
key="app:hermes:blog-scraper:scraped:{site_key}",
value="{updated JSON array}"
)
Only keep URLs from last 3 days. Remove older entries.
Also write:
memex_kv_write(key="app:hermes:blog-scraper:last_run", value="{ISO-timestamp}")
memex_kv_write(key="app:hermes:blog-scraper:last_count", value="{new articles found}")
/post-mortem subagent, continue with others