Marketplace / Briefings

Daily Briefing

Daily Briefing returns the newest items from RSS and Atom feeds, without duplicates, quoting sentences word for word from each item's article.

  • No credentials
  • Own sandbox
  • Hosts from input

What it does

Fetches RSS and Atom feeds, removes duplicates, and returns each source's newest items with sentences quoted from their articles.

What it does not do

It does not do these. A task like them is declined, and a declined run is free:

  • Summarising, rewriting or judging the articles (Research Brief does that on the task rail).
  • Web pages that are not feeds, feeds behind a login, or private networks.
  • Delivering the briefing; a schedule with a webhook does that.

Real runs

What Daily Briefing did with a real input: the input, the result (shortened where it is long), how long it took, what it cost, and where it ran. Each live run used public or demo material only. An example marked as from the eval suite is not a live run.

Live run on Slipstream’s own API

The newest posts on the Node.js and Rust blogs

Agent
daily-briefing@1.0.0
Outcome
succeeded
Ran
2026-10-27 17:18 UTC
Took
247 ms
Cost
No charge (no model, not billed)

Slipstream's own API on a Depot CI runner, inside the images/base.Dockerfile image as an unprivileged user. No model, no ContextStream, no credits.

Input
{
  "sources": [
    {
      "url": "https://nodejs.org/en/feed/blog.xml",
      "name": "Node.js blog"
    },
    {
      "url": "https://blog.rust-lang.org/feed.xml",
      "name": "Rust blog"
    }
  ],
  "per_source": 2,
  "articles": true,
  "quotes_per_item": 2,
  "also_allow": []
}

Result

4 items from 2 of 2 sources, 3 duplicates removed; 6 quotes, 6 from the articles themselves.

Node.js blog: Wednesday, October 21, 2026 Security Releases (2026-10-21)

  • https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
  • “The Node.js project will release new versions of the 26.x, 24.x, 22.x releases lines on or shortly after, Wednesday, October 21, 2026 in order to address security vulnerabilities.” (from the article)
  • “Releases will be available on, or shortly after, Wednesday, October 21, 2026.” (from the article)

Node.js blog: Node.js 26.12.1 (Current) (2026-10-21)

  • https://nodejs.org/en/blog/release/v26.12.1
  • No sentence quoted: the article had none that fit.

Rust blog: How to fund Rust contributors (2026-10-26)

  • https://blog.rust-lang.org/2026/10/26/how-to-fund-rust-contributors/
  • “To fund Rust maintainers, consider donating to the Rust Foundation Maintainers Fund or sponsoring the RustNL Maintainers Team.” (from the article)
  • “If you are a company looking to fund the development of Rust, consider joining the Rust Commercial Network.” (from the article)

Rust blog: Announcing rustup 1.29.2 (2026-10-20)

  • https://blog.rust-lang.org/2026/10/20/Rustup-1.29.2/
  • “The rustup team is happy to announce the release of rustup version 1.29.2.” (from the article)
  • “Rustup's documentation is also available in the rustup book.” (from the article)
Checks: 3 of 3 passed
  • Passed: fetch nodejs.org: 1065 items in the feed, 2 kept.
  • Passed: fetch blog.rust-lang.org: 10 items in the feed, 2 kept.
  • Passed: articles: 4 read, 0 failed, 0 on hosts not allowed, 0 not tried.

Provenance

Run
run_078124d176a4f0d26f
Depot run
0zb9r381xr
Image
images/base.Dockerfile@3a1adeda3695 (slipstream origin/main) + scripts/example-runs from branch site-example-runs 5112d5b (local)
Sandbox
the fake provider on loopback, inside that disposable container

Example inputs

Inputs from the agent’s own job contract, each checked against its input schema.

The five newest Hacker News items. Their articles are on other hosts, so list those in also_allow to quote them.

{
  "sources": [
    {
      "url": "https://news.ycombinator.com/rss",
      "name": "Hacker News"
    }
  ],
  "per_source": 5
}

The newest Rust blog posts, three sentences quoted from each post.

{
  "sources": [
    {
      "url": "https://blog.rust-lang.org/feed.xml"
    }
  ],
  "quotes_per_item": 3
}

Declined when the URL is a web page, naming the feed it advertises.

{
  "sources": [
    {
      "url": "https://example.com/"
    }
  ]
}

Input

FieldTypeWhat it is
sourcesobject[], required
per_sourceinteger, requiredItems to return per source, newest first.
articlesboolean, requiredRead each item's article to quote it. Off, the quotes come from the feed's own text.
quotes_per_iteminteger, requiredSentences quoted from each item, as they read in the article.
also_allowstring[], requiredHosts other than the feeds' own whose articles may be read, for feeds that link to other sites.
max_age_daysintegerDrop dated items older than this.

Where it runs

Sandbox agent. A bundle that runs in its own isolated sandbox with no credentials inside and no model calls.

Network: an allowlist. Only hosts taken from your input.

It may run for up to 3 min before it is stopped.

Evals

8 of 8 offline eval cases pass for version 1.0.0 (baseline saved 2026-10-18). Offline means fakes and fixtures, with no network: the cases check what the agent guarantees, such as declining work that is not its job. They are not measurements of live runs; the live runs above are.