원클릭으로
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