<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://academy.memberpress.ai/courses/agent-discoverable-surfaces/l1/</loc>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/7NO7X7xx9xA/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rate-limit OAuth /register for AI clients, not human OAuth</video:title>
      <video:description>The server logs say &quot;rate limit working as designed.&quot; The user&apos;s connector UI says &quot;couldn&apos;t connect.&quot; Nothing in between names the cause. The rate limiter on your /register endpoint was tuned for one developer testing one app — not for thousands of users sharing one AI client&apos;s egress IP.</video:description>
      <video:player_loc>https://www.youtube.com/embed/7NO7X7xx9xA</video:player_loc>
      <video:duration>165</video:duration>
      <video:publication_date>2026-10-14T00:08:13-07:00</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://academy.memberpress.ai/courses/api-fundamentals/l1/</loc>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/ZYPKY1IzVRw/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Get an API key, make one request</video:title>
      <video:description>Documentation tells you what a request looks like. Running one tells you what it feels like — the latency, the response shape, what stop_reason actually means when you read it live.</video:description>
      <video:player_loc>https://www.youtube.com/embed/ZYPKY1IzVRw</video:player_loc>
      <video:duration>156</video:duration>
      <video:publication_date>2026-10-14T00:09:01-07:00</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://academy.memberpress.ai/courses/code-agents/l1/</loc>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/72AF93K26mc/hqdefault.jpg</video:thumbnail_loc>
      <video:title>What a sub-agent is and isn&apos;t</video:title>
      <video:description>You keep hitting a context-length ceiling. The parent agent has accumulated forty thousand tokens of file reads, intermediate reasoning, and tool results, and now the task it is holding is simply too large to finish cleanly. The instinct is to prompt more carefully, or to ask for a longer context…</video:description>
      <video:player_loc>https://www.youtube.com/embed/72AF93K26mc</video:player_loc>
      <video:duration>153</video:duration>
      <video:publication_date>2026-10-14T00:08:58-07:00</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://academy.memberpress.ai/courses/code-intro/l1/</loc>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/ZmPHdFrdENc/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Install Claude Code</video:title>
      <video:description>Most developers install Claude Code, open it in their largest repo, and ask it to &quot;clean things up.&quot; The session produces a 400-line diff they can&apos;t evaluate and they close the tab. The install is not the hard part. Knowing what to look at while Claude runs is.</video:description>
      <video:player_loc>https://www.youtube.com/embed/ZmPHdFrdENc</video:player_loc>
      <video:duration>153</video:duration>
      <video:publication_date>2026-10-13T22:35:40-07:00</video:publication_date>
    </video:video>
  </url>
</urlset>
