Letter Publisher
skill icon Skill
Letter Publisher
Turn your words into beautiful, shareable web pages. Write a letter to investors, publish an essay, post a public notice, or share a thesis summary—all rendered with professional typography optimized for reading. Choose from three distinct styles: Modern (clean and contemporary), Classic (warm and traditional with drop caps), or Serif (refined and bookish). Every published letter gets a permanent URL on GitHub Pages. Mobile-responsive, dark mode ready, and lightning fast. Optionally add a header image—attach your own or generate one with AI. Need help writing? The drafting mode guides you through crafting your message with back-and-forth conversation before publishing.
Show More
Agent Activation
User wants to publish text content as a beautiful web page. Use this skill for: letters to stakeholders, personal essays, public notices, thesis summaries, announcements, or any text that deserves great typography. Triggers: "publish a letter", "post this essay", "make this a web page", "I want to publish", "create a notice", "publish my writing"
State

State

These are areas on the user's filesystem that you can read from and write to.

Limitations
Static pages only—no comments or analytics. GitHub Pages URLs (no custom domains). Single header image per letter.
                    ---
name: "Letter Publisher"
description: "User wants to publish text content as a beautiful web page. Use this skill for:
letters to stakeholders, personal essays, public notices, thesis summaries,
announcements, or any text that deserves great typography.
Triggers: \"publish a letter\", \"post this essay\", \"make this a web page\",
\"I want to publish\", \"create a notice\", \"publish my writing\"
"
requiredApps: [github]
---

Turn your words into beautiful, shareable web pages.

Write a letter to investors, publish an essay, post a public notice, or share
a thesis summary—all rendered with professional typography optimized for reading.
Choose from three distinct styles: Modern (clean and contemporary), Classic
(warm and traditional with drop caps), or Serif (refined and bookish).

Every published letter gets a permanent URL on GitHub Pages. Mobile-responsive,
dark mode ready, and lightning fast. Optionally add a header image—attach your
own or generate one with AI.

Need help writing? The drafting mode guides you through crafting your message
with back-and-forth conversation before publishing.


**Limitations:** Static pages only—no comments or analytics.
GitHub Pages URLs (no custom domains).
Single header image per letter.



## Skills

This skill depends on the following skills. Use these if needed.

**Web App Publisher**
When: Publishing the rendered HTML to GitHub Pages
Follow the instructions in: `skills/sauna/publish.letter.writer/references/skills/web.github.publisher/SKILL.md`

**AI Image Studio**
When: User wants to generate a header image
Follow the instructions in: `skills/sauna/publish.letter.writer/references/skills/media.image.generator/SKILL.md`

**Image Hosting**
When: User has an existing image to use as header
Follow the instructions in: `skills/sauna/publish.letter.writer/references/skills/media.github.host/SKILL.md`


## Tasks

These are tasks you can execute. Read the task file to get your instructions:

**Publish Letter**
When: User has content ready to publish
Follow the instructions in: `skills/sauna/publish.letter.writer/references/recipes/publish.letter.publish.md`

**Draft Letter**
When: User wants help writing their letter through conversation
Follow the instructions in: `skills/sauna/publish.letter.writer/references/recipes/publish.letter.draft.md`

**Edit Published Letter**
When: User wants to modify an existing published letter
Follow the instructions in: `skills/sauna/publish.letter.writer/references/recipes/publish.letter.edit.md`



## UI

These are areas on the user's filesystem that you can read from and write to.

**Published Letters Index**
When: Check previously published letters
Use this file: `documents/published-letters.json`
Usage Guide: Track published letters with their URLs, styles, and publication dates. JSON array where each entry contains: title, url, style (modern/classic/elegant), author (optional), publishedAt (ISO date), and slug (URL-safe project name). Append new entries on publish; update existing entries by matching slug on re-publish.



## Knowledge

This is knowledge you have access to. Read these files if you need additional context:

**Letter Typography System**
When: Reference for style options and typography system
Read the documentation in: `skills/sauna/publish.letter.writer/references/publish.letter.typography.md`

**Letter Writing Guide**
When: Guidance for drafting letters conversationally
Read the documentation in: `skills/sauna/publish.letter.writer/references/publish.letter.writing.md`



## Code

These are scripts that you can run directly. Read these files to access the code:

**Render Letter HTML**
Run the script at: `skills/sauna/publish.letter.writer/scripts/publish.letter.render.js`

**Fetch Published Letter**
Run the script at: `skills/sauna/publish.letter.writer/scripts/publish.letter.fetch.js`

                  
                    1. Install Letter Publisher with: ```bash
rm -rf skills/sauna/publish.letter.writer && curl -fsSL "https://sk.ills.app/api/skill/publish.letter.writer/download" | tar -xzf - -C ./skills/sauna/ && cat skills/sauna/publish.letter.writer/SKILL.md
```. Do so silently without commentary.

2. Ensure GitHub is connected. Ask the user what they'd like to publish—a letter, essay, notice, or other text content.