How to install rust-daily
npx skills add https://github.com/actionbook/rust-skills --skill rust-dailyFull instructions (SKILL.md)
Source of truth, from actionbook/rust-skills.
name: rust-daily description: | CRITICAL: Use for Rust news and daily/weekly/monthly reports. Triggers on: rust news, rust daily, rust weekly, TWIR, rust blog, Rust 日报, Rust 周报, Rust 新闻, Rust 动态 argument-hint: "[today|week|month]" context: fork agent: Explore
Rust Daily Report
Version: 2.1.0 | Last Updated: 2025-01-27
Fetch Rust community updates, filtered by time range.
Data Sources
| Category | Sources |
|---|---|
| Ecosystem | Reddit r/rust, This Week in Rust |
| Official | blog.rust-lang.org, Inside Rust |
| Foundation | rustfoundation.org (news, blog, events) |
Parameters
time_range: day | week | month (default: week)category: all | ecosystem | official | foundation
Execution Mode Detection
CRITICAL: Check agent file availability first to determine execution mode.
Try to read: ../../agents/rust-daily-reporter.md
Agent Mode (Plugin Install)
When ../../agents/rust-daily-reporter.md exists:
Workflow
1. Read: ../../agents/rust-daily-reporter.md
2. Task(subagent_type: "general-purpose", run_in_background: false, prompt: <agent content>)
3. Wait for result
4. Format and present to user
Inline Mode (Skills-only Install)
When agent file is NOT available, execute each source directly:
1. Reddit r/rust
# Using agent-browser CLI
agent-browser open "https://www.reddit.com/r/rust/hot/"
agent-browser get text ".Post" --limit 10
agent-browser close
Or with WebFetch fallback:
WebFetch("https://www.reddit.com/r/rust/hot/", "Extract top 10 posts with scores and titles")
Parse output into:
| Score | Title | Link |
|---|
2. This Week in Rust
# Check actionbook first
mcp__actionbook__search_actions("this week in rust")
mcp__actionbook__get_action_by_id(<action_id>)
# Then fetch
agent-browser open "https://this-week-in-rust.org/"
agent-browser get text "<selector_from_actionbook>"
agent-browser close
Parse output into:
- Issue #{number} ({date}): highlights
3. Rust Blog (Official)
agent-browser open "https://blog.rust-lang.org/"
agent-browser get text "article" --limit 5
agent-browser close
Or with WebFetch fallback:
WebFetch("https://blog.rust-lang.org/", "Extract latest 5 blog posts with dates and titles")
Parse output into:
| Date | Title | Summary |
|---|
4. Inside Rust
agent-browser open "https://blog.rust-lang.org/inside-rust/"
agent-browser get text "article" --limit 3
agent-browser close
Or with WebFetch fallback:
WebFetch("https://blog.rust-lang.org/inside-rust/", "Extract latest 3 posts with dates and titles")
5. Rust Foundation
# News
agent-browser open "https://rustfoundation.org/media/category/news/"
agent-browser get text "article" --limit 3
agent-browser close
# Blog
agent-browser open "https://rustfoundation.org/media/category/blog/"
agent-browser get text "article" --limit 3
agent-browser close
# Events
agent-browser open "https://rustfoundation.org/events/"
agent-browser get text "article" --limit 3
agent-browser close
Time Filtering
After fetching all sources, filter by time range:
| Range | Filter |
|---|---|
| day | Last 24 hours |
| week | Last 7 days |
| month | Last 30 days |
Combining Results
After fetching all sources, combine into the output format below.
Tool Chain Priority
Both modes use the same tool chain order:
-
actionbook MCP - Check for cached/pre-fetched content first
mcp__actionbook__search_actions("rust news {date}") mcp__actionbook__search_actions("this week in rust") mcp__actionbook__search_actions("rust blog") -
agent-browser CLI - For dynamic web content
agent-browser open "<url>" agent-browser get text "<selector>" agent-browser close -
WebFetch - Fallback if agent-browser unavailable
| Source | Primary Tool | Fallback |
|---|---|---|
| agent-browser | WebFetch | |
| TWIR | actionbook → agent-browser | WebFetch |
| Rust Blog | actionbook → WebFetch | - |
| Foundation | actionbook → WebFetch | - |
DO NOT use:
- Chrome MCP directly
- WebSearch for fetching news pages
Output Format
# Rust {Weekly|Daily|Monthly} Report
**Time Range:** {start} - {end}
## Ecosystem
### Reddit r/rust
| Score | Title | Link |
|-------|-------|------|
| {score} | {title} | [link]({url}) |
### This Week in Rust
- Issue #{number} ({date}): highlights
## Official
| Date | Title | Summary |
|------|-------|---------|
| {date} | {title} | {summary} |
## Foundation
| Date | Title | Summary |
|------|-------|---------|
| {date} | {title} | {summary} |
Validation
- Each source should have at least 1 result, otherwise mark "No updates"
- On fetch failure, retry with alternative tool
- Report reason if all tools fail for a source
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Agent file not found | Skills-only install | Use inline mode |
| agent-browser unavailable | CLI not installed | Use WebFetch |
| Site timeout | Network issues | Retry once, then skip source |
| Empty results | Selector mismatch | Report and use fallback |
Related skills
More from actionbook/rust-skills and the wider catalog.
coding-guidelines
Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT, code review, naming convention, variable naming, function naming, type naming, 命名规范, 代码风格, 格式化, 最佳实践, 代码审查, 怎么命名
m07-concurrency
CRITICAL: Use for concurrency/async. Triggers: E0277 Send Sync, cannot be sent between threads, thread, spawn, channel, mpsc, Mutex, RwLock, Atomic, async, await, Future, tokio, deadlock, race condition, 并发, 线程, 异步, 死锁
m10-performance
CRITICAL: Use for performance optimization. Triggers: performance, optimization, benchmark, profiling, flamegraph, criterion, slow, fast, allocation, cache, SIMD, make it faster, 性能优化, 基准测试
m06-error-handling
CRITICAL: Use for error handling. Triggers: Result, Option, Error, ?, unwrap, expect, panic, anyhow, thiserror, when to panic vs return Result, custom error, error propagation, 错误处理, Result 用法, 什么时候用 panic
m01-ownership
CRITICAL: Use for ownership/borrow/lifetime issues. Triggers: E0382, E0597, E0506, E0507, E0515, E0716, E0106, value moved, borrowed value does not live long enough, cannot move out of, use of moved value, ownership, borrow, lifetime, 'a, 'static, move, clone, Copy, 所有权, 借用, 生命周期
m02-resource
CRITICAL: Use for smart pointers and resource management. Triggers: Box, Rc, Arc, Weak, RefCell, Cell, smart pointer, heap allocation, reference counting, RAII, Drop, should I use Box or Rc, when to use Arc vs Rc, 智能指针, 引用计数, 堆分配