← 返回
未分类 中文

Agentlens Blog Feed

Use this skill when the user or another skill/prompt needs the latest AgentLens blogs that have not been seen before. It discovers newly published blogs from...
当用户或其他技能/提示需要最新的、尚未阅读的 AgentLens 博客时,使用此技能。它会从...发现新发布的博客。
archlab-space archlab-space 来源
未分类 clawhub v0.8.0 1 版本 98437.5 Key: 无需
★ 0
Stars
📥 63
下载
💾 1
安装
1
版本
#latest

概述

AgentLens Blog Feed

You surface newly published AgentLens blogs that the caller has not seen yet. This is the

front half only: find new blogs, fetch their bodies, and return them. You do not

decide what happens next — drafting posts, choosing a language, translating, or saving is

the caller's job (a prompt or another skill).

De-duplication is your core responsibility: each blog must surface exactly once across

runs. You track this in a local memory file you own.

Scope boundary

  • You do: discover new blogs, fetch bodies, de-duplicate via a memory file.
  • You do not: draft or rewrite content, choose or change the output language, save to

any vault, or schedule yourself.

  • Never mark a blog processed unless the caller confirms it was successfully consumed.

Configuration

NameDefaultMeaning
---------
MEMORY_PATH~/agentlens-processed-blogs.jsonLocal dedup memory (this skill owns it). Ask the user once where to store it; use the default if unspecified. Expand ~ to an absolute path before reading or writing.

Fixed values (not configurable):

  • WORKER_URL = https://agentlens-core.archlab.workers.dev
  • LIMIT = 100

GET /blogs is public — no token or Authorization header is required.

The API

  • List: GET {WORKER_URL}/blogs?limit=100{ items, total, offset, limit }.

Each item has: id, title, summary, period_label, job_type, source_id,

model, occurred_at (ISO string, nullable), generated_at (ISO string).

  • Detail: GET {WORKER_URL}/blogs/{id} → the blog plus body_markdown and

references[]. Each reference has type, title, url, html_url. Fetch the default

body — do not add any ?lang= parameter.

Workflow — Detect (read-only, never writes memory)

  1. Resolve MEMORY_PATH (ask the user, or use the default) and read it. Expected

shape: { "processed_ids": ["", ...], "last_generated_at": }. If the file is

missing or unparseable, treat it as { "processed_ids": [], "last_generated_at": 0 }

and continue — do not crash. processed_ids is the source of truth for dedup;

last_generated_at is only a fast lower-bound hint.

  1. Fetch the list: GET {WORKER_URL}/blogs?limit=100. On a non-200 or network error,

report it and stop — nothing has been recorded, so the next run retries cleanly.

  1. Select new blogs: keep items whose id is not in processed_ids. Sort the

survivors descending by generated_at (parse ISO → ms) so you process the

newest first — the most recent blogs are the most timely and should be handled

before older ones. (generated_at is always present; occurred_at may be null, so it

is not used for sorting.) If none remain, report "no new blogs" and finish.

  1. Fetch each body (newest first): GET {WORKER_URL}/blogs/{id}. If the request is

non-200, or body_markdown is empty/whitespace, skip that blog — do not return it

and do not record it. It will retry next run (the stored body may not have propagated

yet). Otherwise pick a source link from references[], preferring html_url, then

url (may be absent).

  1. Return the new blogs to the caller: for each, id, title, summary,

body_markdown, source_link, occurred_at, generated_at. Stop here — **do not

write memory yet.**

Workflow — Commit (the only write step)

When the caller confirms a blog was successfully consumed, mark it processed:

  • Append its id to processed_ids.
  • Set last_generated_at = max(last_generated_at, generated_at_ms).
  • Write MEMORY_PATH atomically (write a temp file, then rename; a plain overwrite is

acceptable if atomic rename is unavailable).

Order matters: the caller consumes the blog first, then you commit. Only commit blogs

the caller confirms — anything that failed downstream stays out of processed_ids so it

resurfaces next run.

Memory file

  • This skill is the sole owner of MEMORY_PATH.
  • processed_ids is the only dedup record — "already seen" cannot be inferred from

anywhere else. Keep the file; never delete entries on its behalf.

Failure handling

  • List endpoint error: report and stop; retry next run.
  • Per-blog body error or empty body: skip that blog only; continue with the rest.
  • Never commit a blog the caller did not confirm as consumed.

Feedback

If the user expresses an unmet need or dissatisfaction with this skill, share the

contribution link: https://github.com/archlab-space/open-skill-hub/issues

Do not surface it during normal use.

版本历史

共 1 个版本

  • v0.8.0 当前
    2026-06-09 19:30

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

X Post Strategist

archlab-space
用于将想法、笔记、文章、报告或技术材料转化为吸引人的X帖子或推文串,覆盖单帖和...
★ 0 📥 661

User Research Synthesis

archlab-space
当用户体验研究员或产品团队拥有原始定性数据(访谈记录、可用性笔记、调查回复或日记条目)并需要...
★ 0 📥 425

Systematic Literature Review

archlab-space
在研究人员、研究生或证据综合团队需要进行系统性或范围性文献综述时使用此技能。涵盖PRISMA对齐...
★ 0 📥 470