All projects

Project — 06

Claude-skills

A small collection of skills I wrote for Claude Code. Each one is a single SKILL.md file that teaches Claude how I want a recurring job done — writing a commit, reading a website, designing an interface — so I stop explaining it from scratch every session. No dependencies, no build step: just markdown Claude picks up on its own.

Claude Code / Markdown / Prompt design

Official siteView code

01 — What's inside

Habits, written down

Every skill here starts the same way: a task I keep redoing, and a set of corrections I keep repeating out loud. Once the corrections stop changing, they belong in a file rather than in a chat — so the folder grows a little each time that happens.

Skill

One folder, one markdown file, no dependencies

02 — Anatomy of a skill

Header, body, output

However long a skill runs, it does the same three things: say when it applies, say how the work is done, and show what should come back. One slice from a different file for each, in that order.

01The header

Four lines decide when

Every skill opens with frontmatter: a name and a description. That description is the entire trigger — Claude reads it, decides whether the task in front of it matches, and only then loads the rest of the file. Which makes these the highest-leverage sentences in the project: too vague and the skill never fires, too greedy and it fires on everything. This one names the artefacts it covers, so it answers to the actual job rather than to the word design.

The YAML frontmatter of web-design/SKILL.md — a name field reading web-design and a description explaining that the skill designs and builds websites and web interfaces with a deliberate visual point of view, when to use it (landing page, dashboard, form, web app screen, component or artifact, or polishing existing UI) and what it produces (working code whose design choices trace to the project rather than to generic AI defaults, verified for breakpoints, interaction states and accessibility)
web-design/SKILL.md — frontmatter

02The body

A checklist beats an adjective

Below the frontmatter it is plain markdown, and its shape matters more than its length. Headings break the job into passes — look at the design, then pull out the facts, then compress it into a summary — and each pass is a short list of concrete things to find rather than an instruction to be thorough. Nouns survive a long conversation; adjectives quietly evaporate somewhere around the third message.

A section of web-analysis/SKILL.md headed 'Identify important information in the website or application', listing what to look for after the design pass: the name and purpose of the site, key features such as search, filtering and sorting, locations and maps, contact information, and opening hours or scheduling features
web-analysis/SKILL.md — the second pass

03The output

Show the shape of the answer

Most skills end with a template — the literal form the reply should come back in. commit-message closes on a heading skeleton: a one-sentence title, a short why, then bullets for what moved, renames and deletions included. Described in prose you get an approximation of that; written out as the markdown itself you get it back verbatim, every time. Every commit in this portfolio's history came out of this file.

The closing template of commit-message/SKILL.md — a markdown skeleton with a Title heading followed by one sentence explaining what the change does, a Description heading for brief context on why it is needed, and a Changes heading with bullet points for specific changes made and any files deleted or renamed
commit-message/SKILL.md — the template

03 — Closing

Prompts you can keep

What I like about skills is that they make prompting durable. The instructions live in a file, in git, next to the work, and they get edited when the output is wrong — the same loop as code. Writing them is the interesting part: the reader takes everything literally and forgets nothing, so a woolly sentence quietly does nothing at all, while a precise one keeps paying out for months.