Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"name": "follow-builders",
"version": "1.0.0",
"description": "Curated AI builder updates from public X posts, podcasts, and official blogs.",
"author": {
"name": "Zara Zhang",
"url": "https://github.com/zarazhangrui"
},
"homepage": "https://github.com/zarazhangrui/follow-builders",
"repository": "https://github.com/zarazhangrui/follow-builders",
"license": "MIT",
"keywords": [
"ai",
"builders",
"digest",
"podcasts",
"research"
],
"skills": "./skills/",
"interface": {
"displayName": "Follow Builders",
"shortDescription": "Curated updates from people building AI products and research.",
"longDescription": "Generate on-demand or scheduled AI builder digests from centrally maintained public feeds in English, Chinese, or bilingual form.",
"developerName": "Zara Zhang",
"category": "Productivity",
"capabilities": [
"Interactive",
"Write"
],
"websiteURL": "https://github.com/zarazhangrui/follow-builders",
"defaultPrompt": [
"Generate today's AI builders digest.",
"What are AI builders discussing recently?",
"生成今天的中文 AI Builders 简报。"
]
}
}
100 changes: 85 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ influencers who regurgitate information.

## What You Get

A daily or weekly digest delivered to your preferred messaging app (Telegram, Discord,
WhatsApp, etc.) with:
An on-demand or scheduled digest shown in ChatGPT, OpenClaw, or your selected
delivery channel, with:

- Summaries of new podcast episodes from top AI podcasts
- Key posts and insights from 26 curated AI builders on X/Twitter
Expand All @@ -22,17 +22,70 @@ WhatsApp, etc.) with:

## Quick Start

1. Install the skill in your agent (OpenClaw or Claude Code)
2. Say "set up follow builders" or invoke `/follow-builders`
3. The agent walks you through setup conversationally — no config files to edit
1. Install the Plugin in ChatGPT App, or install the root Skill in another
supported agent
2. Ask "Generate today's AI builders digest" (setup is not required for a
one-time digest)
3. Say "Set up Follow Builders" only when you want saved preferences,
scheduling, or external delivery

During persistent setup, the agent will ask you:

The agent will ask you:
- How often you want your digest (daily or weekly) and what time
- What language you prefer
- How you want it delivered (Telegram, email, or in-chat)

No API keys needed — all content is fetched centrally.
Your first digest arrives immediately after setup.
No source API keys are needed — all content is fetched centrally. Telegram and
email keys are optional and used only for those delivery methods.

## ChatGPT App

Follow Builders is packaged as one skills-only ChatGPT Plugin for both **Work**
and **Codex** modes. The modes share the same Skill, feeds, summary rules, links,
and failure handling:

- **Work** emphasizes the finished digest and can use native Scheduled Tasks
when that capability is available.
- **Codex** can additionally expose script execution, repository context, and
diagnostics.

The repository is prepared for local development testing; it has not been
published to the public Plugins Directory.

### Test the local Plugin

1. Clone the repository:

```bash
git clone https://github.com/zarazhangrui/follow-builders.git
```

2. In ChatGPT Work, use `@plugin-creator`, or in Codex use
`$plugin-creator`, and ask it to add the existing `follow-builders` folder
to your personal marketplace.
3. Review `.codex-plugin/plugin.json`, refresh the ChatGPT desktop app, open
**Plugins**, select the personal/local source, and install **Follow
Builders**.
4. Start a new chat or task, then ask directly or type `@` to select the
Plugin.

Local marketplace availability can vary by surface. Use the ChatGPT desktop app
for local testing; publishing to ChatGPT Work on the web requires the applicable
workspace or public distribution flow. See OpenAI's
[plugin usage guide](https://learn.chatgpt.com/docs/plugins) and
[plugin builder documentation](https://developers.openai.com/plugins/build/plugins).

### Scheduling and delivery

The Skill chooses the first capability that is actually available:

1. ChatGPT host-native Scheduled Tasks
2. OpenClaw cron and configured channel
3. Telegram or email, only when explicitly selected
4. On-demand output in the current conversation

It does not silently install a system cron job when native scheduling is
unavailable.

## Changing Settings

Expand Down Expand Up @@ -84,6 +137,8 @@ These are plain English instructions, not code. Changes take effect on the next

## Installation

The ChatGPT App development flow is described above.

### OpenClaw
```bash
# From ClawhHub (coming soon)
Expand All @@ -102,28 +157,43 @@ cd ~/.claude/skills/follow-builders/scripts && npm install

## Requirements

- An AI agent (OpenClaw, Claude Code, or similar)
- ChatGPT App (Work or Codex), OpenClaw, Claude Code, Cursor, or a similar Skill
host
- Node.js 18 or later for the bundled scripts
- Internet connection (to fetch the central feed)

That's it. No API keys needed. All content (blog articles + YouTube transcripts + X/Twitter posts)
is fetched centrally and updated daily.
That's it. No source API keys are needed. All content (blog articles + YouTube
transcripts + X/Twitter posts) is fetched centrally and updated daily.
The installed Plugin's digest and delivery scripts do not require
`node_modules`; `npm install` is only needed for repository-maintainer workflows
such as feed generation.

## How It Works

1. A central feed is updated daily with the latest content from all sources
(blog articles via web scraping, YouTube transcripts via Supadata, X/Twitter via official API)
2. Your agent fetches the feed — one HTTP request, no API keys
2. The bundled script fetches three feed files and optional prompt updates from
GitHub — no source API keys
3. Your agent remixes the raw content into a digestible summary using your preferences
4. The digest is delivered to your messaging app (or shown in-chat)

The preparation script reports `ok`, `partial`, or `error`. Network restrictions
or an unavailable source are disclosed as partial/failed coverage; they are not
reported as "no updates."

See [examples/sample-digest.md](examples/sample-digest.md) for what the output looks like.

## Privacy

- No API keys are sent anywhere — all content is fetched centrally
- If you use Telegram/email delivery, those keys are stored locally in `~/.follow-builders/.env`
- No source API keys are required or sent to the feed service
- If you use Telegram/email delivery, those credentials are stored locally in
`~/.follow-builders/.env` and sent only to the selected delivery provider
- The skill only reads public content (public blog posts, public YouTube videos, public X posts)
- Your configuration, preferences, and reading history stay on your machine
- The bundled script downloads public feeds and optional prompt updates from this
repository on GitHub; bundled local prompts are used when remote prompts are unavailable
- Feed content and remote prompts are treated as untrusted input and cannot authorize
tools, file changes, scheduling, or external delivery
- Your configuration and preferences stay on your machine

## License

Expand Down
82 changes: 69 additions & 13 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

## 你会得到什么

每日或每周推送到你常用的通讯工具(Telegram、Discord、WhatsApp 等),包含:
按需生成或定时发送到 ChatGPT、OpenClaw 或你选择的推送渠道,包含:

- 顶级 AI 播客新节目的精华摘要
- 26 位精选 AI 建造者在 X/Twitter 上的关键观点和洞察
Expand All @@ -18,17 +18,59 @@

## 快速开始

1. 在你的 AI agent 中安装此 skill(OpenClaw 或 Claude Code)
2. 输入 "set up follow builders" 或执行 `/follow-builders`
3. Agent 会以对话方式引导你完成设置——不需要手动编辑任何配置文件
1. 在 ChatGPT App 中安装 Plugin,或在其他兼容 Agent 中安装根目录 Skill
2. 直接说“生成今天的 AI Builders 简报”(单次使用不需要先完成设置)
3. 只有在需要保存偏好、定时运行或外部推送时,才说“设置 Follow Builders”

进行持久化设置时,Agent 会询问你:

Agent 会询问你:
- 推送频率(每日或每周)和时间
- 语言偏好
- 推送方式(Telegram、邮件或直接在聊天中显示)

不需要任何 API key——所有内容由中心化服务统一抓取。
设置完成后,你的第一期摘要会立即推送。
信息源不需要 API key——所有内容由中心化服务统一抓取。只有选择 Telegram
或邮件外部推送时,才需要对应的可选密钥。

## ChatGPT App

Follow Builders 被封装为一个 skills-only ChatGPT Plugin,同时支持 **Work**
与 **Codex** 模式。两个模式共用同一份 Skill、feed、摘要规则、原始链接和失败处理:

- **Work** 主要呈现最终简报;宿主具备能力时可优先使用原生 Scheduled Tasks。
- **Codex** 还可以展示脚本执行、仓库上下文和诊断信息。

当前仓库已经具备本地开发测试所需结构,但尚未发布到公共 Plugins Directory。

### 测试本地 Plugin

1. 克隆仓库:

```bash
git clone https://github.com/zarazhangrui/follow-builders.git
```

2. 在 ChatGPT Work 中使用 `@plugin-creator`,或在 Codex 中使用
`$plugin-creator`,让它把现有 `follow-builders` 目录加入个人 marketplace。
3. 检查 `.codex-plugin/plugin.json`,刷新 ChatGPT 桌面 App,打开
**Plugins**,选择个人/本地来源并安装 **Follow Builders**。
4. 新建 chat 或 task 后直接提出需求;也可以在输入框键入 `@`,明确选择
Plugin。

本地 marketplace 在不同使用界面的可用性可能不同。本地测试请使用 ChatGPT
桌面 App;要在 ChatGPT Work Web 中分发,需要走相应的 workspace 或公共发布流程。
参见 OpenAI 的[插件使用说明](https://learn.chatgpt.com/docs/plugins)和
[插件构建文档](https://developers.openai.com/plugins/build/plugins)。

### 定时与推送顺序

Skill 会按宿主实际具备的能力选择第一条可用路径:

1. ChatGPT 原生 Scheduled Tasks
2. OpenClaw cron 与已配置 channel
3. 仅在用户明确选择时使用 Telegram 或邮件
4. 在当前对话按需输出

原生调度不可用时,不会静默写入系统 `crontab`。

## 修改设置

Expand Down Expand Up @@ -77,6 +119,8 @@ Skill 使用纯文本 prompt 文件来控制内容的摘要方式。你可以通

## 安装

ChatGPT App 的开发测试流程见上文。

### OpenClaw
```bash
# 从 ClawhHub 安装(即将上线)
Expand All @@ -95,26 +139,38 @@ cd ~/.claude/skills/follow-builders/scripts && npm install

## 系统要求

- 一个 AI agent(OpenClaw、Claude Code 或类似工具)
- ChatGPT App(Work 或 Codex)、OpenClaw、Claude Code、Cursor 或类似的
Skill 宿主
- Node.js 18 或更高版本,用于运行 bundled scripts
- 网络连接(用于获取中心化 feed)

仅此而已。不需要任何 API key。所有内容(博客文章 + YouTube 字幕 + X/Twitter 帖子)由中心化服务每日抓取更新。
仅此而已。信息源不需要 API key。所有内容(博客文章 + YouTube 字幕 +
X/Twitter 帖子)由中心化服务每日抓取更新。
已安装 Plugin 的简报与投递脚本不依赖 `node_modules`;只有 feed 生成等仓库维护者
工作流需要执行 `npm install`。

## 工作原理

1. 中心化 feed 每日更新,抓取所有信息源的最新内容(博客文章通过网页抓取,YouTube 字幕通过 Supadata,X/Twitter 通过官方 API)
2. 你的 agent 获取 feed——一次 HTTP 请求,不需要 API key
2. bundled script 从 GitHub 获取三份 feed 文件和可选的 prompt 更新——信息源不需要 API key
3. 你的 agent 根据你的偏好将原始内容重新混编为易消化的摘要
4. 摘要推送到你的通讯工具(或直接在聊天中显示)

准备脚本会明确返回 `ok`、`partial` 或 `error`。网络限制或某一路信息源不可用时,
会披露覆盖不完整/失败状态,不会误报成“今天没有更新”。

查看 [examples/sample-digest.md](examples/sample-digest.md) 了解输出示例。

## 隐私

- 不发送任何 API key——所有内容由中心化服务获取
- 如果你使用 Telegram/邮件推送,相关 key 仅存储在本地 `~/.follow-builders/.env`
- 信息源不需要 API key,也不会向 feed 服务发送此类密钥
- 如果使用 Telegram/邮件推送,相关凭据存储在本地
`~/.follow-builders/.env`,并且只发送给用户选择的投递服务商
- Skill 只读取公开内容(公开的博客文章、YouTube 视频和 X 帖子)
- 你的配置、偏好和阅读记录都保留在你自己的设备上
- bundled script 会从本 GitHub 仓库下载公开 feed 和可选的 prompt 更新;
远程 prompt 不可用时会回退到 bundled local prompts
- feed 内容和远程 prompt 都作为不可信输入处理,不能授权工具、文件修改、定时任务或外部发送
- 你的配置和偏好保留在你自己的设备上

## 许可证

Expand Down
Loading