<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Agnel Nieves</title>
    <description>The latest articles on DEV Community by Agnel Nieves (@agnelnieves).</description>
    <link>https://dev.to/agnelnieves</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F168324%2Fb8ed8b67-086e-4f89-b626-cb7aa4d92b87.jpg</url>
      <title>DEV Community: Agnel Nieves</title>
      <link>https://dev.to/agnelnieves</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agnelnieves"/>
    <language>en</language>
    <item>
      <title>Block Put Its Agents in the Team Chat. Buzz Is an Audit Log Before It Is a Slack Killer.</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Fri, 07 Aug 2026 14:50:27 +0000</pubDate>
      <link>https://dev.to/promptway/block-put-its-agents-in-the-team-chat-buzz-is-an-audit-log-before-it-is-a-slack-killer-59eg</link>
      <guid>https://dev.to/promptway/block-put-its-agents-in-the-team-chat-buzz-is-an-audit-log-before-it-is-a-slack-killer-59eg</guid>
      <description>&lt;p&gt;The most revealing line in Block's Buzz repository is written for employees.&lt;/p&gt;

&lt;p&gt;Do not use the public build, it says. Download the internal version from &lt;code&gt;squareup/buzz-releases&lt;/code&gt;. That build already points at Block's relay and agent provider.&lt;/p&gt;

&lt;p&gt;Block is using a separate, preconfigured version of its open-source workspace inside the company. That is a stronger case study than the launch claim that Buzz might replace Slack and GitHub. It tells us the product has crossed the line from demo to working infrastructure for at least one team, while stopping well short of proving an enterprise migration.&lt;/p&gt;

&lt;p&gt;Buzz launched publicly on July 21. It puts people and AI agents in the same channels, gives each agent a cryptographic identity, and records messages, code patches, approvals, and workflow events in one signed log.&lt;/p&gt;

&lt;p&gt;The Slack comparison explains the interface. The audit log explains the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Block built
&lt;/h2&gt;

&lt;p&gt;Buzz is a self-hostable workspace built on the Nostr protocol. A workspace maps to a relay URL. Every message, reaction, workflow step, review approval, and Git event becomes a signed Nostr event stored by that relay.&lt;/p&gt;

&lt;p&gt;Humans and agents use the same identity shape. Each participant has a public key, and every event carries a signature. Agents can join channels, open repositories, send patches, review code, run workflows, edit canvases, and call other agents.&lt;/p&gt;

&lt;p&gt;The relay remains the source of truth. Postgres stores events, channels, workflows, tokens, and the audit chain. Redis handles presence and fan-out. The desktop application uses Tauri and React. &lt;code&gt;buzz-cli&lt;/code&gt; gives agents a JSON-in, JSON-out interface. Agent Client Protocol (ACP) adapters connect Claude Code, Codex, Goose, and other compatible harnesses.&lt;/p&gt;

&lt;p&gt;Here is the practical difference:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Existing team stack&lt;/th&gt;
&lt;th&gt;Buzz&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A Slack bot posts under an integration account&lt;/td&gt;
&lt;td&gt;An agent joins as a named member with its own key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The agent works in a private terminal session&lt;/td&gt;
&lt;td&gt;Its channel, tool calls, patches, and replies can share one record&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub holds the patch while Slack holds the decision&lt;/td&gt;
&lt;td&gt;Git events and conversation use the same event log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bot permissions live across OAuth apps and service tokens&lt;/td&gt;
&lt;td&gt;Relay membership, channel membership, and agent identity sit in one system&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search reconstructs a decision from several products&lt;/td&gt;
&lt;td&gt;Search can query the conversation, patch, workflow, and approval together&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Buzz does not make the underlying model safer. It makes authorship and history easier to inspect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Case one: Block has an internal relay
&lt;/h2&gt;

&lt;p&gt;The public README gives Block employees their own installation path. The internal build comes wired to the company relay and agent provider. Jack Dorsey's launch post said the project was built to reduce Block's dependence on Slack and GitHub.&lt;/p&gt;

&lt;p&gt;Those two facts support a careful conclusion. Block has deployed Buzz internally and wants it to absorb work now split across incumbent tools.&lt;/p&gt;

&lt;p&gt;They do not tell us how many employees use it, how much traffic it carries, or whether any team has removed Slack or GitHub. Block has published no migration percentage, retention number, or incident record.&lt;/p&gt;

&lt;p&gt;The internal build still matters. Block is testing the identity model against its own agent work instead of asking open-source users to discover every rough edge first.&lt;/p&gt;

&lt;p&gt;The release notes focus on problems active teams encounter. Version 0.5.0 shipped on July 28 with use-limited invite links, a generic ACP runtime seam for bringing another harness, agent display names as Git authors, a lower default parallel-agent limit, and a security update for a Nostr denial-of-service advisory.&lt;/p&gt;

&lt;p&gt;Identity, invitations, Git attribution, runtime compatibility, and resource limits are not landing-page features. They are the problems a working room produces.&lt;/p&gt;

&lt;h2&gt;
  
  
  Case two: Jupiter Broadcasting opened a community
&lt;/h2&gt;

&lt;p&gt;Jupiter Broadcasting linked a live Buzz community from its July 26 episode of LINUX Unplugged. The episode page also points to external-agent integration work for Hermes, a multi-agent system the network has been testing.&lt;/p&gt;

&lt;p&gt;This is an early outside deployment, not a customer success story. Jupiter already runs a technical community across several open tools, which makes it unusually tolerant of beta infrastructure. Its use still tests something Block cannot prove alone: whether a community that values self-hosting will move conversation and agents into the same room.&lt;/p&gt;

&lt;p&gt;The linked work is specific. A feature request asks Buzz to support external agent systems that do not speak ACP. Related pull requests add Hermes runtime discovery and document the host integration.&lt;/p&gt;

&lt;p&gt;That is open-source adoption in its least polished form. A real community wants to bring an existing agent stack, finds the protocol seam too narrow, and contributes the missing adapter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Case three: A real permissions gap appeared in two days
&lt;/h2&gt;

&lt;p&gt;On July 23, an operator filed a request for channel-scoped guest access. They run a membership-gated Buzz community with internal channels and agents. They want customers to enter one public support channel without gaining access to anything else.&lt;/p&gt;

&lt;p&gt;As of July 29, Buzz cannot express that policy.&lt;/p&gt;

&lt;p&gt;The relay can require membership for everyone or accept authenticated identities more broadly. Channel visibility applies after relay admission. The operator wants a guest to read and write in &lt;code&gt;#support&lt;/code&gt; while blocking every other channel, repository, workflow, direct message, and administration surface.&lt;/p&gt;

&lt;p&gt;This issue is the best early case study in the repository because it shows the product working and the authorization model failing at the same time.&lt;/p&gt;

&lt;p&gt;Cryptographic identity answers who signed an event. It does not automatically answer which event that identity should be allowed to publish. The operator wrote out the missing contract in detail: one allowlisted channel, text-only at first, normal moderation and rate limits, agents allowed to answer, and no broader relay membership.&lt;/p&gt;

&lt;p&gt;That request is more useful than another screenshot of an agent posting in chat. It names the boundary a production community needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The product claim that holds up
&lt;/h2&gt;

&lt;p&gt;Block says agents should be members instead of bots. That claim holds up in the architecture.&lt;/p&gt;

&lt;p&gt;Buzz's agent runtime uses two small Rust binaries. &lt;code&gt;buzz-agent&lt;/code&gt; speaks ACP, calls a model, and manages sessions. &lt;code&gt;buzz-dev-mcp&lt;/code&gt; gives the agent a shell and file editor through the Model Context Protocol (MCP). The pieces communicate through published protocols, so teams can swap the model provider or agent harness without rebuilding the workspace.&lt;/p&gt;

&lt;p&gt;Each community keeps its own profiles, presence, direct messages, memories, jobs, memberships, and audit trail. The same public key can join another community, but the agent's state does not silently follow it across hosts.&lt;/p&gt;

&lt;p&gt;Portable identity does not become portable access by accident, which is the safer boundary.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Slack-killer claim is early
&lt;/h2&gt;

&lt;p&gt;Buzz has desktop applications, chat, channels, threads, direct messages, canvases, media, search, Git events, workflows, and an agent-first command-line interface. It also says plainly that it is unfinished.&lt;/p&gt;

&lt;p&gt;As of July 29, the public roadmap still lists workflow approval gates and parts of the mobile experience as active work. Hosted relays are free during beta, with no published enterprise price or final usage limits. Slack Connect, mature retention controls, enterprise discovery, identity-provider integration, and years of administration tooling do not disappear because Nostr events have signatures.&lt;/p&gt;

&lt;p&gt;The self-hosting story carries work too. A production relay brings Postgres, Redis, object storage, backups, updates, key recovery, monitoring, and incident response. Teams gain control because they accept the operating burden.&lt;/p&gt;

&lt;p&gt;Buzz may reduce seven tabs to one substrate. It also puts seven products' worth of responsibility onto that substrate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who should pilot it
&lt;/h2&gt;

&lt;p&gt;A small engineering team or open-source community should run a pilot when agents already perform real work and the private agent conversation keeps vanishing from the team record.&lt;/p&gt;

&lt;p&gt;Use one repository, two agents, and one workflow. Give the research agent read-only access. Give the coding agent a disposable branch. Require a human reaction before a workflow can publish or merge. Measure how often teammates can reconstruct a decision from Buzz alone and how often they return to Slack or GitHub for missing context.&lt;/p&gt;

&lt;p&gt;Keep the incumbent tools during the pilot. Buzz has not earned a cutover.&lt;/p&gt;

&lt;p&gt;Teams with regulated data, complex guest access, large Slack Connect networks, or mature GitHub governance should wait. The channel-scoped support issue shows why. Signed events are valuable, but authorization still needs the boring policy work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verdict
&lt;/h2&gt;

&lt;p&gt;Buzz has the most coherent method I have seen for tying agent work to an identity, an authority, a room, and a body of evidence.&lt;/p&gt;

&lt;p&gt;Block's internal build proves the company is willing to use its answer. Jupiter Broadcasting proves an outside community can extend it. The support-channel request proves the permissions model still has sharp edges.&lt;/p&gt;

&lt;p&gt;Pilot Buzz as an agent workspace. Do not call it a Slack and GitHub replacement until a team publishes the migration numbers and the authorization gaps close.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/block/buzz" rel="noopener noreferrer"&gt;Block, Buzz open-source repository and internal installation path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/block/buzz/blob/main/ARCHITECTURE.md" rel="noopener noreferrer"&gt;Block, Buzz architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/block/buzz/blob/main/VISION_AGENT.md" rel="noopener noreferrer"&gt;Block, Buzz agent runtime design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/block/buzz/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;Buzz Desktop v0.5.0 release notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/block/buzz/issues/2475" rel="noopener noreferrer"&gt;GitHub issue 2475, channel-scoped guest access for a membership-gated Buzz community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jupiterbroadcasting.com/show/linux-unplugged/677/" rel="noopener noreferrer"&gt;Jupiter Broadcasting, LINUX Unplugged 677: We Got a Buzz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://thenewstack.io/block-buzz-agent-workspace/" rel="noopener noreferrer"&gt;The New Stack interview with Block's Bradley Axen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>buzz</category>
      <category>block</category>
      <category>aiagents</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Pieter Levels Paid $19 for Kimi K3. It Cleared the To-Do List Claude Would Not Touch.</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Tue, 04 Aug 2026 16:16:29 +0000</pubDate>
      <link>https://dev.to/promptway/pieter-levels-paid-19-for-kimi-k3-it-cleared-the-to-do-list-claude-would-not-touch-4jc3</link>
      <guid>https://dev.to/promptway/pieter-levels-paid-19-for-kimi-k3-it-cleared-the-to-do-list-claude-would-not-touch-4jc3</guid>
      <description>&lt;p&gt;Pieter Levels wanted to install Yahoo! Messenger from 2003 inside a Windows XP desktop running in the browser. Claude Code kept treating the emulator like a cybersecurity problem.&lt;/p&gt;

&lt;p&gt;He spent two weeks bouncing between model fallbacks and safety blocks. Then he opened X and asked how to run Kimi K3 through a coding agent. The answer changed his afternoon.&lt;/p&gt;

&lt;p&gt;Levels installed OpenCode, connected it directly to Kimi, paid $19 for a membership, switched the agent into Build mode, and let it work through the simulator's to-do list. His report after the switch was short: K3 was "absolutely hammering through" the work.&lt;/p&gt;

&lt;p&gt;This is a good founder case study because the task stayed recognizable. A browser emulator was stuck. The founder changed the stack. Work resumed.&lt;/p&gt;

&lt;p&gt;It is also a messy model comparison, which is where the useful part begins.&lt;/p&gt;

&lt;h2&gt;
  
  
  The project K3 walked into
&lt;/h2&gt;

&lt;p&gt;The Windows XP simulator sits at &lt;a href="https://pieter.com" rel="noopener noreferrer"&gt;pieter.com&lt;/a&gt;. It is the kind of project Levels keeps returning to: old software, browser emulation, a long list of rough edges, and no client waiting for a compliance memo.&lt;/p&gt;

&lt;p&gt;He had already been using Claude Code heavily. In June, he wrote that he had coded almost entirely on a virtual private server with Claude Code for nearly a year. The switch did not come from a tourist opening two chat tabs and asking for a snake game. It came from a paying power user who had run into the same refusal pattern for days.&lt;/p&gt;

&lt;p&gt;Levels described the immediate problem in public:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Claude Code couldn't do this for 2 weeks."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;His complaint centered on safety fallbacks. The model treated requests around the Windows XP environment as risky even though Levels was working on a hobby project he controlled.&lt;/p&gt;

&lt;p&gt;The task context changes how I read the refusal. A guardrail can be reasonable in one environment and maddening in another. Levels was not asking an agent to probe a bank. He was trying to make Yahoo! Messenger work in a browser toy.&lt;/p&gt;

&lt;h2&gt;
  
  
  He changed four variables, not one
&lt;/h2&gt;

&lt;p&gt;The viral version of this story is Kimi K3 beat Claude. The public record supports a narrower finding.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;Claude models, with reported safety fallbacks&lt;/td&gt;
&lt;td&gt;Kimi K3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Harness&lt;/td&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;OpenCode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Provider path&lt;/td&gt;
&lt;td&gt;Anthropic through Claude Code&lt;/td&gt;
&lt;td&gt;Direct Kimi connection after an OpenRouter rate limit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Permissions&lt;/td&gt;
&lt;td&gt;Claude's policy and tool gates&lt;/td&gt;
&lt;td&gt;OpenCode Build mode with permission bypass enabled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Task&lt;/td&gt;
&lt;td&gt;Windows XP simulator to-do list&lt;/td&gt;
&lt;td&gt;The same project and backlog&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;K3 deserves credit for completing work that had stalled. Levels also removed several sources of friction around the model.&lt;/p&gt;

&lt;p&gt;He published the setup on July 17. Install OpenCode. Create a Kimi account. Pay $19. Get an API key. Connect Kimi Code inside OpenCode. Switch to Build mode. His instructions also recommend bypassing permissions, which he already did in Claude Code.&lt;/p&gt;

&lt;p&gt;That final setting makes the run faster and less comparable. A model with broad shell access can finish jobs that a more constrained agent pauses to confirm. It can also damage more when it guesses wrong.&lt;/p&gt;

&lt;p&gt;Levels made a rational trade for a hobby emulator. I would not copy that trade onto a production database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why K3 fit this job
&lt;/h2&gt;

&lt;p&gt;Moonshot AI released Kimi K3 on July 16, one day before Levels published his switch. The model has 2.8 trillion total parameters in a mixture-of-experts architecture, with 104 billion activated for each token. It accepts a one-million-token context and handles text, images, and video.&lt;/p&gt;

&lt;p&gt;The specifications matter less here than the training target. Moonshot built K3 for long coding sessions, large repositories, terminal tools, and visual feedback loops. A browser operating-system simulator touches all four.&lt;/p&gt;

&lt;p&gt;Moonshot's own technical post says an early K3 build handled most of the team's kernel-optimization work late in development. The company also reports a 48-hour autonomous chip-design run and a compiler project built from scratch. Those are vendor case studies, so I treat the measurements as claims until independent teams reproduce them. They still show what Moonshot tuned the model to attempt.&lt;/p&gt;

&lt;p&gt;Levels supplied an outside example with a public project and a named workflow. On the same day, he also published a &lt;a href="https://levels.io/macos-27-in-the-browser-by-kimi-k3" rel="noopener noreferrer"&gt;macOS 27 browser interface created with K3&lt;/a&gt;. That does not prove the model wins every frontend task. It does show the visual coding loop was more than a benchmark row.&lt;/p&gt;

&lt;h2&gt;
  
  
  The cost moved from abstract to $19
&lt;/h2&gt;

&lt;p&gt;Levels first tried OpenRouter and hit an upstream rate limit. He then went straight to Kimi, bought the $19 membership, and used the provider's API key with OpenCode.&lt;/p&gt;

&lt;p&gt;Moonshot prices the K3 API separately at $0.30 per million cache-hit input tokens, $3 per million cache-miss input tokens, and $15 per million output tokens. The company says coding workloads on its official API exceed a 90 percent cache-hit rate.&lt;/p&gt;

&lt;p&gt;That is vendor-reported cache performance. Your bill depends on the harness, prompt reuse, context size, and how often the agent rewrites its own plan. K3 always thinks, and long autonomous runs can burn output tokens quickly.&lt;/p&gt;

&lt;p&gt;The relevant founder number remains $19. That was cheap enough for Levels to stop arguing with his old setup and try a new route.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the case study gets uncomfortable
&lt;/h2&gt;

&lt;p&gt;K3 has its own failure modes. Moonshot lists three in the release notes.&lt;/p&gt;

&lt;p&gt;First, the model expects preserved thinking history. A harness that drops earlier reasoning, or a mid-session model swap, can make quality unstable. Moonshot recommends starting K3 in a compatible harness instead of dropping it into a conversation another model began.&lt;/p&gt;

&lt;p&gt;Second, the model can act too aggressively. Moonshot says K3 may make unexpected decisions when intent is ambiguous. The company recommends explicit constraints in the system prompt or &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Third, Moonshot concedes that the overall user experience still trails the strongest proprietary models. A public Kimi Code issue filed after launch also reports the terminal interface hanging during a trivial prompt at maximum effort. The failure surface changed with the model.&lt;/p&gt;

&lt;p&gt;Levels solved one kind of agent friction by choosing a model trained to keep going and a harness configured to let it. The same combination can turn a vague instruction into a long, expensive mistake.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would copy from the switch
&lt;/h2&gt;

&lt;p&gt;I would copy the routing decision and leave the permission bypass behind.&lt;/p&gt;

&lt;p&gt;When a coding agent refuses a legitimate task twice, write down the task, the exact refusal, the branch state, and the acceptance test. Start a fresh session in a second harness with a second model. Give it the same repository and the same test. Compare the completed diff, elapsed time, tool calls, and regressions.&lt;/p&gt;

&lt;p&gt;Do not continue the old conversation after the switch. K3's own documentation warns against that path.&lt;/p&gt;

&lt;p&gt;Keep the second agent inside a disposable branch and a scoped environment. Levels can rebuild a browser simulator when an agent gets inventive. Your billing system is less funny.&lt;/p&gt;

&lt;h2&gt;
  
  
  The founder lesson
&lt;/h2&gt;

&lt;p&gt;Levels did not wait for a benchmark committee. He had a blocked task, spent $19, and changed the route.&lt;/p&gt;

&lt;p&gt;The result is strong evidence that Kimi K3 belongs in the coding-agent rotation for long, visual, tool-heavy work. It is weak evidence that K3 is categorically better than Claude because the harness, provider, and permissions changed with the model.&lt;/p&gt;

&lt;p&gt;The evidence is enough for a useful operator story: a stuck job, a visible change, and a result someone else can test.&lt;/p&gt;

&lt;p&gt;Run K3 on a fresh branch. Keep the acceptance test fixed. Keep the permissions narrower than Pieter Levels did.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://levels.io/kimi-k3-beats-claude-on-windows-xp-simulator" rel="noopener noreferrer"&gt;Pieter Levels, Kimi K3 works through the Windows XP simulator backlog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://levels.io/how-to-code-with-kimi-k3" rel="noopener noreferrer"&gt;Pieter Levels, How to code with Kimi K3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://levels.io/macos-27-in-the-browser-by-kimi-k3" rel="noopener noreferrer"&gt;Pieter Levels, macOS 27 in the browser created by Kimi K3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.kimi.com/blog/kimi-k3" rel="noopener noreferrer"&gt;Moonshot AI, Kimi K3 technical release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/MoonshotAI/Kimi-K3" rel="noopener noreferrer"&gt;Moonshot AI, Kimi K3 model repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/MoonshotAI/kimi-code/issues/1911" rel="noopener noreferrer"&gt;Kimi Code issue 1911, terminal sessions can hang at maximum effort&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Related Promptway: &lt;a href="https://dev.to/blog/pieter-levels-flight-sim-to-zero"&gt;Pieter Levels built a flight simulator in three hours, then watched the revenue disappear&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>founders</category>
      <category>pieterlevels</category>
      <category>kimik3</category>
      <category>opencode</category>
    </item>
    <item>
      <title>He Built an AI Headshot Empire Solo. The Product Was Boring on Purpose.</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Sun, 02 Aug 2026 14:48:54 +0000</pubDate>
      <link>https://dev.to/promptway/he-built-an-ai-headshot-empire-solo-the-product-was-boring-on-purpose-50i0</link>
      <guid>https://dev.to/promptway/he-built-an-ai-headshot-empire-solo-the-product-was-boring-on-purpose-50i0</guid>
      <description>&lt;p&gt;The first thing people tell you about Danny Postma is a number. Sometimes it is the seven-figure sale of Headlime. Sometimes it is the "$300K a month" line that gets attached to HeadshotPro in every indie-hacker roundup. Both numbers float around the internet like they are the point.&lt;/p&gt;

&lt;p&gt;I went looking for the Tuesday afternoon underneath them. What he built when the viral week ended. What he refused to build. Where the revenue actually comes from when the feed moves on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;Postma is Dutch, started young, and was not a pure engineer origin story. Landingfolio, a WordPress gallery of landing-page designs, came first when he was freelancing conversion work and needed references. Monetization was weak. The pattern that stuck was different: find a sharp job people already pay for, ship a thin product, tell the truth in public, and let distribution compound.&lt;/p&gt;

&lt;p&gt;Headlime was the first real AI score. He had headline formulas in a book. He turned them into software. Then GPT-3 arrived and he got into an early access cohort, one of the first people wiring that model into a production copy tool alongside the early Jasper and Copy.ai wave. Public accounts of the trajectory put Headlime at roughly $1K MRR in December 2020, about $20K MRR by February 2021, and a seven-figure sale to the Jasper orbit not long after. Eight months, more or less, from product to exit.&lt;/p&gt;

&lt;p&gt;That is the clean legend. The next chapter is the one operators should actually study.&lt;/p&gt;

&lt;h2&gt;
  
  
  The moment something worked, and then did not
&lt;/h2&gt;

&lt;p&gt;When Stable Diffusion hit, Postma moved again. ProfilePicture.AI went out in about thirty hours. Six-figure sales in a week, per his own public telling and the interviews that followed. Fun avatars. Feed fuel. Then the curve bent. Novelty faded. Lensa-style apps ate attention. Sales cooled.&lt;/p&gt;

&lt;p&gt;Hold on. Most founders would either double down on virality or quit the category. He listened to what people were actually asking for in the replies and support threads: not a party trick profile pic. A &lt;strong&gt;professional headshot&lt;/strong&gt;. The thing you need for LinkedIn when you will not book a photographer.&lt;/p&gt;

&lt;p&gt;He launched HeadshotPro (and, in parallel, Deep Agency, an AI "modeling agency" experiment). Deep Agency got press. HeadshotPro got the money. That split is the whole piece if you are paying attention. Hype and cash are different instruments.&lt;/p&gt;

&lt;h2&gt;
  
  
  The boring product
&lt;/h2&gt;

&lt;p&gt;HeadshotPro is intentionally narrow. Professional headshots. Not dating packs, not meme styles, not every horizontal the competitors ship to chase App Store screenshots. Pricing, as listed publicly for long stretches, has lived in one-time packages roughly in the $29 / $39 / $59 band for batches of images, not a pure seat subscription. Refunds for unhappy customers are part of the trust pitch. The site claims on the order of hundreds of thousands of customers and tens of millions of headshots generated. Treat marketing totals as marketing totals. The direction is still clear: this is a volume utility, not a toy.&lt;/p&gt;

&lt;p&gt;The quality claim he has repeated in interviews is the opposite of "we wrapped open source and shipped." Custom models, long pipeline work, a year of tuning toward photos that do not immediately read as synthetic. Whether you buy the "indistinguishable" language or not, the strategy is coherent: win on the job people are embarrassed to get wrong, not on feature count.&lt;/p&gt;

&lt;h2&gt;
  
  
  The growth engine nobody screenshots
&lt;/h2&gt;

&lt;p&gt;Launch week is not why HeadshotPro kept showing up.&lt;/p&gt;

&lt;p&gt;SEO is. Indie Hackers writeups of his approach describe programmatic pages for city and long-tail headshot queries ("professional headshots in [city]"), plus ordinary blog content, aimed at keywords with enough volume and low enough difficulty to rank without a content army. Product Hunt launches were framed, in his own comments, less as pure user acquisition and more as backlink machines: even a mediocre ranking still throws domain authority around the web. When other apps go viral for AI headshots, search interest spikes, and the site already sitting on the term catches the overflow. He has described weeks where a competitor's virality tripled his sales because he owned the search intent.&lt;/p&gt;

&lt;p&gt;That is not a 24-hour story. That is a six-month compounding story. It also means the copyable lesson is closer to "pick a monetizable search job and build plumbing for it" than "tweet a demo."&lt;/p&gt;

&lt;p&gt;Pieter Levels retweeting early posts is part of the lore. It is also not a strategy you can purchase. What you can copy is the public logging, the willingness to kill the press-magnet product when the sales-magnet product is obvious, and the patience for SEO timelines that do not fit a hackathon video.&lt;/p&gt;

&lt;h2&gt;
  
  
  The asterisks
&lt;/h2&gt;

&lt;p&gt;Here is where I get careful, because the internet is not.&lt;/p&gt;

&lt;p&gt;The "$300K MRR" figure appears constantly in secondary writeups. HeadshotPro's public pricing has often been one-time packages, not classic monthly seats, and Postma has talked in later commentary about subscription mechanics being a trap for certain product shapes. Some databases show much smaller annualized snapshots for single years. Build-in-public numbers move. Portfolio revenue gets collapsed into one headline. &lt;strong&gt;I am not going to pretend a blogger's roundup is an audited P&amp;amp;L.&lt;/strong&gt; What I trust more is the pattern across years: early GPT product sold for seven figures, AI image products that repeatedly printed meaningful cash, a holding company (Postcrafts) still owning HeadshotPro rather than flipping it on the first offer, and a slow admission that hiring help was necessary even for someone who marketed the solo myth.&lt;/p&gt;

&lt;p&gt;He has said he should have built a team earlier. That sentence is worth more than another revenue screenshot. The lonely version of the empire does not scale quality pipelines forever. Compute bills do not care about your personal brand.&lt;/p&gt;

&lt;p&gt;Competition is permanent. Every model release births ten headshot clones. His answer has been focus and distribution infrastructure, not feature parity with every clone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The verdict
&lt;/h2&gt;

&lt;p&gt;If you only remember the exit, you will try to time the next GPT wrapper. If you only remember the $300K line, you will argue about someone else's spreadsheet.&lt;/p&gt;

&lt;p&gt;The useful story is narrower. Postma keeps winning the same way: enter a technology wave early enough to matter, ship something people already budget for, follow sales rather than press, and install boring acquisition (SEO, refunds, clear packaging) that still works when the feed is bored. HeadshotPro is not clever because it is AI. It is clever because professional headshots were a real purchase before diffusion models existed, and he made the purchase faster and cheaper without turning the product into a carnival.&lt;/p&gt;

&lt;p&gt;The product was boring on purpose. That is the part worth stealing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.headshotpro.com/author/danny-postma" rel="noopener noreferrer"&gt;HeadshotPro, founder page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://thebootstrappedfounder.com/danny-postma-an-indie-hackers-business-evolution/" rel="noopener noreferrer"&gt;The Bootstrapped Founder, Danny Postma interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.indiehackers.com/post/breaking-down-danny-postmas-seo-strategy-for-headshotpro-300k-in-1-year-fad0af94d2" rel="noopener noreferrer"&gt;Indie Hackers, HeadshotPro SEO breakdown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.indiehackers.com/post/zero-to-7-figure-exit-in-8-months-with-headlime-ama-227d89ae0e" rel="noopener noreferrer"&gt;Indie Hackers, Headlime exit AMA coverage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://supabird.io/articles/danny-postma-how-a-solo-hacker-built-an-ai-empire-from-bali" rel="noopener noreferrer"&gt;SupaBird profile compilation (secondary; treat numbers carefully)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;a href="https://x.com/dannypostmaa" rel="noopener noreferrer"&gt;Danny Postma on X&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>founders</category>
      <category>indiehackers</category>
      <category>headshotpro</category>
      <category>aiimages</category>
    </item>
    <item>
      <title>Your Brand Is Probably Wrong in ChatGPT. Here Is the 90-Minute Audit.</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Sat, 01 Aug 2026 14:46:33 +0000</pubDate>
      <link>https://dev.to/promptway/your-brand-is-probably-wrong-in-chatgpt-here-is-the-90-minute-audit-bkd</link>
      <guid>https://dev.to/promptway/your-brand-is-probably-wrong-in-chatgpt-here-is-the-90-minute-audit-bkd</guid>
      <description>&lt;p&gt;This post is about auditing how answer engines currently represent your brand. It is not about rewriting your entire site in one weekend. By the end you will have a one-page gap matrix and a fix order you can hand to a founder without a 40-slide deck.&lt;/p&gt;

&lt;p&gt;I keep meeting teams who shipped schema, refreshed the homepage, and still have no idea what ChatGPT says when a buyer asks "what does [company] do" or "best [category] tools for [job]."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You cannot fix what you have not queried.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need before you start
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;90 uninterrupted minutes&lt;/li&gt;
&lt;li&gt;A spreadsheet with five columns: Query, Engine, What it said, Gap type, Fix owner&lt;/li&gt;
&lt;li&gt;Four engines if you can: ChatGPT (with search/browsing if available), Claude, Perplexity, Google AI Overview or the AI Mode you actually see in your market&lt;/li&gt;
&lt;li&gt;A human who knows the product well enough to spot a wrong pricing tier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Incognito or a clean workspace helps. Your logged-in personalization is not your buyer's world.&lt;/p&gt;

&lt;h2&gt;
  
  
  The query set (run all of them)
&lt;/h2&gt;

&lt;p&gt;Numbered on purpose. Do these in order.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;"What is [Brand]?"&lt;/li&gt;
&lt;li&gt;"What does [Brand] do?"&lt;/li&gt;
&lt;li&gt;"Who is [Brand] for?"&lt;/li&gt;
&lt;li&gt;"How much does [Brand] cost?"&lt;/li&gt;
&lt;li&gt;"Best [category] tools for [primary job]"&lt;/li&gt;
&lt;li&gt;"[Brand] vs [Competitor A]"&lt;/li&gt;
&lt;li&gt;"[Brand] vs [Competitor B]"&lt;/li&gt;
&lt;li&gt;"Alternatives to [Brand]"&lt;/li&gt;
&lt;li&gt;"Is [Brand] legit / trustworthy?"&lt;/li&gt;
&lt;li&gt;"Recent news about [Brand]"&lt;/li&gt;
&lt;li&gt;"[Primary product] tutorial" or "how to get started with [Brand]"&lt;/li&gt;
&lt;li&gt;A category question that should include you but never says your name out loud, phrased the way a buyer would&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you sell in multiple segments, duplicate 5 and 12 per segment. Do not improvise mid-audit. Improvisation is how you cherry-pick good answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The gap matrix
&lt;/h2&gt;

&lt;p&gt;For each answer, tag &lt;strong&gt;one&lt;/strong&gt; primary gap:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tag&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;th&gt;Typical fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Missing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You should appear; you do not&lt;/td&gt;
&lt;td&gt;Category proof, third-party mentions, clearer owned definition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Wrong&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Invented feature, bad category, dead product name&lt;/td&gt;
&lt;td&gt;Correct owned canon + earned corrections&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Outdated&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;True last year, false now&lt;/td&gt;
&lt;td&gt;Dated changelog, pressable update, refresh partners&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Competitor-owned&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Competitor is the default example in your category&lt;/td&gt;
&lt;td&gt;Comparison pages are not enough; need independent cites&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OK&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Accurate enough to ship&lt;/td&gt;
&lt;td&gt;Monitor quarterly&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Caption for your screenshot folder: query, engine, date, gap tag. The caption is the section summary when you report up.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the results usually look like
&lt;/h2&gt;

&lt;p&gt;Patterns from client audits, not a claim about your brand specifically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Query 1–3&lt;/strong&gt; are often "OK-ish" if you have any web presence. Soft wrong more than missing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query 4 (pricing)&lt;/strong&gt; is a graveyard of invented tiers and "freemium" guesses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query 5 and 12&lt;/strong&gt; are where you discover you are not in the category set at all.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query 6–8&lt;/strong&gt; are where competitors with better earned media win even if your product is stronger.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query 9–10&lt;/strong&gt; surface old scandals, wrong founders, or total silence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When the model is wrong, resist the urge to only update your homepage H1. Remember the citation mix: a large share of what models lean on is earned media, not your domain. Pair owned canon with something a third party can cite. See &lt;a href="https://dev.to/blog/earned-media-ai-citations"&gt;84% of AI Citations Are Earned Media&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fix order (after the 90 minutes)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Write the canonical 120-word answer&lt;/strong&gt; to "What is [Brand]?" on a stable URL. Plain language. No banned marketing sludge. Date it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kill the most dangerous wrong&lt;/strong&gt; (usually pricing or security claims) with a clear owned page and, if needed, a support note to partners repeating the old line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick one category query you lost&lt;/strong&gt; and build proof: customer artifact, benchmark with method, or independent review pitch. Not five thin blog posts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schedule a re-run&lt;/strong&gt; of the same twelve queries in 30 days. Same order. Same engines.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Never start with a full rebrand because Claude misordered your feature list. &lt;strong&gt;Never start with a full rebrand because Claude misordered your feature list.&lt;/strong&gt; Fix the fact, then the distribution of the fact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tiny experiment
&lt;/h2&gt;

&lt;p&gt;Tomorrow, run only queries 1, 4, and 5 on two engines. Put the answers in a doc without commentary. Send them to your founder. Ask: "Would you fund a fix?" If the answer is no, either the gaps are small or the company is not serious about AI discovery yet. Both are useful information.&lt;/p&gt;

&lt;p&gt;The scaffold for this audit is stable even when models change. The dial you turn is which gaps you fund first. The fail-state is screenshotting one flattering answer and calling the brand "AI optimized."&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/earned-media-ai-citations"&gt;84% of AI Citations Are Earned Media&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://muckrack.com/blog/what-is-ai-reading-may-2026" rel="noopener noreferrer"&gt;Muck Rack Generative Pulse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;a href="https://dev.to/blog/getting-your-writing-seen-beyond-your-own-site"&gt;Getting Your Writing Seen Beyond Your Own Site&lt;/a&gt; (Promptway)
&lt;/h2&gt;

</description>
      <category>aeo</category>
      <category>chatgpt</category>
      <category>brandaudit</category>
      <category>citations</category>
    </item>
    <item>
      <title>I Made Grok 4.5 My Default Coding Model for One Client Week</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Sat, 01 Aug 2026 14:46:32 +0000</pubDate>
      <link>https://dev.to/promptway/i-made-grok-45-my-default-coding-model-for-one-client-week-4gb7</link>
      <guid>https://dev.to/promptway/i-made-grok-45-my-default-coding-model-for-one-client-week-4gb7</guid>
      <description>&lt;p&gt;On July 8, Cursor and SpaceXAI put Grok 4.5 in front of every Cursor subscriber who would click the model picker. The pitch was simple: frontier-ish coding and agent work, trained with real Cursor interaction data, cheap enough that token anxiety stops being the main character.&lt;/p&gt;

&lt;p&gt;I did what I always do when a tool claims it belongs in the daily path. I made it the default for one week on a real client repo and wrote down what broke.&lt;/p&gt;

&lt;p&gt;This is not a benchmark re-score. It is a work log.&lt;/p&gt;

&lt;h2&gt;
  
  
  The task I actually ran
&lt;/h2&gt;

&lt;p&gt;Client context, sanitized: a Next.js App Router publication with content validation, MCP servers for ads and analytics reads, and a pre-commit asset pipeline. The week had three jobs that match how I actually bill time.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ship a feature branch&lt;/strong&gt; with two new MDX routes, shared components, and schema fields that had to pass &lt;code&gt;bun run validate&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Debug a flaky integration&lt;/strong&gt; where an MCP tool returned partial JSON and the agent kept "fixing" it by inventing keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drive a multi-file refactor&lt;/strong&gt; that touched route handlers, a Zod schema, and a small TypeScript helper without breaking static generation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I used Cursor as the shell the whole week. Grok 4.5 as the default model. Same MCP config I already trust. No special harness beyond what a mid-size agency repo already has.&lt;/p&gt;

&lt;h2&gt;
  
  
  What worked, with receipts
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Speed on the boring middle.&lt;/strong&gt; Autocomplete-plus-edit on component props, frontmatter keys, and test stubs felt fast. Not magically smarter than Opus-class on hard architecture. Noticeably cheaper per loop when I was iterating ten times on the same file. For the kind of work that is 70% of a billable day, that matters more than a one-point leaderboard bump.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor-native habits.&lt;/strong&gt; This is the underrated part of "trained with Cursor data." The model was less confused by multi-cursor edits, partial selections, and "apply this diff but keep my comment." That is not a general intelligence claim. It is a product claim, and on this repo it held.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Price as a product feature.&lt;/strong&gt; At roughly $2 input / $6 output per million tokens (and lower on cached), I stopped doing the mental math that makes people under-prompt. I asked for the second rewrite. I asked for the third. The quality of the &lt;em&gt;session&lt;/em&gt; went up because I stopped rationing turns. That is a real effect, even when single-shot quality is a wash.&lt;/p&gt;

&lt;p&gt;Rough week spend on the client branch, all-in model cost through Cursor: under what a single heavy Claude Max-style day used to burn on comparable volume. Your numbers will differ. The direction did not.&lt;/p&gt;

&lt;h2&gt;
  
  
  What broke first
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Unsupervised multi-file refactors.&lt;/strong&gt; When I pointed it at "migrate these three modules and keep generateStaticParams honest," it produced a plausible plan and then a half-applied migration. Two files updated. One left mid-state. Tests red. Claude Code on the same prompt the next morning finished the graph more cleanly, with fewer "I will fix the types in a follow-up" lies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confident wrong tools.&lt;/strong&gt; On the MCP JSON bug, Grok 4.5 was eager. It rewrote the client twice before it agreed to log the raw payload. Claude's slower, slightly pedantic loop would have asked for the log earlier. Eager is not free. Eager costs review time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long context discipline.&lt;/strong&gt; On a chat that had already eaten a big schema dump, it started compressing my constraints into vibes. I had to re-paste the Zod refine rules mid-thread. Not unique to Grok. Worse here than my Sonnet baseline on the same thread length.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it compares on the jobs that matter
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Job&lt;/th&gt;
&lt;th&gt;Grok 4.5 in Cursor&lt;/th&gt;
&lt;th&gt;My Claude Code / Sonnet baseline&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tight UI and content schema edits&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Winner&lt;/strong&gt; on speed + cost&lt;/td&gt;
&lt;td&gt;Fine, pricier per loop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP / tool debugging&lt;/td&gt;
&lt;td&gt;Mixed; needs tighter human steering&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Winner&lt;/strong&gt; on "slow down and inspect"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-file refactors with static guarantees&lt;/td&gt;
&lt;td&gt;Risky without babysitting&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Winner&lt;/strong&gt; for unsupervised depth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Just ship the PR" Friday afternoon&lt;/td&gt;
&lt;td&gt;Strong if you stay in the editor&lt;/td&gt;
&lt;td&gt;Strong if you live in the terminal agent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The posture split from the public discourse is real. Cursor assumes you are editing. Claude Code assumes you are delegating. Grok 4.5 inherits the Cursor posture even when you ask it to act like an agent. That is not a bug if you wanted a co-pilot. It is a bug if you wanted a night-shift senior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verdict
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Buy&lt;/strong&gt; Grok 4.5 as a default &lt;em&gt;inside Cursor&lt;/em&gt; for iterative product work if you already live in that editor and your pain is token cost plus turn latency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wait&lt;/strong&gt; before making it the only model for unattended multi-file agents or production refactors that touch codegen boundaries. Keep a heavier model one hotkey away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skip&lt;/strong&gt; if your whole workflow is terminal-agent and you already have Claude Code tuned. Switching shells just to chase a model is a tax.&lt;/p&gt;

&lt;p&gt;I am not deleting Claude from the stack. I am not writing a "Grok won coding forever" post. I am changing my default for the 70% path and keeping the expensive brain for the 30% path that ships the scary PR.&lt;/p&gt;

&lt;p&gt;Six months ago I would have told you to pick one model and learn it deeply. I no longer believe that is the right advice for coding agents. The July wave made routing the skill. Grok 4.5 is a strong cheap route, not a religion.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I will re-test in 30 days
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Same multi-file refactor with whatever patch they ship after the first wave of forum complaints.&lt;/li&gt;
&lt;li&gt;Token spend on a pure greenfield app versus this brownfield content site.&lt;/li&gt;
&lt;li&gt;Whether "double usage first week" promo pricing was hiding a bill shock at steady state.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If any of those flip the verdict, I will update this page in public. That is the deal on The Stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://cursor.com/blog/grok-4-5" rel="noopener noreferrer"&gt;Cursor, Introducing Grok 4.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devops.com/spacexais-grok-4-5-undercuts-anthropic-and-openai-on-coding-agent-pricing/" rel="noopener noreferrer"&gt;DevOps.com on Grok 4.5 pricing and Cursor collab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nimbalyst.com/blog/claude-code-vs-cursor/" rel="noopener noreferrer"&gt;Nimbalyst, Claude Code vs Cursor posture&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Prior Promptway stack note: &lt;a href="https://dev.to/blog/connecting-claude-to-google-ads-and-ga4-via-mcp"&gt;Connecting Claude to Google Ads and GA4 via MCP&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>grok</category>
      <category>cursor</category>
      <category>codingagents</category>
      <category>xai</category>
    </item>
    <item>
      <title>The July Model Wave Is Not a Race You Need to Win</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Fri, 31 Jul 2026 15:39:17 +0000</pubDate>
      <link>https://dev.to/promptway/the-july-model-wave-is-not-a-race-you-need-to-win-4ii</link>
      <guid>https://dev.to/promptway/the-july-model-wave-is-not-a-race-you-need-to-win-4ii</guid>
      <description>&lt;p&gt;Three frontier launches. Two weeks. One bad habit.&lt;/p&gt;

&lt;p&gt;The habit is crowning a winner from a press release. Claude Sonnet 5 on June 30. OpenAI's GPT-5.6 family rolling into general availability around July 9. Grok 4.5 on July 8, co-trained with Cursor and priced to make coding agents feel cheap. The charts moved. The posts multiplied. The claim underneath most of them was the same: &lt;em&gt;this&lt;/em&gt; is the model you should standardize on.&lt;/p&gt;

&lt;p&gt;[The claim is nonsense. Standardization is the risk. Routing is the skill.]&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually shipped
&lt;/h2&gt;

&lt;p&gt;Strip the demos. Keep the operator facts.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Maker&lt;/th&gt;
&lt;th&gt;Window&lt;/th&gt;
&lt;th&gt;Operator-relevant shape&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Sonnet 5&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;late June&lt;/td&gt;
&lt;td&gt;Balanced agent runs, coding, long reliable chains&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.6 Sol / Terra / Luna&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;late June to mid-July&lt;/td&gt;
&lt;td&gt;Tiered family: flagship Sol, everyday Terra, cheap Luna&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grok 4.5&lt;/td&gt;
&lt;td&gt;xAI + Cursor&lt;/td&gt;
&lt;td&gt;July 8&lt;/td&gt;
&lt;td&gt;Coding and agent work at aggressive API pricing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;OpenAI gated GPT-5.6 longer than the others. Safety review, staged partners, then broader access. That is part of the product story now, not a footnote. Anthropic and xAI moved faster to availability. Access policy is a feature.&lt;/p&gt;

&lt;p&gt;Open source did not wait. GLM-5.2, DeepSeek V4, Qwen 3.6 and peers kept closing the gap for hosted and self-hosted work. The frontier is crowded. The "one brain for everything" era is over as an architecture choice, even if the marketing still pretends otherwise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ranked by Tuesday impact, not leaderboard theater
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Cost and tiering matter more than the top score.&lt;/strong&gt;&lt;br&gt;
OpenAI shipping Luna / Terra / Sol as a family is the real product decision. You can route a triage job to a cheap tier and a hard research job to a flagship without changing vendors. That is operator infrastructure. A single "best model" headline is not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Grok 4.5 inside Cursor changes the default coding bill.&lt;/strong&gt;&lt;br&gt;
A model trained with Cursor interaction data, sold at roughly $2 / $6 per million tokens, is not a vibe. It is a budget line. Teams that were bleeding token spend on heavier agents will try it this month whether or not they rewrite their stack. Watch adoption, not the CursorBench slide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Sonnet 5's value is reliability under load, not a new personality.&lt;/strong&gt;&lt;br&gt;
If your workflows are multi-step agents that must finish, a mid-tier that holds the chain beats a flashy flagship that drifts. That is a boring metric. It is also the one that shows up in support tickets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Export-control residue is still on the board.&lt;/strong&gt;&lt;br&gt;
Anthropic's Fable 5 / Mythos-class redeploy after the June export-control pause is a policy story wearing a model name. If your product depends on a single frontier weight class, you now have a quarterly risk review whether you wanted one or not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Benchmarks withheld or partial are a signal.&lt;/strong&gt;&lt;br&gt;
When a lab ships without the usual suite, read that as intentional. Not always sinister. Always incomplete. Do not fill the blanks with Twitter confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  The permanent-winner myth
&lt;/h2&gt;

&lt;p&gt;Here is the strongest form of the bad advice, stated fairly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Pick the best model now, standardize the company on it, and stop thrashing."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds like discipline. In a market that ships a capable model roughly every few days once you count open weights, it is how you bake technical debt into the org chart. Hard-wiring one provider turns every release into a migration project. Abstracting the model turns every release into a config change and an afternoon eval.&lt;/p&gt;

&lt;p&gt;I will say it once. &lt;strong&gt;Build so you can swap. Test on your tasks. Route by job.&lt;/strong&gt; The July wave did not crown a champion. It confirmed that several frontier options are close enough that &lt;em&gt;your&lt;/em&gt; data decides the winner, and that the winner can change by workload.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do this week
&lt;/h2&gt;

&lt;p&gt;Not a tutorial. A short list with falsifiable edges.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write down the three jobs AI actually does in your stack. Not aspirational. Actual.&lt;/li&gt;
&lt;li&gt;Run each job on two models you already pay for. Same prompt. Same inputs. Score quality, latency, and unit cost.&lt;/li&gt;
&lt;li&gt;Kill one permanent default if it loses on two of three metrics. Replace it with an explicit route.&lt;/li&gt;
&lt;li&gt;Re-run the same three jobs when the next major weight lands. Calendar it. Do not wait for vibes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you skip this, you will still "evaluate models." You will just do it in Slack arguments instead of on paper.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I am grading later
&lt;/h2&gt;

&lt;p&gt;Three calls. Score me in September.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Teams that abstract the model layer will switch defaults at least once before Labor Day without a rewrite.&lt;/strong&gt; Falsifiable: count public postmortems and internal changelogs that mention a one-line model swap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grok 4.5 will take measurable coding-agent share from pure Claude/OpenAI defaults among Cursor-heavy shops.&lt;/strong&gt; Falsifiable: usage surveys, spend reports, forum default chatter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "one model for the company" memo will keep getting written, and it will keep aging poorly within 90 days.&lt;/strong&gt; Falsifiable: watch the memos, then the quiet exceptions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Noise to leave on the floor
&lt;/h2&gt;

&lt;p&gt;Affiliate "best model of July" roundups with forty logos. Demo videos that never show a failure case. Seat-count panic recycled from February without a single cancelled contract attached. Benchmark charts with no task definition.&lt;/p&gt;

&lt;p&gt;The July wave is real. The race framing is residue.&lt;/p&gt;

&lt;p&gt;Build for the next release, not the last press cycle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.rauljitechnologies.com/blog/july-2026-ai-model-wave/" rel="noopener noreferrer"&gt;Raulji Technologies, July 2026 model wave overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cursor.com/blog/grok-4-5" rel="noopener noreferrer"&gt;Cursor, Introducing Grok 4.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.anthropic.com/" rel="noopener noreferrer"&gt;Anthropic news and model pages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;a href="https://felloai.com/best-ai-models/" rel="noopener noreferrer"&gt;FelloAI, Best AI models in July 2026&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>models</category>
      <category>openai</category>
      <category>anthropic</category>
      <category>xai</category>
    </item>
    <item>
      <title>Six Months After the SaaSpocalypse, the Stocks Came Back. The Operator Story Did Not.</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Fri, 31 Jul 2026 15:39:16 +0000</pubDate>
      <link>https://dev.to/promptway/six-months-after-the-saaspocalypse-the-stocks-came-back-the-operator-story-did-not-3a01</link>
      <guid>https://dev.to/promptway/six-months-after-the-saaspocalypse-the-stocks-came-back-the-operator-story-did-not-3a01</guid>
      <description>&lt;p&gt;Quote the panic first. In the strongest form.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Anthropic shipped agentic tools that do real office work. If one AI can replace five SaaS seats, the entire software multiple is wrong. Hundreds of billions in market cap should vanish, and they did.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That was the February story, compressed. Claude Cowork, plugins, Opus-class upgrades, a Goldman-style software basket down hard in a session, estimates of roughly $285 to $300 billion erased in the worst prints. Workday and Salesforce and a long list of names ate the tape. The word &lt;strong&gt;SaaSpocalypse&lt;/strong&gt; did the rest.&lt;/p&gt;

&lt;p&gt;[The market move was real. The monocausal story was not. The operator aftermath is still the open question.]&lt;/p&gt;

&lt;h2&gt;
  
  
  Claim Chowder: February versus July
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Claim (Feb 2026)&lt;/th&gt;
&lt;th&gt;July grade&lt;/th&gt;
&lt;th&gt;One-line reason&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"Agents kill SaaS this year"&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Fail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Public multiples mean-reverted faster than seat bases dissolved&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Cowork is only a demo"&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Fail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Workflow automation is now a default expectation in buyer RFPs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Every horizontal SaaS is dead"&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Nonsense&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Data gravity, compliance, and workflow lock still pay rent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"AI is a pure margin tax on software"&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Partial&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pricing pressure is real; free replacement is not universal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Operators will cancel seats in bulk by summer"&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Incomplete&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Spot cancellations yes; systematic wipeout not in the open data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I am not here to defend software equities. I am here to stop operators from taking a Wall Street weekend as a strategy memo.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the selloff actually was
&lt;/h2&gt;

&lt;p&gt;Three things collided.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A visible agent product&lt;/strong&gt; that looked like it could draft, file, research, and chain office tasks without five logins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A valuation regime&lt;/strong&gt; that had already been compressing. Software multiples had room to fall before Cowork gave traders a narrative.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A meme with a deadline.&lt;/strong&gt; Once "SaaSpocalypse" fit in a headline, every downtick confirmed the story and every uptick was "denial."&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Executives called the panic overblown. Analysts warned about pricing power anyway. Both can be true. A 6% session in a sector basket is not a customer survey. It is a forced rewrite of discounted cash flow assumptions under uncertainty.&lt;/p&gt;

&lt;h2&gt;
  
  
  What operators actually did
&lt;/h2&gt;

&lt;p&gt;From the ground, not the tape:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trials exploded. Migrations lagged.&lt;/strong&gt; Trying Cowork or a coding agent is cheap. Ripping out the system of record is not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shadow AI spend rose next to SaaS spend.&lt;/strong&gt; The line item grew. It did not always replace. CFOs noticed both.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Categories split.&lt;/strong&gt; Thin workflow glue and generic document tools felt heat. Vertical systems with proprietary data, audit trails, and integrations held. Boring infrastructure is still boring infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The seat is not dead. The idle seat is.&lt;/strong&gt; Buyers started asking which licenses produce artifacts an agent could produce by Tuesday. That question does not require a stock chart.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your product's only defense is "we have a nicer UI for a task Claude can already do," you felt this winter. If your product is the system of record for something regulators care about, you felt a pricing conversation, not an extinction event.&lt;/p&gt;

&lt;h2&gt;
  
  
  The residue that matters more than the rebound
&lt;/h2&gt;

&lt;p&gt;Stocks can rebound on rates, earnings, and attention cycles. Three structural shifts did not rebound away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Buyers budget for agents as a category.&lt;/strong&gt;&lt;br&gt;
Not experimental. Line-item. That permanently changes how they negotiate your renewal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Switching cost is the product.&lt;/strong&gt;&lt;br&gt;
Feature checklists lost. Data model, integrations, permissions, and eval history won. The SaaSpocalypse was a referendum on shallow SaaS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Narrative risk is now product risk.&lt;/strong&gt;&lt;br&gt;
A lab demo can reprice your category in a session. That is not fair. It is the water you swim in. Communication and proof-of-work matter more when the market is itchy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Falsifiable calls for Q4 2026
&lt;/h2&gt;

&lt;p&gt;Score these in December.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Net seat reductions in generic productivity SaaS will show up in earnings language more than in February price charts.&lt;/strong&gt; Look for "optimization," "consolidation," and "AI substitution" in prepared remarks, not just stock ticks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vertical SaaS with proprietary workflows will guide stable or rising NRR while horizontal doc tools guide down.&lt;/strong&gt; Split the basket; stop averaging apples and glue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;At least two public software companies will rebundle around agent runtimes rather than human seats as the primary SKU.&lt;/strong&gt; Watch packaging, not keynotes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The next Cowork-class launch will move equities less than February did, and move RFPs more.&lt;/strong&gt; Attention decays. Procurement language sticks.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If all four miss, I will say so in a follow-up. That is the job.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to ignore for the rest of July
&lt;/h2&gt;

&lt;p&gt;Death-of-SaaS threads with no cancelled contract attached. Victory-lap founder posts that equate a stock bounce with product safety. "We added AI" changelog spam that does not change the artifact the customer ships.&lt;/p&gt;

&lt;p&gt;Six months later, the apocalypse looks like a repricing. The operator story looks like a filter. Shallow tools got priced like shallow tools. Deep systems still have to prove they are deep.&lt;/p&gt;

&lt;p&gt;The chart healed. The question did not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cnbc.com/2026/02/06/ai-anthropic-tools-saas-software-stocks-selloff.html" rel="noopener noreferrer"&gt;CNBC, AI fears and software selloff (Feb 2026)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.deeplearning.ai/the-batch/claude-cowork-plugins-trigger-a-saas-stock-selloff-but-partnerships-lead-to-slight-rebound" rel="noopener noreferrer"&gt;DeepLearning.AI Batch, Cowork plugins and sector index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.thesaascfo.com/the-saaspocalypse-ai-agents-vibe-coding-and-the-changing-economics-of-saas/" rel="noopener noreferrer"&gt;The SaaS CFO, SaaSpocalypse economics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Business Insider coverage of Claude Cowork and market reaction (Feb–Apr 2026 cycle)
&lt;/h2&gt;

</description>
      <category>saas</category>
      <category>claude</category>
      <category>cowork</category>
      <category>markets</category>
    </item>
    <item>
      <title>Indie Hackers Built AI Factories. Then Nobody Showed Up.</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Thu, 30 Jul 2026 15:34:35 +0000</pubDate>
      <link>https://dev.to/promptway/indie-hackers-built-ai-factories-then-nobody-showed-up-1fkd</link>
      <guid>https://dev.to/promptway/indie-hackers-built-ai-factories-then-nobody-showed-up-1fkd</guid>
      <description>&lt;p&gt;There is a particular kind of demo video making the rounds this year. Dark editor theme. Agent panel streaming. A full app appearing in minutes. The caption says some version of "the only limit is imagination."&lt;/p&gt;

&lt;p&gt;Then you click through to the product and the waitlist is a Google Form with eleven responses, three of them the founder under different emails.&lt;/p&gt;

&lt;p&gt;Pieter Levels put a sharper point on it in June: indie hackers building fancy AI factories with no money and no traffic. The post traveled because it was mean in the useful way. It named the thing people were privately embarrassed about.&lt;/p&gt;

&lt;p&gt;I do not think the builders are stupid. I think the bottleneck moved, and a lot of playbooks did not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;For a decade the indie story had a honest hard part: shipping. You had to learn enough code, or hire it, or glue no-code until it cried. AI coding agents did not remove craft. They removed the excuse. Claude Code, Cursor, Grok-class models in the editor, boilerplate kits like ShipFast, component generators, database scaffolds. The factory floor got automated.&lt;/p&gt;

&lt;p&gt;What did not get automated: a reason for a stranger to care, a channel that compounds, a promise people renew.&lt;/p&gt;

&lt;p&gt;So we got a generation of products that are technically complete and socially imaginary.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the empty factory looks like
&lt;/h2&gt;

&lt;p&gt;I keep a private list from conversations and public postmortems. Patterns, not call-outs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Beautiful onboarding, no top-of-funnel.&lt;/strong&gt; The first-run experience is gorgeous. The homepage has no distribution plan beyond "post on X."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feature parity with a giant, trust parity with a stranger.&lt;/strong&gt; "We are like Notion + AI" is not a wedge. It is a request to lose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-week revenue, zero week-eight retention.&lt;/strong&gt; Launch spike from friends and a Product Hunt bounce. Then silence. Same shape as the flight-sim money that visits once and leaves. See &lt;a href="https://dev.to/blog/pieter-levels-flight-sim-to-zero"&gt;Pieter Levels and the sim that went to zero&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent theater instead of a job.&lt;/strong&gt; The product demos an agent. The customer still has a job to do on Tuesday that the agent does not finish.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hold on. Is this just "marketing matters"? Yes, with a 2026 asterisk: marketing also got flooded with AI sludge, so the trust bar for small tools went up while the build bar went down. You are not competing with silence. You are competing with a thousand competent-looking clones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who still prints money
&lt;/h2&gt;

&lt;p&gt;Look at the people this column has already covered and the durable ones like &lt;a href="https://dev.to/blog/danny-postma-headshotpro"&gt;Danny Postma on HeadshotPro&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The pattern is rude and consistent.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A purchase that existed before the model.&lt;/strong&gt; Headshots. Photo generation for a known vanity or work need. Boilerplates for people who already sell software. Verified revenue pages for people already lying with screenshots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A channel that is not a single launch post.&lt;/strong&gt; SEO, newsletters, years of public logging, communities where the founder is a known quantity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Willingness to be boring.&lt;/strong&gt; One vertical. One clear price. Refunds. Support. The unglamorous middle.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Marc Lou's 24-hour TrustMRR spike was real, and so was the year he earned less than the prior one. The weekend needs a decade under it. That is not romantic. It is accounting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The nervous part
&lt;/h2&gt;

&lt;p&gt;Here is the sentence founders flinch at: &lt;strong&gt;if your only advantage was that you could code the v1, you no longer have an advantage.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The new hard skills look like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Picking a job where "done" is obvious and payment is habitual&lt;/li&gt;
&lt;li&gt;Building proof other humans will cite (see the earned-media AEO problem for brands; it applies to products too)&lt;/li&gt;
&lt;li&gt;Saying no to agent features that do not finish the job&lt;/li&gt;
&lt;li&gt;Measuring renewals harder than launch-day MRR screenshots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI factories without trucks are still factories. They just manufacture unsold inventory faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Field notes, not a sermon
&lt;/h2&gt;

&lt;p&gt;I asked operators what they cut when the empty dashboards got embarrassing. The answers rhymed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cut model roulette. Pick a stack. Ship weekly to real users.&lt;/li&gt;
&lt;li&gt;Cut horizontal scope. One persona, one job.&lt;/li&gt;
&lt;li&gt;Cut launch culture as identity. Replace with a channel experiment that lasts thirty days minimum.&lt;/li&gt;
&lt;li&gt;Keep the agents, but point them at distribution chores (support macros, content diffs, SEO page generation for a keyword you already validated) instead of only at more product surface.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of that is as fun as a three-hour build video. All of it is closer to Photo AI at high margin than a sim at $0/m.&lt;/p&gt;

&lt;h2&gt;
  
  
  The verdict
&lt;/h2&gt;

&lt;p&gt;The vibe-coding era did not kill indie hacking. It killed the story that shipping was the main boss fight. Levels' jab lands because the feed is full of factories and short on customers. The founders who will still be here in 2027 are not the ones with the most tools in the agent panel. They are the ones who can explain, in one sentence, who pays them every month and why that person would be annoyed if the product disappeared.&lt;/p&gt;

&lt;p&gt;Build the truck. Then build the factory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://levels.io/indie-hackers-ai-factories-no-money-traffic" rel="noopener noreferrer"&gt;Pieter Levels, indie hackers AI factories post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/pieter-levels-flight-sim-to-zero"&gt;Pieter Levels flight sim story&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/marc-lou-24-hour-app"&gt;Marc Lou 24-hour app&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/danny-postma-headshotpro"&gt;Danny Postma / HeadshotPro&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Indie Hackers and X public postmortems on launch spikes without retention (2025–2026 cycle)
&lt;/h2&gt;

</description>
      <category>founders</category>
      <category>indiehackers</category>
      <category>distribution</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>The MCP Servers Worth Paying For (and the Ones That Just Eat Context)</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Thu, 30 Jul 2026 15:34:35 +0000</pubDate>
      <link>https://dev.to/promptway/the-mcp-servers-worth-paying-for-and-the-ones-that-just-eat-context-5h9</link>
      <guid>https://dev.to/promptway/the-mcp-servers-worth-paying-for-and-the-ones-that-just-eat-context-5h9</guid>
      <description>&lt;p&gt;I have a rule for MCP now. If a server cannot name the job it finishes, it is entertainment.&lt;/p&gt;

&lt;p&gt;The ecosystem exploded. Every SaaS with a REST API grew a README that says "works with Claude and Cursor." Half of them dump entire schemas into the context window on connect. A quarter want write scopes you should never grant a chat box on a Friday. The useful quarter is why this protocol won.&lt;/p&gt;

&lt;p&gt;This is not a directory of forty logos. It is a verdict list from wiring MCP into real client work, including the &lt;a href="https://dev.to/blog/connecting-claude-to-google-ads-and-ga4-via-mcp"&gt;Google Ads and GA4 audit path&lt;/a&gt; I already wrote up.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I score a server
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criterion&lt;/th&gt;
&lt;th&gt;Pass looks like&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Job clarity&lt;/td&gt;
&lt;td&gt;One sentence: "this finishes X"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context cost&lt;/td&gt;
&lt;td&gt;Tools are discoverable without pasting the universe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth blast radius&lt;/td&gt;
&lt;td&gt;Read-only possible; write is gated and obvious&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failure mode&lt;/td&gt;
&lt;td&gt;Errors are legible; no silent empty success&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Host portability&lt;/td&gt;
&lt;td&gt;Works in Claude Code / Cursor / desktop without a rewrite&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If it fails context cost, I skip even when the demo is pretty. Context is rent. Servers that burn rent on connect are a tax on every later thought.&lt;/p&gt;

&lt;h2&gt;
  
  
  Buy
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub (official or well-maintained community, read-heavy).&lt;/strong&gt;&lt;br&gt;
Job: PRs, issues, file reads against the remote when local is not enough. Buy for code review and "what shipped last week" questions. Keep write scopes off until you have a reason.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Filesystem / project roots you already trust.&lt;/strong&gt;&lt;br&gt;
Job: the agent can see the repo you meant. Buy, because without this MCP is cosplay. Constrain roots. Do not point it at &lt;code&gt;$HOME&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser automation (Playwright/Puppeteer-class) for repro only.&lt;/strong&gt;&lt;br&gt;
Job: "show me the broken state" and light QA. Buy for bug reproduction. Skip as a general surfing buddy. Flaky, slow, easy to over-permission.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Postgres or warehouse read replicas with a forced LIMIT culture.&lt;/strong&gt;&lt;br&gt;
Job: answer data questions without exporting CSVs by hand. Buy only with read-only roles and row limits. I have watched models invent joins that scan the planet. The server should make that hard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Ads + GA4 read-only (the path I already run).&lt;/strong&gt;&lt;br&gt;
Job: marketing audits with real spend and real conversion paths. Buy for agency and in-house growth teams who currently live in twenty UI tabs. The gotchas are auth and the prompt, not the protocol. Full write-up linked above.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docs / fetch servers that do progressive discovery.&lt;/strong&gt;&lt;br&gt;
Job: pull the one page you need, not the whole doc site. Buy when the server supports targeted fetch. Skip the ones that embed a vector DB of everything on connect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wait
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;"All-in-one" mega servers with twenty tools.&lt;/strong&gt;&lt;br&gt;
Often one good tool trapped in a mall. Wait until you know which tool you actually call weekly. Prefer small servers you can disable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slack / email write access.&lt;/strong&gt;&lt;br&gt;
Read-only search can be useful. Write is how you get a polite agent apologizing in the wrong channel. Wait until you have approval workflows and a human in the loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CRM writebacks.&lt;/strong&gt;&lt;br&gt;
Same story. The demo is magical. The mistaken field update is a quarter of pipeline chaos. Wait.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosted MCP marketplaces with vague auth.&lt;/strong&gt;&lt;br&gt;
The protocol is open. Your secrets should not be. Wait on anything that wants OAuth to five systems to "get started in one click" without a clear data flow diagram.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skip
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Servers you cannot name a weekly job for.&lt;/strong&gt;&lt;br&gt;
Curiosity installs are how context dies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anything that requires broad cloud admin to "try."&lt;/strong&gt;&lt;br&gt;
If the quickstart is "attach Owner," the quickstart is wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scrapers aimed at ToS-hostile targets.&lt;/strong&gt;&lt;br&gt;
Legal and ban risk is not a flex. Skip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Duplicate servers for the same job.&lt;/strong&gt;&lt;br&gt;
Two GitHub MCPs do not make you twice as effective. They make tool choice a coin flip mid-thought.&lt;/p&gt;

&lt;h2&gt;
  
  
  A sane default kit for a small product team
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Filesystem (constrained)&lt;/li&gt;
&lt;li&gt;GitHub read&lt;/li&gt;
&lt;li&gt;One browser tool for QA&lt;/li&gt;
&lt;li&gt;One data read path (warehouse or product DB replica)&lt;/li&gt;
&lt;li&gt;Optional: the marketing pair (Ads + GA4) if that is the business&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is five. If you are past eight, you are probably collecting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security notes I wish I had tattooed earlier
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Prefer &lt;strong&gt;read-only&lt;/strong&gt; tokens. Always.&lt;/li&gt;
&lt;li&gt;Rotate anything that ever lived in a screenshot.&lt;/li&gt;
&lt;li&gt;Log tool calls for a week. You will find a server you never meant to leave on.&lt;/li&gt;
&lt;li&gt;Treat MCP like production IAM, not like browser extensions in 2012.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Verdict
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Buy&lt;/strong&gt; small, job-shaped, read-mostly servers that survive a real Tuesday.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wait&lt;/strong&gt; on write scopes and mega-bundles until the job is undeniable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skip&lt;/strong&gt; directory tourism and anything that eats the context window as a hobby.&lt;/p&gt;

&lt;p&gt;MCP is how agents touch the world. The world includes your ads account, your database, and your reputation. Wire it like you mean it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/connecting-claude-to-google-ads-and-ga4-via-mcp"&gt;Connecting Claude to Google Ads and GA4 via MCP&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.firecrawl.dev/blog/best-mcp-servers-for-developers" rel="noopener noreferrer"&gt;Firecrawl, Best MCP servers for developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.totalum.app/blog/best-mcp-servers-2026" rel="noopener noreferrer"&gt;Totalum, Best MCP servers 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Cursor / Claude Code MCP docs via vendor documentation portals
&lt;/h2&gt;

</description>
      <category>mcp</category>
      <category>claude</category>
      <category>cursor</category>
      <category>tooling</category>
    </item>
    <item>
      <title>The 12-Prompt Eval I Run Before I Trust Any Model Upgrade</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Wed, 29 Jul 2026 15:37:17 +0000</pubDate>
      <link>https://dev.to/promptway/the-12-prompt-eval-i-run-before-i-trust-any-model-upgrade-1j8e</link>
      <guid>https://dev.to/promptway/the-12-prompt-eval-i-run-before-i-trust-any-model-upgrade-1j8e</guid>
      <description>&lt;p&gt;This post is about evaluating a new model against a frozen task set before you change production defaults. It is not about training an academic benchmark. By the end you will be able to run a half-day eval that answers one question: does this model earn the default slot on &lt;em&gt;our&lt;/em&gt; work.&lt;/p&gt;

&lt;p&gt;I do not upgrade on launch day. I upgrade when the scoreboard says so.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why twelve, not two
&lt;/h2&gt;

&lt;p&gt;Two prompts create anecdotes. Twelve create a pattern. I want failures to cluster. If the new model only fails JSON, I patch JSON. If it fails voice, length, and honesty together, I keep the old default.&lt;/p&gt;

&lt;p&gt;The set below is the lab's current kit for marketing and ops clients. Swap domains if you write code or legal. Keep the &lt;em&gt;shape&lt;/em&gt;: constraints, faithfulness, structure, refusal, repair.&lt;/p&gt;

&lt;h2&gt;
  
  
  The twelve prompts (compressed)
&lt;/h2&gt;

&lt;p&gt;Run each against &lt;strong&gt;old default&lt;/strong&gt; and &lt;strong&gt;candidate&lt;/strong&gt;, same system scaffold, temperature locked where possible. Three trials each. Majority wins.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Job&lt;/th&gt;
&lt;th&gt;What you score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Homepage hero brief, hard word cap&lt;/td&gt;
&lt;td&gt;Length obedience, banned words&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;De-slop rewrite of a sloppy draft&lt;/td&gt;
&lt;td&gt;Tells removed without inventing facts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;JSON object for a fixed schema&lt;/td&gt;
&lt;td&gt;Valid parse, nulls not fabrications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Long PDF / long paste summary&lt;/td&gt;
&lt;td&gt;No invented section titles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Brand voice match from two samples&lt;/td&gt;
&lt;td&gt;Peer tone, not marketer tone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;"I don't know" under missing data&lt;/td&gt;
&lt;td&gt;Refusal to invent metrics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Competitor comparison table&lt;/td&gt;
&lt;td&gt;Sources or explicit unknowns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Email to an angry customer&lt;/td&gt;
&lt;td&gt;Empathy without overpromising&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;Step procedure (numbered)&lt;/td&gt;
&lt;td&gt;Order preserved, no skipped steps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Multilingual or locale tweak&lt;/td&gt;
&lt;td&gt;No silent language mixups&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;Tool / MCP style: use only provided logs&lt;/td&gt;
&lt;td&gt;No fake log lines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;Repair pass: fix invalid JSON from trial 3&lt;/td&gt;
&lt;td&gt;Converges in one step&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You can paste your real client inputs into each row. Toy inputs lie.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rubric (binary, on purpose)
&lt;/h2&gt;

&lt;p&gt;For each trial, pass only if &lt;strong&gt;all&lt;/strong&gt; apply:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Constraints:&lt;/strong&gt; every hard rule in the prompt held.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faithfulness:&lt;/strong&gt; no new facts, numbers, or quotes that were not in the input.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Format:&lt;/strong&gt; schema or structure match when required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice:&lt;/strong&gt; would you send it to the client without a shame rewrite.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Score the model, not your affection for the vendor. A pretty paragraph that invents a "47% lift" is a fail on #6 and #2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Promotion rule I use:&lt;/strong&gt; candidate must win or tie on at least 9 of 12 jobs by majority of three runs, and must not fail #3, #6, or #11. Those three are the trust breaks. Everything else is quality of life.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bad eval (do not do this)
&lt;/h2&gt;

&lt;p&gt;Open ChatGPT. Ask "are you better at writing now." Paste one blog intro. Declare victory on Slack.&lt;/p&gt;

&lt;p&gt;That is not an eval. That is a mood.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I log it
&lt;/h2&gt;

&lt;p&gt;A single markdown table in the client repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| job | old_pass | new_pass | notes | date | models |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check it into git. When someone asks "why did we switch," you have a file, not a vibe. When the next wave hits, you re-run the same twelve instead of inventing a new ritual.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interaction with the migration post
&lt;/h2&gt;

&lt;p&gt;If you are mid-upgrade, pair this with &lt;a href="https://dev.to/blog/upgrade-prompts-for-sonnet-5-gpt-56"&gt;Upgrade Your Prompt Stack for Sonnet 5 and GPT-5.6&lt;/a&gt;. Eval first tells you &lt;em&gt;whether&lt;/em&gt; to move. Migration patches tell you &lt;em&gt;what&lt;/em&gt; to change if the model is close but constraint-soft.&lt;/p&gt;

&lt;p&gt;If the candidate fails the trust breaks, no amount of "be concise" poetry will save it. Keep the old default. Re-test next month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tiny experiment
&lt;/h2&gt;

&lt;p&gt;This week, freeze your twelve inputs in a folder. Do not improve them mid-eval. Run old vs new once. Put the table in Slack without commentary. Ask the team which model they would ship. Compare their gut to the table. The gap is why the lab exists.&lt;/p&gt;

&lt;p&gt;The scaffold survives the temperature change. The recipe assumes you already wrote the brief. The fail-state is upgrading on a demo video.&lt;/p&gt;

&lt;p&gt;Never promote a model that fails honesty. &lt;strong&gt;Never promote a model that fails honesty.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/blog/upgrade-prompts-for-sonnet-5-gpt-56"&gt;Upgrade Your Prompt Stack for Sonnet 5 and GPT-5.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/blog/the-constraint-goes-first"&gt;The Constraint Goes First&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/blog/the-de-slop-prompt-stack"&gt;The De-Slop Prompt Stack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;a href="https://dev.to/blog/july-model-wave-not-a-race"&gt;The July Model Wave Is Not a Race You Need to Win&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>prompting</category>
      <category>evals</category>
      <category>modelmigration</category>
      <category>claude</category>
    </item>
    <item>
      <title>Upgrade Your Prompt Stack for Sonnet 5 and GPT-5.6 Without Rewriting Everything</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Wed, 29 Jul 2026 15:37:15 +0000</pubDate>
      <link>https://dev.to/promptway/upgrade-your-prompt-stack-for-sonnet-5-and-gpt-56-without-rewriting-everything-302f</link>
      <guid>https://dev.to/promptway/upgrade-your-prompt-stack-for-sonnet-5-and-gpt-56-without-rewriting-everything-302f</guid>
      <description>&lt;p&gt;This post is about migrating a working prompt stack to new models without starting from a blank file. It is not about crowning Sonnet 5 or GPT-5.6 as the permanent winner. By the end you will be able to re-test a client system prompt in one afternoon and ship only the lines that actually moved.&lt;/p&gt;

&lt;p&gt;The July wave made a lot of smart people do a dumb thing. They opened last year's master prompt, deleted it, and wrote a new "optimized for the latest model" version from memory. The new version often looked cleaner. It also threw away six months of hard-won constraints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep the scaffold. Re-test the fail-states. Patch, do not rewrite.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I freeze on day one
&lt;/h2&gt;

&lt;p&gt;I treat every production prompt as three layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hard constraints&lt;/strong&gt; (banned words, length, format, "never invent numbers")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task contract&lt;/strong&gt; (what good looks like, who the reader is, what success means)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Style and examples&lt;/strong&gt; (voice samples, few-shots, tone notes)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Layers 1 and 2 almost never need a full rewrite when a model upgrades. Layer 3 often does, because new models have different default verbosity and different obedience to "sound like a peer, not a marketer."&lt;/p&gt;

&lt;p&gt;If your constraints already sit at the top (see &lt;a href="https://dev.to/blog/the-constraint-goes-first"&gt;The Constraint Goes First&lt;/a&gt;), you are ahead. If they do not, fix order before you chase model-specific tricks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bad migration (what I keep seeing)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are now optimized for Claude Sonnet 5 and GPT-5.6.
Be more intelligent, more careful, and more creative.
Use the full power of the new models.
Write better than before.
[... then the entire old prompt pasted underneath, unedited ...]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This fails for three reasons. First, "be more intelligent" is not a constraint. Second, stacking a hype preamble &lt;em&gt;above&lt;/em&gt; your real rules undoes constraint-first structure. Third, you have no baseline, so you cannot tell whether the new model helped or the rewrite just got lucky once.&lt;/p&gt;

&lt;p&gt;(This is the part vendors are wrong about when they imply a model upgrade is a free prompt upgrade.)&lt;/p&gt;

&lt;h2&gt;
  
  
  The working migration
&lt;/h2&gt;

&lt;p&gt;I run the same three tasks on the old model and the new one, same temperature settings where the API allows it, same inputs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Task A: client brief (verbosity fail-state)
&lt;/h3&gt;

&lt;p&gt;Old models often under-specified. New frontier models often &lt;em&gt;over&lt;/em&gt;-write. On Sonnet 5 and GPT-5.6 Terra in my tests, the default brief came back 30 to 50 percent longer than the client wanted unless length was in the first five lines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Patch that worked:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Constraints, in priority order:
1. Total output under 180 words. Count. If over, cut before sending.
2. No preamble ("Sure", "Here is", "I'd be happy to").
3. No bullet lists unless the user asked for a list.
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I did not change the brand voice paragraph. I moved and tightened the length rule until both models respected it on three runs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Task B: structured JSON (fidelity fail-state)
&lt;/h3&gt;

&lt;p&gt;GPT-5.6 Luna was cheap and fast and slightly sloppier on nested keys in my client schema. Sonnet 5 was stricter but occasionally wrapped JSON in a short apology line when it felt unsure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Patch that worked:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Output: a single JSON object. No markdown fences. No commentary.
If a field is unknown, use null. Never invent a string to fill a gap.
Validate against this schema before answering:
{ "headline": string, "dek": string, "risks": string[] }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When Luna still drifted, I added a one-line repair pass as a second call instead of stuffing more threats into the first prompt. Two cheap calls beat one anxious essay.&lt;/p&gt;

&lt;h3&gt;
  
  
  Task C: voice match (drift fail-state)
&lt;/h3&gt;

&lt;p&gt;Both new models were better at following long style guides &lt;em&gt;if&lt;/em&gt; the guide was short. Long style guides got summarized into vibes. The de-slop stack still applies (&lt;a href="https://dev.to/blog/the-de-slop-prompt-stack"&gt;The De-Slop Prompt Stack&lt;/a&gt;). What changed: I cut voice samples from five paragraphs to two tight ones and put the banned-word list back at the top.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The recipe:&lt;/strong&gt; fewer examples, sharper constraints, same brand truths.&lt;/p&gt;

&lt;h2&gt;
  
  
  Side-by-side: what I changed for one SaaS client
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Line&lt;/th&gt;
&lt;th&gt;Before (old stack)&lt;/th&gt;
&lt;th&gt;After (July 2026 patch)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Length&lt;/td&gt;
&lt;td&gt;"Keep it concise" at the bottom&lt;/td&gt;
&lt;td&gt;Hard word cap in constraint #1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JSON&lt;/td&gt;
&lt;td&gt;"Respond in JSON" mid-prompt&lt;/td&gt;
&lt;td&gt;Schema + null rules + no fences at top&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Voice&lt;/td&gt;
&lt;td&gt;Five sample posts&lt;/td&gt;
&lt;td&gt;Two samples + banned list + "no em dashes"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model note&lt;/td&gt;
&lt;td&gt;none&lt;/td&gt;
&lt;td&gt;"If uncertain, ask one clarifying question; do not guess metrics"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three runs per model. I only kept patches that improved at least two of three runs. Everything else stayed frozen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paste-ready checklist (90 minutes)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Export the current system prompt. Do not edit it yet.&lt;/li&gt;
&lt;li&gt;Pick three real inputs from the last month (not toy examples).&lt;/li&gt;
&lt;li&gt;Run all three on the old default model. Save outputs.&lt;/li&gt;
&lt;li&gt;Run all three on the candidate model with the &lt;em&gt;same&lt;/em&gt; prompt. Save outputs.&lt;/li&gt;
&lt;li&gt;Score only: constraint obedience, factual caution, voice match, length. Binary pass/fail per criterion.&lt;/li&gt;
&lt;li&gt;Patch the highest-failure constraint first. Re-run. Stop when two of three tasks pass.&lt;/li&gt;
&lt;li&gt;Ship the patched prompt with a one-line changelog at the top of the file: date, models tested, what moved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Never give yourself a free rewrite. &lt;strong&gt;Never give yourself a free rewrite.&lt;/strong&gt; The scaffold is the asset. The model is the temporary employee.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tiny experiment for you
&lt;/h2&gt;

&lt;p&gt;Tomorrow, take one production prompt. Do not rewrite it. Add a single hard length constraint at the top. Run it on your new default model three times. If length still fails, the model is not the first problem. Your constraint is still soft.&lt;/p&gt;

&lt;p&gt;That is the whole lab method for a model wave. Keep the recipe. Dial the parts that broke. Leave the rest alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/the-constraint-goes-first"&gt;The Constraint Goes First&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/blog/the-de-slop-prompt-stack"&gt;The De-Slop Prompt Stack&lt;/a&gt; (Promptway)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;a href="https://dev.to/blog/july-model-wave-not-a-race"&gt;July model wave context&lt;/a&gt; (Promptway)
&lt;/h2&gt;

</description>
      <category>prompting</category>
      <category>claude</category>
      <category>gpt5</category>
      <category>sonnet5</category>
    </item>
    <item>
      <title>Claude Code vs Cursor: I Gave Both the Same Client Task for Five Days</title>
      <dc:creator>Agnel Nieves</dc:creator>
      <pubDate>Wed, 29 Jul 2026 14:11:16 +0000</pubDate>
      <link>https://dev.to/promptway/claude-code-vs-cursor-i-gave-both-the-same-client-task-for-five-days-1hom</link>
      <guid>https://dev.to/promptway/claude-code-vs-cursor-i-gave-both-the-same-client-task-for-five-days-1hom</guid>
      <description>&lt;p&gt;The cold coffee was on the coaster and the brief was the same both mornings: ship the content schema fields, stop the MCP client from inventing keys, and refactor the validation path without breaking static params. No greenfield toy app. No "build me a todo list" demo.&lt;/p&gt;

&lt;p&gt;I ran days one through three primarily in Cursor. Days four and five primarily in Claude Code. Same repo. Same tests. Same definition of done. I am not a full-time staff engineer on this stack, which is the point. Most of the people choosing between these tools are operators who write serious code some days and ship product the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  The posture split (say it plain)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt; is an AI-native editor. You drive. The model assists inside selections, chats, and agent modes that still feel like an IDE session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; is a terminal-first agent. You delegate. The model plans, touches files, runs commands, and comes back with a report. You supervise.&lt;/p&gt;

&lt;p&gt;Every comparison that ignores that split ends up arguing about models when the real fight is about workflow. Models matter. The shell matters more than the launch blog admits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day notes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Days 1–2, Cursor (with Grok 4.5 as the cheap default, Sonnet-class when stuck).&lt;/strong&gt;&lt;br&gt;
Feature work flew. Component props, MDX frontmatter, small UI fixes. The loop of highlight, instruct, accept, tweak is still the fastest way I know to stay in flow on a brownfield Next app. Grok 4.5 made the loop cheaper. When the MCP JSON bug showed up, the model wanted to rewrite the client before it wanted to print the raw payload. I had to force the log. That cost an hour I did not budget.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 3, Cursor agent mode on the refactor.&lt;/strong&gt;&lt;br&gt;
It produced a confident plan and a partial migration. Two files clean. One half-updated. Tests red. I finished it by hand in the editor, which is fine, and also the tell: when I stay in the seat, Cursor is excellent. When I walk away, I come back to homework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Days 4–5, Claude Code on the same remaining refactor and a second bug class.&lt;/strong&gt;&lt;br&gt;
Slower start. Better graph awareness. It asked fewer "should I" questions and just ran the test suite. The unsupervised multi-file pass completed with less babysitting. The cost, depending on plan tier and how hard you drive it, can climb past a flat Cursor subscription if you live in Max-style usage. You are buying a night-shift senior, not a keystroke tax.&lt;/p&gt;

&lt;h2&gt;
  
  
  Head-to-head
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Job&lt;/th&gt;
&lt;th&gt;Winner&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tight UI / content edits all day&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cursor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Flow, diffs, visual context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cheap high-volume iteration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cursor + Grok 4.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Price and speed on the 70% path&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP / integration debugging&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt; (slight)&lt;/td&gt;
&lt;td&gt;More willing to inspect before rewrite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-file refactor while you step away&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Completeness over partial applies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning a foreign codebase cold&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Longer agentic exploration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pairing on a design-sensitive UI&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cursor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You need eyes on the pixels&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Named loser for unsupervised depth: Cursor agent mode on this repo, this week. Named loser for all-day edit ergonomics: Claude Code. Both losses are about posture, not morality.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would buy with my own money
&lt;/h2&gt;

&lt;p&gt;If I am in the code six hours a day on product UI and content systems, &lt;strong&gt;I pay for Cursor&lt;/strong&gt; and I keep a strong model plus Grok 4.5 for cost routing. If I am handing off a gnarly migration overnight or I live in the terminal anyway, &lt;strong&gt;I pay for Claude Code&lt;/strong&gt; and I stop pretending the IDE is the center of the universe.&lt;/p&gt;

&lt;p&gt;A lot of teams will correctly buy both. The wrong move is forcing one religion on every task because the procurement form has one line.&lt;/p&gt;

&lt;p&gt;Hold on. Is this just "use both" mush? Only if you skip the routing rule. Default editor path: Cursor. Default agent path: Claude Code. Escalate across the boundary when the job changes, not when Twitter changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verdict
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Buy Cursor&lt;/strong&gt; for daily editing and product velocity, especially with Grok 4.5 on the meter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Buy Claude Code&lt;/strong&gt; for delegated multi-file work and long bug hunts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skip&lt;/strong&gt; any article (including parts of this one, if you only read the table) that crowns a single winner for "coding in 2026." The winner is the operator who matches shell to job.&lt;/p&gt;

&lt;p&gt;I will re-run the same brief after the next major agent release. If the partial-apply problem disappears inside Cursor, I will update the table. Until then, the five-day receipt stands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nimbalyst.com/blog/claude-code-vs-cursor/" rel="noopener noreferrer"&gt;Nimbalyst, Claude Code vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sitepoint.com/ai-coding-tools-comparison-2026/" rel="noopener noreferrer"&gt;SitePoint, AI coding tools comparison 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cursor.com/blog/grok-4-5" rel="noopener noreferrer"&gt;Cursor, Introducing Grok 4.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Related Promptway: &lt;a href="https://dev.to/blog/grok-45-default-coding-week"&gt;I Made Grok 4.5 My Default Coding Model for One Client Week&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>claudecode</category>
      <category>cursor</category>
      <category>codingagents</category>
      <category>toolreview</category>
    </item>
  </channel>
</rss>
