Small experiment I'm running: Claude Code, acting as an autonomous project lead in a VS Code workspace, gets a hard $100 budget and 30 days to make a real profit. It picks the strategy, builds everything, keeps a public ledger and dev log. I only step in to authorize spending or create accounts.
Day 1, it researched the market for a while, wrote up three candidate strategies with cost/risk/reward, rejected two (freelance-platform arbitrage: ToS problems and it'd need me in the loop; SEO/affiliate: too slow for 30 days), and picked one: build and sell a pack of Claude Code skills for the business side of freelancing. Spent so far: $0.
This post isn't really about the experiment. It's about the design it came up with for the skills, because I think the pattern is more useful than the product — and five of the skills are free at the end.
The problem it picked
Every Claude Code tutorial is about code. But if you work for yourself, code is a third of the week. The rest is proposals, invoices, "is this in scope?", weekly client updates, and chasing money. People do that in chat windows, re-explaining their rates every time, with the tone drifting and last week's proposal lost in a thread.
Idea 1: one context file, every skill reads it first
Claude Code skills are markdown files at ~/.claude/skills/<name>/SKILL.md — instructions Claude loads when the description matches what you ask.
Most skills don't know anything about you, so every run starts with explaining. The fix is one file:
# .solo/business.md
## Who I am
- What I do: Shopify builds and CRO for small DTC brands
## Rates
- Day rate: €650 · Minimum engagement: 2 days
## Tone of voice
- Direct. Short sentences. Friendly, never gushing. UK spelling. Never "reach out".
## Payment & terms
- 50% on signing, 50% on delivery. Net 14. 2%/month late fee.
## Active clients
- Acme — checkout redesign — in progress — Sam (sam@acme.com)
Every skill starts with the same step:
## Step 1 — Load context
Read `.solo/business.md`. If missing, tell the user to run /setup-business first.
A /setup-business skill interviews you in batches of 2–3 questions and writes the file. After that, "explain your business, then ask" becomes "just ask". The tone line alone does most of the work on generated emails.
Idea 2: write files, not chat
A skill that ends with a wall of text gets copy-pasted from once. A skill that ends with a file path gets reused — and other skills can build on it.
So each skill has a fixed output location:
| Skill | Writes |
|---|---|
/meeting-notes-to-actions |
meetings/2026-09-15-acme.md |
/proposal-writer |
proposals/acme-2026-09-16.md |
/sow-generator |
sow/acme-2026-09-20.md |
/invoice-generator |
invoices/INV-0007-acme.html + .md
|
/weekly-client-update |
projects/acme/updates/2026-09-22.md |
And they chain. The scope-check skill quotes from the SOW file the SOW skill wrote. The invoice generator scans invoices/ for the highest number so it never repeats. The weekly review reads the time log, the week's meeting notes, and overdue invoices, and says what's stuck.
None of this is clever. It's files in folders. That's why it works.
Idea 3: constraints beat instructions
The section that does the most for output quality. Every skill ends with it:
## Do not
- Do not invent prices, timelines, or proof points not in business.md.
- Do not produce a proposal without an explicit "Not included" section.
- Do not exceed 2 pages.
"Be professional and helpful" does nothing. "Under 150 words" does a lot. "Never invent a date — write (no date set)" does even more, because the alternative is a confident wrong date in an email to a client.
My favourite line, from the meeting-notes skill: do not upgrade "we could" into "we will". That one rule is the difference between a recap a client trusts and one they have to correct.
The template all 26 skills follow
---
name: skill-name
description: Use when the user <says or needs X>. Produces <Y>.
---
# Skill Name
<One sentence: the job.>
## Step 1 — Load context
Read `.solo/business.md` for <what you need>.
## Step 2 — Inputs
<What to gather. Max 3 questions at a time.>
## Step 3 — Write
<Output path. A template in a code block.>
## Rules
- <3–6 opinions about what good looks like>
## Do not
- <hard constraints>
Two things about the frontmatter: the description is the trigger — Claude reads it to decide whether the skill applies, so write it with the words people actually say ("chase an invoice", "is this in scope"). And keep name identical to the folder name.
A full one: meeting notes → actions
Trimmed slightly:
---
name: meeting-notes-to-actions
description: Use when the user has meeting notes, a call transcript, or a voice-memo dump and wants decisions, action items, and a follow-up email out of it.
---
# Meeting Notes → Actions
## Step 1 — Load context
Read `.solo/business.md` if present (tone, client names). Works standalone if missing.
## Step 2 — Extract, then verify
- Decisions — things agreed. Do not upgrade "we could" into "we will".
- Actions — owner + due date if stated; otherwise `(no date set)`.
- Open questions.
- Flags — budget hesitation, scope drift, unclear decision-maker.
Show decisions + actions and ask: "Anything wrong or missing?"
## Step 3 — Write `meetings/<date>-<slug>.md`
<decisions / actions table / open questions / flags / follow-up email under 150 words>
If it was a discovery call, add `## Proposal inputs` so /proposal-writer can use it directly.
## Do not
- Do not invent dates, owners, or commitments.
- Do not include Flags in anything sent to the client.
- Do not summarize the whole conversation.
Paste notes, confirm the decisions, thirty seconds later there's a file and a recap email short enough to get read.
The free starter pack
Five skills, MIT: setup-business, meeting-notes-to-actions, invoice-generator, weekly-review, linkedin-post.
Copy skills/ into ~/.claude/skills/, run /setup-business, then try /meeting-notes-to-actions on your last call.
The full pack — 26 skills across the client lifecycle (lead research, cold outreach, discovery prep, proposals, pricing, SOW, kickoff, client updates, scope-creep guard, late-payment sequence, monthly finance summary, case studies, testimonials, a one-file portfolio site, inbox triage, SOPs, decision memos) plus a playbook on chaining and customizing them — is the thing the experiment is selling: Solo Stack on Gumroad, $19 during launch. Every sale goes in the public ledger; I'll publish the day-30 report, profit or loss.
Either way, steal the pattern: one context file, files not chat, constraints not instructions. If you write a skill with it, I'd like to see it in the comments.
Top comments (0)