SuperAPI AI Directory

daily-tech-news

General & other

View repository

Updated 10-16 09:30

About this skill

Daily Tech News - Daily tech news (Markdown direct-write version)

Automatically search for and summarize the day's tech news, usingmulti-source cross-validation + in-depth research + importance scoringmechanism,use the Write tool to directly write the finished drafts as two Markdown files in the repository, publishing to the ZerxLab blog in one step.


⚠️ Core architecture of this Skill

Runs in the zerx-lab-website repository, and the content source isthe Markdown files under src/content/posts/ in the repository(Astro Content Layer). Publishing goes throughfile writing + git commit(not a database, not any MCP):

┌──────────────────┐     ┌──────────────────────────────────────┐
│ Claude Code      │     │ src/content/posts/                    │
│ (GitHub Actions) │────▶│   daily-tech-news-{DATE}/              │
│ WebSearch        │     │     zh.md  (中文正文 + frontmatter)    │
│ WebFetch         │     │     en.md  (英文正文 + frontmatter)    │
│ Glob / Read      │     │                                        │
│ Write            │     │ workflow 校验通过后 git commit + push  │
└──────────────────┘     └──────────────────────────────────────┘

Claude throughoutuses only filesystem tools(Glob / Read / Write) to read and write these two Markdown files. When this skill ends, the files are already on the workspace disk,and it is not responsible for git commit / push / sending email — those are handled by subsequent steps in the workflow (commit only after validation passes, send email only after a successful commit).


⚠️ Required parameters

When invoking this skill, the target date must be specified in the prompt:

TARGET_DATE: YYYY-MM-DD 格式的日期
示例: 2026-04-17

All dates during execution (file paths, date, title, search keywords) must use this TARGET_DATE.Prohibitedto use relative dates such as "today / yesterday".

Date derivation rules:

  • Directory / slug:daily-tech-news-{TARGET_DATE}(e.g.:daily-tech-news-2026-04-17)
  • File path:src/content/posts/daily-tech-news-{TARGET_DATE}/zh.md and en.md
  • frontmatter date:{TARGET_DATE}T00:00:00.000Z
  • Chinese title date: convert to Chinese format (e.g.:2026年04月17日)
  • English title date:Apr 17, 2026 format
  • coverLabel: date abbreviation (e.g.:04/17)

⚠️ The body text must be written in full in one go (placeholders prohibited)

After Claude finishes, the workflow has apure shell validation step: check whether the two files exist, whether the frontmatter fields are complete, whether the body text character count is ≥ 100, and whether the full text contains the placeholder / TBD / TODO(case-insensitive) substring.If any item fails, the entire run fails directly — there will be no git commit, so no deployment will be triggered, and no notification email will be sent.

Therefore:

  • The only correct path = in Phase 4, truly write the Chinese-English bilingual body textin full(multi-paragraph structure, each article ≥ 100 characters), and only then in Phase 5 use Write to write both files completely in one go.
  • Strictly prohibitedto first write an "outline / placeholder version" content intending to "fill it in later" — within a single run of this skill there is no "next round"; if it is not written completely, this run fails directly.
  • If worried about insufficient context or tokens → reduce the number of candidate news items (the Phase 6 fallback rule allows 6-8 items), but do not pad with placeholders.

Core principles

Accuracy first → multi-source cross-validation + in-depth reading of the original text Quality over quantity → importance scoring screening + deduplication and noise reduction Depth over breadth → In-depth analysis of Top 3 news items + technical interpretation Bilingual parity → Chinese and English versions written independently, no machine translation


Phase 0: Establish the working baseline (must be executed first)

Before any WebSearch,you mustfirst establish the following context:

Step 0.1: Check articles published in the last 7 days (deduplication baseline)

Glob("src/content/posts/daily-tech-news-*/zh.md")

Sort the matched paths in reverse order by the date in the directory name, take the few from the last 7 days, and for each one Read its frontmatter (title / excerpt) and the body's heading structure.

Purpose: Extract the project names / company names / event keywords already reported from the title + excerpt + body subheadings, forming a EXCLUDE_LIST. During Phase 2/3 search and scoring, actively exclude already-covered events. "Incremental progress" on the same product may be reported, but the difference from existing coverage must be stated.

Step 0.2: Confirm the target file does not yet exist

Glob("src/content/posts/daily-tech-news-{TARGET_DATE}/*.md")
  • Returns empty → normal path, Phase 5 directly Writes the new file
  • A directory with the same name already exists (rare, e.g. a manual rerun on the same day) → treat as an overwrite rewrite, Phase 5 still uses Write to fully rewrite both files (the Write tool itself overwrites the entire file, no extra "update" step is needed)

Step 0.3: Confirm the available author / category / tags

No need to look up any database id anymore — all associations are nowpure string slugs, just write them directly into the frontmatter:

  • Author is fixed to author: "ai"(this slug needs to already exist in src/content/data/authors.json ; normally it is preset by the project, no confirmation needed)
  • Category is fixed to category: "news"(likewise needs to already exist in src/content/data/categories.json )
  • Tags are selected from src/content/data/tags.json :
Read("src/content/data/tags.json")

Establish the tag_slug list to be used this time (selected dynamically based on content,do notlook up ids one by one, use the slug strings directly):

Standard tag_slug Meaning When to apply
daily-news Daily news Always apply(every article)
ai AI overview When the day's AI category has content
llm Large models Involves a specific LLM product/model
github GitHub / Open source GitHub-related entries
frontend Frontend Frontend frameworks / toolchains
backend Backend Backend frameworks / languages
infra Infrastructure K8s / Docker / cloud
devtools Development tools IDE / CLI / productivity tools

If the content clearly needs a new tag not in the table(e.g. edge-runtime): this is outside the write scope of this skill — do notedit tags.jsonwithout authorization. As a fallback, choose the closest existing tag from the table above, or apply only daily-news. Expanding the tag system falls under site maintenance and is left to manual evaluation.


Phase 1: Multi-source deep search (WebSearch + WebFetch)

Step 1.1: Authoritative official sources (highest priority)

Source URL Description
Hacker News https://news.ycombinator.com/ Tech Community Trend Indicator
GitHub Trending https://github.com/trending Open Source Project Trends
Trendshift https://trendshift.io/ GitHub Trend Analysis
Product Hunt https://www.producthunt.com/ New Product Releases

Use WebFetch to retrieve directly and extract the day's Top 10 trending content.

Step 1.2: Professional Media Sources (2-3 keyword combinations per field)

AI / LLM:

1. site:techcrunch.com AI {date}
2. site:theverge.com artificial intelligence {date}
3. "OpenAI" OR "Anthropic" OR "Google AI" announcement {date}
4. "LLM" OR "GPT" OR "Claude" release {date}
5. machine learning breakthrough research {date}

GitHub / Open Source:

1. site:github.blog {date}
2. "open source" major release {date}
3. GitHub "stars" trending repository {date}

Frontend:

1. site:reactjs.org OR site:vuejs.org blog {date}
2. "React" OR "Vue" OR "Next.js" OR "Svelte" release {date}
3. frontend framework update {date}
4. JavaScript TypeScript major update {date}

Backend / Infrastructure:

1. site:kubernetes.io blog {date}
2. "Rust" OR "Go" programming release {date}
3. "Docker" OR "Kubernetes" announcement {date}
4. cloud infrastructure AWS Azure GCP {date}

Tech Industry News:

1. site:crunchbase.com funding {date}
2. tech startup Series A B C funding {date}
3. developer tools company announcement {date}

Step 1.3: Chinese Tech Communities (supplement with Chinese original content)

1. site:juejin.cn 热门 {date}
2. site:infoq.cn {date}
3. site:segmentfault.com 头条 {date}

Phase 2: In-Depth Research and Verification

Step 2.1: Cross-Verification (for each candidate news item)

1. 核心事实提取 (5W):
   - WHO / WHAT / WHEN / WHERE / WHY

2. 多源验证 (至少 2 个独立来源):
   - 来源 A 报道 → WebFetch 获取原文
   - 来源 B 验证 → WebSearch 搜索相同事件
   - 对比核心事实是否一致

3. 置信度标记:
   ✓ 已验证 (2+ 源确认)
   ? 待验证 (仅单一来源)
   ⚠ 有争议 (来源间矛盾)

News with a confidence level below "✓" does not enter the Top 3, and is only conservatively included in classifications with clear labeling.

Step 2.2: In-Depth Reading of Original Articles

For the Top 10 candidates, use WebFetch to extract:

  1. Core argument
  2. Key data and facts
  3. Expert quotes and commentary
  4. Technical details and implementation methods
  5. Practical impact on developers

Step 2.3: Importance Scoring (out of 100)

Dimension Weight Scoring Criteria
Scope of Impact 25% How many developers does it affect? Global vs. local
Practicality 25% Can it be applied immediately? What problem does it solve?
Novelty 20% First announcement vs. repeated coverage? Breakthrough vs. incremental
Depth of Information 15% Has technical details vs. only a headline
Authority 15% Official release vs. rumor

Score to star rating:

  • 90-100 → ⭐⭐⭐⭐⭐
  • 80-89 → ⭐⭐⭐⭐
  • 70-79 → ⭐⭐⭐
  • 60-69 → ⭐⭐
  • < 60 → Not included

Step 2.4: Deduplication and Noise Reduction

❌ 标题党:
  - 含 "震惊"、"重磅"、"曝光" 但无实质内容
  - 过多感叹号/问号

❌ 低质:
  - 与开发者无关的泛科技新闻
  - "AI 继续发展" 这类笼统报道
  - EXCLUDE_LIST 中 7 天已覆盖事件
  - 单一来源且无法验证的消息

❌ 内容去重:
  - 同事件多报道 → 只留信息最丰富的
  - 优先级: 官方来源 > 专业媒体 > 泛媒体

Phase 3: Top 3 In-Depth Analysis

Select the 3 highest-scoring items and write according to the template (one Chinese and one English version each, embedded in the final body):

### [标题] ⭐⭐⭐⭐⭐

**核心要点:**
- 要点1
- 要点2
- 要点3

**技术解读:**
[对开发者的影响、技术实现、背景]

**开发者行动建议:**
- 建议1
- 建议2

**相关链接:**
- 官方公告:[链接]
- 技术文档:[链接]
- 社区讨论:[链接]

Chinese-English Bilingual Requirement: The two versions are written independently, not machine-translated. The English version uses active voice, specific numbers, and minimal pleasantries, in line with English tech blog conventions.


Phase 4: Body Structure

Chinese Version Body Skeleton

## 🔥 今日焦点

{Top 3 资讯的深度分析,每条按 Phase 3 模板}

---

## AI / 人工智能

### {标题} ⭐⭐⭐⭐

{3-5 句摘要}

**为什么重要:** {一句话对开发者的影响}

- 来源:[{来源名}]({URL})
- 验证:✓ 多源确认

### {标题2}
...

## GitHub / 开源

### GitHub 热门项目

本日 GitHub 趋势榜热门项目:

- **[owner/repo](https://github.com/owner/repo)** (TypeScript, 12.5k ⭐) ⭐⭐⭐⭐
  AI 驱动的代码编辑器插件。
  **亮点:** {为什么值得关注}

- 来源:[GitHub Trending](https://github.com/trending), [Trendshift](https://trendshift.io/)

### {其他开源资讯}
...

## 前端开发
...

## 后端 / 基础设施
...

## 科技动态
...

---

## 📊 今日数据

| 指标 | 数值 |
|------|------|
| 搜索源数量 | {N} 个 |
| 候选资讯 | {N} 条 |
| 去重后 | {N} 条 |
| 最终收录 | {N} 条 |
| 多源验证率 | {N}% |

---

> 本文由 AI 自动生成,采用多源交叉验证机制。如发现错误,欢迎反馈。

English Version Body Skeleton

Use English category headings (AI / Open Source / Frontend / Backend & Infra / Tech Industry),written independently, not a direct translation of the Chinese version.

Markdown Conventions (body after frontmatter)

  1. Opening: An introductory paragraph that explains "what happened in the tech world today"; do not go directly into ## 标题
  2. Heading Levels:## and ### as the main structure (H2 / H3 automatically enter the TOC; H4+ do not)
  3. Code Blocks: Must specify a supported language (Shiki dual-theme highlighting); common languages are all acceptable, such as bash, shell, powershell, javascript, typescript, tsx, jsx, json, yaml, toml, markdown, html, css, astro, go, rust, python, java, c, cpp, sql, dockerfile
  4. External Links:[文字](https://...); the frontend automatically adds target="_blank"
  5. Images: Use public external links ![alt](https://...). Do not reference image hosts that require login
  6. Blockquotes:> at the beginning, used for "notes/tips/warnings"
  7. GFM: Tables, task lists ([ ]/[x]), strikethrough (~~~~) are all supported
  8. after frontmatter: Do not show a second instance at the top of the body ---(the boundary that would be mistaken for yet another frontmatter block)

Phase 5: Write the Markdown files

Step 5.1: Write the two files

Use the Write toolWrite them completely in one goTwo files (all frontmatter fields set to final values, all YAML strings wrapped in double quotes):

src/content/posts/daily-tech-news-{TARGET_DATE}/zh.md:

---
title: "每日技术资讯 - 2026年04月17日"
excerpt: "50-150 字中文摘要,突出 Top 3"
coverLabel: "04/17"
date: "{TARGET_DATE}T00:00:00.000Z"
author: "ai"
category: "news"
tags: ["daily-news", "ai", "github"]
featured: false
---

{Phase 4 撰写好的中文版完整 Markdown 正文}

src/content/posts/daily-tech-news-{TARGET_DATE}/en.md:

---
title: "Daily Tech News - Apr 17, 2026"
excerpt: "50-150 word English excerpt, highlighting Top 3"
coverLabel: "04/17"
date: "{TARGET_DATE}T00:00:00.000Z"
author: "ai"
category: "news"
tags: ["daily-news", "ai", "github"]
featured: false
---

{Phase 4 撰写好的英文版完整 Markdown 正文}

Key points:

  • title / excerpt / coverLabel is a language-dependent field, so each of the two files writes its own value
  • date / author / category / tags / featured is a language-independent field, so the two files must becompletely identical
  • tags is a string array; write the slug directly, no id mapping is needed
  • Do not write cover(no image available; the frontend will fall back to the coverLabel large text card)
  • Do not write updatedDate / seoTitle / seoDescription(optional field, not needed in this scenario)
  • Do not write draft(default false, i.e. normal publishing)

Step 5.2: Read back to confirm

After writing is complete,you must read back with Readonce for each of the two files, to confirm:

  • the frontmatter is complete and field values contain no unreplaced placeholders (such as the literal {TARGET_DATE}、XX月XX日)
  • the body is sufficiently long (each article is clearly ≥ 100 characters; in practice it should have a multi-paragraph structure, several hundred characters or more)
  • the body does not contain the word placeholder / TBD / TODO wording

⚠️ The workflow has a separate shell validation step that performs the same check,and failing it will cause the entire run to fail, with nothing committed and no email sent. The self-check here is meant to catch and fix problems before Claude finishes running, rather than leaving them for the workflow to intercept.


Phase 6: Self-check list (must pass before writing)

Phase 0(工作基线)
[ ] 已 Glob + Read 近 7 天文章形成 EXCLUDE_LIST
[ ] 已确认目标文件路径(daily-tech-news-{TARGET_DATE}/{zh,en}.md)
[ ] 已读 tags.json 确认本次要用的 tag slug

内容质量
[ ] Top 3 资讯都经过多源验证(✓)
[ ] 每条资讯都有来源链接
[ ] 重要性评分星级标记完整
[ ] 无标题党
[ ] 已应用 EXCLUDE_LIST 去重
[ ] 中英双语独立撰写,不是机翻
[ ] Top 3 深度分析 200-400 字/词每条
[ ] 总资讯数 10-20 条(质量优先,安静日允许 6-8 条)
[ ] 至少覆盖 3 个分类

字段完整性
[ ] 目录名 = daily-tech-news-{TARGET_DATE}
[ ] date = {TARGET_DATE}T00:00:00.000Z(两个文件一致)
[ ] author = "ai"
[ ] category = "news"
[ ] tags 至少含 "daily-news"(数组,slug 字符串)
[ ] featured = false
[ ] 每个文件的 title / excerpt / coverLabel 已按各自语言填好,无占位符
[ ] 正文长度 ≥ 100 字符,且不含 placeholder / TBD / TODO 子串(大小写不敏感)

Markdown
[ ] 代码块都标注了受支持的语言
[ ] 正文里没有出现第二段顶格 ---
[ ] 外链格式正确

If any item fails, do not call Write to produce the final version, and go back to fill in what is missing.


Phase 7: Output summary

After a successful write, output a brief summary to the workflow (no JSON needed; human-readable is fine):

✅ 写入成功

- slug: daily-tech-news-{TARGET_DATE}
- 文件: src/content/posts/daily-tech-news-{TARGET_DATE}/{zh,en}.md
- 收录资讯: {N} 条(Top 3 深度分析 + {N} 条分类资讯)
- 多源验证率: {N}%
- 前端 URL(部署后可访问):
  · 中文: https://zerx.dev/blog/daily-tech-news-{TARGET_DATE}/
  · 英文: https://zerx.dev/en/blog/daily-tech-news-{TARGET_DATE}/

PUBLISHED: daily-tech-news-{TARGET_DATE}

End with PUBLISHED: <slug> as the completion marker, so the workflow can judge success accordingly.Note: this only means the files have been written to the workspace disk. The actual "publishing" (git commit + push + deploy + send email) is done by later workflow steps; this skill is not responsible for it and has no permission to do it.


Strictly prohibited list

Operation Reason for prohibition
Editing src/content/data/*.json(authors / categories / tags and other metadata) The metadata system is managed by the site maintainers; this skill only reads it and does not write to it
Writing placeholder strings in the body (placeholder-*、TBD、TODO, empty strings), intending to "fill them in later" This skill has no "next round" within a single run; the workflow's validation step will intercept it and fail immediately, in which case nothing is committed and no email is sent, meaning this run is completely wasted
Writing a file in only one language The frontend's bilingual routing will 404 on the other language
Skipping Phase 0 and starting WebSearch directly This misses the deduplication baseline and repeats reporting of events within 7 days
Skipping the Phase 5.2 read-back confirmation There is no way to ensure the written content matches expectations
Executing on your own git add / git commit / git push Submission is handled by a separate step in the workflow and must pass validation first; submitting from within the skill bypasses validation and pushes the issue content directly

Violating any one of these is considered a failure.


Information source priority

First priority (authoritative official)

  • GitHub official blog, Trending
  • Official blogs of various frameworks/languages (React, Vue, Rust, Go, etc.)
  • Official company announcements (Google, Microsoft, AWS, Anthropic, OpenAI, etc.)

Second priority (professional media)

  • Hacker News (community bellwether)
  • TechCrunch, The Verge (in-depth tech reporting)
  • InfoQ, Juejin (Chinese tech communities)

Third priority (general media)

  • General technology news websites
  • Social media trending topics
  • Personal blogs

Clickbait identification rules (automatically downrank or exclude)

❌ 情绪化词汇: 震惊、重磅、曝光、惊天、颠覆、史上最强
❌ 过度夸张: 彻底改变、完全碾压、全面超越
❌ 模糊表述: 某公司、据说、可能、或将
❌ 无实质内容: AI 继续发展、技术在进步
❌ 标题与内容不符: 标题说重大突破,内容只是小更新

Common errors and fallbacks

Scenario Handling
On a certain day the global tech community is very quiet and fewer than 10 items can be gathered It is fine to include 6-8 items; do not force it. In the excerpt, state "there is little news today"
A certain category (such as frontend) has no important developments that day Skip that category; do not fabricate. Only need ≥ 3 categories
WebFetch cannot access a certain source Switch to another source for verification; if it fails twice, mark ? 待验证 and downrank
Unsure whether an event is true or false Better not to include it than to publish unverified information
The needed tag is not in tags.json inside Choose the closest one from the existing tags, or only attach daily-news; do not edit tags.json
Phase 0.2 finds that the same-day directory already exists (duplicate run) Treat as overwrite and rewrite; Phase 5 still rewrites the complete contents of both files in full

Notes

  1. Depth over breadth: better to have 10 high-quality items than 30 low-quality ones
  2. Verification over speed: each news item undergoes multi-source verification
  3. Interpretation over retelling: provide technical interpretation and developer action recommendations
  4. Deduplication over repetition: the EXCLUDE_LIST in Phase 0.1 must be strictly applied
  5. English search + bilingual output: searching with English keywords works better, final output is bilingual Chinese-English
  6. Stay objective and neutral: avoid subjective evaluations and emotional expressions
  7. One-step completion: Phase 5 writes directly to the final file via Write, without any intermediate script/database