DEV Community

Aan Chen
Aan Chen

Posted on

I ran a Gumroad store with Claude Code skills — here are 3 of them, free

Two weeks ago I had zero digital products. Today there are two on Gumroad — an Indonesian freelancer tax tracker (6 sheets, 4,942 formulas) and a photographer booking pack (7 sheets, 2,797 formulas) — plus the listings and the article that promote them. Claude Code did almost all of it. Not because it's magic, but because I stopped prompting and started writing skills.

Here's what that means in practice, and three of the skills, free.

What a skill is (the 20-second version)

A skill is a folder with a SKILL.md file. The front matter tells Claude when to use it; the body tells it how. Drop it in ~/.claude/skills/ and Claude picks it up by itself when your request matches.

skills/invoice-generator/SKILL.md
---
name: invoice-generator
description: "Generate a professional invoice as .xlsx from client, line items,"
  tax and payment terms. Use when the user says invoice, tagihan, bill a client...
---
# Invoice generator
## Inputs to collect (ask only for what is missing)
## Steps
## Output
## Test prompt
Enter fullscreen mode Exit fullscreen mode

The difference between a prompt and a skill is the Steps and verify parts. A prompt says "make an invoice". A skill says: build it with openpyxl, put =B12*C12 in the Amount column, =SUM(D12:D14) in Subtotal, save as Invoice-<no>-<client>.xlsx, then reload the file and confirm the totals are formulas, not numbers. That last line is why the output is sellable.

Skill 1 — invoice-generator

Ask: "Invoice PT Nusa for 2 days wedding coverage at 4.5jt/day plus 300 edited photos at 15k each, PPh 23 withheld, due in 30 days."

What you get back: an .xlsx where Subtotal = 13,500,000, PPh 23 = −270,000, Amount received = 13,230,000 — computed by formulas, which I checked by recalculating in LibreOffice headless. The helper that does the heavy lifting is ~60 lines:

from xlsx_helpers import make_invoice, count_formulas
p, n = make_invoice("inv.xlsx", "Demo Studio", "PT Nusa",
    [("Wedding coverage (day)", 2, 4_500_000), ("Edited photos", 300, 15_000)],
    currency="IDR", tax_mode="pph23")
print(count_formulas(p))   # 5
Enter fullscreen mode Exit fullscreen mode

Skill 2 — gumroad-listing-writer

The rule that matters: open the product file first and pull real counts. Sheet names, formula counts, page counts. Then write name (≤60 chars), slug, 140-char summary, a sectioned description (promise → what's inside → who it's for / not for → how to use → requirements → licence → FAQ), and 6–10 Discover tags split across format, audience and job. Every listing on my store came out of this skill, and none of them contain a number I didn't verify.

Skill 3 — cold-email-from-url

Give it a business's URL. It fetches the site, finds one specific thing that's good and one concrete gap (2019 copyright, no booking button, images that take 6 s), and writes a ≤110-word email with a tiny ask, plus a ≤50-word WhatsApp version with no links. No "I hope this finds you well". It's the skill I'd use if I were doing local-business outreach — the method a few people on r/passive_income reported closing $299/mo retainers with.

Get them

Free, MIT: github.com/signcrypt/claude-ops-pack-sampler — clone, copy skills/* into ~/.claude/skills/, done.

The full pack has 50 skills (16 business ops, 17 dev ops, 17 marketing), four helper scripts and a validator that checks every skill and runs the scripts. It's $19 on Gumroad: https://libertybound0.gumroad.com/l/claude-ops-pack

Question for you: which repetitive thing in your week would you turn into a skill first? I'm adding skills based on replies.

Top comments (0)