Logbook
Quick Notes
A stream of short-form updates, software learnings, code snippets, and daily thoughts.
pstack
pstack is a set of agent skills from poteto (Lauren Tan). I am collecting the parts that help me run many agents in parallel, keep the quality, and trust the result more. The idea is to go deep on one agent first, trust it, then parallelize. This is a cheat sheet grouped by what you want to do. Almost everything is one command, /pstack:poteto-mode. Why this matters Running more agents is easy. Trusting what they produce is the hard part. Without that trust you review every line, and you become the bottleneck. More agents then means more babysitting, and the extra output is mostly slop. pstack attacks the trust problem, not the speed problem. Verification replaces line-by-line review. An agent that can run your app and prove its own work lets you check outcomes, not diffs. Agents stop compounding mistakes. Banning workaround comments, adding lints, and encoding repeated corrections stop one agent's hack from becoming the next agent's pattern. Better decisions before code. Prototypes and competing designs settle questions with evidence, so you do not build the wrong thing fast. Scale comes last. Once one agent is trustworthy, you can run many with confidence. She reports about 2,000 to 2,500 PRs a month to production this way. That number is self-reported, so treat it as a claim and not as a benchmark. These skills are worth learning even if you never install pstack. They are small. Principles are 10 to 20 lines, and most skills are a short list of steps. They come from real corrections. Many principles were extracted from months of fixing agent mistakes. They transfer. A verification skill with a feature map, a ban on workaround comments, and prototype before plan work with any agent and any model. They compound. Each step makes the next one safer, which is why the order below matters. Install bash /plugin marketplace add cursor/plugins /plugin install pstack@cursor-plugins Run /pstack:setup-pstack once to pick models and a reasoning budget. Adopt it one step at a time Do not turn everything on at once. Add one step, use it until it feels normal, then add the next. Each step builds on the one before, so the advantage grows over time. | Step | Add | What you get | |---|---|---| | 1 | Prefix prompts with /pstack:poteto-mode | Rigor by default. The agent picks a playbook, proves its work, and names the principles it used. | | 2 | /pstack:create-verification-skill | The agent can run your app and check its own work, so you stop babysitting. | | 3 | /pstack:in-your-own-words, /pstack:teach | You catch misunderstandings before any code, and you keep a mental model of the codebase. | | 4 | Prototype playbook, /pstack:architect | Better designs, decided by evidence and not by abstract plans. | | 5 | /pstack:swarm, /pstack:arena | Several agents at once without losing quality, because step 2 verifies each one. | | 6 | /pstack:no-comments, /pstack:correct, lints | Agents stop copying each other's hacks, so quality improves instead of decaying. | | 7 | Babysit and shipping playbooks, daily /pstack:maintain-verification-skill | PRs land with less of your time, even overnight. | | 8 | /pstack:reflect, /pstack:automate-me | The setup tunes itself to how you work. | Parallelism comes late on purpose. Without step 2, more agents only means more output to babysit. Example: one bug report, step by step A user reports in Slack that the list scrolls and jitters. Here is how the steps above look in prompts. The prompts are adapted from her Part 2 guide. Without pstack. You paste the report and say "fix the scroll bug". The agent guesses a cause, edits code, says "done", and you read the diff to find out if it worked. With pstack. 1. Understand (step 3). Do not give your theory. /pstack:poteto-mode read this slack thread. restate in your own words and in plain english what you think the underlying issue is. 2. Reproduce (step 2). The agent drives the app with the verification skill. /pstack:poteto-mode repro this with the verification skill. if it repros on main, fix it and show me a video as proof. 3. Not a one-line fix (step 4). Compare options with evidence. /pstack:poteto-mode prototype a few options for the fix. drive the app, take screenshots, and pick one with data. 4. Large change (steps 4 and 5). Design first, then fan out. /pstack:poteto-mode /architect a new virtualization approach that removes the jitter. answer open questions with prototypes, then let me review. /pstack:poteto-mode create a plan to migrate every list to it. small PRs, each with visual regression tests and live verification steps. 5. Land it (step 7), even when you are away. /pstack:poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by morning. What changes for you. You read a short restated problem, a video, and a verified result, not a diff full of guesses. Start here /pstack:poteto-mode is the main shortcut. Use it whenever you are doing anything that requires rigor. It picks one of twenty-three playbooks (investigation, bug fix, perf, feature, refactoring, prototype, babysit, shipping, autonomous run, orchestrate, and more) and calls the other skills when the steps need them. /pstack:poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro first, then fix and verify. Trust the output An agent that cannot verify its own work leaves you as the bottleneck. Fix that first. /pstack:create-verification-skill makes a skill that teaches the agent to run, control and debug your app, plus a feature map of what the app does and how a user reaches it. /pstack:maintain-verification-skill keeps that map current. Run it daily as an automation. /pstack:blast-radius finds what a small change can break outside the diff. /pstack:benchmark-checklist checks whether a performance number is trustworthy. /pstack:create-verification-skill for this app, with a feature map. Understand before you build Most bad output comes from unclear intent or missing context. Ask in its own words. Do not state your own hypothesis. Make the agent restate the problem, so you catch a wrong turn before any code. /pstack:in-your-own-words is the skill for it. /pstack:teach explains a change so you understand it. It calls /pstack:how (runtime mechanics) and /pstack:why (history and intent). /pstack:recall pulls context from past chats so a fresh agent starts well. /pstack:poteto-mode read this slack thread. restate in your own words and in plain english what you think the underlying issue is. Design without abstract plans Plan with code, not with long documents. Prototype playbook. Ask for a few options and let the agent answer its own questions with evidence. /pstack:architect grounds the problem, sketches competing designs across model families, has another model judge them, implements against the sketch, and scraps it if it proves wrong. Planning playbook. Turn a settled design into small PRs, each with live verification steps. /pstack:technical-writing for readme-driven design. Write the tutorial for the API first. /pstack:poteto-mode prototype a few options for <feature>. drive the app and take screenshots for me to choose from. /pstack:poteto-mode /architect this new <feature>. answer open questions with prototypes, then let me review. Parallel at scale /pstack:swarm splits work into slices for coverage, or races several routes. /pstack:arena runs N attempts at the same brief, picks a base, and grafts in the best parts. /pstack:interrogate has models from different families review a diff. Projects. A coordinator manages hundreds of cloud agents. Multiple models. Opus is a good manager of other models. Set roles in /pstack:setup-pstack. /pstack:poteto-mode review every package for the same bug class. one agent per slice, one report at the end. Keep the code clean /pstack:no-comments. Ban and delete most code comments. Agents copy a workaround comment, and it spreads. Move that prose into lint rules, types and better APIs. /pstack:correct fixes a repeated agent mistake at the highest layer that works, from architecture down to docs. Refactor for agents. Make the code easier for an agent to navigate and verify. Still read the code. For each smell, refactor it away or add a lint so it cannot return. /pstack:poteto-mode spawn a /swarm that uses /no-comments to find useless comments. plan which workarounds to fix by refactoring and which to delete. Ship and run unattended Babysit playbook drives a PR to green and handles review comments. Shipping playbook verifies a green stack independently, then lands it. Autonomous run keeps going until done. /pstack:show-me-your-work keeps a decision log so you can audit a long run. /pstack:poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by morning. Principles Principles are tiny skills of 10 to 20 lines. poteto-mode loads an index of them and asks the agent to name each principle that shaped a decision. Call one directly as /pstack:principle-<name>. prove-it-works. Verify against the real artifact, not "it compiles". attack-the-premise. When two fixes fail the same way, write the premise down and test it. build-the-lever. On big tasks, build the tool (codemod, script) instead of editing by hand. fix-root-causes. Trace the symptom to the first place it went wrong. test-behavior-not-implementation. Fewer useless tests. laziness-protocol. Prefer deletion and the smallest change. Make it yours /pstack:reflect mines a session for lessons and proposes skill edits. /pstack:automate-me builds your own -mode skill from your chat habits. /pstack:bro My favorite. It restates the last reply in plain language. When an agent answer is long or too technical, type it and get the short version. Sources Her posts, in the order they help most. The Complete Guide to pstack, Pt. 1 on verification Pt. 2 on supervising someone smarter than you Create and maintain a verification skill Ban and delete most if not all code comments and the follow-up Engineering principles, attack the premise, build the lever Still read the code Projects and cloud agents, multi-model /in-your-own-words, refactor for agents How she shipped 2,500 PRs in a month (self-reported), How I Use Cursor
6 days agoNaming subagents by model and reasoning level
I am having a rule for naming teammates/subagents by <model>-<reasoning-level>-<task> for a better overview of how they actually are.
21 days agoClosing the loop in CF Workers
Cloudflare shipped Issues for Workers, in open beta. Repeated exceptions, 5xx responses, and error logs get grouped into one issue. A CF-native way, similar to my note on the Kubernetes agent sandbox, where the agent reads the stack and comes back with the fix. <div></div> <div></div>
25 days agoHow do I trust my agents more
People keep asking how to trust agents more. Most still review every line. That is the wrong lever. @poteto: ban the patterns agents are bad at, put verification in front, then let them merge. CI, tests, skills, cloud agents that open and ship PRs. You stop cooking every dish. You run the kitchen. That is how I trust Grok Bot / duyetbot / herdr-desk more than line-by-line review. I wrote the longer version at Grok Bot. Same pipeline: Verification → skills → cloud agents → automerged PRs. Hire another reviewer, or spend the tokens on checks that actually catch what agents mess up.
1 month agoAI tools I use — Aug 2026
I keep changing things to discover more tools every day … Some notes on my latest update: I'm off the Claude Max 20x subscription now. Still think Claude Code works best with their own models — using it with another model isn't what it used to be. See the new rules of context engineering for Claude 5 generation models. Fable is really good; Opus 5 leaves me cold. Tried Codex. Left a few times. The app still doesn't work for me. I just don't like it — hard to control things. Herdr + Grok Build CLI is my main stack now. SuperGrok Heavy is $300 and that's a hard price to swallow, but the terminal quality is first-class. Herdr is replacing tmux and will become much better for AI, I think, so far. The things I love about Herdr: persistent state, works across machines, can control the agent itself, cool worktree story. Grok Bot still feels like the best design I can imagine for a good agent and assistant, and I wrote it up at blog.duyet.net/2026/08/grok-bot. It's just simple and does really well. They move fast and fix a lot; it works effectively, not aspirationally. No FOMO — you should try it if you can. You can also grab some templatebot.lol here. anyrouter.dev/cli — I keep trying to make this mainstream, and it's not good enough honestly. The upstream providers are still unstable, and finding good sources is the actual bottleneck.
2 months agoSystem prompt vs tool schema
Should the system prompt describe each tool? No. The model already gets tools as their own field: name, description, JSON schema. Reprinting that list in the system prompt just costs tokens and goes stale. Use the split: Tool description — what it does, how to call it, when this tool applies or must not. System prompt — who wins, what order, what never happens. Policy, not a catalog. Code / middleware — hard stops the model will skip if you only write them in prose. If a tool never appears in the prompt and still gets called, that is working as designed.
2 months agoCloudflare Agents Week so far
Cloudflare CI/CD — A TypeScript-native CI/CD system built on Workflows. Define pipelines in code instead of YAML: each CI step maps to a Workflow step with built-in retries, state persistence, and parallel execution via Promise.all(). Includes dependency caching through sandbox snapshots in R2, and self-healing builds powered by Think agents on Workers AI that detect failures and push fixes automatically. Trigger pipelines directly on artifact push events — no manual queue wiring required. Cloudflare Wallet — cloudflare.pay — Cloudflare's payments and billing surface. Keep an eye on the blog for more details as it lands. Agent Tracing — Out-of-the-box debugging for AI agent sessions. Session replay lets you inspect full conversation context: system instructions, model thinking, tool calls, and responses. Trace waterfall view shows time allocation across model calls, tool execution, and infrastructure calls. Supports Think, Flue, and AI SDK harnesses natively, with OpenTelemetry export to any OTLP-compatible backend. Enable in wrangler.jsonc with observability.traces.enabled: true. Pricing starts October 1, 2026: 200k events/day free, then 20M included/month on Paid at $0.60/M additional. Currently free while in beta. (blog.cloudflare.com/agents-on-cloudflare) @cloudflare/computer — Early-preview agent runtime that dynamically orchestrates between fast isolates and full Linux containers on a shared virtual filesystem. Each agent gets a dedicated filespace while the platform picks the right execution environment per task. FUSE mount + SQLite-backed storage + agent hibernation when idle. Built on just-bash for isolates, npm-capable for containers. Open-source with tutorials at github.com/cloudflare/computer. (blog.cloudflare.com/cloudflare-computer) Otel traces in wrangler dev — OpenTelemetry tracing now ships inside local development. Agents get the same observability they have in production, built directly into Wrangler and the Cloudflare Vite plugin — no external collector setup needed to iterate locally. Agent Development Lifecycle (ADLC) — Cloudflare is replacing the traditional SDLC with an Agent Development Lifecycle built for autonomous software factories where agents own the full dev loop. Cloudflare identifies seven requirements: programmatic, horizontally scalable, reproducible, real-time/push-based, atomic changes, permissioned access, and self-improving. Building a Software Factory — Cloudflare's own internal implementation runs on the same primitives it ships to customers: Artifacts for versioned code storage, Workflows for durable orchestration, Sandboxes for isolated execution, Workers AI for agent intelligence, and Dynamic Workflows for customer-defined jobs alongside platform-managed pipelines. Feature flagging via Flagship gives every change its own flag; gradual deployments roll out code to a percentage of traffic over time. Enforcing AI Standards — Cloudflare now enforces AI coding standards across all internal repositories automatically: lint, typecheck, build, and AI-specific checks gate every PR. The same system powers self-healing CI that detects failures, diagnoses root cause, and pushes a fix commit without human intervention. Cloudflare MCP Server — Powered by Code Mode and Dynamic Workers, giving agents programmatic access to the entire Cloudflare API: buy domains, create accounts, manage DNS, query D1, upload to R2 — anything the API can do, an agent can do. Local dev for everything — Remote bindings let you run agents locally against real production resources without deploying. The local dev environment now mirrors production runtime across DOs, Workflows, Queues, and Containers, so what works locally works in production.
3 months agoAX
Dries Buytaert's regarding AX (Agent Experience): In the era of AI coding agents, software adoption depends on how easily these agents can "consume" your project. AI agents prioritize the cheapest path to completion; if your software is difficult to use, they will simply reject it without notice. To ensure your project is chosen, you must reduce three specific costs: Friction: The effort required to get the system running (installation, setup, environment configuration, and access/credentials). Abstraction: The effort required to understand what to do next (providing clear recipes, templates, scaffolds, and logical defaults). Verification: The effort required to confirm the work was successful (reliable tests, clear error messages, and inspectable system states). What helps AI agents (AX) also helps human developers (DX). By making your project easy for an agent to install, modify, and verify, you make it better for everyone.
5 months agoDynamic Workflows with GLM 5.1
I am using more a lot of differrent models with Claude Code, this here is reazied We can also asking Claude to customize model and budget for each step in workflows.
5 months agoMAI-Thinking-1, MAI-Code-1-Flash
| Benchmark | MAI-Thinking-1 | MAI-Code-1-Flash | Claude Haiku 4.5 | Sonnet 4.6 | Opus 4.6 | Kimi K2.6 | GLM-5.1 | | ---------------------- | -----------------: | -------------------: | --------------------------: | -------------------------: | -------------------------: | -----------------------------: | ---------------------------------------: | | SWE-Bench Pro | 52.8 | 51.2 | 35.2 | - | 53.4 | 58.6 | 58.4 | | SWE-Bench Verified | 73.5 | 71.6 | 66.6 | 79.6 | 80.8 | 80.2 | - | | SWE-Bench Multilingual | - | 65.5 | 62.7 | 75.9 | 77.8 | 76.7 | - | | AIME 2025 | 97.0 | - | 80.7 no tools / 96.3 Python | 95.6 | 99.8 | - | - | | AIME 2026 | 94.5 | 92.5 | 83.3 | - | - | 96.4 | 95.3 | | HMMT Feb 2026 | 84.9 | - | - | - | - | 92.7 | 82.6 | | GPQA Diamond | 84.2 | 84.6 | 73.2 | 89.9 | 91.3 | 90.5 | 86.2 | | LCB v6 | 87.7 | - | - | - | - | 89.6 | - | | AMO Bench | - | 40.0 | 16.0 | - | - | - | - | | Frontier Math | - | 6.3 | 2.8 | - | - | - | - | | HLE | - | 18.0 | 9.5 | 33.2 no tools / 49.0 tools | 40.0 no tools / 53.0 tools | 34.7 no tools / 54.0 tools | 31.0 no tools / 52.3 tools | | Frontier Science | - | 58.2 | 42.3 | - | - | - | - | | Artifacts Bench | - | 36.4 | 36.6 | - | - | - | - | | Terminal-Bench 2.0 | 46.0 | 54.8 | 41.6 | 59.1 | 65.4 | 66.7 | 63.5 Terminus-2 / 69.0 self-reported | | IF Bench | - | 75.0 | 46.1 | - | - | - | - | | Advanced IF | - | 71.4 | 56.9 | - | - | - | - | | Robust IF Bench | - | 61.2 | 45.0 | - | - | - | - | | τ²-Bench | - | 71.7 | 54.7 | - | - | - | - | Sources Microsoft AI, MAI-Thinking-1 technical report, for MAI-Thinking-1 scores and several comparison values. (Microsoft AI) Microsoft AI, Introducing MAI-Thinking-1, for headline AIME 2025 and AIME 2026 values. (Microsoft AI Microsoft AI, Introducing MAI-Code-1-Flash, for MAI-Code-1-Flash vs Claude Haiku 4.5 benchmark values. (Microsoft AI) Anthropic, Claude Haiku 4.5 announcement, for official Haiku context and Anthropic-reported SWE-Bench Verified score caveat. (Anthropic) Anthropic, Claude Sonnet 4.6 System Card, for Sonnet 4.6 SWE-Bench Verified and SWE-Bench Multilingual values. (Anthropic) Anthropic, Claude Opus 4.6 System Card, for Opus 4.6 SWE-Bench Verified and SWE-Bench Multilingual values. (Anthropic) Moonshot AI, Kimi K2.6 Tech Blog / Model Card, for Kimi K2.6 benchmark values. (Kimi) Z.ai, GLM-5.1: Towards Long-Horizon Tasks, and ModelScope GLM-5.1 card, for GLM-5.1 values. (Z.ai) Terminal-Bench official leaderboard, for Terminal-Bench 2.0 reference leaderboard context. (tbench.ai)
5 months agoCoding agents talk to me now
I gave Codex and Claude Code a voice with sag.sh. When it is stuck and need me, say it out loud. Now every once in a while I hear the voice talk to me: Đây là Claude, có 2 câu hỏi cần bạn trả lời ở project clickhouse monitoring. (This is Claude, 2 questions for you on the clickhouse monitoring project.) or when something's done: Hey, this is Claude, the plugins now support English and Vietnamese, pushed to GitHub. I am wrapped into https://github.com/duyet/codex-claude-plugins/tree/master/sag-notify you can give it a try: /plugin install sag-notify@duyet-claude-plugins /reload-plugins /sag-notify:setup Install sag with brew install steipete/tap/sag and set ELEVENLABSAPIKEY. Coolest thing ever.
5 months agoChrome Devtools MCP
There are three ways to let an agent touch the browser right now: Chrome DevTools MCP, Playwright MCP, and Claude in Chrome. They look similar but they are not the same tool. For me Chrome DevTools MCP is the better one for debugging. It speaks the language of the DevTools — console messages, network requests, performance traces, the actual DOM and computed styles. When something is broken on a page, that is exactly what I want the agent to read. Playwright MCP feels more about driving a browser: click here, fill that, assert this. It is great for automation and end-to-end test flows, less so for "why is this layout broken / why is this request failing". Chrome DevTools MCP → inspect and debug. Playwright MCP → automate and test. Different jobs. I keep Chrome DevTools MCP around when I am hunting a bug, and reach for Playwright when I actually want to script the browser. /plugin marketplace add ChromeDevTools/chrome-devtools-mcp /plugin install chrome-devtools-mcp@chrome-devtools-plugins /reload-skills
5 months agoClaude + Codex Review + CodeRabbit
This is the best combo I am using now. I am on both Claude Max and Codex Pro. Claude Code + Codex Review + CodeRabbit feel like the right pairing, both comment natively inside the PR and give different views of the same problem. The fun part is watching whether they agree or not. Opus 4.8 feels more honest now. I can see it push back, and sometimes it just rejects a change instead of nodding along. CodeRabbit is still the best at finding the bug, it auto-fix is still a bit off, though. How I run it: On demand → Claude Code with /github:babysit-pr. It reads through all the review comments and auto-fixes the CI for me. Scheduled → a Codex automation that reviews daily, merges or resolves issues, and can also fold in CodeRabbit's comments. Some PRs run long — a lot of back and forth between them until it finally gets the thumbs up: clickhouse-monitoring#1349 clickhouse-monitoring#1355
5 months ago"@duyetbot is now running Hermes Agent"
@duyetbot started on Claude Agent SDK, moved to OpenClaw, and now runs on Hermes Agent. OpenClaw was solid day-to-day, but I found it lacking in automation — it mostly went to sleep and I lost motivation. Hermes has been gaining traction, so I gave it a shot. The migration took 15 minutes. The standout feature: Hermes automatically writes, refines, and stores its own "skills" from tasks. Let's see how it goes. <img src="/media/notes/hermes-agent.png" alt="Hermes Agent dashboard showing the skills system" width="600" />
7 months ago