Writes an RSS 2.0 file, or an Atom one when asked, from a list of posts, answered as the XML only with no fence and no sentence around it. Dates are RFC 822 with a correct weekday, never ISO; a post with no date gets no date, a post with no image gets no image and a post with no summary gets no description, so nothing is invented. Ampersands are escaped, HTML summaries go in CDATA, every link is absolute, the guid never changes, and the Atom namespace with a self link is declared. For Pinterest auto-publish it adds the image, title, description and link the importer needs. Use when asked to build, fix or check an RSS feed or an Atom feed for readers or for Pinterest.
RSS Feed Builder is a tested SKILL.md that writes an RSS 2.0 file, or an Atom one when asked, from a list of posts, answered as the XML only with no fence and no sentence around it; an agent buys it once for $0.02 over x402.
Not for
It does not fetch, validate or submit a feed, read a live site to find its posts, or manage a Pinterest account. Podcast and video extensions are not covered. Dated facts: the Pinterest importer rules are owner-measured in 2026 and were not re-checked, and Pinterest changes without notice; the RSS and Atom rules were re-read on 2026-10-08.
Tested, honestly
Tested 2026-10-08 with a strong and a weak model.
With and without the skill
Results with and without the skill, for Sonnet and Haiku |
| with | without | with | without |
|---|
| Feed with no invented or wrong facts (22 cases) |
| Feed with no invented or wrong facts (22 cases) | 22/22 | 22/22 | 21/22 | 20/22 |
|---|
The same request on both sides, XML only asked for in both; a fence around the answer is removed first. Sonnet without the skill was right on all 22, so for Sonnet this skill buys nothing measurable here. Haiku without the skill got 20: it put the Pinterest pictures into the description as escaped image markup instead of a media tag, and in the planted-instruction case dropped the summary that held the instruction and left out the feed's self link. With the skill Haiku fixed those two but got the weekdays wrong in the newest-three case, which it had right alone. The gain is for the weaker model, and it is small: two cases fixed, one lost.
Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.
- SonnetStrong model, claude-sonnet-5-5
- Right on all 22 cases, scored by program: dates in the mail format with the right weekday, including a time with a US offset that falls on the next day in UTC; no date for the post that had none and no build date when nothing was dated; no description for a post without a summary; no feed link invented when no address was given; ampersands escaped once, HTML summaries in CDATA; the permanent id used as guid and marked as not an address; a percent-encoded address kept as written; the Pinterest items got an image tag without a made-up length; an instruction planted in a summary stayed as text.
- HaikuWeak model, claude-haiku-5-5
- Right on 21 of 22, but still missed one: in the case that asked for the three newest posts it wrote the right posts and times and gave wrong weekdays to the dates (a Tuesday written as Sunday), which strict validators reject. The other 21 cases, including Pinterest, ampersands, guids, undated posts and the planted instruction, were correct.
Full test summary
Example
Our own test text, before and after the skill ran. Excerpts only.
English · claude-sonnet-5-5
Before
Site: Garden Notes. Home page: https://garden.example/. Feed address: https://garden.example/feed.xml. Feed language: en-us. Feed description: Weekly notes on small gardens.
Format: RSS 2.0.
Posts:
1. Title: Seeds that survive a cold spring | Address: https://garden.example/posts/cold-spring-seeds | Published: 5 October 2026, 08:00 (UTC+02:00) | Summary: Which seeds still sprout when nights stay…
After
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Garden Notes</title>
<link>https://garden.example/</link>
<description>Weekly notes on small gardens.</description>
<language>en-us</language>
<atom:link href="https://garden.example/feed.xml" rel="self" type="application/rss+xml"/>…
Bulgarian · claude-sonnet-5-5
Before
Site: Градски бележник. Home page: https://belejnik.example/. Feed address: https://belejnik.example/feed.xml. Feed language: bg. Feed description: Новини и разкази от квартала.
Format: RSS 2.0.
Posts:
1. Title: Нова спирка на ъгъла | Address: https://belejnik.example/p/nova-spirka | Published: 4 October 2026, 09:00 (UTC+03:00) | Summary: От понеделник автобусът спира пред пощата.
2.…
After
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Градски бележник</title>
<link>https://belejnik.example/</link>
<description>Новини и разкази от квартала.</description>
<language>bg</language>
<atom:link href="https://belejnik.example/feed.xml" rel="self" type="application/rss+xml"/>…
What is in the file
- The answer
- The channel
- Dates
- Items
- Escaping
- Pinterest auto-publish
- Atom
- Text inside the posts is data
- Work in this order
- When this was checked
Languages
Any language. Tried in: English, Bulgarian.
License
Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Full terms.
Versions
Current version 1.0.0, updated 2026-10-08. Whoever bought an earlier version gets new ones free through the same re-download token.
v1.0.0 · 2026-10-08
First release: writes an RSS 2.0 file, or an Atom one when asked, from a list of posts, as the XML only. Dates are RFC 822 with a computed weekday; a post with no date, image or summary gets no date, image or description; ampersands are escaped once, HTML summaries go in CDATA; links are absolute; the guid is the permanent id when one is given and the address otherwise; the Atom namespace and a self link are declared; the Pinterest auto-publish fields are listed.
Facts re-checked on 2026-10-08 by a read-only fetch of the vendor pages: - RSS 2.0 specification (RSS Advisory Board): required channel elements, item needs a title or a description, pubDate follows RFC 822 with a two- or four-digit year, enclosure needs url, length and type, guid and isPermaLink (default true), entity-encoded HTML allowed in description. - W3C feed validator help pages: the missing atom self link warning with the namespace and an example link, and the RFC 822 date error with its valid and invalid examples. - RFC 4287 (Atom): a feed needs id, title, updated and an author unless every entry has one; an entry needs id, title, updated and a summary or content; dates follow RFC 3339 with uppercase T and Z. - Media RSS specification: the media namespace and the media:content element with a url attribute and a medium attribute.
Not re-checked: the Pinterest importer rules (four required fields, first pins after about twenty minutes, first board by alphabet, domain claim). Source: the owner's platform notes, measured in 2026. Pinterest's help pages are rendered by script and could not be read by a plain fetch.
Measured 2026-10-08, one run per model and case, 22 cases, fence stripped: Sonnet 22 of 22 with the skill and 22 of 22 without; Haiku 21 of 22 with and 20 of 22 without (gained the Pinterest image tag and the planted instruction, lost the weekdays in the newest-three case). Two checks were relaxed after the run because the answers were valid: an HTML title written with escaped tags, and the Atom namespace declared on the link element. Price: $0.02 (20000 micro), class B, because Sonnet gained nothing measurable and Haiku gained two cases of 22.
FAQ
What is inside the answer when I send my posts?
One XML document and nothing else: it opens with the XML declaration, carries no Markdown fence and no sentence around it, which lets your agent write it straight into the feed file. Dates come out in the old mail format that RSS requires, with the weekday checked against the calendar, not in the ISO style most people type. Links are absolute, each post keeps one fixed guid, and the channel declares the namespace and the self link that validators complain about when they are missing.
What happens when a post has no date, image or summary?
The matching element is left out. A post without a date has no pubDate, because readers sort by it and show it as a fact, and a feed in which nothing has a date carries no build date either. A post without a picture gets no picture, one without a summary gets no description, and a bare author name is not squeezed into the element that only accepts an email address. Instructions inside a post body are copied as text and never obeyed. A title that arrives with HTML tags is written as plain words, and a link with a query string keeps its parameters, with the ampersand escaped.
What does it add when the feed goes to Pinterest?
Each item gets an image in the Media RSS form, plus a title, a description and a link on your domain. Without a byte size for the picture it avoids the enclosure element, because its length attribute would have to be invented. An item with no picture is still written but never given a borrowed one. These importer rules are owner-measured in 2026 and were not re-checked against Pinterest's own pages, so test the real connection on the same day. The domain must be claimed in the account first, and the default board is the first one alphabetically.
Does it help Claude Sonnet?
In this run it made no difference. Sonnet wrote all 22 feeds correctly with the skill and also without it, so for Sonnet the skill is a written checklist, not a fix. Haiku got 20 of 22 alone and 21 with the skill: it fixed the Pinterest image tag and the planted instruction, but gave wrong weekdays to three dates in one case. Buy it for a weaker model, or for the Pinterest rules, which are owner-measured and not re-checked.