From 97570998f36d0694279b74b3aa7b137ad39699e7 Mon Sep 17 00:00:00 2001 From: chaitanyagiri Date: Sat, 31 Oct 2026 09:44:07 +0530 Subject: [PATCH] seo-engine: day 34 AM, brief 31 Oct with the Claude Code extension notice Co-Authored-By: Claude Opus 5.5 --- blog/src/_data/media.json | 12 + .../agent-tools-today-2026-10-31/motion.css | 13 + .../agent-tools-today-2026-10-31/motion.js | 131 +++++++ .../agent-tools-today-2026-10-31/shutters.png | Bin 0 -> 67382 bytes .../src/posts/agent-tools-today-2026-10-31.md | 67 ++++ .../agent-tools-today-2026-10-03/index.html | 28 +- .../agent-tools-today-2026-10-04/index.html | 28 +- .../agent-tools-today-2026-10-05/index.html | 28 +- .../agent-tools-today-2026-10-06/index.html | 28 +- .../agent-tools-today-2026-10-07/index.html | 28 +- .../agent-tools-today-2026-10-08/index.html | 28 +- .../agent-tools-today-2026-10-09/index.html | 28 +- .../agent-tools-today-2026-10-10/index.html | 28 +- .../agent-tools-today-2026-10-11/index.html | 28 +- .../agent-tools-today-2026-10-12/index.html | 28 +- .../agent-tools-today-2026-10-13/index.html | 28 +- .../agent-tools-today-2026-10-15/index.html | 28 +- .../agent-tools-today-2026-10-16/index.html | 28 +- .../agent-tools-today-2026-10-17/index.html | 28 +- .../agent-tools-today-2026-10-18/index.html | 28 +- .../agent-tools-today-2026-10-19/index.html | 28 +- .../agent-tools-today-2026-10-21/index.html | 28 +- .../agent-tools-today-2026-10-22/index.html | 28 +- .../agent-tools-today-2026-10-23/index.html | 30 +- .../agent-tools-today-2026-10-26/index.html | 28 +- .../agent-tools-today-2026-10-31/index.html | 357 ++++++++++++++++++ .../agent-tools-today-2026-10-31/motion.css | 13 + .../agent-tools-today-2026-10-31/motion.js | 131 +++++++ .../agent-tools-today-2026-10-31/shutters.png | Bin 0 -> 67382 bytes docs/blog/black-october-php2shell/index.html | 30 +- docs/blog/feed.xml | 18 +- docs/blog/gpt-6-1-terra/index.html | 2 +- docs/blog/index.html | 46 ++- docs/blog/tags/claude-code/index.html | 18 +- docs/blog/tags/daily-brief/index.html | 18 +- docs/blog/tags/security/index.html | 18 +- docs/blog/tags/skills/index.html | 20 +- docs/blog/topics/comparisons/index.html | 2 +- docs/blog/topics/concepts/index.html | 2 +- docs/blog/topics/guides/index.html | 2 +- docs/blog/topics/index.html | 14 +- docs/blog/topics/internals/index.html | 2 +- docs/blog/topics/memory/index.html | 2 +- docs/blog/topics/news/index.html | 18 +- docs/blog/topics/orchestration/index.html | 2 +- docs/blog/topics/story/index.html | 2 +- docs/blog/topics/use-cases/index.html | 2 +- docs/llms.txt | 3 +- docs/sitemap.xml | 8 +- 49 files changed, 1171 insertions(+), 344 deletions(-) create mode 100644 blog/src/assets/media/agent-tools-today-2026-10-31/motion.css create mode 100644 blog/src/assets/media/agent-tools-today-2026-10-31/motion.js create mode 100644 blog/src/assets/media/agent-tools-today-2026-10-31/shutters.png create mode 100644 blog/src/posts/agent-tools-today-2026-10-31.md create mode 100644 docs/blog/agent-tools-today-2026-10-31/index.html create mode 100644 docs/blog/assets/media/agent-tools-today-2026-10-31/motion.css create mode 100644 docs/blog/assets/media/agent-tools-today-2026-10-31/motion.js create mode 100644 docs/blog/assets/media/agent-tools-today-2026-10-31/shutters.png diff --git a/blog/src/_data/media.json b/blog/src/_data/media.json index 1f77259780..5c11033914 100644 --- a/blog/src/_data/media.json +++ b/blog/src/_data/media.json @@ -3070,6 +3070,18 @@ }, "youtube": [] }, + "agent-tools-today-2026-10-31": { + "title": "Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5", + "category": "news", + "hero": { + "file": "assets/media/agent-tools-today/hero.png", + "alt": "Hand drawn sketch: a front page with five numbered lines, a clock, and a yellow character reading it out", + "prompt": "Series hero for the Agent Tools Today daily brief, drawn in code (media-src/topic-tiles.html?t=news). Reused by every brief.", + "status": "ready" + }, + "inline": {}, + "youtube": [] + }, "the-hook-shim-pattern": { "title": "The Hook Shim Pattern: Wiring Agent Hooks to a Live Process", "category": "internals", diff --git a/blog/src/assets/media/agent-tools-today-2026-10-31/motion.css b/blog/src/assets/media/agent-tools-today-2026-10-31/motion.css new file mode 100644 index 0000000000..8b812ac40e --- /dev/null +++ b/blog/src/assets/media/agent-tools-today-2026-10-31/motion.css @@ -0,0 +1,13 @@ +/* Bright coded scenes for "Agent tools today, 31 Oct 2026". Pairs with motion.js. */ +.prose figure.mg { margin: 42px 0; } +.prose figure.mg img, .mg .mg-svg { display: block; width: 100%; height: auto; border: 1px solid #1A1320; border-radius: 18px; background: #fff; } +.mg figcaption { font: 500 13px/1.5 "Space Grotesk", system-ui, sans-serif; color: #6B5878; padding-top: 10px; text-align: center; } +.mg .mg-svg { touch-action: manipulation; -webkit-tap-highlight-color: transparent; } +.mg .mg-svg text { -webkit-user-select: none; user-select: none; pointer-events: none; } +.mg .mg-hit { cursor: pointer; outline: none; } +.mg [role="slider"] { cursor: grab; touch-action: none; } +.mg .mg-ring { stroke-opacity: 0; transition: stroke-opacity 0.15s; } +.mg .mg-hit:focus-visible .mg-ring { stroke-opacity: 1; } +.mg [role="slider"]:focus-visible circle:nth-child(2) { stroke-width: 5; } +@media (hover: hover) { .mg .mg-hit:hover .mg-ring { stroke-opacity: 0.5; } } +@media (prefers-reduced-motion: reduce) { .mg .mg-ring { transition: none; } } diff --git a/blog/src/assets/media/agent-tools-today-2026-10-31/motion.js b/blog/src/assets/media/agent-tools-today-2026-10-31/motion.js new file mode 100644 index 0000000000..8c03a018ee --- /dev/null +++ b/blog/src/assets/media/agent-tools-today-2026-10-31/motion.js @@ -0,0 +1,131 @@ +/* Bright coded scenes for "Agent tools today, 31 Oct 2026". Vanilla JS, no library. +
holds a still image; this script swaps in a live SVG. + Plays only in view, honours reduced motion, "?mgstill" freezes each scene on its still frame. */ +(() => { + const NS = "http://www.w3.org/2000/svg"; + const INK = "#1A1320", YEL = "#FFCA54", BLUE = "#6C8EF5", LIL = "#B69CFF", MINT = "#7FD8AE", SKY = "#9AD8FF", SOFT = "#F1ECF9"; + const SANS = '"Space Grotesk", system-ui, sans-serif', MONO = '"JetBrains Mono", ui-monospace, monospace'; + const el = (t, a = {}, p) => { const n = document.createElementNS(NS, t); for (const k in a) n.setAttribute(k, a[k]); if (p) p.appendChild(n); return n; }; + const txt = (p, x, y, s, a = {}) => { const n = el("text", Object.assign({ x, y, "font-family": SANS, "font-size": 24, "font-weight": 600, fill: INK }, a), p); n.textContent = s; return n; }; + const cl = (v, a = 0, b = 1) => Math.max(a, Math.min(b, v)); + const seg = (t, a, b) => cl((t - a) / (b - a)); + const ob = (x) => { const c = 1.70158; return 1 + (c + 1) * Math.pow(x - 1, 3) + c * Math.pow(x - 1, 2); }; + const io = (x) => (x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2); + const tf = (n, x, y, s = 1, r = 0) => n.setAttribute("transform", `translate(${x} ${y}) rotate(${r}) scale(${s})`); + const button = (g, label, fn) => { + g.setAttribute("role", "button"); g.setAttribute("tabindex", "0"); g.setAttribute("aria-label", label); g.classList.add("mg-hit"); + g.addEventListener("click", fn); + g.addEventListener("keydown", (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); fn(); } }); + }; + + const SC = {}; + + /* ---- a small shopfront whose three roller shutters roll up one at a time ---- */ + SC.shutters = { + dur: 8.5, still: 6.5, + build(svg, api) { + const BAYS = [ + { x: 76, fill: LIL, name: ["Claude Code", "extension"], tag: "Check Cursor", at: [0.6, 1.8] }, + { x: 297, fill: SKY, name: ["Claude Code", "2.1.316"], tag: "Subagent effort", at: [2.0, 3.2] }, + { x: 518, fill: MINT, name: ["OpenCode", "2.2.3"], tag: "Claude Agent", at: [3.4, 4.6] }, + ]; + const W = 206, TOP = 180, H = 330, SLAT = 22, TRAVEL = H - 16; + + /* the shop: wall, roof edge, striped awning, pavement */ + el("rect", { x: 60, y: 36, width: 680, height: 504, fill: YEL, stroke: INK, "stroke-width": 3 }, svg); + el("rect", { x: 44, y: 24, width: 712, height: 14, rx: 7, fill: "#fff", stroke: INK, "stroke-width": 3 }, svg); + for (let i = 0; i < 14; i++) el("path", { d: `M${50 + i * 50} 38 H${100 + i * 50} V108 a25 25 0 0 1 -50 0 Z`, fill: i % 2 ? "#fff" : BLUE, stroke: INK, "stroke-width": 3, "stroke-linejoin": "round" }, svg); + el("rect", { x: 24, y: 540, width: 752, height: 26, rx: 13, fill: SOFT, stroke: INK, "stroke-width": 3 }, svg); + + const cur = [0, 0, 0]; + const bays = BAYS.map((b, i) => { + const g = el("g", {}, svg), cx = b.x + W / 2; + el("rect", { x: b.x, y: 146, width: W, height: 364, fill: "#fff", "fill-opacity": 0 }, g); + el("rect", { x: b.x, y: TOP, width: W, height: H, fill: SOFT }, g); + + /* the card behind the shutter, hung on two strings */ + el("path", { d: `M${cx - 58} ${TOP} V280 M${cx + 58} ${TOP} V280`, stroke: INK, "stroke-width": 2.5 }, g); + const card = el("g", {}, g); + el("rect", { x: b.x + 8, y: 250, width: W - 16, height: 190, rx: 14, fill: "#fff", stroke: INK, "stroke-width": 3 }, card); + b.name.forEach((s, j) => txt(card, cx, 305 + j * 36, s, { "text-anchor": "middle", "font-family": MONO, "font-size": 25, "font-weight": 700 })); + const tag = el("g", {}, card); + el("rect", { x: -85, y: -20, width: 170, height: 40, rx: 20, fill: b.fill, stroke: INK, "stroke-width": 2.5 }, tag); + txt(tag, 0, 6.5, b.tag, { "text-anchor": "middle", "font-size": 18, "font-weight": 700 }); + + /* the shutter, slats clipped to the opening */ + const clip = el("clipPath", { id: `shutter-clip-${i}` }, svg); + el("rect", { x: b.x, y: TOP, width: W, height: H }, clip); + const clipped = el("g", { "clip-path": `url(#shutter-clip-${i})` }, g), shutter = el("g", {}, clipped); + for (let s = 0; s < H / SLAT; s++) el("rect", { x: b.x, y: TOP + s * SLAT, width: W, height: SLAT, fill: b.fill, stroke: INK, "stroke-width": 2 }, shutter); + el("rect", { x: cx - 28, y: TOP + H - 12, width: 56, height: 8, rx: 4, fill: "#fff", stroke: INK, "stroke-width": 2 }, shutter); + + /* the frame and the box the shutter rolls into */ + el("rect", { x: b.x, y: TOP, width: W, height: H, fill: "none", stroke: INK, "stroke-width": 3 }, g); + el("rect", { x: b.x, y: 146, width: W, height: 34, rx: 6, fill: "#fff", stroke: INK, "stroke-width": 3 }, g); + const hub = el("g", {}, g); + el("circle", { r: 9, fill: b.fill, stroke: INK, "stroke-width": 2.5 }, hub); + el("path", { d: "M-5 0 H5", stroke: INK, "stroke-width": 2.5, "stroke-linecap": "round" }, hub); + el("rect", { x: b.x - 6, y: 140, width: W + 12, height: 376, rx: 12, fill: "none", stroke: INK, "stroke-width": 3, "stroke-dasharray": "6 6", class: "mg-ring" }, g); + + button(g, `Roller shutter over ${b.name.join(" ")}, tag ${b.tag}`, () => tap(i)); + return { g, card, tag, shutter, hub, cx, at: b.at }; + }); + + /* before any tap the timeline drives; after one, each shutter keeps the state it was given */ + let man = null, last = [6.5, 0]; + const auto = (t, i) => io(seg(t, bays[i].at[0], bays[i].at[1])) * (1 - io(seg(t, 7.6, 8.4))); + const pos = (t, now, i) => (man ? man[i].from + (man[i].to - man[i].from) * io(seg(now, man[i].at, man[i].at + 0.7)) : auto(t, i)); + const paint = (t, now) => { + last = [t, now]; + bays.forEach((b, i) => { + const k = pos(t, now, i); + cur[i] = k; + b.shutter.setAttribute("transform", `translate(0 ${-TRAVEL * k})`); + tf(b.hub, b.cx, 163, 1, k * 900); + b.card.setAttribute("transform", `translate(0 ${14 * (1 - k)})`); + tf(b.tag, b.cx, 386, cl(ob(seg(k, 0.55, 1)), 0, 1.06)); + b.g.setAttribute("aria-pressed", k >= 0.5 ? "true" : "false"); + }); + }; + function tap(i) { + const now = api.now(), snap = calm || frozen; + if (!man) man = cur.map((k) => ({ from: k, to: k >= 0.5 ? 1 : 0, at: now })); + man[i] = { from: cur[i], to: man[i].to >= 0.5 ? 0 : 1, at: now }; + if (snap) { man.forEach((m) => { m.from = m.to; }); paint(last[0], now); } + else api.poke(); + } + return paint; + }, + }; + + /* ---- player ---- */ + const q = new URLSearchParams(location.search), frozen = q.has("mgstill"), fixed = parseFloat(q.get("mgstill")); + const calm = matchMedia("(prefers-reduced-motion: reduce)").matches; + const mount = (fig) => { + const sc = SC[fig.dataset.scene], img = fig.querySelector("img"); if (!sc || !img) return; + const W = sc.w || 800, H = sc.h || 600; + const svg = el("svg", { viewBox: `0 0 ${W} ${H}`, class: "mg-svg", role: "group", "aria-label": img.alt || "" }); + svg.style.aspectRatio = `${W} / ${H}`; + el("rect", { width: W, height: H, fill: "#fff" }, svg); + img.replaceWith(svg); + let off = 0, raf = 0, seen = false, held = calm; + const base = performance.now(), clock = () => (performance.now() - base) / 1000; + let draw = () => {}; + const frame = () => { const now = clock(); draw(held ? sc.still : (((now + off) % sc.dur) + sc.dur) % sc.dur, now); }; + const tick = () => { cancelAnimationFrame(raf); frame(); if (seen && !held) raf = requestAnimationFrame(tick); }; + const api = { now: clock, seek: (s) => { off = s - clock(); held = false; tick(); }, poke: () => { held = false; tick(); } }; + draw = sc.build(svg, api); + if (frozen) { draw(isNaN(fixed) ? sc.still : fixed, 0); return; } + new IntersectionObserver(([e]) => { + seen = e.isIntersecting; + if (seen) { tick(); if (!fig.dataset.sent && window.posthog) { fig.dataset.sent = 1; window.posthog.capture("blog_scene_view", { slug: location.pathname.split("/").filter(Boolean).pop(), scene: fig.dataset.scene }); } } + else cancelAnimationFrame(raf); + }, { threshold: 0.25 }).observe(fig); + svg.addEventListener("click", () => { if (!fig.dataset.hit && window.posthog) { fig.dataset.hit = 1; window.posthog.capture("blog_scene_interact", { slug: location.pathname.split("/").filter(Boolean).pop(), scene: fig.dataset.scene }); } }); + frame(); + }; + const go = () => document.querySelectorAll("figure.mg[data-scene]").forEach(mount); + const fonts = document.fonts && document.fonts.load ? Promise.all([document.fonts.load('700 32px "Space Grotesk"'), document.fonts.load('500 20px "Space Grotesk"'), document.fonts.load('700 20px "JetBrains Mono"')]).catch(() => {}) : Promise.resolve(); + const start = () => fonts.then(go, go); + if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", start); else start(); +})(); diff --git a/blog/src/assets/media/agent-tools-today-2026-10-31/shutters.png b/blog/src/assets/media/agent-tools-today-2026-10-31/shutters.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c1c75eef3a4847c4c4975f870f7d6ca2bb59ee GIT binary patch literal 67382 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≶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 KHwu+4g8mKryJ=eh literal 0 HcmV?d00001 diff --git a/blog/src/posts/agent-tools-today-2026-10-31.md b/blog/src/posts/agent-tools-today-2026-10-31.md new file mode 100644 index 0000000000..e8d37dbd28 --- /dev/null +++ b/blog/src/posts/agent-tools-today-2026-10-31.md @@ -0,0 +1,67 @@ +--- +title: "Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5" +seoTitle: "Agent Tools Today (31 Oct 2026): Launches, Skills, MCP Servers" +description: "The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date." +date: 2026-10-31 +category: news +categoryLabel: News +type: Non-technical +series: agent-tools-today +primaryKeyword: "agent tools today 31 oct 2026" +secondaryKeywords: ["claude code extension backdoor", "cursor marketplace claude code 2.1.313", "claude code 2.1.316", "opencode 2.2.5", "northflank breach", "unslop skill"] +tags: ["Daily Brief", "Claude Code", "Skills", "Security"] +--- + +Agent tools today, 31 Oct 2026, in one line: a tampered Claude Code extension reached Cursor's marketplace, Claude Code 2.1.316 adds an effort setting for subagents, and OpenCode can now use your Claude Code login. It covers 29 to 31 Oct, checked 31 Oct. An earlier edition is [26 Oct](/blog/agent-tools-today-2026-10-26/). + +[Munder Difflin](https://harnessmd.com/download) is free and open source: a desktop app that runs a team of AI agents for all kinds of knowledge work, coding included, on your own computer. It is not ranked in the lists below. + +
Animation. On a white background, a small shopfront has three roller shutters that roll up one at a time. Behind the first, a card reads Claude Code extension with a tag Check Cursor. Behind the second, Claude Code 2.1.316 with a tag Subagent effort. Behind the third, OpenCode 2.2.3 with a tag Claude Agent. Tapping a shutter rolls it down or back up.
The day's three lead items, from Cursor's security notice and the release notes of Claude Code and OpenCode, read 31 Oct 2026.
+ +## Check this first: the Claude Code extension in Cursor + +Cursor's [security notice](https://cursor.com/blog/claude-code-extension-security-notice), posted 29 Oct and updated 30 Oct, says a maliciously modified copy of the Claude Code extension was on its marketplace between about 2:27am and 1:35pm PT on 29 Oct. It names versions 2.1.312 and 2.1.313 for Windows and macOS, and says the code "attempts to install a persistent SSH backdoor". Cursor says the SSH step usually fails because it needs admin rights, but the extension still adds the key, installs persistence and sends host details, and that the attacker's server is now offline. More than 800 points on Hacker News on 31 Oct. + +- **How to check.** If you installed or updated either version from Cursor's marketplace in that window: on a Mac, search `~/.ssh/authorized_keys` for `svc-telemetry`. Cursor says a match means the machine is affected, and its check prints "No key found; machine not impacted" otherwise. Its notice gives the Windows command. +- **How to clean up.** Cursor warns that uninstalling the extension may not be sufficient. The notice has removal scripts and says to isolate an affected machine, assess whether to rebuild it, and rotate credentials and sessions reachable from it, from a trusted system. +- **What each side says.** Cursor writes that these versions "were not developed by Anthropic". [The Register](https://www.theregister.com/cyber-crime/2026/10/30/anthropic-that-claude-code-extension-compromise-couldnt-be-us/5306682) quoted a member of Anthropic's technical staff on 30 Oct: "A malicious actor used access to Cursor's marketplace to publish a tampered copy of the Claude Code extension, which we didn't build or publish. The versions on our official channels are not affected, and this only impacts Cursor users." It also reported that Cursor has not outlined how the package reached the marketplace. + +For the wider picture, see [security for AI coding agents](/blog/security-for-ai-coding-agents/). + +## Top 3 launches + +1. **Mika.** "An on-device AI agent for Android that operates apps and the web to get things done for you", working on a hidden background screen while you use your phone. Apache 2.0, created 29 Oct, more than 1,500 stars on 31 Oct. [Source](https://github.com/wangzan101/Mika) +2. **nesformer.** "An NES CPU compiled into the weights of a stock Qwen3.5 model". It builds on Qwenputer, which compiled a CHIP-8 and then a RISC-V CPU into Qwen3.5-4B. Created 30 Oct, more than 200 points on Hacker News on 31 Oct. [Source](https://github.com/dbreunig/nesformer) +3. **The sleep framework from Google Research.** A method that alternates active use with an offline phase, moving short term context into long term parameters which Google says lets a model keep learning without catastrophic forgetting. Published 27 Oct, more than 180 points on Hacker News on 31 Oct. [Source](https://research.google/blog/the-sleep-framework-a-new-way-for-llms-to-retain-knowledge-in-continual-learning/) + +## Top 3 skills, MCP servers and plugins + +1. **Unslop.** A Claude skill that "turns vibecoded, AI-looking UI into a designed interface". It finds purple gradients, glows and emoji labels first. CC BY 4.0, created 29 Oct, more than 1,400 stars on 31 Oct. [Source](https://github.com/heydamir/unslop) +2. **Floorplan.** "Claude or Codex reads your codebase and draws an interactive map of it", with a plain English name for every part, file and web request. MIT, created 27 Oct, more than 490 stars on 31 Oct. [Source](https://github.com/haydenschmitty/floorplan) +3. **pixelfx.** 232 pixel art effects, each a small piece of code, plus a Claude Code skill for making new ones: draft, render, look, refine. MIT, created 30 Oct, more than 380 stars on 31 Oct. [Source](https://github.com/patch-gg/pixelfx) + +## Top 3 moves from multi agent tools + +1. **Claude Code 2.1.316.** Published 31 Oct. `CLAUDE_CODE_SUBAGENT_EFFORT` sets the effort subagents run at when nothing else names one. Fast mode for Opus 4.8 is deprecated, with removal on 30 Nov 2026. See [Claude Code alternatives](/blog/claude-code-alternatives/). [Source](https://github.com/anthropics/claude-code/releases/tag/v2.1.316) +2. **OpenCode 2.2.3 to 2.2.5.** Three releases on 30 Oct. A built in Claude Agent provider uses your Claude Code login and models, and `compaction.buffer` now accepts a share of the context window, such as `"20%"`. See [OpenCode alternatives](/blog/opencode-alternatives/). [Source](https://github.com/anomalyco/opencode/releases/tag/v2.2.3), [2.2.5](https://github.com/anomalyco/opencode/releases/tag/v2.2.5) +3. **Paradev Desktop 2.0.2.** Published 29 Oct. The right pane area is now on for everyone, and pull request actions use the viewer's own GitHub login rather than the host's. [Source](https://github.com/paradevai/paradev/releases/tag/desktop-v2.0.2) + +## Top 3 rising repos + +1. **DeepTutor.** "Lifelong Personalized Tutoring" from HKUDS. Apache 2.0, more than 51,000 stars, and 2,282 stars in a day on GitHub trending on 31 Oct. [Source](https://github.com/HKUDS/DeepTutor) +2. **T3 Code.** An "agent harness control surface" with a mobile app, which controls the Claude Code, Codex, Cursor, OpenCode and other tools set up on your computer. MIT, more than 32,000 stars, and 930 stars in a day on GitHub trending on 31 Oct. [Source](https://github.com/pingdotgg/t3code) +3. **OpenBot.** From CopilotKit, with AI coworkers that each get a browser, files and tools. Its README says it is "A template, not a product". MIT, more than 8,800 stars, and 706 stars in a day on GitHub trending on 31 Oct. [Source](https://github.com/CopilotKit/OpenBot) + +Stars can rise for reasons other than use: names to watch, not picks. + +## Top 3 things people are arguing about + +1. **What if your hosting platform holds your AI keys?** Northflank's status page tells customers to "assume all environment variables have been compromised and rotate all secrets", and on 30 Oct it said users had reported "unauthorised use of AI API keys supplied to the Northflank platform". It says this may fit a wider pattern of attacks on AI credentials, citing Wiz's Black October report. More than 370 points on Hacker News on 31 Oct. See [Black October](/blog/black-october-php2shell/). [Source](https://status.northflank.com) +2. **What do 50 agents do left alone?** Y Combinator and Olam Labs ran 50 GPT-6.1 Sol agents in Minecraft for 3 hours. They sent about 5,900 messages, and four spent 11 minutes appointing a "sole fertilizer operator". More than 390 points on Hacker News on 31 Oct. [Source](https://labs.ycombinator.com/projects/games/index.html) +3. **Is AI wearing down the people who run production?** A SigNoz newsletter post with a byline of 28 Feb argues that heavy use of AI in incident response erodes the skills needed for new failures: "The more you let the system handle, the worse you get at handling things yourself". More than 520 points on Hacker News on 31 Oct. [Source](https://newsletter.signoz.io/p/ai-isnt-replacing-sres-its-deskilling) + +## How this list is built + +For this edition, covering 29 to 31 Oct, we read the GitHub releases of tracked tools, vendor blogs and changelogs, GitHub trending, and the Hacker News front page. We did not read X or Reddit for it. A name only makes a list with a link that was opened and a signal that can be shown: points, stars or a dated release. Repos are checked against the GitHub API before they appear. New here? Start with the [install guide](/blog/how-to-install-and-use-munder-difflin/). + + diff --git a/docs/blog/agent-tools-today-2026-10-03/index.html b/docs/blog/agent-tools-today-2026-10-03/index.html index b681eaae6c..588fa23780 100644 --- a/docs/blog/agent-tools-today-2026-10-03/index.html +++ b/docs/blog/agent-tools-today-2026-10-03/index.html @@ -249,50 +249,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-04/index.html b/docs/blog/agent-tools-today-2026-10-04/index.html index b762de707d..bccba13dd1 100644 --- a/docs/blog/agent-tools-today-2026-10-04/index.html +++ b/docs/blog/agent-tools-today-2026-10-04/index.html @@ -248,50 +248,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-05/index.html b/docs/blog/agent-tools-today-2026-10-05/index.html index 169736d437..022dd89ae3 100644 --- a/docs/blog/agent-tools-today-2026-10-05/index.html +++ b/docs/blog/agent-tools-today-2026-10-05/index.html @@ -246,50 +246,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-06/index.html b/docs/blog/agent-tools-today-2026-10-06/index.html index d26b5a44d0..d2365d5029 100644 --- a/docs/blog/agent-tools-today-2026-10-06/index.html +++ b/docs/blog/agent-tools-today-2026-10-06/index.html @@ -247,50 +247,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-07/index.html b/docs/blog/agent-tools-today-2026-10-07/index.html index c29d053af7..474187eb7f 100644 --- a/docs/blog/agent-tools-today-2026-10-07/index.html +++ b/docs/blog/agent-tools-today-2026-10-07/index.html @@ -247,50 +247,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-08/index.html b/docs/blog/agent-tools-today-2026-10-08/index.html index 347a4a6ba5..82375c9ffd 100644 --- a/docs/blog/agent-tools-today-2026-10-08/index.html +++ b/docs/blog/agent-tools-today-2026-10-08/index.html @@ -246,50 +246,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-09/index.html b/docs/blog/agent-tools-today-2026-10-09/index.html index fedb7651b3..c6f63697b7 100644 --- a/docs/blog/agent-tools-today-2026-10-09/index.html +++ b/docs/blog/agent-tools-today-2026-10-09/index.html @@ -247,50 +247,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-10/index.html b/docs/blog/agent-tools-today-2026-10-10/index.html index a5c4c53ea7..9f7b69a14f 100644 --- a/docs/blog/agent-tools-today-2026-10-10/index.html +++ b/docs/blog/agent-tools-today-2026-10-10/index.html @@ -247,50 +247,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-11/index.html b/docs/blog/agent-tools-today-2026-10-11/index.html index 1e7c3b9321..5f0fe8432b 100644 --- a/docs/blog/agent-tools-today-2026-10-11/index.html +++ b/docs/blog/agent-tools-today-2026-10-11/index.html @@ -245,50 +245,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-12/index.html b/docs/blog/agent-tools-today-2026-10-12/index.html index 633da03a18..8a7e59dbad 100644 --- a/docs/blog/agent-tools-today-2026-10-12/index.html +++ b/docs/blog/agent-tools-today-2026-10-12/index.html @@ -243,50 +243,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-13/index.html b/docs/blog/agent-tools-today-2026-10-13/index.html index 619a76d622..d631c7f9ef 100644 --- a/docs/blog/agent-tools-today-2026-10-13/index.html +++ b/docs/blog/agent-tools-today-2026-10-13/index.html @@ -243,50 +243,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-15/index.html b/docs/blog/agent-tools-today-2026-10-15/index.html index 12fc7c7cb4..a5566475a1 100644 --- a/docs/blog/agent-tools-today-2026-10-15/index.html +++ b/docs/blog/agent-tools-today-2026-10-15/index.html @@ -242,50 +242,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-16/index.html b/docs/blog/agent-tools-today-2026-10-16/index.html index 88dc97faaa..8fa680aa67 100644 --- a/docs/blog/agent-tools-today-2026-10-16/index.html +++ b/docs/blog/agent-tools-today-2026-10-16/index.html @@ -241,50 +241,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-17/index.html b/docs/blog/agent-tools-today-2026-10-17/index.html index c581d1b0a2..ff59a9e684 100644 --- a/docs/blog/agent-tools-today-2026-10-17/index.html +++ b/docs/blog/agent-tools-today-2026-10-17/index.html @@ -240,50 +240,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-18/index.html b/docs/blog/agent-tools-today-2026-10-18/index.html index 6e93748107..c234548c42 100644 --- a/docs/blog/agent-tools-today-2026-10-18/index.html +++ b/docs/blog/agent-tools-today-2026-10-18/index.html @@ -240,50 +240,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-19/index.html b/docs/blog/agent-tools-today-2026-10-19/index.html index 263c879411..6ec2b429f5 100644 --- a/docs/blog/agent-tools-today-2026-10-19/index.html +++ b/docs/blog/agent-tools-today-2026-10-19/index.html @@ -240,50 +240,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-21/index.html b/docs/blog/agent-tools-today-2026-10-21/index.html index 6d681b9558..8ec7ad5e1f 100644 --- a/docs/blog/agent-tools-today-2026-10-21/index.html +++ b/docs/blog/agent-tools-today-2026-10-21/index.html @@ -240,50 +240,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-22/index.html b/docs/blog/agent-tools-today-2026-10-22/index.html index 99e8ecfde5..8d54b5ccee 100644 --- a/docs/blog/agent-tools-today-2026-10-22/index.html +++ b/docs/blog/agent-tools-today-2026-10-22/index.html @@ -240,50 +240,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-23/index.html b/docs/blog/agent-tools-today-2026-10-23/index.html index 756c587b69..71d381109a 100644 --- a/docs/blog/agent-tools-today-2026-10-23/index.html +++ b/docs/blog/agent-tools-today-2026-10-23/index.html @@ -241,50 +241,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Black October: What PHP2Shell Is and How to Patch (Oct 2026)

-

Black October is the scramble around PHP2Shell, two critical PHP flaws fixed on 21 Oct 2026. Who found them, the fixed versions and how to patch.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 22 Oct 2026: Claude API 2026-10-21, LayerFS 1.0, PHP2Shell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 22 Oct 2026, each with its source.

+

Black October: What PHP2Shell Is and How to Patch (Oct 2026)

+

Black October is the scramble around PHP2Shell, two critical PHP flaws fixed on 21 Oct 2026. Who found them, the fixed versions and how to patch.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-26/index.html b/docs/blog/agent-tools-today-2026-10-26/index.html index 9c9050095d..b211269312 100644 --- a/docs/blog/agent-tools-today-2026-10-26/index.html +++ b/docs/blog/agent-tools-today-2026-10-26/index.html @@ -241,50 +241,50 @@

How this list is built
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 22 Oct 2026: Claude API 2026-10-21, LayerFS 1.0, PHP2Shell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 22 Oct 2026, each with its source.

+

Black October: What PHP2Shell Is and How to Patch (Oct 2026)

+

Black October is the scramble around PHP2Shell, two critical PHP flaws fixed on 21 Oct 2026. Who found them, the fixed versions and how to patch.

News - Read → + Read →
diff --git a/docs/blog/agent-tools-today-2026-10-31/index.html b/docs/blog/agent-tools-today-2026-10-31/index.html new file mode 100644 index 0000000000..2744276beb --- /dev/null +++ b/docs/blog/agent-tools-today-2026-10-31/index.html @@ -0,0 +1,357 @@ + + + + + + + + +Agent Tools Today (31 Oct 2026): Launches, Skills, MCP Servers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

+ +
+ +
Hand drawn sketch: a front page with five numbered lines, a clock, and a yellow character reading it out
+ +
+
+

Agent tools today, 31 Oct 2026, in one line: a tampered Claude Code extension reached Cursor’s marketplace, Claude Code 2.1.316 adds an effort setting for subagents, and OpenCode can now use your Claude Code login. It covers 29 to 31 Oct, checked 31 Oct. An earlier edition is 26 Oct.

+

Munder Difflin is free and open source: a desktop app that runs a team of AI agents for all kinds of knowledge work, coding included, on your own computer. It is not ranked in the lists below.

+
Animation. On a white background, a small shopfront has three roller shutters that roll up one at a time. Behind the first, a card reads Claude Code extension with a tag Check Cursor. Behind the second, Claude Code 2.1.316 with a tag Subagent effort. Behind the third, OpenCode 2.2.3 with a tag Claude Agent. Tapping a shutter rolls it down or back up.
The day's three lead items, from Cursor's security notice and the release notes of Claude Code and OpenCode, read 31 Oct 2026.
+

Check this first: the Claude Code extension in Cursor

+

Cursor’s security notice, posted 29 Oct and updated 30 Oct, says a maliciously modified copy of the Claude Code extension was on its marketplace between about 2:27am and 1:35pm PT on 29 Oct. It names versions 2.1.312 and 2.1.313 for Windows and macOS, and says the code “attempts to install a persistent SSH backdoor”. Cursor says the SSH step usually fails because it needs admin rights, but the extension still adds the key, installs persistence and sends host details, and that the attacker’s server is now offline. More than 800 points on Hacker News on 31 Oct.

+
    +
  • How to check. If you installed or updated either version from Cursor’s marketplace in that window: on a Mac, search ~/.ssh/authorized_keys for svc-telemetry. Cursor says a match means the machine is affected, and its check prints “No key found; machine not impacted” otherwise. Its notice gives the Windows command.
  • +
  • How to clean up. Cursor warns that uninstalling the extension may not be sufficient. The notice has removal scripts and says to isolate an affected machine, assess whether to rebuild it, and rotate credentials and sessions reachable from it, from a trusted system.
  • +
  • What each side says. Cursor writes that these versions “were not developed by Anthropic”. The Register quoted a member of Anthropic’s technical staff on 30 Oct: “A malicious actor used access to Cursor’s marketplace to publish a tampered copy of the Claude Code extension, which we didn’t build or publish. The versions on our official channels are not affected, and this only impacts Cursor users.” It also reported that Cursor has not outlined how the package reached the marketplace.
  • +
+

For the wider picture, see security for AI coding agents.

+

Top 3 launches

+
    +
  1. Mika. “An on-device AI agent for Android that operates apps and the web to get things done for you”, working on a hidden background screen while you use your phone. Apache 2.0, created 29 Oct, more than 1,500 stars on 31 Oct. Source
  2. +
  3. nesformer. “An NES CPU compiled into the weights of a stock Qwen3.5 model”. It builds on Qwenputer, which compiled a CHIP-8 and then a RISC-V CPU into Qwen3.5-4B. Created 30 Oct, more than 200 points on Hacker News on 31 Oct. Source
  4. +
  5. The sleep framework from Google Research. A method that alternates active use with an offline phase, moving short term context into long term parameters which Google says lets a model keep learning without catastrophic forgetting. Published 27 Oct, more than 180 points on Hacker News on 31 Oct. Source
  6. +
+

Top 3 skills, MCP servers and plugins

+
    +
  1. Unslop. A Claude skill that “turns vibecoded, AI-looking UI into a designed interface”. It finds purple gradients, glows and emoji labels first. CC BY 4.0, created 29 Oct, more than 1,400 stars on 31 Oct. Source
  2. +
  3. Floorplan. “Claude or Codex reads your codebase and draws an interactive map of it”, with a plain English name for every part, file and web request. MIT, created 27 Oct, more than 490 stars on 31 Oct. Source
  4. +
  5. pixelfx. 232 pixel art effects, each a small piece of code, plus a Claude Code skill for making new ones: draft, render, look, refine. MIT, created 30 Oct, more than 380 stars on 31 Oct. Source
  6. +
+

Top 3 moves from multi agent tools

+
    +
  1. Claude Code 2.1.316. Published 31 Oct. CLAUDE_CODE_SUBAGENT_EFFORT sets the effort subagents run at when nothing else names one. Fast mode for Opus 4.8 is deprecated, with removal on 30 Nov 2026. See Claude Code alternatives. Source
  2. +
  3. OpenCode 2.2.3 to 2.2.5. Three releases on 30 Oct. A built in Claude Agent provider uses your Claude Code login and models, and compaction.buffer now accepts a share of the context window, such as "20%". See OpenCode alternatives. Source, 2.2.5
  4. +
  5. Paradev Desktop 2.0.2. Published 29 Oct. The right pane area is now on for everyone, and pull request actions use the viewer’s own GitHub login rather than the host’s. Source
  6. +
+

Top 3 rising repos

+
    +
  1. DeepTutor. “Lifelong Personalized Tutoring” from HKUDS. Apache 2.0, more than 51,000 stars, and 2,282 stars in a day on GitHub trending on 31 Oct. Source
  2. +
  3. T3 Code. An “agent harness control surface” with a mobile app, which controls the Claude Code, Codex, Cursor, OpenCode and other tools set up on your computer. MIT, more than 32,000 stars, and 930 stars in a day on GitHub trending on 31 Oct. Source
  4. +
  5. OpenBot. From CopilotKit, with AI coworkers that each get a browser, files and tools. Its README says it is “A template, not a product”. MIT, more than 8,800 stars, and 706 stars in a day on GitHub trending on 31 Oct. Source
  6. +
+

Stars can rise for reasons other than use: names to watch, not picks.

+

Top 3 things people are arguing about

+
    +
  1. What if your hosting platform holds your AI keys? Northflank’s status page tells customers to “assume all environment variables have been compromised and rotate all secrets”, and on 30 Oct it said users had reported “unauthorised use of AI API keys supplied to the Northflank platform”. It says this may fit a wider pattern of attacks on AI credentials, citing Wiz’s Black October report. More than 370 points on Hacker News on 31 Oct. See Black October. Source
  2. +
  3. What do 50 agents do left alone? Y Combinator and Olam Labs ran 50 GPT-6.1 Sol agents in Minecraft for 3 hours. They sent about 5,900 messages, and four spent 11 minutes appointing a “sole fertilizer operator”. More than 390 points on Hacker News on 31 Oct. Source
  4. +
  5. Is AI wearing down the people who run production? A SigNoz newsletter post with a byline of 28 Feb argues that heavy use of AI in incident response erodes the skills needed for new failures: “The more you let the system handle, the worse you get at handling things yourself”. More than 520 points on Hacker News on 31 Oct. Source
  6. +
+

How this list is built

+

For this edition, covering 29 to 31 Oct, we read the GitHub releases of tracked tools, vendor blogs and changelogs, GitHub trending, and the Hacker News front page. We did not read X or Reddit for it. A name only makes a list with a link that was opened and a signal that can be shown: points, stars or a dated release. Repos are checked against the GitHub API before they appear. New here? Start with the install guide.

+ + + + + + +
+ + +
+ + + + +
+ + +
+ +
+ + + + + + diff --git a/docs/blog/assets/media/agent-tools-today-2026-10-31/motion.css b/docs/blog/assets/media/agent-tools-today-2026-10-31/motion.css new file mode 100644 index 0000000000..8b812ac40e --- /dev/null +++ b/docs/blog/assets/media/agent-tools-today-2026-10-31/motion.css @@ -0,0 +1,13 @@ +/* Bright coded scenes for "Agent tools today, 31 Oct 2026". Pairs with motion.js. */ +.prose figure.mg { margin: 42px 0; } +.prose figure.mg img, .mg .mg-svg { display: block; width: 100%; height: auto; border: 1px solid #1A1320; border-radius: 18px; background: #fff; } +.mg figcaption { font: 500 13px/1.5 "Space Grotesk", system-ui, sans-serif; color: #6B5878; padding-top: 10px; text-align: center; } +.mg .mg-svg { touch-action: manipulation; -webkit-tap-highlight-color: transparent; } +.mg .mg-svg text { -webkit-user-select: none; user-select: none; pointer-events: none; } +.mg .mg-hit { cursor: pointer; outline: none; } +.mg [role="slider"] { cursor: grab; touch-action: none; } +.mg .mg-ring { stroke-opacity: 0; transition: stroke-opacity 0.15s; } +.mg .mg-hit:focus-visible .mg-ring { stroke-opacity: 1; } +.mg [role="slider"]:focus-visible circle:nth-child(2) { stroke-width: 5; } +@media (hover: hover) { .mg .mg-hit:hover .mg-ring { stroke-opacity: 0.5; } } +@media (prefers-reduced-motion: reduce) { .mg .mg-ring { transition: none; } } diff --git a/docs/blog/assets/media/agent-tools-today-2026-10-31/motion.js b/docs/blog/assets/media/agent-tools-today-2026-10-31/motion.js new file mode 100644 index 0000000000..8c03a018ee --- /dev/null +++ b/docs/blog/assets/media/agent-tools-today-2026-10-31/motion.js @@ -0,0 +1,131 @@ +/* Bright coded scenes for "Agent tools today, 31 Oct 2026". Vanilla JS, no library. +
holds a still image; this script swaps in a live SVG. + Plays only in view, honours reduced motion, "?mgstill" freezes each scene on its still frame. */ +(() => { + const NS = "http://www.w3.org/2000/svg"; + const INK = "#1A1320", YEL = "#FFCA54", BLUE = "#6C8EF5", LIL = "#B69CFF", MINT = "#7FD8AE", SKY = "#9AD8FF", SOFT = "#F1ECF9"; + const SANS = '"Space Grotesk", system-ui, sans-serif', MONO = '"JetBrains Mono", ui-monospace, monospace'; + const el = (t, a = {}, p) => { const n = document.createElementNS(NS, t); for (const k in a) n.setAttribute(k, a[k]); if (p) p.appendChild(n); return n; }; + const txt = (p, x, y, s, a = {}) => { const n = el("text", Object.assign({ x, y, "font-family": SANS, "font-size": 24, "font-weight": 600, fill: INK }, a), p); n.textContent = s; return n; }; + const cl = (v, a = 0, b = 1) => Math.max(a, Math.min(b, v)); + const seg = (t, a, b) => cl((t - a) / (b - a)); + const ob = (x) => { const c = 1.70158; return 1 + (c + 1) * Math.pow(x - 1, 3) + c * Math.pow(x - 1, 2); }; + const io = (x) => (x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2); + const tf = (n, x, y, s = 1, r = 0) => n.setAttribute("transform", `translate(${x} ${y}) rotate(${r}) scale(${s})`); + const button = (g, label, fn) => { + g.setAttribute("role", "button"); g.setAttribute("tabindex", "0"); g.setAttribute("aria-label", label); g.classList.add("mg-hit"); + g.addEventListener("click", fn); + g.addEventListener("keydown", (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); fn(); } }); + }; + + const SC = {}; + + /* ---- a small shopfront whose three roller shutters roll up one at a time ---- */ + SC.shutters = { + dur: 8.5, still: 6.5, + build(svg, api) { + const BAYS = [ + { x: 76, fill: LIL, name: ["Claude Code", "extension"], tag: "Check Cursor", at: [0.6, 1.8] }, + { x: 297, fill: SKY, name: ["Claude Code", "2.1.316"], tag: "Subagent effort", at: [2.0, 3.2] }, + { x: 518, fill: MINT, name: ["OpenCode", "2.2.3"], tag: "Claude Agent", at: [3.4, 4.6] }, + ]; + const W = 206, TOP = 180, H = 330, SLAT = 22, TRAVEL = H - 16; + + /* the shop: wall, roof edge, striped awning, pavement */ + el("rect", { x: 60, y: 36, width: 680, height: 504, fill: YEL, stroke: INK, "stroke-width": 3 }, svg); + el("rect", { x: 44, y: 24, width: 712, height: 14, rx: 7, fill: "#fff", stroke: INK, "stroke-width": 3 }, svg); + for (let i = 0; i < 14; i++) el("path", { d: `M${50 + i * 50} 38 H${100 + i * 50} V108 a25 25 0 0 1 -50 0 Z`, fill: i % 2 ? "#fff" : BLUE, stroke: INK, "stroke-width": 3, "stroke-linejoin": "round" }, svg); + el("rect", { x: 24, y: 540, width: 752, height: 26, rx: 13, fill: SOFT, stroke: INK, "stroke-width": 3 }, svg); + + const cur = [0, 0, 0]; + const bays = BAYS.map((b, i) => { + const g = el("g", {}, svg), cx = b.x + W / 2; + el("rect", { x: b.x, y: 146, width: W, height: 364, fill: "#fff", "fill-opacity": 0 }, g); + el("rect", { x: b.x, y: TOP, width: W, height: H, fill: SOFT }, g); + + /* the card behind the shutter, hung on two strings */ + el("path", { d: `M${cx - 58} ${TOP} V280 M${cx + 58} ${TOP} V280`, stroke: INK, "stroke-width": 2.5 }, g); + const card = el("g", {}, g); + el("rect", { x: b.x + 8, y: 250, width: W - 16, height: 190, rx: 14, fill: "#fff", stroke: INK, "stroke-width": 3 }, card); + b.name.forEach((s, j) => txt(card, cx, 305 + j * 36, s, { "text-anchor": "middle", "font-family": MONO, "font-size": 25, "font-weight": 700 })); + const tag = el("g", {}, card); + el("rect", { x: -85, y: -20, width: 170, height: 40, rx: 20, fill: b.fill, stroke: INK, "stroke-width": 2.5 }, tag); + txt(tag, 0, 6.5, b.tag, { "text-anchor": "middle", "font-size": 18, "font-weight": 700 }); + + /* the shutter, slats clipped to the opening */ + const clip = el("clipPath", { id: `shutter-clip-${i}` }, svg); + el("rect", { x: b.x, y: TOP, width: W, height: H }, clip); + const clipped = el("g", { "clip-path": `url(#shutter-clip-${i})` }, g), shutter = el("g", {}, clipped); + for (let s = 0; s < H / SLAT; s++) el("rect", { x: b.x, y: TOP + s * SLAT, width: W, height: SLAT, fill: b.fill, stroke: INK, "stroke-width": 2 }, shutter); + el("rect", { x: cx - 28, y: TOP + H - 12, width: 56, height: 8, rx: 4, fill: "#fff", stroke: INK, "stroke-width": 2 }, shutter); + + /* the frame and the box the shutter rolls into */ + el("rect", { x: b.x, y: TOP, width: W, height: H, fill: "none", stroke: INK, "stroke-width": 3 }, g); + el("rect", { x: b.x, y: 146, width: W, height: 34, rx: 6, fill: "#fff", stroke: INK, "stroke-width": 3 }, g); + const hub = el("g", {}, g); + el("circle", { r: 9, fill: b.fill, stroke: INK, "stroke-width": 2.5 }, hub); + el("path", { d: "M-5 0 H5", stroke: INK, "stroke-width": 2.5, "stroke-linecap": "round" }, hub); + el("rect", { x: b.x - 6, y: 140, width: W + 12, height: 376, rx: 12, fill: "none", stroke: INK, "stroke-width": 3, "stroke-dasharray": "6 6", class: "mg-ring" }, g); + + button(g, `Roller shutter over ${b.name.join(" ")}, tag ${b.tag}`, () => tap(i)); + return { g, card, tag, shutter, hub, cx, at: b.at }; + }); + + /* before any tap the timeline drives; after one, each shutter keeps the state it was given */ + let man = null, last = [6.5, 0]; + const auto = (t, i) => io(seg(t, bays[i].at[0], bays[i].at[1])) * (1 - io(seg(t, 7.6, 8.4))); + const pos = (t, now, i) => (man ? man[i].from + (man[i].to - man[i].from) * io(seg(now, man[i].at, man[i].at + 0.7)) : auto(t, i)); + const paint = (t, now) => { + last = [t, now]; + bays.forEach((b, i) => { + const k = pos(t, now, i); + cur[i] = k; + b.shutter.setAttribute("transform", `translate(0 ${-TRAVEL * k})`); + tf(b.hub, b.cx, 163, 1, k * 900); + b.card.setAttribute("transform", `translate(0 ${14 * (1 - k)})`); + tf(b.tag, b.cx, 386, cl(ob(seg(k, 0.55, 1)), 0, 1.06)); + b.g.setAttribute("aria-pressed", k >= 0.5 ? "true" : "false"); + }); + }; + function tap(i) { + const now = api.now(), snap = calm || frozen; + if (!man) man = cur.map((k) => ({ from: k, to: k >= 0.5 ? 1 : 0, at: now })); + man[i] = { from: cur[i], to: man[i].to >= 0.5 ? 0 : 1, at: now }; + if (snap) { man.forEach((m) => { m.from = m.to; }); paint(last[0], now); } + else api.poke(); + } + return paint; + }, + }; + + /* ---- player ---- */ + const q = new URLSearchParams(location.search), frozen = q.has("mgstill"), fixed = parseFloat(q.get("mgstill")); + const calm = matchMedia("(prefers-reduced-motion: reduce)").matches; + const mount = (fig) => { + const sc = SC[fig.dataset.scene], img = fig.querySelector("img"); if (!sc || !img) return; + const W = sc.w || 800, H = sc.h || 600; + const svg = el("svg", { viewBox: `0 0 ${W} ${H}`, class: "mg-svg", role: "group", "aria-label": img.alt || "" }); + svg.style.aspectRatio = `${W} / ${H}`; + el("rect", { width: W, height: H, fill: "#fff" }, svg); + img.replaceWith(svg); + let off = 0, raf = 0, seen = false, held = calm; + const base = performance.now(), clock = () => (performance.now() - base) / 1000; + let draw = () => {}; + const frame = () => { const now = clock(); draw(held ? sc.still : (((now + off) % sc.dur) + sc.dur) % sc.dur, now); }; + const tick = () => { cancelAnimationFrame(raf); frame(); if (seen && !held) raf = requestAnimationFrame(tick); }; + const api = { now: clock, seek: (s) => { off = s - clock(); held = false; tick(); }, poke: () => { held = false; tick(); } }; + draw = sc.build(svg, api); + if (frozen) { draw(isNaN(fixed) ? sc.still : fixed, 0); return; } + new IntersectionObserver(([e]) => { + seen = e.isIntersecting; + if (seen) { tick(); if (!fig.dataset.sent && window.posthog) { fig.dataset.sent = 1; window.posthog.capture("blog_scene_view", { slug: location.pathname.split("/").filter(Boolean).pop(), scene: fig.dataset.scene }); } } + else cancelAnimationFrame(raf); + }, { threshold: 0.25 }).observe(fig); + svg.addEventListener("click", () => { if (!fig.dataset.hit && window.posthog) { fig.dataset.hit = 1; window.posthog.capture("blog_scene_interact", { slug: location.pathname.split("/").filter(Boolean).pop(), scene: fig.dataset.scene }); } }); + frame(); + }; + const go = () => document.querySelectorAll("figure.mg[data-scene]").forEach(mount); + const fonts = document.fonts && document.fonts.load ? Promise.all([document.fonts.load('700 32px "Space Grotesk"'), document.fonts.load('500 20px "Space Grotesk"'), document.fonts.load('700 20px "JetBrains Mono"')]).catch(() => {}) : Promise.resolve(); + const start = () => fonts.then(go, go); + if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", start); else start(); +})(); diff --git a/docs/blog/assets/media/agent-tools-today-2026-10-31/shutters.png b/docs/blog/assets/media/agent-tools-today-2026-10-31/shutters.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c1c75eef3a4847c4c4975f870f7d6ca2bb59ee GIT binary patch literal 67382 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≶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 KHwu+4g8mKryJ=eh literal 0 HcmV?d00001 diff --git a/docs/blog/black-october-php2shell/index.html b/docs/blog/black-october-php2shell/index.html index 1b00fded4d..f8f57ea29e 100644 --- a/docs/blog/black-october-php2shell/index.html +++ b/docs/blog/black-october-php2shell/index.html @@ -326,50 +326,50 @@

FAQ

Related in News

- +
- + 5 min
-

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

+

Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5

+

The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

+

Agent Tools Today, 26 Oct 2026: Kimi K3.1 Pro, Unified Claude Enterprise, ThinkRail

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents from 23 to 26 Oct 2026, each with its source.

News - Read → + Read →
- +
- + 5 min
-

Agent Tools Today, 22 Oct 2026: Claude API 2026-10-21, LayerFS 1.0, PHP2Shell

-

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 22 Oct 2026, each with its source.

+

Agent Tools Today, 23 Oct 2026: Claude Duet, OpenAI CLI, Nvidia OpenShell

+

The top launches, skills and MCP servers, multi agent moves, rising repos and arguments in coding agents on 23 Oct 2026, each with its source.

News - Read → + Read →
diff --git a/docs/blog/feed.xml b/docs/blog/feed.xml index 2d4e0d4bc3..70f4521304 100644 --- a/docs/blog/feed.xml +++ b/docs/blog/feed.xml @@ -4,9 +4,17 @@ Guides, comparisons and pricing for AI agents and coding tools such as Claude Code, Codex and Cursor, each checked and dated. From the makers of Munder Difflin. - 2026-10-27T00:00:00.000Z + 2026-10-31T00:00:00.000Z https://munderdiffl.in/blog/ Chaitanya Girihttps://munderdiffl.in + + Agent Tools Today, 31 Oct 2026: Claude Code Extension Backdoor in Cursor, Claude Code 2.1.316, OpenCode 2.2.5 + + https://munderdiffl.in/blog/agent-tools-today-2026-10-31/ + 2026-10-31T00:00:00.000Z + 2026-10-31T00:00:00.000Z + The top launches, skills, multi agent moves, rising repos and arguments in AI agents from 29 to 31 Oct 2026, each with its source and date. + GPT-6.1 Terra: Price, Specs and How to Use It in Codex (Oct 2026) @@ -479,12 +487,4 @@ 2026-10-08T00:00:00.000Z Claude Code agent teams, checked 8 Oct 2026: what they are, the experimental setting that turns them on, how they differ from subagents, token cost and limits. - - Claude Haiku 5.5: price, benchmarks and where it fits - - https://munderdiffl.in/blog/claude-haiku-5-5/ - 2026-10-08T00:00:00.000Z - 2026-10-08T00:00:00.000Z - Claude Haiku 5.5 is Anthropic's new small model. Its tiered price, Anthropic's own scores and how to pick it in Claude Code, checked 8 Oct 2026. - diff --git a/docs/blog/gpt-6-1-terra/index.html b/docs/blog/gpt-6-1-terra/index.html index 8417454557..5f5a321ae7 100644 --- a/docs/blog/gpt-6-1-terra/index.html +++ b/docs/blog/gpt-6-1-terra/index.html @@ -378,7 +378,7 @@

FAQ

+ + + + + - + -