{
  "video": {
    "id": "b9UhZkKjX_A",
    "title": "From Your Laptop to the Pipeline: Scaling Custom Agents with GitHub Copilot",
    "duration": 1179,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": ""
  },
  "analysis": {
    "video_id": "b9UhZkKjX_A",
    "title": "From Your Laptop to the Pipeline: Scaling Custom Agents with GitHub Copilot",
    "one_liner": "Build custom Copilot agents locally, share them through a marketplace or a .github-private repo, then move them into CI as agentic workflows, where they run on the repo's budget and identity and OTel instrumentation finally lets you see and cut what they cost.",
    "summary": "Jose Palafox, a GitHub field engineer, walks through two ways of using agents with GitHub Copilot: local agents for your own work and autonomous agents running in the pipeline. He traces the path from scaffolding a custom agent in the Copilot CLI, to distributing it across an org through marketplaces or a GitHub private repo, to coordinating cross-repo work with Orchestrate. The last step runs headless Copilot CLI in GitHub Actions as 'agentic workflows' with human-in-the-loop slash-command gates. He argues that getting agents off laptops and into CI is the key to observability and cost optimisation.",
    "key_points": [
      "Every interface (IDE, GitHub CLI, SDK, github.com cloud agent) goes through 'Cappy', the Copilot API service, which he also calls the harness. It chunks input, sends it to model providers, checks output against open-source content, handles auth, metrics and audit logging, and filters responses before showing them.",
      "You can stream CLI sessions with a /remote command and steer the agent from a mobile device, or delegate the session to github.com to run in the background. The SDK lets you build agents for Slack or Teams for people who don't have a GitHub license.",
      "The CLI's /agents command lists the built-in agents, and each one names its model. The Explorer agent uses a small model (Haiku) to research a codebase. The 'Rubber duck' agent checks a plan written by Opus with a pass from a different provider such as GPT, because different training data gives a different view.",
      "The agent builder (in the CLI and the IDE) turns a one-line prompt into a full agent file: description, front matter, success criteria and methodology. You choose whether it lives at project level or user level, and you can edit everything it writes.",
      "A marketplace is a repository with a bit of extra JSON that marks it as one. It gives light package management: update all agents at once, versioning, and notifying downstream users of security vulnerabilities. Agent files in an org's GitHub private repo get pushed to everyone's IDE, CLI and cloud agent dropdown.",
      "Reusable agents raise your cache-hit rate, and he calls cache hits the cheapest way to use these products. Standardising how people solve problems therefore lowers the overall bill.",
      "Orchestrate, a command in the Copilot app, is the cross-repo horizontal scaling tool. It takes a set of GitHub issues as goals and starts sub-agents inside each target repo, so they have permissions there, for example an API change in one microservice plus the downstream fix it forces.",
      "Agentic workflows run Copilot CLI headless (-p, one-shot prompt) inside GitHub Actions on repo events or cron. Example: a dedup agent files issues, a developer approves one with a slash-command issue comment, a PRD/product-manager agent scopes it, Copilot implements it, and the developer accepts or rejects. The GitHub AW project itself is built entirely by agents, about 200 of them, and its team aims to develop only from mobile. GitHub Next's Agentics repo has about 30 ready-made pipeline agents."
    ],
    "takeaways": [
      "Set up a central marketplace or GitHub private repo for agents and skills early. Many orgs have nowhere for teams to contribute them, and shared agents cut costs by raising cache hits.",
      "Choose the model for each custom agent: a small model like Haiku for exploration, a different provider to review a plan.",
      "Run maintenance-style agents such as dedup, doc updates on release, or weekly context-file refreshes as agentic workflows on the repo's identity and budget. Put human-in-the-loop slash-command gates before the expensive phases.",
      "Move agent workloads into CI with OTel instrumentation so you can track token use and cost per agent and across repos. Investigate any run that goes over its P90 cost, and A/B test front matter or cheaper models when tool calls keep failing.",
      "Look at GitHub Next's Agentics repo and awesome-copilot for ready-made agents before writing your own."
    ],
    "topics": [
      "agents",
      "github copilot",
      "ci/cd",
      "agent distribution",
      "cost optimization",
      "observability",
      "multi-repo orchestration",
      "human-in-the-loop"
    ],
    "tools": [
      "GitHub Copilot",
      "GitHub Copilot CLI",
      "Copilot SDK",
      "Copilot API service (Cappy)",
      "GitHub Actions",
      "GitHub Agentic Workflows (gh-aw)",
      "Agentics (GitHub Next)",
      "awesome-copilot",
      "Orchestrate",
      "Semmle",
      "Microsoft",
      "Slack",
      "Microsoft Teams",
      "Claude Haiku",
      "Claude Opus",
      "GPT",
      "OpenTelemetry",
      "SIEM"
    ],
    "quotes": [
      {
        "text": "it all just ends up being marked down at the end of the day.",
        "at": "03:50",
        "url": "https://www.youtube.com/watch?v=b9UhZkKjX_A&t=230s"
      },
      {
        "text": "the cheapest way to use them is to get cash hits, right?",
        "at": "09:52",
        "url": "https://www.youtube.com/watch?v=b9UhZkKjX_A&t=592s"
      },
      {
        "text": "the agents are lazy about implementing, you know, functions and they're really lazy about namespacing.",
        "at": "13:32",
        "url": "https://www.youtube.com/watch?v=b9UhZkKjX_A&t=812s"
      },
      {
        "text": "getting the workload off of your machine is key for optimizing cost",
        "at": "17:08",
        "url": "https://www.youtube.com/watch?v=b9UhZkKjX_A&t=1028s"
      }
    ],
    "words": 4684
  },
  "summary_url": "/#b9UhZkKjX_A",
  "transcript": {
    "html": "/transcripts/b9UhZkKjX_A.html",
    "txt": "/transcripts/b9UhZkKjX_A.txt",
    "vtt": "/transcripts/b9UhZkKjX_A.vtt"
  }
}