<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Promptel — Notes</title><description>Declarative prompt engineering. Notes from Skelf Research.</description><link>https://promptel.skelfresearch.com/</link><language>en-us</language><item><title>Reading a promptel file: anatomy of a declarative prompt</title><link>https://promptel.skelfresearch.com/blog/anatomy-of-a-promptel-file/</link><guid isPermaLink="true">https://promptel.skelfresearch.com/blog/anatomy-of-a-promptel-file/</guid><description>Walk through a real .prompt file block by block. What each piece means, why it exists, and what the AST looks like when the parser is done with it.</description><pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Provider-portable prompts: what the abstraction actually buys you</title><link>https://promptel.skelfresearch.com/blog/provider-portable-prompts/</link><guid isPermaLink="true">https://promptel.skelfresearch.com/blog/provider-portable-prompts/</guid><description>A provider abstraction is not about hedging your bets. It is about keeping the prompt as the unit of work — and making the SDK the implementation detail it should always have been.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Why prompts deserve a DSL, not f-strings</title><link>https://promptel.skelfresearch.com/blog/why-prompts-deserve-a-dsl/</link><guid isPermaLink="true">https://promptel.skelfresearch.com/blog/why-prompts-deserve-a-dsl/</guid><description>F-strings work until they don&apos;t. Once a prompt has params, defaults, techniques, and provider constraints, it stops being a string and starts being a program. Give it a grammar.</description><pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate></item></channel></rss>