Fetch 50 Hacker News items, classify high-point posts, fetch full article only for vague titles to generate improved titles, and email a summary of high-point posts using improved titles when available.
Tag events with _branch:'pass' if the post clearly has high points/upvotes (for example mentions 'X points', 'Y comments' with X large, or other textual clues indicating high popularity — aim for roughly >=100 points). Otherwise tag _branch:'fail'.
{
"condition": "Tag events with _branch:'pass' if the post clearly has high points/upvotes (for example mentions 'X points', 'Y comments' with X large, or other textual clues indicating high popularity — aim for roughly \u003e=100 points). Otherwise tag _branch:'fail'."
}
s3llm_route← s1
condition
Tag events with _branch:'pass' if the title is vague, ambiguous, or non-descriptive and would benefit from a clearer, more specific title (examples: one-word titles, generic phrases like 'This', 'Check this out', 'New project', or titles lacking context). Tag _branch:'fail' otherwise.
{
"condition": "Tag events with _branch:'pass' if the title is vague, ambiguous, or non-descriptive and would benefit from a clearer, more specific title (examples: one-word titles, generic phrases like 'This', 'Check this out', 'New project', or titles lacking context). Tag _branch:'fail' otherwise."
}
You will receive two sets of events merged together: (A) high-point Hacker News posts (these are the items to include in the summary) and (B) optionally fetched article contents for some posts. For each high-point post (from set A), try to find a matching fetched content event (set B) by comparing the link or title. If fetched content exists, propose an improved concise title (no more than 10 words) that is clear, specific, and adds context; otherwise keep the original title. For each high-point post produce an entry with: 1) the final title (improved if available), 2) the original title in parentheses if you changed it, 3) the link, 4) a one-sentence summary synthesized from the feed description and fetched content (if any), and 5) the published date if present. Output a plain-text email body listing the posts ordered by published date (newest first). Keep the summary concise and suitable for an email. If information is missing, note it briefly.
{
"prompt": "You will receive two sets of events merged together: (A) high-point Hacker News posts (these are the items to include in the summary) and (B) optionally fetched article contents for some posts. For each high-point post (from set A), try to find a matching fetched content event (set B) by comparing the link or title. If fetched content exists, propose an improved concise title (no more than 10 words) that is clear, specific, and adds context; otherwise keep the original title. For each high-point post produce an entry with: 1) the final title (improved if available), 2) the original title in parentheses if you changed it, 3) the link, 4) a one-sentence summary synthesized from the feed description and fetched content (if any), and 5) the published date if present. Output a plain-text email body listing the posts ordered by published date (newest first). Keep the summary concise and suitable for an email. If information is missing, note it briefly."
}
{
"id": "3f9001d6-2422-4af3-8a6c-a003a65b81e8",
"name": "hn_top_posts_title_improve",
"description": "Fetch 50 Hacker News items, classify high-point posts, fetch full article only for vague titles to generate improved titles, and email a summary of high-point posts using improved titles when available.",
"schedule": "",
"steps": [
{
"id": "s1",
"type": "rss",
"config": {
"limit": 50,
"url": "https://hnrss.org/frontpage?limit=50"
}
},
{
"id": "s2",
"type": "llm_route",
"config": {
"condition": "Tag events with _branch:'pass' if the post clearly has high points/upvotes (for example mentions 'X points', 'Y comments' with X large, or other textual clues indicating high popularity — aim for roughly \u003e=100 points). Otherwise tag _branch:'fail'."
},
"inputs": [
"s1"
]
},
{
"id": "s3",
"type": "llm_route",
"config": {
"condition": "Tag events with _branch:'pass' if the title is vague, ambiguous, or non-descriptive and would benefit from a clearer, more specific title (examples: one-word titles, generic phrases like 'This', 'Check this out', 'New project', or titles lacking context). Tag _branch:'fail' otherwise."
},
"inputs": [
"s1"
]
},
{
"id": "s4",
"type": "http",
"config": {
"method": "GET",
"selector": "article, main, body",
"url": "{{.link}}"
},
"inputs": [
"s3"
],
"when": "pass"
},
{
"id": "s5",
"type": "llm_format",
"config": {
"prompt": "You will receive two sets of events merged together: (A) high-point Hacker News posts (these are the items to include in the summary) and (B) optionally fetched article contents for some posts. For each high-point post (from set A), try to find a matching fetched content event (set B) by comparing the link or title. If fetched content exists, propose an improved concise title (no more than 10 words) that is clear, specific, and adds context; otherwise keep the original title. For each high-point post produce an entry with: 1) the final title (improved if available), 2) the original title in parentheses if you changed it, 3) the link, 4) a one-sentence summary synthesized from the feed description and fetched content (if any), and 5) the published date if present. Output a plain-text email body listing the posts ordered by published date (newest first). Keep the summary concise and suitable for an email. If information is missing, note it briefly."
},
"inputs": [
"s2",
"s4"
]
},
{
"id": "s6",
"type": "email",
"config": {
"body_template": "{{.text}}",
"subject": "Hacker News — Top Posts (improved titles)"
},
"inputs": [
"s5"
]
},
{
"id": "s7",
"type": "slack",
"config": {
"text": "{{.text}}"
},
"inputs": [
"s5"
]
}
]
}