# Blogging with (Actual) Paper

> Source: <https://jhuleatt.com/posts/blogging-with-actual-paper/>
> Published: 2026-08-27 18:34:06+00:00

A post on Hacker News titled [Blogging on Paper](https://news.ycombinator.com/item?id=42859564) caught my attention last year. I was immediately interested, ready to hear about someone’s experience building a tool to import physical paper blog post drafts into an online-friendly form. However, it turned out to be a workflow for publishing blog posts from Dropbox Paper, not the pen-and-paper I enjoy using.

I’m sure that post was useful to someone else, but the idea of easily converting a paper blog post draft to something my Astro-powered site can understand has been stuck in my head ever since that misunderstanding, and now I’ve finally tried it.

Welcome to my first hand-written blog post!

## Making an Agent Skill

Just a couple of years ago, this task would require a complex machine vision pipeline. Now, though, it can just be a few lines of markdown. An [Agent Skill](https://skills.sh) seemed like the most straightforward approach.

### Can Gemini read my handwriting?

As a quick validation, I fed a photo of a test page into the Gemini web app to see if Gemini could accurately transcribe it.

Phew. Reassured that Gemini could read my handwriting, I took a first swing at an Agent Skill.

### First draft

The core functionality I wanted was:

- Translate a photo of a handwritten page to markdown (specifically,
[Astro-friendly MDX](https://docs.astro.build/en/guides/integrations-guide/mdx/)) - Generate frontmatter (metadata) based on blog content
- Guess a file name and put it in the right place

I put these requirements in a basic `SKILL.md`

file. I also wanted some fancier features, so I added a step where the agent automatically finds link urls based on hand-written hints, and a step where the agent identifies the key takeaways a member of the post’s target audience would have.

Then, I ran it in Antigravity.

At least, I tried to. Antigravity wouldn’t accept the HEIC file from my phone camera, even though the Gemini web app handled it without issue. I converted the image to jpeg, and *then* I ran it in Antigravity.

Success!

### Refining the skill

The first run went well enough that I only needed a few small changes.

I added a note about how to identify headings, and added a couple of links out to Astro docs to help with MDX component use and frontmatter generation.

Frustratingly, the fancy features I wanted were the most problematic. The link-finding functionality wasn’t reliable, and the summary from a prospective audience member wasn’t useful, either. I may just remove these in the future, or separate them into their own skills.

Beware of scope creep when writing Agent Skills.

The skill was almost done, but I took a detour where I audited it with the [skill-creator skill](https://www.skills.sh/anthropics/skills/skill-creator), in case I was missing anything important.

Ultimately, this didn’t help. It made my skill bloated, with redundant guidance like listing out *all* standard copyediting marks. I reverted the edits that the skill-creator skill made.

If the skill-creator skill can infer correct functionality, doesn’t it mean an agent can infer correct functionality

withoutthe skill creator’s output?

I had more luck asking Antigravity for an audit based on [Best practices for skill creators](https://agentskills.io/skill-creation/best-practices). This had a much lighter touch, and usefully suggested I add the `compatibility`

field in my skill’s frontmatter to clarify its focus on Astro sites.

With that, the skill was in good enough shape to use for this post. Take a look at my [ paper-to-astro-mdx skill on GitHub](https://github.com/jhuleatt/skills/blob/main/skills/paper-to-astro-mdx/SKILL.md) if you’d like to see exactly how it works. But, was it worth the effort?

## The experience of writing by hand

My hand cramped midway through drafting this post. Physical pain aside, I truly enjoyed the experience of writing by hand. Most importantly, handwriting separates the act of writing from the computer.

When writing on my laptop, I’ll often jump to work chats, or scroll online when I need to take a pause from writing. The noise of those distractions is apparent when compared to the small breaks I take when my laptop is shut: look out the window, or go get a glass of water. Instead of getting stressed by digital noise, I found the ideas in this post simmering in the background, ready to flow out when I sat back down to write.

If you’re thinking this is all starting to sound a little too rosy, I’m with you. Will the initial joy fade? Will hand cramps get the better of me? Will I go down the rabbit hole that is the fountain pen hobby? Time will tell.

Until then, this was a fun experiment to use the latest technology to make my work more analog. If you want to try it too, you can install the skill yourself:

```
npx skills add jhuleatt/skills --skill paper-to-astro-mdx
```


