Skip to content

Free workshop · Charlotte Startup House, Charlotte, NC

Finish one thing tonight.

Build an AI operator that knows where you stall, then use it to ship the thing you've been putting off.

About two hours, plus 15 minutes of setup. Bring a laptop. Keep this page open all night.

Stuck? Raise your hand.

A helper will come to you. They can read any step aloud, send you a plain text copy, or sit with you through it. These steps are also available as a printed large-print sheet: ask a helper for one.

Section 00

Tonight

Here's the night, start to finish. Times count from when the session starts.
Run of show for tonight, times from the start of the session
TimeWhat happensHow long
0:00SetupGet the folder, open it in Claude or ChatGPT. Optional: your context repo.15 min
0:15HelloWhat tonight is for, and how to get help.5 min
0:20Watch firstOne full run on the big screen before you start.5 min
0:25Step 1: CollectYour browser history becomes one short digest.15 min
0:40Step 2: InterviewYour operator asks fifteen questions, one at a time.25 min
1:05Step 3: The mirrorWhat you want, next to what you need.10 min
1:15BreakStretch, refill, ask a helper anything.5 min
1:20Step 4: Pick the jobOne job you can finish in thirty minutes.5 min
1:25Step 5: Ship itOutline, your OK, then done. You do the final click.30 min
1:55Show usA few people share what they shipped. Optional.10 min
2:05Step 6: Take it homeA morning brief that keeps you going.7 min
2:12What's nextThe next session, and taking this to your team.3 min
2:15EndThanks for coming.

Section 01

Setup

Fifteen minutes before we start. Get the folder, then open it in the AI you use. Choose Claude or ChatGPT with the Your AI buttons at the top of the page and the steps below change to match.

What you need

  • Claude (Pro plan or above): the Claude desktop app, Code tab. Get the Claude desktop app.
  • ChatGPT (Plus or above): a ChatGPT Project, plus agent mode or the Atlas browser for anything that needs a web page. Open ChatGPT.
  • A laptop. Step 1 runs a small script that needs Python. Most Macs have it. On Windows, if you don't have Python, use the manual export in step 1 instead.

No paid plan? Pair up with your neighbor tonight.

Get the folder

Download the template (.zip)

Unzip it. You get one folder called Operator. Keep it somewhere you will find again, like Desktop or Documents.

What's inside the folder

Operator/

  • .claude/
    • skills/
      • operator/
        • SKILL.md
  • .context/
    • notes/
      • README.md
    • sources/
      • README.md
    • .gitignore
    • README.md
    • context.yaml
  • Archive/
    • README.md
  • chatgpt/
    • PROJECT-INSTRUCTIONS.md
    • SETUP.md
  • examples/
    • chris-inbox/
      • profile/
        • voice.md
      • work/
        • inbox-triage.md
      • README.md
      • inbox-rules.md
      • signature.md
  • inputs/
    • README.md
    • exclude-domains.txt
  • profile/
    • README.md
  • prompts/
    • imported/
      • README.md
    • tracks/
      • content-queue.md
      • icp-finder.md
      • inbox-triage.md
      • media-to-context.md
    • README.md
    • hated-tasks.md
    • library-sources.md
  • scripts/
    • history_digest.py
    • media_to_context.py
    • test_media_to_context.py
  • steps/
    • 00-context-repo.md
    • 01-collect.md
    • 02-interview.md
    • 03-mirror.md
    • 04-pick-the-job.md
    • 05-ship-it.md
    • 06-take-it-home.md
  • work/
    • README.md
    • _job-template.md
  • CLAUDE.md
  • HARNESS.md
  • START-HERE.md

Open the folder

On Claude

  1. Unzip the folder somewhere you'll find it again (Desktop or Documents).
  2. Open the Claude desktop app. Open the Code tab. Choose the Operator folder.
  3. Say: Read START-HERE.md and CLAUDE.md, then start step 1.

Claude reads CLAUDE.md on its own. When it needs a web page, it uses Claude's built-in browser, not a browser extension.

Your context repo (optional tonight)

The .context/ folder holds outside material: transcripts of talks you learned from, reference notes, documents you want your operator to read. This step turns it into a private GitHub repository you own, so it is backed up and versioned. About ten minutes. You can skip it tonight; the folder works on its own.

Two things never go in it, and never go to GitHub: who you are (profile/) and your raw history exports (inputs/). The repository must stay private.

On Claude

First, in Claude's Code tab, type this and follow the prompts. Pick GitHub.com, HTTPS, and "Login with a web browser". You sign in yourself, so Claude never sees a login token.

Type thisSign in to GitHub
gh auth login

Then paste this to Claude. It asks permission for each command; choose Allow. When it finishes, it reads the visibility back to you. It must say private.

Paste thisMake my context repo
Run step 0 from steps/00-context-repo.md. Check that gh is installed and that
I am signed in (gh auth status). If not, stop and tell me what to type.
Then, inside the .context/ folder only: initialise a git repository, add
every file, and commit with the message "Context repo: start". Create a
PRIVATE GitHub repository named operator-context under my account with
gh repo create, using --private and --source=.context and --push. Confirm
the repository is private by running gh repo view and reading the
visibility line to me. Do not touch profile/ or inputs/. Do not ask me for
any token or password.

Prefer no terminal? The GitHub Desktop steps under ChatGPT work for Claude users too.

Section 02

Watch first

Before anyone types, the host runs the whole thing once on the big screen.

Nothing to do yet. Watch three moments:

  • Where the operator asks a question and waits for the answer.
  • Where it shows an outline and waits for an OK before it makes anything.
  • Who does the final click. It is always the person, never the operator.

Section 03

Collect

Fifteen minutes. One file, inputs/history-digest.md, that shows where your attention actually goes: trimmed to 90 days, domains and page titles only.

On Claude

Paste thisStep 1, collect
Run step 1. Check whether python3 is available. Then run
python3 scripts/history_digest.py and tell me which browsers you found.
If it finds nothing, walk me through the manual export for my browser
from steps/01-collect.md, one click at a time. When the digest exists,
read it and tell me, in three lines: my top five sites, the theme of my
saved bookmarks, and how big my read-later pile is. Nothing else yet.
  • Claude asks permission to run the script. Choose Allow. The script reads a copy of your browser's history on your own computer and writes only the digest.
  • Mac, "python3 not found": macOS offers to install developer tools. Say yes, wait two minutes, run again. Or use the manual export below.
  • Safari users: the script can't read Safari directly. Use the Safari export below, drop the zip into inputs/, run again.

Manual exports, by browser

Chrome, Brave, Arc, or Vivaldi bookmarks

Open the bookmark manager (Mac: Cmd+Option+B, Windows: Ctrl+Shift+O). Choose the three-dots menu at the top of the page, then Export bookmarks. Save into inputs/.

Edge favorites

Open Favorites (Ctrl+Shift+O), choose the three-dots menu, then Export favorites. Save into inputs/.

Firefox bookmarks

Bookmarks menu, Manage bookmarks, Import and Backup, Export Bookmarks to HTML. Save into inputs/.

Safari bookmarks and history

File, then Export Browsing Data to File. Tick Bookmarks and History only. Untick passwords, credit cards, and extensions. Save the zip into inputs/.

Chrome-family history file (only if the script can't find it)

Quit the browser first. Then copy the History file into inputs/. The exact paths for Chrome, Arc, Brave, and Edge on Mac and Windows are in steps/01-collect.md. On a Mac, in Finder press Cmd+Shift+G and paste the path to get there.

Section 04

Interview

Twenty-five minutes. Your operator asks fifteen questions, one at a time, and writes your answers down as your profile.
Paste thisStep 2, the interview
Run step 2: the interview in steps/02-interview.md. Ask me the questions
one at a time, in order. Wait for each answer. If an answer is vague, push
once for the specific instance, then move on. Don't summarize between
questions and don't tell me what I might think. I can say "skip".
When the last question is answered, write my profile files exactly as the
step describes, then tell me in two lines what you wrote.

Nobody sees this but you and your AI. Answer however you like: typing, voice, fragments. Messy is fine. The more honest you are, the more useful your operator gets.

The six parts

  1. A

    The want

    In two sentences: what do you do? Work, business, or the main thing you're building.

    2 questions

  2. B

    Strengths

    What are you actually good at? Not your title. What do people come to you for?

    2 questions

  3. C

    Where you stop

    What's the last thing you meant to do and didn't finish?

    4 questions

  4. D

    Pitfalls

    What weakness costs you the most? The one a close friend would name if you asked them to be blunt.

    3 questions

  5. E

    What works

    Think of a time you pushed through something hard. What made the difference? A deadline, someone waiting on you, a reward, a checklist, a friend?

    3 questions

  6. F

    The stalled thing

    Is there one thing you've been meaning to finish for weeks that we could finish in thirty minutes tonight?

Section 05

The mirror

Ten minutes. Your operator puts what you said next to what your browser shows, and tells you the difference between what you want and what you need.
Paste thisStep 3, the mirror
Run step 3: the mirror. Read profile/about-me.md, profile/strengths.md,
profile/pitfalls.md, and inputs/history-digest.md. Follow the format in
steps/03-mirror.md exactly. Be direct and specific. Use numbers from the
digest. Use my words from the interview. No hedging, no therapy language,
no diagnosis. Then save it as profile/mirror.md.

Want versus need

What you want is what you told it in the interview: the thing you'd hand to an AI for good.

What you need is usually smaller and harder: finish one thing, stop doing one thing, or let someone see it. Not a tool.

Read it alone first. You choose whether to share it.

Fictional example. Not a real person.

What you told me you want. "Get my evenings back."

The pattern. You've saved 41 pages about launching a newsletter in 90 days and searched it 12 times. You told me you stop right before you ship. Those are the same thing.

What you need. To let someone read the first issue.

Tonight. Send issue one to ten people you know. Do we do that one?

Section 06

Pick the job

Five minutes. One job, small enough to finish in thirty minutes. Three ways to pick. Default is A.
  • A. The stalled thing. What the mirror named. Best choice: finishing it is the point of tonight.
  • B. A job you hate. Your operator suggests three from prompts/hated-tasks.md that fit your profile.
  • C. Your own. Anything you'd normally put off, as long as it can be done tonight.
Paste thisStep 4, pick the job
Run step 4. Remind me of tonight's thing from profile/mirror.md. Then
suggest three jobs from prompts/hated-tasks.md that fit my profile, one
line each, with why it fits me. Then ask me to pick: the stalled thing,
one of the three, or my own. Once I pick, cut it down to what we can
finish in thirty minutes and say that back to me in one sentence.

Twelve jobs people put off

Each is sized for about thirty minutes. The tag says when it helps most: START is good if you stall before starting, MIDDLE is good if you stall partway, and FINISH is good if you stall right before shipping.

  1. 1. The follow-up you owe someone

    Tag: FINISH

    Good if you stall right before shipping.

    Paste thisJob 1
    I owe a follow-up to <person> about <topic>. Here's what happened: <notes>.
    Draft it in my voice. Short. One clear next step for them. Outline first.
    I'll send it myself.
  2. 2. The read-later pile

    Tag: START

    Good if you stall before starting.

    Paste thisJob 2
    Take my read-later pile from inputs/history-digest.md. Pick the ten most
    related to what I told you I'm working on. For each, use the built-in
    browser to read it and give me one line: keep, act on, or let go. Then give
    me the single action from the "act on" list worth doing this week.
  3. 3. Inbox to zero decisions

    Tag: MIDDLE

    Good if you stall partway.

    Paste thisJob 3
    I'll paste the subject lines and senders of my unread email. Sort them into:
    reply today, reply this week, read later, ignore. Draft the replies for
    "today" in my voice. Don't send anything.
  4. 4. The weekly plan

    Tag: START

    Good if you stall before starting.

    Paste thisJob 4
    Using profile/ and work/, build my plan for this week: three outcomes, not
    tasks, ranked by payoff for the time. For each, the first 20-minute step.
    Put my biggest pitfall next to the outcome it's most likely to wreck.
  5. 5. Meeting prep

    Tag: START

    Good if you stall before starting.

    Paste thisJob 5
    I have a meeting with <who> about <what> on <date>. Using the built-in
    browser and anything in work/, give me: who they are, what they likely want,
    three questions I should ask, and the one thing I want to leave with.
    One page.
  6. 6. Notes to action items

    Tag: MIDDLE

    Good if you stall partway.

    Paste thisJob 6
    Here are my notes or transcript from <meeting>. Pull out every decision,
    every action item with an owner and a date, and every open question. Then
    draft the recap email. I'll send it.
  7. 7. The proposal or quote

    Tag: FINISH

    Good if you stall right before shipping.

    Paste thisJob 7
    Draft a proposal for <client> for <work>. Use only prices and facts I give
    you; write ASK ME for the rest. Scope, timeline, price, what's not included,
    next step. Outline first.
  8. 8. The post you keep not writing

    Tag: FINISH

    Good if you stall right before shipping.

    Paste thisJob 8
    I've been meaning to post about <topic>. Interview me with five questions,
    one at a time, then write the post in my words. Under 200 words. Tell me
    where to post it. I post it.
  9. 9. Chasing an unpaid invoice

    Tag: FINISH

    Good if you stall right before shipping.

    Paste thisJob 9
    <Client> owes me <amount> for <work>, due <date>. Draft a firm, friendly
    reminder in my voice, and a second, firmer one for a week later. I send them.
  10. 10. The process only you know

    Tag: MIDDLE

    Good if you stall partway.

    Paste thisJob 10
    Interview me about how I do <process>, step by step, one question at a time.
    Then write it as a checklist someone else could follow. Mark any step where
    you had to guess.
  11. 11. The decision you keep circling

    Tag: START

    Good if you stall before starting.

    Paste thisJob 11
    I keep putting off deciding <decision>. Ask me up to five questions, one at
    a time. Then lay out the options, what each costs, and what I'd need to
    believe to pick each. Then ask me to decide, today.
  12. 12. The application or form

    Tag: FINISH

    Good if you stall right before shipping.

    Paste thisJob 12
    I need to finish <application/form> at <link or file>. Read it with the
    built-in browser. Draft every answer from my profile and notes; write ASK ME
    where you don't know. I'll paste the answers in and submit it myself.

Section 07

Ship it

Thirty minutes. The job gets done. Not drafted and parked. Done, with your name on it.
Paste thisStep 5, ship it
Run step 5 on the job in work/. Read profile/pitfalls.md and
profile/rules.md first. Show me an outline and wait for my OK. Then make
it. Ask me for any fact you don't have, and write ASK ME in the draft
until I answer. Watch for my pitfalls the whole way: if you see one,
tell me the way I asked to be told in profile/pitfalls.md, and offer my
guardrail. When it's ready, tell me exactly what my final click is.

How it goes

  1. Outline first. Your operator shows the plan in a few lines. You fix it in your own words, then say go.
  2. It makes the thing. Draft, email, post, page, plan, whatever the job is. It saves to work/<job>/.
  3. It watches you. This is the part that matters. If you start doing your usual thing (polishing forever, adding scope, switching tasks, waiting for perfect), it says so, once, the way you asked, and offers your guardrail.
  4. You do the last click. Send, post, publish, submit. Your operator never does that part. You do it, in the room.
  5. Log the win. Your operator appends one line to profile/wins.md: date, what shipped, how long it sat before tonight.

When the job needs a web page

On Claude

Your operator uses Claude's built-in browser to read pages and research. It never logs in for you or types passwords.

Done when you did the final click, and profile/wins.md has its first line.

Section 08

Your rules

Your operator follows rules you can read and change. These apply from the first minute.
  1. Rule 1

    Never invent a fact or number. If it isn't in their notes or a source you can show, write ASK ME.

  2. Rule 2

    Never send, post, publish, buy, or delete. Draft it. They do the final click.

  3. Rule 3

    Never speak for another person (client, teammate, partner).

  4. Rule 4

    Watch for their pitfalls. profile/pitfalls.md lists how this person usually stalls and what helps. When you see the pattern happening, name it in one plain sentence, using their words from the interview, then offer the guardrail they chose. Once per occurrence. No lectures.

Add a rule any time

When your operator does something you didn't want, write it down once and it applies from then on.

On Claude

Type /operator rule followed by the rule. It goes in profile/rules.md.

Section 09

Your harness

What you built tonight has a name: a harness. It is the set of things that keep an AI helper pointed at your goals instead of its own. Five plain parts, each one a file you can open and change.
  1. 1

    Instructions

    The one file your operator reads at the start of every session. It says who it works for, what it must never do, and how to behave.

    Lives in: CLAUDE.md (ChatGPT users: chatgpt/PROJECT-INSTRUCTIONS.md)

  2. 2

    Memory

    What your operator knows about you, and the outside material you gave it. Who you are stays in profile/. Transcripts and reference notes go in .context/.

    Lives in: profile/ and .context/

  3. 3

    Rules

    Lines your operator never crosses. The list grows every time it does something you did not want.

    Lives in: profile/rules.md

  4. 4

    Jobs

    One card per job. The card says what done looks like and what you are not doing. It moves from todo to doing to done.

    Lives in: work/, one subfolder per job, from work/_job-template.md

  5. 5

    Skills

    Short commands you can type so you do not have to explain the same thing twice.

    Lives in: .claude/skills/operator/SKILL.md

The daily loop

A good day with your operator. Each step is one short message.

  1. Brief. Type /operator brief. It tells you what you shipped, what is still open, and the one pitfall to watch for today. Under 120 words.
  2. Pick a job. Choose one thing from the brief, or say /operator job new <name> to start a new one.
  3. Card. Your operator fills in the job card with you: what done looks like, what you are not doing, and which pitfall this job is likely to trigger. One question at a time.
  4. Outline and OK. Before it makes anything longer than a paragraph, it shows you an outline. You change it in your own words, then say go. It writes "Outline approved on" and the date on the card.
  5. Make it. It does the job. Where it needs a fact it does not have, it writes ASK ME and asks you.
  6. Log the win. You do the final click: send, post, publish. Then /operator win <what shipped>. One line goes in profile/wins.md.
  7. Add a rule when something went wrong. If your operator did something you did not want, say /operator rule <the rule>. It goes in profile/rules.md and applies from then on.

Three habits that keep it working

  • Read the card before you say go. The card is where scope creeps in. If "Done looks like" has grown, cut it back.
  • Trust the memory, check it monthly. Once a month, open profile/pitfalls.md and profile/rules.md and fix anything that is no longer true. You have the final word.
  • Nothing is deleted. Anything you want gone moves to Archive/. That way a rule or a job you drop can always be read again.

All of this is in HARNESS.md at the top of your folder. One page. Read it on the way home.

Section 10

Take it home

Your operator shows up tomorrow without you opening anything: a short brief every weekday morning that keeps score.
Paste thisStep 6, take it home
Run step 6. Set up a weekday morning brief at a time I choose. The brief
reads profile/ and work/ and gives me, in under 120 words:
1. Score: what I shipped since the last brief (from profile/wins.md).
2. Still open: anything in work/ without a win logged.
3. Top three for today, ranked by payoff for the time it takes.
4. Watch for: the one pitfall most likely to show up today, and my guardrail.
5. A one-line sign-off.
Then show me how to call you anytime with /operator.

On Claude

Your operator uses the scheduled task feature in the Claude desktop app to run the brief. If your plan or app version doesn't offer it, it will tell you, and you can run /operator brief each morning instead.

Call it anytime: type /operator in the Code tab, then what you need. For example /operator what am I avoiding or /operator do followed by a job.

Section 11

Bonus tracks

When you're ready for more, the prompts/tracks/ folder has four longer sessions.

Content queue

45 to 60 minutes. Turns what you read and save into posts you'll actually publish. Your operator interviews you before it drafts anything.

Paste thisContent queue track
Run the content-queue track in prompts/tracks/content-queue.md.

Find your ICP

60 minutes, for founders and freelancers. ICP means ideal customer profile: who you serve best, what keeps them up at night, and a 30-second line that lands.

Paste thisFind your ICP track
Run the icp-finder track in prompts/tracks/icp-finder.md. One question at a
time. Push once if I answer with an industry instead of people.

Inbox triage

45 to 60 minutes. Drafts replies to the emails you get over and over, in your own voice, and drafts the forwards for the ones that belong to someone else. You send.

The worked example is Chris's inbox: event inquiries and emails he passes on. See examples/chris-inbox/ in your folder.

Paste thisInbox triage track
Run the inbox-triage track in prompts/tracks/inbox-triage.md.

Add a video or podcast to your context

15 to 20 minutes per source. A transcript saved in .context/ is something your operator can read back next month. A chat about a video is gone when the chat ends. Save the source first, talk about it second.

YouTube links are not downloaded. A YouTube link goes to Gemini as a reference. A podcast episode is downloaded, sent, and the download is removed.

You need your own Gemini API key. Get a free one at Google AI Studio (aistudio.google.com), then type this in your terminal:

Type thisSet your Gemini API key
export GEMINI_API_KEY=<paste your key>

Your operator never asks you to paste the key into chat, and the key is never written to a file in your folder. Then paste:

Paste thisAdd a video or podcast to my context
Run the media-to-context track in prompts/tracks/media-to-context.md.
The source is: <link or file path>.

Section 12

Prompt library

A prompt library is only useful if your operator can find the right prompt without you remembering it exists. Every prompt is one file, in one format, in prompts/.

The format

Every prompt file starts with this header. Then the prompt itself, written so it reads your profile, follows your rules, and writes ASK ME instead of inventing facts.

Paste thisPrompt file header
---
name: weekly-update
use_when: I need to tell a client, board, or team how things are going
inputs: my notes in work/, any numbers I paste
output: a one-page update, outline first
pitfall_guard: stop me from adding a fourth section
source: original | <URL of where it came from>
license: <license if imported>
---

Import a prompt from somewhere else

The rewrite is the point. A prompt written for everyone works for no one. A prompt that knows your pitfalls and your rules works for you.

Paste thisImport a prompt into my library
Import a prompt into my library. Here's the source: <link or pasted text>.
Read it with the built-in browser if it's a link. Check its license. Then
rewrite it in my library format: fill the header, make it read my profile
files, follow my rules, use ASK ME for missing facts, and add a pitfall_guard
based on my profile/pitfalls.md. Save it to prompts/imported/<name>.md.
Show me the before and after in a few lines.

Where to borrow prompts from

Good starting points, checked in October 2026. Licenses change, so your operator checks the license again before importing anything.

Public prompt libraries, what they are good for, which AI they work with, and their license
LibraryWhat's good in itWorks withLicense
Anthropic prompt library (docs.claude.com, Resources)Clean, well-structured prompts for writing, analysis, and business tasksClaude, adapts to othersFree to use
Anthropic Skills (github.com/anthropics/skills)Ready-made Claude skills: documents, spreadsheets, brand, internal commsClaudeMostly Apache 2.0; check each skill
OpenAI Academy and OpenAI prompt examplesRole-based prompt packs for sales, ops, managers, and moreChatGPT, adapts to othersFree to use
Fabric patterns (github.com/danielmiessler/fabric)200+ tightly written "patterns": extract wisdom, summarize, analyze claimsAny modelMIT
Awesome ChatGPT Prompts / prompts.chat (github.com/f/awesome-chatgpt-prompts)Huge community list of role promptsAny modelCC0

How to use them well

  1. Steal the structure, not the words. Most library prompts are generic. The value is the shape: the steps, the output format, the checks.
  2. Always rewrite through your profile. Import with the prompt in README.md so it reads your rules and guards your pitfalls.
  3. Keep only what you use. If you haven't used an imported prompt in a month, move it to Archive/prompts/.
  4. Never paste client secrets into a public prompt site. Libraries are for reading, not for storing your work.

Section 13

What's next

You finished one thing. Here's where it goes from here.

The next session

Date: to be announced.

At the Charlotte Startup House, Charlotte, NC.

Want this for your team?

Tell us about your team in a short call, and we'll talk through what a version of tonight would look like for them.

Book a call about your team