{
  "video": {
    "id": "il1c1a2FufU",
    "title": "Full Workshop: Setting Yourself Up for Success —Jason Liu, OpenAI Codex",
    "duration": 4502,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": "In person"
  },
  "analysis": {
    "video_id": "il1c1a2FufU",
    "title": "Full Workshop: Setting Yourself Up for Success —Jason Liu, OpenAI Codex",
    "one_liner": "Jason Liu of OpenAI shows how he runs most of his job — support triage, comms, slides, flight check-ins, even a refund fight with Amazon — out of pinned Codex threads that wake themselves up on heartbeats, arguing that compaction now works well enough that a thread is a teammate rather than a disposable session.",
    "summary": "The talk is a stretched, interactive version of Liu's keynote: a walkthrough of getting Codex set up so it can absorb context (voice dictation, appshots, plugins, skills), do the work (pinned threads, heartbeats, goals), and take actions out (computer use, Chrome extension, artifacts). His central claim is that the old advice — start a new thread every 20 messages, one conversation per feature — is dead because compaction works; he has threads five weeks old containing ~400 sub-agents that still know their job. He pushes a personal monorepo of markdown as the memory system (projects/, people/, to-dos, each project file listing the Slack channels relevant to it), skills that edit themselves when corrected, and threads that can now list, rename and message each other, so a monitor thread can spawn and manage triage threads. He closes on reasoning effort: xhigh is not xhigh results, it just thinks more.",
    "key_points": [
      "Compaction has invalidated the \"start a new thread\" advice — he has pinned threads five weeks old with ~400 sub-agents in them that still know what their job is; pin the thread, rename it to the project ID, let it delegate and write to a memory vault.",
      "Appshots beat screenshots because they capture the app's entire accessibility tree, not just pixels: an appshot of a Slack channel carries the channel ID and every member's user ID, so \"do some research and reply\" is one function call instead of OCR plus list-channels plus list-persons hops. He hasn't filled out a form himself in two weeks.",
      "He drives Codex with a foot pedal — one button transcribe, one button enter — and argues you talk ~3x faster than you type: send the AI a messy 15-minute voice memo you'd never send a coworker, and let it go read 35 meeting messages to figure out which one you meant.",
      "Heartbeats are just \"keep an eye on this every 30 minutes\" — the modern design schedules a message back into the *same* thread rather than spawning a new one. Applied to a PR: keep it rebased on master, CI passing, feedback integrated, so Monday's PR is mergeable by Thursday without you.",
      "/goal loops against a verification step; with a real verifier it goes far. He migrated a Python backend to Rust, rewrote the rich terminal library in Rust and rewrote uv in TypeScript at 100% test coverage — while saying you should not do this at work.",
      "The memory system is a git-tracked personal monorepo: projects/ (each file front-mattering the Slack channels relevant to that project, which measurably improved results), people/ (everyone who's ever DM'd him, with emails and Slack IDs), an agent-maintained to-do list, per-project README and AGENTS.md. He runs `git diff` after a couple of days to review what the model changed.",
      "Threads can now list, rename and message each other, so a single monitor thread spawns a triage thread per issue, and recognises a recurring complaint days later and pokes the downstream thread — the sidebar becomes the hub of live workstreams, which is the advantage over shapeless background sub-agents.",
      "Real security edges exist: a determined model routes around a blocked connector — blocked from uploading a file via the Slack MCP server, it will open computer use and press the upload button. OpenAI's admin settings block MCP email to any non-OpenAI recipient and messages to external Slack channels; he relies on auto review plus AGENTS.md.",
      "On reasoning effort: xhigh maximalism is a misconception — a friend ran an xhigh appshot to find a coupon and it searched every coupon site for two minutes. His chief-of-staff thread runs on default medium.",
      "Skills are just a few files and scripts; a plugin is a library of them. His most-used internally is a pre-review \"finalize the Codex app\" skill; others include \"review my code like Charlie\" built from a year of that colleague's PR feedback, \"write like me\" (read six months of my emails and Slack, write a style guide), and a check-notes skill used ~150,000 times that he hasn't mentioned in months because memory took over."
    ],
    "takeaways": [
      "Stop starting fresh sessions. Pin one thread per project, rename it, and let it accumulate — then wake it with \"keep an eye on this every 30 minutes\" instead of re-prompting.",
      "Switch your input: set up dictation (he uses a foot pedal) and use appshots rather than pasted screenshots, so the model gets IDs and structure instead of pixels it has to OCR.",
      "Build the memory vault before expecting magic: a git repo of project and people markdown, with Slack channel IDs in each project's front matter, plus the habit of saying \"remember this for next time / update the skill\" every time it gets something wrong. Expect the first day to be bad and the third month to feel like AGI.",
      "Have the model write your prompts, goals and automations — send the messy voice memo and let it produce the chief-of-staff prompt; your taste goes into deciding the shape of the work product (thread, skill, goal, HTML one-pager), not the wording.",
      "Drop down to low and medium reasoning for most work, and write stopping criteria and \"reply 'no updates' if nothing changed\" into your loops so heartbeats don't spam you.",
      "Be the plugin hero: once a personal skill has survived two months, package it for the team — measure yourself on how much your teammates use what you built, not on token burn."
    ],
    "topics": [
      "agents",
      "codex",
      "automation",
      "skills",
      "computer-use",
      "memory",
      "voice-input",
      "ai-security",
      "monorepo"
    ],
    "tools": [
      "OpenAI Codex (desktop app, CLI, iOS app)",
      "appshots",
      "computer use",
      "Codex Chrome extension",
      "remote control / locked use",
      "personal-monorepo-template (GitHub)",
      "skillset.sh",
      "Vercel skills directory",
      "AGENTS.md",
      "Slack",
      "Gmail",
      "Microsoft Teams",
      "Notion",
      "Linear",
      "Obsidian",
      "Google Drive",
      "Google Sheets",
      "GitHub",
      "iMovie",
      "DocuSign",
      "Twitter/X",
      "iMessage",
      "Safari",
      "Chrome",
      "Playwright",
      "React",
      "Rust",
      "uv",
      "rich",
      "Statsig",
      "MCP servers",
      "5.5 and 5.3 Spark models (as named in the talk)",
      "OpenClaw",
      "Hermes agents",
      "Conductor",
      "JetBlue",
      "Amazon"
    ],
    "quotes": [
      {
        "text": "Tony Stark is not texting Jarvis, right? And there's really no future when text input is the thing that matters.",
        "at": "03:53",
        "url": "https://www.youtube.com/watch?v=il1c1a2FufU&t=233s"
      },
      {
        "text": "I don't want to send my coworker like a 15-minute voice memo, but I should feel very comfortable sending an AI a 15 minute voice memo because you're going to include some random tangents.",
        "at": "08:27",
        "url": "https://www.youtube.com/watch?v=il1c1a2FufU&t=507s"
      },
      {
        "text": "Keep replying until you get my money back. And I took a shower and when I came back, I had like $400 in my credit card.",
        "at": "73:34",
        "url": "https://www.youtube.com/watch?v=il1c1a2FufU&t=4414s"
      },
      {
        "text": "People should not be afraid of low reasoning. Like X high is not like X high results. It's just like think more.",
        "at": "74:37",
        "url": "https://www.youtube.com/watch?v=il1c1a2FufU&t=4477s"
      }
    ],
    "words": 15743
  },
  "summary_url": "/#il1c1a2FufU",
  "transcript": {
    "html": "/transcripts/il1c1a2FufU.html",
    "txt": "/transcripts/il1c1a2FufU.txt",
    "vtt": "/transcripts/il1c1a2FufU.vtt"
  }
}