BLUEPRINT · daily-brief
Daily HN brief
Once a day, reads the Hacker News front page and sends you a three-line brief of what mattered. Keeps every brief in its memory. The control room estimates about $0.02 a month, with a hard cap of $0.30.
- Runs
- once a day
- Leash
- required
How it decides
- OBSERVE · source
rest_apiextract - FILTER · gate
fast_path_diff - REASON · reason
llm_reason · economy tierevery tick - ACT · act
notify_webhook ●write_state
● = touches the outside world (leashed by default)
What it costs
One economy-tier call a day · ≤ $0.01/day.
Ceiling: budget_usd_per_day: 0.01
What you'll need
WEBHOOK_URL
A model key (Anthropic, OpenAI or xAI) in Settings.
Make it yours
-
sources.front_page.url -
https://hn.algolia.com/api/v1/search?tags=front_page
Full YAML
# Once a day, reads the HN front page, writes a short brief, keeps
# it in state, and sends it to your webhook. One LLM call a day.
blueprint:
id: daily-brief
title: Daily HN brief
description: >-
Once a day, reads the Hacker News front page and sends you a three-line
brief of what mattered. Keeps every brief in its memory. Costs about one
cent a month.
config:
synth:
name: Daily brief
goal: Send me a short daily brief of what mattered on Hacker News.
schedule_seconds: 86400
requires_credentials:
- WEBHOOK_URL
sources:
- id: front_page
primitive: rest_api
config:
url: "https://hn.algolia.com/api/v1/search?tags=front_page"
items_path: hits
max_pages: 1
max_items: 30
transforms:
- id: titles
primitive: extract
config:
items: $sources.front_page.items
field: title
fast_path:
primitive: fast_path_diff
inputs:
current: $tick.started_at
previous: $state.last_run
reasoning:
primitive: llm_reason
triggered_by: always
model_tier: economy
budget_usd_per_day: 0.01
input: "Today's Hacker News front-page titles: {$transforms.titles.values}"
output_schema:
brief: string
actions:
- always: true
primitive: notify_webhook
config:
url: $secrets.WEBHOOK_URL
template: "[Daily brief] {brief}"
- always: true
primitive: write_state
config:
last_brief: $reasoning.brief
last_run: $tick.started_at The YAML's own description line is shown as it ships; the cost sentence above replaces it until the control room's estimate is published.
Install
In the control room
Blueprints → Daily HN brief → Shadow, then Deploy.
To change something first (see Make it yours): View config, copy the JSON, and paste it into + Install a Synth.
With your AI
Ask: "Clone the daily-brief blueprint." It uses caedos_blueprints, then validates, shadows and deploys.