Skydive agents: 11 steps to automate your entire life on $20 of tokens (full course)

@0xCarnagee
Carnage@0xCarnagee
28 views Sep 04, 2026 ~15 min read
Advertisement

96% of your agent bill is the model re-reading things it already read.

Media image

One measured run: 2.85M tokens in, 43K out. A 66 to 1 ratio.

Someone burned a week's allowance in a day on the $200 tier and could not explain why until he read the trace.

Done right, this entire stack burns $20 of tokens a month.

11 steps:

  • your Skydive agent is a git repo - so GrokBot can rewrite it
    • the line in soul.md that explains why agents get smarter
    • one agent beat multi-agent on 64% of tasks
    • the skill description that quietly burned 15,000 tokens a day
    • why the fifth agent in a chain costs 4x the first
    • the routine field everyone skips, and what breaks
    • the $180 line and the 50-routine ceiling nobody mentions



  • 01. A Skydive agent is a git repository

    This is the fact that reorganizes everything else, and almost nobody has written about it.

    Ask a Skydive agent to show you its own repo and it prints the tree. Here is a real one:

    .self/
    ├── soul.md                    identity, standing rules, org context
    ├── mcp.config.json            MCP servers
    ├── index.ts  session.ts       the harness
    ├── start.sh  ready.sh
    ├── Dockerfile  package.json
    ├── .memory/
    │   ├── .gitkeep
    │   └── .version               empty until it learns something
    ├── skills/
    │   ├── agent-browser/SKILL.md
    │   ├── context-discovery/SKILL.md
    │   ├── inbox-triage/SKILL.md
    │   ├── meeting-operations/SKILL.md
    │   ├── review/SKILL.md
    │   ├── scheduling-and-logistics/SKILL.md
    │   ├── triage/SKILL.md
    │   └── webhook-receiver/SKILL.md
    ├── tools/                     local TypeScript tools
    └── webserver/index.ts
    An agent should not be a collection of hidden settings spread across a UI. It should be an artifact that can evolve.

    Three things fall out of that tree immediately.

    Nine skills ship in the box. Inbox triage, meeting operations, scheduling, review, browser control. You are not building an inbox agent from zero, you are configuring one that exists.

    .memory/ starts empty. No MEMORY.md, no user folder. Memory is written when something is learned, not provisioned in advance. That is why a fresh agent will tell you it has low confidence rather than inventing a profile.

    tools/ takes TypeScript. Anything the platform does not cover, you add as code.

    Media image

    02. The two file formats, and they are opposites

    soul.md has no frontmatter. Headings, then rules. It carries identity, standing behavior, and organization context.

    The line inside it that explains the whole design:

    This bootstrap file is temporary. The organization context becomes the durable operating model.

    The agent starts on a scaffold and rewrites itself into something permanent. That is the self-evolving harness, visible as a file.

    SKILL.md is the opposite: frontmatter first.

    ---
    name: inbox-triage
    description: Keep an email inbox focused on what actually matters.
      Classify every thread, archive obvious noise, file completed
      conversations and receipts, surface anything needing the owner's
      attention, and draft (never send) replies. Use for inbox cleanup,
      recurring email triage, bulk organization, or ongoing inbox
      management.
    ---
    
    # Inbox Triage
    
    ## Purpose
    ...
    
    # Hard Rules
    1. Never permanently delete email.
    2. Never send email without explicit approval.
    ...

    The description is the matcher. It decides when this skill loads, which means it decides what you pay. Look at how many trigger phrases are packed into that one field, and how none of them are vague.

    Hard rules come before the workflow, not after. Prohibitions first.

    There is a third pattern in that soul file worth stealing outright:

    Drafted replies, schedules, agendas and briefs are artifacts, not report bullets.

    Detailed work goes to the shared Files area, not into chat, and filesystem paths are never shown to the user. The agent says "the full list is in the triage doc" instead of pasting forty lines.

    And a privacy rule most people would not think to write: a drafted decline can go in the shared file, the private personnel context behind that decline cannot.

    Media image


    03. GrokBot can edit your Skydive agents

    Here is where the two stacks stop being neighbours and start being one system.

    The agent's primary remote is internal. From your laptop it is unreachable:

    origin  https://git.skydive.storage/anyone-agent-<uuid>.git

    But it will add a second remote on GitHub and push main there. Ask it to, and you get back a normal clone URL:

    git clone git@github.com:<you>/<agent-name>.git

    Now your Skydive agent is a GitHub repository, and GrokBot works on GitHub repositories.

                    GrokBot writes a skill in the GitHub repo
                                  ↓
                        git fetch github
                        git pull github main
                        git push origin main
                                  ↓
                  platform rebuilds the sandbox from the new HEAD
                                  ↓
                     agent runs on the updated skill

    One detail from a real sync worth knowing. All three remotes sat on the same commit while an older build was still listed as running. New HEAD is not live until the sandbox restarts.

    So the pairing thesis is not "one does intake, the other does code." It is sharper than that.

    GrokBot builds the agents. Skydive runs them.

    And one consequence that changes how you think about safety.

    On Skydive a change to an agent is a commit, so a rollback is a revert. On GrokBot the primary control is a boundary you write in prose.

    Media image


    04. The 66:1 rule

    MEASURED RUN, one hosted agent
      read / re-read        2,850,000 tokens
      produced                 43,000 tokens
      ratio                        66 : 1
    
    AT GROK 4.6 RATES
      input   2.85M × $2         $5.70
      output   43k  × $6         $0.26
      total                      $5.96

    The output line is 4% of the bill. Everything else is the agent reading, and re-reading, the same context on every step.

    Multi-agent makes it worse, not better. Each tool call adds context and each sub-agent response feeds back into the orchestrator, so costs compound rather than add.

    Three fixes, in order of impact:

  • keep large documents on disk and have the agent search them, not ingest them
  • have it write durable notes instead of re-reading source material each turn
  • bound the corpus: overnight mail, this week's tickets, last quarter
  • The honest caveat from the person who ran that measurement: those are instructions, not guarantees. Read the trace afterwards to see whether the behaviour held.

    Media image



    05. Cost the job before you build it

    cost = (input_tokens / 1M × $2) + (output_tokens / 1M × $6)

    Estimate the input side seriously and the output side barely at all.

    JOB                            PER RUN   30 RUNS   100 RUNS
    inbox triage, 50 emails        $0.089    $2.67     $8.90
    support ticket + repro         $0.078    $2.34     $7.80
    landing page from template     $0.040    $1.20     $4.00
    weekly report, 5 sources       $0.138    $4.14     $13.80
    prospect research, 1 account   $0.062    $1.86     $6.20

    These assume a bounded corpus. Point the same job at an unbounded one and the input line multiplies while the output stays flat.

    GROKBOT     $200/mo, weekly allowance, not unlimited
                bundled with SuperGrok Heavy, Cursor Ultra,
                Cursor Teams Premium
    
    SKYDIVE     $20/mo Starter, 5 users, unlimited agents
                $200/mo Team, 10x usage
                model cost at cost, no markup, no seats

    The rule: metered intake on Skydive, heavy execution on GrokBot, and treat the allowance as a budget rather than a ceiling.




    06. Do not split unless the reason is structural

    Princeton NLP benchmarked single agents against multi-agent systems given the same tools and context.

    The single agent matched or beat the multi-agent setup on 64% of tasks. Multi-agent bought 2.1 percentage points of accuracy at roughly double the cost.

    So splitting is not free and not automatically better. Split only when the reason is structural:

  • different credentials. The agent watching your helpdesk should not hold repo access
  • different tools. One lives in Slack and Gmail, the other lives in the codebase
  • different pricing. Metered watching versus flat-fee execution
  • The Skydive-plus-GrokBot split satisfies all three. Splitting one job across five agents on the same platform usually satisfies none.

    The mistake everyone makes first, in a practitioner's words: they build agents that do everything, and those agents get confused after three or four steps.

    The cost version of the same mistake: a three-agent team gets expensive fast once the agents start sharing context.

    Two rules on roster size, and they contradict the org-chart posts:

    Ten bots you skim is worse than two you trust.

    One business per account. Side projects cause context bleed, and context bleed is the 66:1 ratio working against you.

    The order that keeps it clean: do the task yourself once, then clone the agent from what you just did. Every agent then arrives with a spec you have verified.




    07. The prompts

    Published rosters from different builders converged on the same three rules, which is stronger evidence than any single opinion:

  • drafts never send. Every specialist produces, a human releases
  • report figures exactly, never estimate. No rounding to make a cleaner story
  • decide the obvious, escalate only real decisions
  • The front door. One pinned agent as single entry point, routing rather than working:

    You are my Chief of Staff and the single front door for my work.
    
    READ
      calendar, mail, task list, the channels I name
    
    PRIORITIES
      I keep exactly three: [1] [2] [3]
      Max 3 top-priority items surfaced per day.
      Skip anything assigned to someone else.
      Do not reopen threads I have already closed.
    
    ROUTING
      Before doing a task yourself, check whether a specialist owns it.
      If one does, hand it over and report the result back.
      You coordinate. You do not redo another agent's work.
    
    HIRING
      Propose a new specialist only when a stable, repeating role appears.
      Write the brief first: one job, one lane, what it must never touch,
      and the condition under which it stops. I approve. Then you hire.
    
    VOICE
      Stay short. Decide the obvious. Bring me only real decisions.
    
    NEVER
      send externally, spend money, publish, or delete without approval.

    The specialist. Five blocks, and the last two are the ones people skip:

    JOB          one sentence. If it needs two, split the agent.
    READS        exactly which sources. Bounded by date or scope.
    PRODUCES     the artifact and its fixed shape.
    NEVER        the irreversible actions, listed explicitly.
    STOPS WHEN   the condition that ends the run rather than
                 retrying forever.

    The watcher. Less prompt than people write:

    One short message a day, and only when something actually moved.
    Report figures exactly. Never estimate, never round to make a story.
    Never change anything in the billing tool.
    If nothing moved, say nothing moved.

    The bootstrap. Hand roster design to the front door on day one:

    Review everything I have connected. Build a profile of my
    workstreams and current projects. Then recommend the three
    most useful specialists, automations and plugins to add,
    in priority order, with the brief for each.

    Ask me follow-up questions before recommending anything.

    Answer honestly. It can see your connections. You are guessing at your own habits.

    Media image

    Two more agents worth having. A skill whose only job is to interview you about your business before you build anything. And one deliberately difficult agent that disagrees and challenges the plan, mentioned into a thread when the team has been agreeing too smoothly.

    Media image



    08. The skill description that costs $0 or $15 a day

    Measured across 17 production skills, and it is the sharpest lesson in the set.

    A broad skill called "backend guidance" carried eight reference files and a description matching nearly any backend question.

    So it loaded constantly, including for "what does this error message mean."

    1,500 tokens of overhead per invocation. 10,000 to 15,000 wasted per coding day.

    Split into three narrow skills, each matching one problem category. Token waste dropped to near zero.

    Two more failures from the same set:

    Overlapping descriptions. Two skills mentioned the same domain, so one file triggered both. Two reports, confused output, double the bill.

    A skill that assumed static source. It generated against what the code used to look like. Fourteen days of silent errors. Fix: read the source at runtime, every invocation.

    The rules:

  • one source family, one output format, one approval boundary per skill
  • the description matches exactly one trigger, and never overlaps another
  • do not save a process as a skill until the manual version works, or it repeats the same problem forever
  • use a plain prompt instead when the instruction fits under 200 tokens
  • Media image



    09. Handoff is a file format problem

    The hardest problem across two stacks is not routing. It is state.

    And the naive answer is the expensive one. Forward the full conversation on every handoff and cost scales quadratically.

    A fifty-message thread with four handoffs means the fifth agent processes around two hundred messages.

    FULL FORWARDING     everything, every time
                        simple, and quadratic. avoid.
    
    SUMMARY             the sending agent's recap
                        loses structure, invites questions
    
    FILE, FIXED FIELDS  one writer, append-only, readable cold

    The file the Skydive side writes, and the shape the GrokBot side expects:

    ASK
      one sentence. what needs to change.
    
    CONTEXT
      where it came from, who reported it, when. bounded.
    
    ALREADY TRIED
      what was ruled out and how. this is the field that
      stops the receiver repeating your work.
    
    CONSTRAINTS
      what must not change. compliance, latency, the thing
      that broke last time.
    
    DONE LOOKS LIKE
      the observable condition. not "fixed".
    
    OWNER
      who finishes this. never handed back to sender.

    The delta rule. Do not resend what the receiver already has. Pass only what changed since its last invocation.

    The progress file. Keep one alongside the work. An agent resuming with a fresh context reads that instead of replaying history.

    The number one failure mode, and it is not what people expect. Infinite handoff loops. A passes to B, B to C, C back to A. Each replans because nobody owns the task.

    Fix: ownership, written down. One agent owns it end to end, hands off with a file, and the receiver either finishes or escalates to a human. Never back to the sender.

    One more, from a practitioner: a self-contradicting instruction file is a bigger problem than agent errors.

    Agents follow instructions too literally, so inconsistencies compound rather than cancel.

    The check: can the receiving side act without asking a question? If it asks, the sender wrote a summary.

    Media image



    10. Support queue to merged PR

    SKYDIVE                             GROKBOT
    ─────────                           ───────
    watches the queue                   allowance spent on the change,
    triages by severity                 not on watching a queue
    reproduces the issue
    writes the issue file        ──►    reads the repo
    $0.078 per ticket                   opens the PR
                                        runs the tests
    ◄── posts resolution back

    Setup:

  • Skydive agent scoped to the support tool only, nothing else on its computer
  • output is the file from step 09, not a summary
  • GrokBot triggers on the file landing, not on the ticket arriving
  • PR opened, never merged, without a human
  • Cost: intake $7.80 per 100 tickets. The change comes out of the flat allowance.

    Why the split is economic: a queue-watcher on GrokBot spends allowance on waiting. On Skydive it costs cents.

    Two more pairings on the same pattern.

    Alert to fix. Skydive holds the monitoring credentials and writes an incident file naming the suspected cause. GrokBot triggers on it. A human approves the deploy, permanently.

    The check: at 3am, does it wake you with a cause or a symptom?

    Question to dashboard. Someone asks in Slack for signups by channel last quarter. Skydive clarifies in-thread which channels, what boundary, what counts as a signup, then writes the spec. GrokBot writes the query.

    The expensive part of a data request was never the SQL. It was four days of arguing about definitions, and that part is metered and cheap.




    11. Routines, allowance, and the list that never moves

    The ceiling: a bot can own up to 50 routines, and the app keeps the 20 most recent run records each. Long-inactive routines pause themselves.

    Fifty is a real limit on one bot, which is another argument for specialists. Twenty records means your audit trail is shallow.

    Confirm six facts on every routine:

    owning agent          who runs it
    schedule + timezone   when, and where "morning" means
    input source          exactly what it reads
    expected result       what done looks like
    approval boundary     what it must never do unaided
    missing-source rule   what happens when the input is not there

    That last field is the one people skip, then wonder why an empty inbox produced a confident summary.

    Three settings that protect your allowance. The one-day-burned-a-week case had two self-diagnosed causes: a chatty pinned thread, and triage pointed at a ten-year-old inbox. Both are the 66:1 rule in action.

  • scope routines to business hours, not always-on
  • put heavy scraping behind purpose-built tools, not raw browsing. Where a connector exists, use the connector
  • move code execution off the allowance by installing coding agents on the bot's own computer
  • The $180 line: if a workload's monthly Skydive usage would clear roughly $180, move it to the flat fee.

    The permanent list, both platforms:

  • anything sent to a person outside the company waits for you
  • anything that spends money or commits to a price waits for you
  • anything published, deleted, agreed to, or signed up for waits for you
  • anything you cannot undo inside a minute waits for you
  • One structural note. On GrokBot, isolation sits at the account level, not the bot level.

    Installed connectors are account-wide, and all bots share one cloud computer with the same sessions and files.

    If you would not give that access to every bot you own, do not put it on the machine at all.

    That is exactly why the intake agents in every pairing above live on Skydive, where access is scoped per agent and a bad change is a git revert.

    Media image

    The cheat sheet

    WORKFLOW              SKYDIVE DOES        GROKBOT DOES      METERED COST
    support queue         triage + repro      the PR            $7.80/100
    production alerts     detect + diagnose   the fix           cents each
    data requests         clarify + spec      query + dashboard cents each
    research to build     gather + spec       implement         $6.20/100
    inbox front door      triage + route      whatever lands    $2.70
    agent maintenance     runs the agent      writes its skills  flat

    The full bill, nothing hidden:

    Skydive Starter        $20/mo
    tokens, all metered    ~$20/mo
    GrokBot                $200/mo, or bundled with
                           Cursor Ultra / Teams Premium

    If you already pay for Cursor, the GrokBot line is already spent and the marginal cost of this entire stack is $40 a month.

    Your first week

    Day 1. Pick one workflow that crosses both. Estimate the input side with step 05.

    Day 2. Build the Skydive side. One account. Grok 4.6. One responsibility.

    Day 3. Ask the agent for its repo tree and read soul.md. You cannot configure what you have not looked at.

    Day 4. Get the handoff file right. Can the other side act without asking?

    Day 5. Push the agent to GitHub, then have GrokBot write it one new skill.

    Read the trace, not the summary. The 66:1 ratio means everything expensive happened in the reading, and the summary will not show it to you.

    Actions
    What You Can Do
    • Export as PDF or Markdown
    • Batch Export to Notion
    • Bookmark & Highlight
    • LinkedIn & Instagram Carousel Maker
    Create Free Account

    Includes 7-day Premium trial

    Advertisement