Image Writer
This skill creates new "image" entries - visual content with brief captions that appear in the homepage feed alongside your thoughts, ideas, and articles.
File Locations
- Content files:
src/content/images/
- Physical images:
/public/images/
Order of Operations:
- First, place the physical image file in
/public/images/
- Then, create the content entry in
src/content/images/
If the user provides an image path that doesn't exist yet, ask them to place the image first or help them do so.
Filename Format
Use the format YYMMDD.md where:
YY = 2-digit year (e.g., 25 for 2025)
MM = 2-digit month (e.g., 01, 12)
DD = 2-digit day (e.g., 05, 31)
Example: 260114.md for January 14, 2026
Image File Naming
For the physical image in /public/images/, use descriptive names like:
YYMMDD_description.ext (e.g., 260114_dashboard.png)
YYMMDD_screenshot.ext (e.g., 260114_terminal.png)
YYMMDD_photo.ext (e.g., 260114_conference.jpg)
This keeps things organized and makes images easy to find.
Frontmatter Schema
---
date: YYYY-MM-DD # required
imageUrl: /images/filename.ext # required (path from /public/images/)
draft: false # optional, defaults to false
author: Nikola Balić # optional, defaults to Nikola Balić
---
Field details:
date: Required, YYYY-MM-DD format.
imageUrl: Required, path to image in /public/images/. Must start with /images/.
draft: Optional, defaults to false.
author: Optional, defaults to "Nikola Balić".
Content Style Guidelines
Image captions should be brief and contextual:
- Length: 1-2 sentences typical (can be longer if needed)
- Purpose: Contextualize what the image shows
- Style: Conversational, can include links and emojis
- Content: Explain the "why" behind the image, not just "what" it is
Examples
Social media mention:
---
date: 2025-05-19
imageUrl: /images/250523_oreillyandkentbeck.jpeg
---
Apparently, @timoreilly considered it [noteworthy to highlight](https://www.oreilly.com/radar/takeaways-from-coding-with-ai/) that I agree with @KentBeck 🤷♂️ honored and humbled!
Dashboard visualization:
---
date: 2025-05-26
imageUrl: /images/apnea-comprehensive_dashboard.png
---
Claude 4 Sonnet loves complex dashboard visualisations. I have been playing with my Garmin data to better understand agentic future of data science research.
Screenshot/photo with context:
---
date: 2025-05-23
imageUrl: /images/250523_claude4imagecritic.jpeg
---
Claude 4 as image critic.
When to Use Images vs Other Content Types
| Type |
When to use |
Format |
| Image |
Visual content (screenshot, photo, chart) with brief caption |
date + imageUrl, YYMMDD.md |
| Thought |
Quick insight, observation, philosophical reflection |
Minimal frontmatter, blockquote style |
| Idea |
Product/service concept with marketing flair |
Structured frontmatter, pitch style |
| Now Entry |
Life update with multiple focus areas |
YYMMDD.md, ## sections |
| Article |
Full blog post with narrative/technical depth |
Complete frontmatter (tags, topics, etc.) |
How It Works
- Images appear on the homepage (
/) in the main feed
- Integrated with search at
/search
- Displayed with image and caption together
- Sorted chronologically (newest first)
Process
When the user wants to add an image:
- Confirm the image file exists in
/public/images/
- Get the image filename for the
imageUrl field
- Determine today's date for the filename (YYMMDD.md) and frontmatter (YYYY-MM-DD)
- Ask what context/caption they want to add
- Draft the caption following the style guidelines
- Create the file in
src/content/images/
- Confirm creation with the user
Important Reminders
- Always verify the physical image exists in
/public/images/ first
- The
imageUrl must start with /images/ (not /public/images/)
- Image files can be any format:
.jpg, .png, .jpeg, .gif, .webp, etc.
- Keep captions brief - this isn't a blog article, just context for the visual
1---2name: image-writer3description: Create new "image" entries - visual content with brief captions. Use when the user says "add an image", "new image", "post an image", or mentions wanting to share a screenshot, photo, or visualization.4---56# Image Writer78This skill creates new "image" entries - visual content with brief captions that appear in the homepage feed alongside your thoughts, ideas, and articles.910## File Locations1112- **Content files**: `src/content/images/`13- **Physical images**: `/public/images/`1415**Order of Operations**:161. First, place the physical image file in `/public/images/`172. Then, create the content entry in `src/content/images/`1819If the user provides an image path that doesn't exist yet, ask them to place the image first or help them do so.2021## Filename Format2223Use the format `YYMMDD.md` where:24- `YY` = 2-digit year (e.g., `25` for 2025)25- `MM` = 2-digit month (e.g., `01`, `12`)26- `DD` = 2-digit day (e.g., `05`, `31`)2728Example: `260114.md` for January 14, 20262930## Image File Naming3132For the physical image in `/public/images/`, use descriptive names like:33- `YYMMDD_description.ext` (e.g., `260114_dashboard.png`)34- `YYMMDD_screenshot.ext` (e.g., `260114_terminal.png`)35- `YYMMDD_photo.ext` (e.g., `260114_conference.jpg`)3637This keeps things organized and makes images easy to find.3839## Frontmatter Schema4041```yaml42---43date: YYYY-MM-DD # required44imageUrl: /images/filename.ext # required (path from /public/images/)45draft: false # optional, defaults to false46author: Nikola Balić # optional, defaults to Nikola Balić47---48```4950**Field details:**51- `date`: Required, YYYY-MM-DD format.52- `imageUrl`: Required, path to image in `/public/images/`. Must start with `/images/`.53- `draft`: Optional, defaults to false.54- `author`: Optional, defaults to "Nikola Balić".5556## Content Style Guidelines5758Image captions should be brief and contextual:5960- **Length**: 1-2 sentences typical (can be longer if needed)61- **Purpose**: Contextualize what the image shows62- **Style**: Conversational, can include links and emojis63- **Content**: Explain the "why" behind the image, not just "what" it is6465## Examples6667**Social media mention:**68```markdown69---70date: 2025-05-1971imageUrl: /images/250523_oreillyandkentbeck.jpeg72---7374Apparently, @timoreilly considered it [noteworthy to highlight](https://www.oreilly.com/radar/takeaways-from-coding-with-ai/) that I agree with @KentBeck 🤷♂️ honored and humbled!75```7677**Dashboard visualization:**78```markdown79---80date: 2025-05-2681imageUrl: /images/apnea-comprehensive_dashboard.png82---8384Claude 4 Sonnet loves complex dashboard visualisations. I have been playing with my Garmin data to better understand agentic future of data science research.85```8687**Screenshot/photo with context:**88```markdown89---90date: 2025-05-2391imageUrl: /images/250523_claude4imagecritic.jpeg92---9394Claude 4 as image critic.95```9697## When to Use Images vs Other Content Types9899| Type | When to use | Format |100|------|-------------|--------|101| **Image** | Visual content (screenshot, photo, chart) with brief caption | date + imageUrl, YYMMDD.md |102| **Thought** | Quick insight, observation, philosophical reflection | Minimal frontmatter, blockquote style |103| **Idea** | Product/service concept with marketing flair | Structured frontmatter, pitch style |104| **Now Entry** | Life update with multiple focus areas | YYMMDD.md, ## sections |105| **Article** | Full blog post with narrative/technical depth | Complete frontmatter (tags, topics, etc.) |106107## How It Works108109- Images appear on the homepage (`/`) in the main feed110- Integrated with search at `/search`111- Displayed with image and caption together112- Sorted chronologically (newest first)113114## Process115116When the user wants to add an image:1171181. **Confirm the image file exists** in `/public/images/`1192. **Get the image filename** for the `imageUrl` field1203. **Determine today's date** for the filename (YYMMDD.md) and frontmatter (YYYY-MM-DD)1214. **Ask what context/caption** they want to add1225. **Draft the caption** following the style guidelines1236. **Create the file** in `src/content/images/`1247. **Confirm creation** with the user125126## Important Reminders127128- **Always** verify the physical image exists in `/public/images/` first129- The `imageUrl` must start with `/images/` (not `/public/images/`)130- Image files can be any format: `.jpg`, `.png`, `.jpeg`, `.gif`, `.webp`, etc.131- Keep captions brief - this isn't a blog article, just context for the visual