install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/94w666/clawfeed-2" ~/.claude/skills/clawdbot-skills-clawfeed-2 && rm -rf "$T"
manifest:
skills/94w666/clawfeed-2/SKILL.mdsource content
ClawFeed
AI-powered news digest tool. Automatically generates structured summaries (4H/daily/weekly/monthly) from Twitter and RSS feeds.
Credentials & Dependencies
ClawFeed runs in read-only mode with zero credentials — browse digests, view feeds, switch languages. Authentication features (bookmarks, sources, packs) require additional credentials.
| Credential | Purpose | Required |
|---|---|---|
| Google OAuth login | For auth features |
| Google OAuth login | For auth features |
| Session cookie encryption | For auth features |
| Digest creation endpoint protection | For write API |
Runtime dependency: SQLite via
better-sqlite3 (native addon, bundled). No external database server required.
Setup
# Install dependencies npm install # Copy environment config cp .env.example .env # Edit .env with your settings # Start API server npm start
Environment Variables
Configure in
.env file:
| Variable | Description | Required | Default |
|---|---|---|---|
| Server port | No | 8767 |
| Google OAuth client ID | For auth | - |
| Google OAuth client secret | For auth | - |
| Session cookie encryption key | For auth | - |
| Digest creation API key | For write API | - |
| SQLite database path | No | |
| CORS allowed origins | No | localhost |
API Server
Runs on port
8767 by default. Set DIGEST_PORT env to change.
Endpoints
| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/digests | List digests (?type=4h|daily|weekly&limit=20&offset=0) | - |
| GET | /api/digests/:id | Get single digest | - |
| POST | /api/digests | Create digest (internal) | - |
| GET | /api/auth/google | Start Google OAuth flow | - |
| GET | /api/auth/callback | OAuth callback endpoint | - |
| GET | /api/auth/me | Get current user info | Yes |
| POST | /api/auth/logout | Logout user | Yes |
| GET | /api/marks | List user bookmarks | Yes |
| POST | /api/marks | Add bookmark | Yes |
| DELETE | /api/marks/:id | Remove bookmark | Yes |
| GET | /api/config | Get configuration | - |
| PUT | /api/config | Update configuration | - |
Web Dashboard
Serve
web/index.html via your reverse proxy or any static file server.
Templates
— Customize feed curation rulestemplates/curation-rules.md
— Customize the AI summarization prompttemplates/digest-prompt.md
Configuration
Copy
config.example.json to config.json and edit. See README for details.
Reverse Proxy (Caddy example)
handle /digest/api/* { uri strip_prefix /digest/api reverse_proxy localhost:8767 } handle_path /digest/* { root * /path/to/clawfeed/web file_server }