{
  "updated": "2026-10-17",
  "window": {
    "from": "2026-08-15",
    "to": "2026-10-16"
  },
  "method": "Read by hand from about 1,000 public posts on X by developers sharing real configs, repos and failure reports (engagement bait excluded), then checked against official changelogs and docs. Only behaviour confirmed in vendor documentation is stated as fact.",
  "url": "https://loadout.jnw-it.com/trends/",
  "items": [
    {
      "id": "review-gets-configured",
      "title": "Review is the bottleneck, so review gets configured",
      "date": "2026-10-16",
      "summary": "Claude Code Review reads REVIEW.md from the default branch, never from the pull request; Cursor Bugbot reads .cursor/BUGBOT.md and ignores .cursor/rules. Developers also have one agent ask another model (codex exec, claude -p) for a read-only review before saying done, and attach screenshots to PRs with gh --attach (gh 2.99).",
      "practice": "Put review-only rules in review files, cap nits, get a read-only second opinion on risky diffs, and keep PRs small.",
      "sources": [
        {
          "title": "Claude Code docs, customise Code Review",
          "url": "https://code.claude.com/docs/en/code-review-customize",
          "date": "2026-10-16"
        },
        {
          "title": "Cursor docs, Bugbot",
          "url": "https://cursor.com/docs/bugbot",
          "date": "2026-10-16"
        },
        {
          "title": "GitHub CLI 2.99.0",
          "url": "https://github.com/cli/cli/releases/tag/v2.99.0",
          "date": "2026-09-01"
        },
        {
          "title": "@Damir_Akaza: Claude Code asks codex exec to review",
          "url": "https://x.com/Damir_Akaza/status/2106333764548702392",
          "date": "2026-10-03"
        }
      ],
      "loadouts": [
        {
          "id": "ai-code-review-rules",
          "title": "AI code review rules",
          "url": "https://loadout.jnw-it.com/loadouts/ai-code-review-rules/"
        },
        {
          "id": "second-opinion-review",
          "title": "Second-opinion review from another model",
          "url": "https://loadout.jnw-it.com/loadouts/second-opinion-review/"
        },
        {
          "id": "pr-hygiene-for-agents",
          "title": "PR hygiene for agents",
          "url": "https://loadout.jnw-it.com/loadouts/pr-hygiene-for-agents/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#review-gets-configured"
    },
    {
      "id": "parallel-worktrees",
      "title": "Parallel agents in worktrees are the default",
      "date": "2026-10-15",
      "summary": "Running several agents at once, each in its own git worktree, is built into the tools: claude --worktree and worktree-isolated subagents, managed worktrees in Codex 0.162, and gh issue develop --worktree.",
      "practice": "One task per worktree and branch, separate ports and dependencies, and clean up only after merge.",
      "sources": [
        {
          "title": "Claude Code docs, worktrees",
          "url": "https://code.claude.com/docs/en/worktrees",
          "date": "2026-10-16"
        },
        {
          "title": "GitHub CLI 2.99.0",
          "url": "https://github.com/cli/cli/releases/tag/v2.99.0",
          "date": "2026-09-01"
        }
      ],
      "loadouts": [
        {
          "id": "parallel-agents-worktrees",
          "title": "Parallel agents in git worktrees",
          "url": "https://loadout.jnw-it.com/loadouts/parallel-agents-worktrees/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#parallel-worktrees"
    },
    {
      "id": "antigravity-plugins-auto-mode",
      "title": "Antigravity CLI ships weekly: a plugin marketplace, then Auto mode",
      "date": "2026-10-14",
      "summary": "Antigravity CLI 1.3.2 (8 October) added /plugin and the official marketplace for plugins that bundle skills, MCP servers, subagents, rules and hooks; 1.3.5 (14 October) added Auto mode (--mode auto), which approves edits and safe commands and has a separate agent review commands that would leave the terminal sandbox. 1.4.0 (16 October) fixed ${VAR} expansion in plugin MCP headers.",
      "practice": "Pin what a plugin installs and read its skills and MCP config before enabling it; use Auto mode with the terminal sandbox on, not instead of it.",
      "sources": [
        {
          "title": "Antigravity CLI 1.3.2 release notes (plugin marketplace)",
          "url": "https://github.com/google-antigravity/antigravity-cli/releases/tag/1.3.2",
          "date": "2026-10-08"
        },
        {
          "title": "Antigravity CLI 1.3.5 release notes (Auto mode)",
          "url": "https://github.com/google-antigravity/antigravity-cli/releases/tag/1.3.5",
          "date": "2026-10-14"
        },
        {
          "title": "Antigravity CLI 1.4.0 release notes",
          "url": "https://github.com/google-antigravity/antigravity-cli/releases/tag/1.4.0",
          "date": "2026-10-16"
        }
      ],
      "loadouts": [
        {
          "id": "one-agents-md-every-agent",
          "title": "One AGENTS.md for every agent",
          "url": "https://loadout.jnw-it.com/loadouts/one-agents-md-every-agent/"
        },
        {
          "id": "headless-agents-ci",
          "title": "Headless agents in CI",
          "url": "https://loadout.jnw-it.com/loadouts/headless-agents-ci/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#antigravity-plugins-auto-mode"
    },
    {
      "id": "evals-from-traces",
      "title": "Evals start from real traces, not metric lists",
      "date": "2026-10-13",
      "summary": "Practitioners building agents keep repeating one order of work: read 30 to 50 real traces, note what failed, group the notes into failure modes, and only then write evals, replaying real failures after every prompt, tool or model change. Generic scores (helpfulness, coherence) are out; binary checks tied to observed failures are in.",
      "practice": "Do error analysis on real traces first; turn each recurring failure into a regression case that links to its trace and is shown to fail on the old output.",
      "sources": [
        {
          "title": "Hamel Husain: LLM evals FAQ",
          "url": "https://hamel.dev/blog/posts/evals-faq/",
          "date": "2026-10-16"
        },
        {
          "title": "@Benogju: look at the data, start with around 30 traces",
          "url": "https://x.com/Benogju/status/2104930651573240043",
          "date": "2026-09-29"
        },
        {
          "title": "@pauliusztin_: replay your agent's real failures after every change",
          "url": "https://x.com/pauliusztin_/status/2109986591959626178",
          "date": "2026-10-13"
        }
      ],
      "loadouts": [
        {
          "id": "evals-from-real-failures",
          "title": "Evals from real failures",
          "url": "https://loadout.jnw-it.com/loadouts/evals-from-real-failures/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#evals-from-traces"
    },
    {
      "id": "agents-md-shared-contract",
      "title": "AGENTS.md is the shared contract; per-agent files stay thin",
      "date": "2026-10-10",
      "summary": "Claude Code reads AGENTS.md natively from v2.1.277, but only when no CLAUDE.md is on the path, so a stray CLAUDE.md now shadows it. Codex, Copilot and Cursor read AGENTS.md; Antigravity CLI reads GEMINI.md and AGENTS.md.",
      "practice": "Keep rules in AGENTS.md. Any CLAUDE.md or GEMINI.md should only import it (@AGENTS.md) plus genuine agent quirks.",
      "sources": [
        {
          "title": "Claude Code docs, memory and AGENTS.md",
          "url": "https://code.claude.com/docs/en/memory",
          "date": "2026-10-16"
        },
        {
          "title": "@torfinpd: CLAUDE.md shadows AGENTS.md in 161 of 283 top repos",
          "url": "https://x.com/torfinpd/status/2108876607431553167",
          "date": "2026-10-10"
        },
        {
          "title": "@mitsuhiko: AGENTS.md only",
          "url": "https://x.com/mitsuhiko/status/2088900774466105797",
          "date": "2026-08-16"
        }
      ],
      "loadouts": [
        {
          "id": "one-agents-md-every-agent",
          "title": "One AGENTS.md for every agent",
          "url": "https://loadout.jnw-it.com/loadouts/one-agents-md-every-agent/"
        },
        {
          "id": "cursor-rules-that-load",
          "title": "Cursor rules that load",
          "url": "https://loadout.jnw-it.com/loadouts/cursor-rules-that-load/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#agents-md-shared-contract"
    },
    {
      "id": "skills-over-long-files",
      "title": "Short always-on rules plus on-demand skills",
      "date": "2026-10-10",
      "summary": "Long instruction files are being split into Agent Skills that load only when needed. Cursor loads skills from .agents/skills and other agents' folders and offers /migrate-to-skills; pnpm 12.11 links skills shipped inside packages; vendors ship skills as plugins (Unity).",
      "practice": "Keep AGENTS.md short; move procedures longer than about 15 lines into .agents/skills/<name>/SKILL.md.",
      "sources": [
        {
          "title": "Cursor docs, skills",
          "url": "https://cursor.com/docs/skills",
          "date": "2026-10-16"
        },
        {
          "title": "pnpm docs, agent skills",
          "url": "https://pnpm.io/agent-skills",
          "date": "2026-10-10"
        },
        {
          "title": "Unity agent plugin",
          "url": "https://github.com/Unity-Technologies/unity-agent-plugin",
          "date": "2026-10-16"
        }
      ],
      "loadouts": [
        {
          "id": "cursor-rules-that-load",
          "title": "Cursor rules that load",
          "url": "https://loadout.jnw-it.com/loadouts/cursor-rules-that-load/"
        },
        {
          "id": "unity-agent-plugin",
          "title": "Unity 6 with the official agent plugin",
          "url": "https://loadout.jnw-it.com/loadouts/unity-agent-plugin/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#skills-over-long-files"
    },
    {
      "id": "loops-with-outside-limits",
      "title": "Agent loops go mainstream; the limits move outside the agent",
      "date": "2026-10-09",
      "summary": "Ralph-style loops are now built in: Claude Code's /goal re-runs turns until a separate small model judges a condition met, and Codex's /goal (0.128.0 and later) keeps a persistent objective across turns. Practitioners note that in-session loops and plugins keep one growing context, so for long jobs they still run a fresh process per pass with the check, iteration cap and stop file enforced by a script.",
      "practice": "Give every loop a check it cannot edit, an iteration and no-progress cap, its own branch and a human who merges; use /goal for shorter jobs.",
      "sources": [
        {
          "title": "Claude Code docs: keep Claude working toward a goal",
          "url": "https://code.claude.com/docs/en/goal",
          "date": "2026-10-16"
        },
        {
          "title": "Codex 0.128.0 release notes: persisted /goal workflows",
          "url": "https://github.com/openai/codex/releases/tag/rust-v0.128.0",
          "date": "2026-04-30"
        },
        {
          "title": "@DRMacIver: the Claude Ralph plugin didn't clear context between iterations",
          "url": "https://x.com/DRMacIver/status/2102456718915469473",
          "date": "2026-09-22"
        },
        {
          "title": "@mitchalderson: /goal fires off a Ralph loop",
          "url": "https://x.com/mitchalderson/status/2108622371829518390",
          "date": "2026-10-09"
        }
      ],
      "loadouts": [
        {
          "id": "ralph-loop-guarded",
          "title": "Guarded Ralph loop",
          "url": "https://loadout.jnw-it.com/loadouts/ralph-loop-guarded/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#loops-with-outside-limits"
    },
    {
      "id": "enforcement-in-hooks",
      "title": "Hard rules move from prose into hooks and permissions",
      "date": "2026-10-08",
      "summary": "\"Never do X\" lines go into PreToolUse hooks that deny with a reason, and policy hooks fail closed with onFailure \"block\" (Claude Code v2.1.295). Only exit code 2 blocks; other non-zero exits do not. Deny rules are one layer, not a sandbox: Read denies do not stop shell reads.",
      "practice": "Enforce must-never rules with hooks or deny rules, test each by attempting the forbidden action, and keep a sandbox for real isolation.",
      "sources": [
        {
          "title": "Claude Code docs, hooks reference",
          "url": "https://code.claude.com/docs/en/hooks",
          "date": "2026-10-16"
        },
        {
          "title": "@paulhq: only exit 2 blocks",
          "url": "https://x.com/paulhq/status/2100933039945912672",
          "date": "2026-09-18"
        },
        {
          "title": "@coldboothq: deny rules are not a sandbox",
          "url": "https://x.com/coldboothq/status/2106519666885619942",
          "date": "2026-10-03"
        }
      ],
      "loadouts": [
        {
          "id": "claude-code-hooks-guardrails",
          "title": "Claude Code hooks guard rails",
          "url": "https://loadout.jnw-it.com/loadouts/claude-code-hooks-guardrails/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#enforcement-in-hooks"
    },
    {
      "id": "untrusted-by-default",
      "title": "Supply chain and injection are first-class concerns",
      "date": "2026-10-08",
      "summary": "Plugin4Shell (September 2026) bypassed marketplace pinning in several agents (fixed in Claude Code 2.1.179 and Codex 0.146.0). Codex ignores project AGENTS.md in untrusted folders. claude -p runs a repository's hooks without a trust prompt unless --bare is used, which Anthropic recommends for scripts.",
      "practice": "Pin CLIs, plugins and MCP packages, run CI agents with --bare and least privilege, and treat PR, issue and page text as data.",
      "sources": [
        {
          "title": "Claude Code docs, headless mode",
          "url": "https://code.claude.com/docs/en/headless",
          "date": "2026-10-16"
        },
        {
          "title": "Codex docs, non-interactive mode",
          "url": "https://developers.openai.com/codex/noninteractive",
          "date": "2026-10-16"
        },
        {
          "title": "The Hacker News: Plugin4Shell",
          "url": "https://thehackernews.com/2026/09/plugin4shell-lets-repository-owners.html",
          "date": "2026-09-18"
        }
      ],
      "loadouts": [
        {
          "id": "headless-agents-ci",
          "title": "Headless agents in CI",
          "url": "https://loadout.jnw-it.com/loadouts/headless-agents-ci/"
        },
        {
          "id": "supabase-agent-safety",
          "title": "Supabase with a safe agent",
          "url": "https://loadout.jnw-it.com/loadouts/supabase-agent-safety/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#untrusted-by-default"
    },
    {
      "id": "model-routing-written-down",
      "title": "Subagent model and effort are chosen per task, in writing",
      "date": "2026-10-01",
      "summary": "Instruction files now tell the lead agent which model and effort each subagent gets by task class. Claude Code subagents take model and effort in front matter; Codex custom agents take model and model_reasoning_effort in TOML.",
      "practice": "Route mechanical work to small models at low effort, keep judgement work on the strongest model, and brief every subagent fully.",
      "sources": [
        {
          "title": "Claude Code docs, subagents",
          "url": "https://code.claude.com/docs/en/sub-agents",
          "date": "2026-10-16"
        },
        {
          "title": "Codex docs, subagents",
          "url": "https://developers.openai.com/codex/subagents",
          "date": "2026-10-16"
        },
        {
          "title": "@chrisbanes: subagent model and reasoning selection (gist)",
          "url": "https://gist.github.com/chrisbanes/dc1407ddd22d6e8d6c4d374b564eac9a",
          "date": "2026-10-01"
        }
      ],
      "loadouts": [
        {
          "id": "subagent-model-routing",
          "title": "Subagent model routing",
          "url": "https://loadout.jnw-it.com/loadouts/subagent-model-routing/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#model-routing-written-down"
    },
    {
      "id": "frameworks-ship-agent-tooling",
      "title": "Frameworks ship their own agent skills and MCP servers",
      "date": "2026-09-23",
      "summary": "Framework and tool makers now publish version-matched agent context themselves: Phaser 4 ships agent skills inside its npm package, Expo has an official plugin for Claude Code and Codex and opened its hosted MCP server to the Free plan, and Sentry's XcodeBuildMCP was renamed MobileBuildMCP (npm mobilebuildmcp, 23 September).",
      "practice": "Point the agent at the framework's own skills or MCP server for the installed version instead of relying on model memory and old tutorials.",
      "sources": [
        {
          "title": "phaserjs/phaser: skills folder",
          "url": "https://github.com/phaserjs/phaser/tree/master/skills",
          "date": "2026-10-16"
        },
        {
          "title": "Expo changelog: Expo MCP server on the Free plan",
          "url": "https://expo.dev/changelog/the-expo-mcp-server-is-now-available-on-the-free-plan",
          "date": "2026-05-26"
        },
        {
          "title": "getsentry/MobileBuildMCP (formerly XcodeBuildMCP)",
          "url": "https://github.com/getsentry/XcodeBuildMCP",
          "date": "2026-09-23"
        },
        {
          "title": "@KhalidDevLog: daily mobile MCPs",
          "url": "https://x.com/KhalidDevLog/status/2096183096697586039",
          "date": "2026-09-05"
        }
      ],
      "loadouts": [
        {
          "id": "phaser-web-game",
          "title": "Phaser 4 web game",
          "url": "https://loadout.jnw-it.com/loadouts/phaser-web-game/"
        },
        {
          "id": "expo-react-native",
          "title": "Expo and React Native with Expo MCP",
          "url": "https://loadout.jnw-it.com/loadouts/expo-react-native/"
        },
        {
          "id": "ios-mobilebuildmcp",
          "title": "iOS builds with MobileBuildMCP (XcodeBuildMCP)",
          "url": "https://loadout.jnw-it.com/loadouts/ios-mobilebuildmcp/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#frameworks-ship-agent-tooling"
    },
    {
      "id": "gemini-to-antigravity",
      "title": "Gemini CLI gives way to Antigravity CLI",
      "date": "2026-06-18",
      "summary": "Google announced the move on 19 May 2026; Gemini CLI stopped serving individual Google accounts on 18 June 2026 (enterprise and API-key use continue). Antigravity CLI keeps GEMINI.md, reads workspace skills from .agents/skills/ and MCP servers from .agents/mcp_config.json, where remote servers use serverUrl.",
      "practice": "Move workspace skills from .gemini/skills/ to .agents/skills/ and MCP servers into .agents/mcp_config.json.",
      "sources": [
        {
          "title": "Antigravity CLI: migrating from Gemini CLI",
          "url": "https://antigravity.google/docs/cli/gcli-migration/",
          "date": "2026-10-16"
        },
        {
          "title": "Google Developers Blog: transitioning Gemini CLI to Antigravity CLI",
          "url": "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/",
          "date": "2026-05-19"
        }
      ],
      "loadouts": [
        {
          "id": "one-agents-md-every-agent",
          "title": "One AGENTS.md for every agent",
          "url": "https://loadout.jnw-it.com/loadouts/one-agents-md-every-agent/"
        }
      ],
      "url": "https://loadout.jnw-it.com/trends/#gemini-to-antigravity"
    }
  ]
}