
Freelance Desk
v0.1.0Clients, proposals, invoices โ and a clerk who chases the money you're owed.
Freelance Desk
agents
Desk Clerk
.agents/desk-clerk/
Morning Desk Check
30 8 * * 1-5
1
Agents
1
Jobs
1
Depts
5
Pages
Keeps the invoices, proposals and clients folders honest โ marks what's overdue, drafts the chasing. Never sends anything.
Freelance Desk
Clients, proposals, invoices โ and a clerk who chases the money you're owed.
How it works
Three folders, one file per thing: a client in clients, a proposal in proposals, an invoice in invoices. The Desk app reads all three and shows what freelancing actually runs on: who owes you money, which proposals have gone quiet, and what's still sitting in drafts.
Each weekday morning the clerk walks the folders and keeps them honest. An invoice past its due date gets marked Overdue and a ready-to-paste chase note written into its file. A proposal that's had a week of silence gets a nudge drafted. Your own notes are never touched โ the clerk writes only in each file's Log.
The clerk drafts; it never sends. Every chase note and nudge waits in the file for you to paste into your own email, so nothing goes to a client without passing through your hands.
Adding things
Copy the example file in any of the three folders and change the answers, or tell the
clerk โ "invoice Marlowe $1,200 for the site work, due in two weeks" โ and it files
the invoice for you, filled in. When money arrives, say so ("Marlowe paid") or flip
the file's state line to Paid yourself. The page redraws from the folders, so the
folders are always the truth.
What's inside
- Desk Clerk โ the one agent. Keeps the folders honest, drafts the chasing.
- Morning Desk Check โ the one routine. Runs at 08:30 every weekday.
- Desk โ the one page. Money owed at the top, then what needs a push.
- clients/ ยท proposals/ ยท invoices/ โ one file per thing; the examples show the shape.
- setup.md โ your rates, terms and chasing voice. Drafts follow it exactly.
$ git clone --filter=blob:none --sparse https://github.com/cabinetai/cabinets.git && cd cabinets && git sparse-checkout set freelance-desk