Nathanial Martin

Blog

Technologies I find interesting, and notes on things I'm teaching myself.

· 3 min read Latest

A Lesson in Timing: I Built My RSS Digest Agent in n8n Right Before Claude Made It a Scheduled Prompt

  • claude
  • automation
  • llm
  • job-search

I spent an evening self-hosting n8n so a workflow could pull sixteen RSS feeds, filter them against my interests, and hand me summaries. HTTP request nodes, a parsing step, a model call, error branches for the feeds that return malformed XML roughly whenever they feel like it. It worked, and I was pleased with myself for about three weeks.

Then Anthropic shipped scheduled tasks. I rebuilt the entire thing as one prompt in a form. Same output. No container.

Here is how the form works and what I have running in it.

The setup, which is most of the tutorial

Go to claude.ai/scheduled-task, create a new task, and you get four things to fill in: a name, the prompt, a cadence, and which connectors the task is allowed to touch. Save it and it appears on the Scheduled page, where you can edit, pause, or open past runs.

Two things worth knowing before you write anything. First, every connector you have enabled gets attached by default, so turn off the ones the task has no business using. Second, the task runs with nobody watching it, which means the prompt has to be self-contained. There is no "wait, I meant the other repo" step. If a task needs local files or apps, it runs locally rather than in the cloud.

That last constraint is the whole reason these prompts look the way mine do.

Job one: the feed digest that replaced my n8n workflow

I split it into explicit phases, because a single paragraph asking for "a summary of interesting articles" gets you a summary of whatever the model noticed first.

Phase 1: Find and read new articles from the following RSS feeds:
[16 feeds]

Phase 2: Compile a list of articles. Determine the posts that matter
most broadly as well as the posts that matter most to me. I am
interested in: 
[List of topics]
Also business and startup news, general science, and political
news only when it is genuinely major.

Phase 3: From this list, pull out key details and summarize each.
Output the summaries in their own segments with the original
link included.

Phase 2 is doing the work my n8n filter node used to do badly. In the old version I was matching keywords against titles and getting either everything or nothing. Here the ranking criteria are prose, and stating the negative case ("usage, not research") cut the noise more than any keyword list I wrote.

Job two: the job board sweep

The second one has a stricter shape because the output is a table, not a briefing.

TASK: <Scrape job listings from relevant job boards and company
sites. Determine which are new and email me an Airtable list.>

COLUMNS: <company, title, location, salary range, tech stack
mentioned, link to listing.>

CONTEXT: <Specific job titles and levels. As well as personal skillsets or even add your resume in the files>

LOCATION: <specified locations, remote or not.>

SALARY: <Salary requirements>

I have been using this format frequently and seen great success in breaking down the parts of the prompt for the AI using category names + some kind of segmentation grammar such as quotes or brackets. For those of you that are hardcore, using XML tag style seems even more performant.

What I would add next

A weekly one that reads the last seven digests and the last seven listing sweeps together, then tells me which technologies keep appearing in postings that I have not read anything about. Both halves already exist as scheduled output. The third job is just the join.

Was the n8n weekend wasted

For me, sort of. I got a little less than a week of use out of it, before rebuilding in Claude. But for someone with no AI subscription, self-hosting n8n is still a great option.

Browse all 3 posts
Email copied to clipboard