惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
爱范儿
爱范儿
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
罗磊的独立博客
D
Docker
美团技术团队
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
月光博客
月光博客
P
Proofpoint News Feed
博客园 - 聂微东
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
H
Help Net Security
T
Tailwind CSS Blog
S
Securelist
Google DeepMind News
Google DeepMind News
Scott Helme
Scott Helme
Jina AI
Jina AI
C
Cybersecurity and Infrastructure Security Agency CISA
Y
Y Combinator Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - Franky
S
Security @ Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
S
SegmentFault 最新的问题
Project Zero
Project Zero
P
Palo Alto Networks Blog
T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Full Disclosure
P
Privacy & Cybersecurity Law Blog
J
Java Code Geeks
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
Recent Commits to openclaw:main
Recent Commits to openclaw:main
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
V
Vulnerabilities – Threatpost
S
Schneier on Security

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Claude Code is the engine, Cursor is the cockpit
Scarlett Att · 2026-05-17 · via DEV Community

My daily workflow looks nothing like it did a year ago. A lot has landed in Claude Code recently. Skills replaced custom slash commands, subagents and plugins followed, and four days ago /goal shipped, which lets an agent run autonomously for hours or days against a completion condition. Cursor 3 came out with an agents-first interface and a cheap in-house model. MCP went from "interesting protocol" to how every tool plugs into every other tool.

The net effect is that I now run Claude Code as the primary engine and treat Cursor as the cockpit. Cursor is where I drop in when I want a GUI, design mode, or a real-time view of a diff landing. Most everything else, including the long-running stuff, lives in Claude Code.

Five patterns that stuck.

Pattern 1: Claude Code is the engine, Cursor is the cockpit

The biggest mindset shift was treating the two tools as different categories of thing rather than competitors.

Claude Code runs in the terminal with Opus 4.7 behind it, and it's built around the idea that you can describe an outcome and let it work. /goal and skills make it possible to run multi-hour tasks against verifiable end conditions, then codify the workflows you do over and over. That's the engine.

Cursor is where I go when I specifically need to see something. The new agents window is where I manage parallel work, but for the tight inline loops I still flip back to the editor window, where Tab predictions and Composer beat anything else. Design mode lives there too, which is where I end up when I'm chasing a UI tweak. With Composer 2 sitting at 50 cents per million input tokens, Cursor 3 also makes a cheap surface for parallel cloud agents on smaller tasks. The cloud agents are the ones I'll fire off before a meeting, expecting a PR to be waiting when I get back. That's the cockpit.

My rough heuristic now:

  • One-sentence tasks I can walk away from for an hour go to Claude Code, usually with /goal.
  • Anything I want to watch happen in my editor goes to Cursor.
  • Repeatable workflows I've done more than twice get codified as a Claude Code skill, so it doesn't matter which surface I call them from.

A bonus trick that applies in both tools: plan with a smart slow model, execute with a fast cheap one. In Cursor 3, plan in plan mode with Opus 4.7, then switch to Composer 2 Fast to build. In Claude Code, draft the plan with the default Opus model and hand the execution off via /goal so a smaller verifier model does the per-turn checking. Saves real money and almost never costs you quality.

Pattern 2: One conventions file, two readers

Both tools support project-level instruction files, and as of Cursor 3 they both support skills as well. Claude Code reads CLAUDE.md at the repo root plus nested ones for subdirectories, with skills in .claude/skills/. Cursor reads from .cursor/rules/ and pulls skills from .cursor/skills/. Same primitives, two surfaces.

The mistake I made early was treating these as separate. Different rules in each file, drift between them, and inevitably one tool would produce code that violated rules the other knew about.

The fix is to write conventions once in a canonical file, then have both CLAUDE.md and your top-level Cursor rule reference it. Mine live at docs/conventions.md. One source of truth, two readers.

What goes in there: naming conventions, error handling patterns, the testing approach you actually use, libraries you prefer alongside libraries you've banned, PR structure expectations. And the one most people forget, feature flag conventions. If your team uses LaunchDarkly, this is the place to write down which flag types map to which use cases, your naming conventions, and the standard rollout cadence. Both agents will then default to writing flag-gated code correctly without you reminding them every time.

You can use these files for tone, too. A line still earning its keep at the bottom of my CLAUDE.md:

When you finish a non-trivial task, summarize what you did in the voice of a tired senior engineer who has seen it all.

Commit the file. Your teammates' agents inherit your conventions, and your sense of humor, for free.

Pattern 3: /goal for anything bigger than one conversation

This is the new one. Claude Code shipped /goal on May 12, 2026. Codex shipped its equivalent the same week. If you're not using it yet, this is the upgrade with the biggest leverage in years.

The premise is that you give Claude Code a completion condition instead of a list of steps. After each turn, a small verifier model checks whether the condition holds. If it doesn't, Claude takes another turn. If it does, the goal clears and control comes back to you. In practice this means handing off tasks that would have eaten a whole afternoon of back-and-forth, and getting a PR when you wake up.

What makes a good goal:

  • One measurable end state. "All TypeScript errors resolved, all tests passing, PR opened against main" is a goal. "Make the auth flow better" is a wish.
  • A roadmap or PRD to drive against. The pattern working best for me right now is to hand it a docs/roadmap.md with a checklist of tasks, then write the goal as "every task on the roadmap is checked off and verified." The verifier has something concrete to check.
  • Explicit constraints for anything that must not change. /goal accepts up to 4,000 characters in the condition, so there's room to write "do not touch payments/" and "do not modify the public API surface."

A LaunchDarkly-shaped example that has earned its keep on my machine:

/goal Walk the release-checkout-redesign flag from 0% to 100% using
our standard rollout cadence in docs/conventions.md. After each ramp,
check error rate from the metrics MCP server. Stop and return to me
if any ramp shows error rate above baseline + 10%, or when the flag
is at 100% with three consecutive green ramps. Do not modify any code,
only the flag targeting.

Enter fullscreen mode Exit fullscreen mode

That's a task I used to babysit for half a day. Now I run it while writing the next feature in Cursor.

Pattern 4: Skills for the workflows you do more than twice

The single most underused feature in Claude Code is skills. They replaced what used to be custom slash commands, they auto-invoke when the description matches, and they cost almost nothing in tokens until they actually load.

A skill is a folder at .claude/skills/<name>/ with a SKILL.md inside. The file has YAML frontmatter with a name and description, and a markdown body underneath. That's it. Supporting scripts, example templates, helper files are optional and all live in the same folder.

The mental flip that helped me: anything I've copy-pasted into Claude Code twice should be a skill. Not eventually. Today.

Skills that have earned their place in my repos:

  • pr-prep. Runs the linter, runs the test suite, drafts a PR description against the convention in CLAUDE.md, and stops short of pushing.
  • flag-rollout. The LaunchDarkly rollout playbook. Reads the cadence from docs/conventions.md, has access to the LaunchDarkly MCP server and the metrics MCP server, and walks a flag through staged ramps with verification between each. Same shape as the /goal example above, but invocable as /flag-rollout without retyping the condition.
  • test-writer. Writes tests strictly using the conventions in the repo's testing doc. Vitest for unit and integration, Playwright for E2E, no Jest, no surprise mocks.
  • project-context. A tiny per-repo skill that tells the agent which Jira board, which LaunchDarkly project, and which feature flag prefix this codebase maps to. Sounds trivial. It killed the entire class of "wait, which board are we looking at" questions every agent used to ask me.

Each one is maybe 30 lines of Markdown. The compounding effect shows up within a week.

One more distinction worth pinning down, because it tripped me up early. Rules versus skills. Rules are the what. They go into every conversation as ambient context. "We use TypeScript. Vitest for tests. No new ORMs without a discussion." Skills are the how. They're loaded on demand when the description matches. "Walk a LaunchDarkly flag through staged ramps with verification" is a skill. "Always wrap network calls in our retry helper" is a rule. Keep rules brief and ambient. Push the heavy procedural stuff into skills, where it costs nothing in tokens until the agent actually pulls it in.

A quick note on skills versus subagents, because the difference matters. A skill is inline. Its instructions load into the current conversation and shape how the main agent behaves. A subagent is a separate, isolated context that the main agent delegates to and gets a summary back from. Use skills for "do it this way." Use subagents for "go do this heavy thing and come back when you're done." Most people want a skill 90 percent of the time.

Pattern 5: MCP servers, configured once, available everywhere

MCP went from "interesting protocol" in 2025 to the standard way every tool talks to every other tool by May 2026. Both Claude Code and Cursor have first-class MCP support with effectively identical configuration semantics, so a server you set up in one is a five-minute job to mirror in the other.

The LaunchDarkly MCP server is a good example of why this matters. Same server. Same credentials. Same flag set. Accessible from either surface. In practice that means I can ask the agent to "wrap this checkout component in a flag called release-checkout-redesign, default off" while I'm in Cursor writing the component, then switch to Claude Code in the terminal and run the /flag-rollout skill against that same flag. One mental model across two tools.

A few things I've learned that aren't obvious from the docs:

  1. Resist the urge to connect every server you've heard of. Both tools handle large MCP rosters better than they used to, but every active tool eats a slice of your context budget. Keep four to six servers active and rotate as projects change.
  2. Configure the same set in both tools. It removes the "wait, which one has the GitHub MCP" friction and lets you move work between them without thinking.
  3. MCP servers compose with skills. A skill can specify which MCP tools it's allowed to use via allowed-tools in the frontmatter. Scoping a skill to only the LaunchDarkly MCP server makes it physically incapable of touching anything else, which is much safer than relying on the model to behave.

Conclusion

The May 2026 stack, as I run it:

  1. Claude Code as the engine, for /goal-driven long tasks, skills, and anything else that should run without supervision.
  2. Cursor as the cockpit, for visual work, design mode, tight inline edit loops, and cheap parallel cloud agents.
  3. A shared conventions file both tools read from, so they code the same way.
  4. /goal for anything bigger than one conversation.
  5. Skills for anything you've done more than twice.
  6. MCP servers mirrored across both tools, kept to a tight set you actually use.

The shift this year is that the highest-leverage work isn't editor tricks anymore. It's setting up the agents to run without you and getting them to do the same thing the same way every time. The editor matters less every quarter. The skill library and the goals you can hand off are what compound.

If you've got skills or MCP setups I should steal, send them my way. You can find me on LinkedIn.