Pipe library / lobsters-top
lobsters-top
Hottest Lobsters stories. Lobsters publishes this feed for readers. Reddit's Data API forbids unauthenticated automation, so this pipe uses Lobsters instead of a subreddit scrape.
News and research
lobste.rs
CLI
pipes run examples/lobsters-top.pipe.yaml
MCP call
{
"name": "pipe__lobsters-top",
"arguments": {}
}
Pipe file
examples/lobsters-top.pipe.yaml
pipes: 0
name: lobsters-top
version: 0.1.0
description: Hottest Lobsters stories. Lobsters publishes this feed for readers. Reddit's Data API forbids unauthenticated automation, so this pipe uses Lobsters instead of a subreddit scrape.
permissions:
network: [lobste.rs]
inputs:
type: object
properties:
feed:
type: string
format: uri
default: https://lobste.rs/rss
n:
type: integer
minimum: 1
maximum: 20
default: 8
required: [feed]
outputs:
type: object
properties:
text: { type: string }
count: { type: integer }
required: [text, count]
output:
text: "${steps.format.text}"
count: "${steps.format.count}"
steps:
- id: fetch
block: fetch_http
with:
url: "${inputs.feed}"
max_bytes: 400000
retry: { max: 2, backoff_ms: 500 }
timeout_ms: 15000
- id: entries
block: parse_rss
in: "${steps.fetch}"
- id: capped
block: limit
in: "${steps.entries}"
with: { n: "${inputs.n}" }
- id: format
block: format
in: "${steps.capped}"
with:
header: "Lobsters:\n"
item_template: "- ${item.title} ${item.link}"
separator: "\n"
- id: print
block: emit_stdout
in: "${steps.format.text}"
with: { format: text }