Over the past year, developers built elaborate frameworks to make AI coding tools behave systematically. BMAD Method with 19 specialized agents. GitHub Spec-Kit with multi-stage specification workflows. Cline with explicit plan/act mode separation.

These frameworks share a common origin: AI coding tools lacked native structure for complex work. The scaffolding compensated for tool limitations.

With Opus 4.5 and native Plan Mode, those limitations are disappearing. The tools are absorbing the patterns.

The Scaffolding Landscape

Here’s what developers built to fill the gaps:

BMAD Method

BMAD (Build More, Architect Dreams) provides 19 specialized agents: Analyst, PM, Architect, Scrum Master, Developer, QA. Each agent has defined roles, commands, and artifact outputs. The framework coordinates them through external orchestration.

Core problem it solves: Generic AI assistants don’t follow structured development processes. BMAD imposes methodology through agent specialization and workflow enforcement.

How it works: Agent-as-code markdown files with embedded YAML configurations. Install via NPM, agents live in your project’s bmad/ folder. Four phases: Analysis → Planning → Solutioning → Implementation.

GitHub Spec-Kit

Spec-Kit implements spec-driven development: “intent is the source of truth.” Instead of vibe coding, you create detailed specifications before implementation.

Core problem it solves: AI generates code that doesn’t match intent. Spec-Kit forces requirements documentation before any code is written.

How it works: Slash commands create structured artifacts:

  • /speckit.constitution - coding standards
  • /speckit.specify - requirements
  • /speckit.plan - architecture
  • /speckit.tasks - ordered implementation
  • /speckit.implement - execution

Cline

Cline is an autonomous coding agent for VS Code with explicit plan/act mode separation.

Core problem it solves: AI assistants jump straight to coding without understanding the problem. Cline forces a planning phase.

How it works: Dual modes - Plan mode devises a sequence of steps, Act mode executes them one by one. Human-in-the-loop approvals for every file change and terminal command. MCP support for extending capabilities.

The Tools Are Catching Up

This isn’t just Claude Code. Look at what shipped in the past two months:

Cursor 2.0 (October 2025):

  • Parallel agents in isolated git worktrees
  • Clarifying questions UI before execution
  • Sandboxed terminals - system-level safety
  • Native browser tool built in
  • Agent-first interface designed around outcomes

Google Antigravity (November 2025):

  • Agent-first architecture from day one
  • Manager dashboard for multi-agent orchestration
  • Artifacts: task lists, implementation plans, screen recordings
  • Agents that test their own code in a browser and prove it works
  • Supports Gemini 3 Pro, Claude Sonnet 4.5, GPT-OSS

Sound familiar? These are the same patterns the external frameworks provided. Cursor absorbed them. Claude Code absorbed them. Antigravity was built with them native from the start. The scaffolding is becoming table stakes.

External frameworks compensate for tool limitations. As tools improve, the scaffolding becomes friction.

— The shift

What Native Features Now Provide

System-Level Enforcement

BMAD and Spec-Kit rely on prompts to make agents follow process. “Don’t code yet” requests get ignored - users reported inconsistent results.

Plan Mode is designed to block write tools at the system level - Claude shouldn’t modify files until you approve the plan. Cursor 2.0’s sandboxed terminals do the same for command execution.

Plan Mode enforcement isn't perfect

Users have reported Plan Mode violations where Claude edits files despite the mode being active. The restriction is system-level in theory, but enforcement has been inconsistent. Trust but verify.

Parallel Subagent Exploration

BMAD coordinates 19 agents through external orchestration. You manage the workflow, pass context between agents, handle handoffs.

Plan Mode spawns Haiku subagents internally. Cursor 2.0 runs parallel agents in git worktrees. Multiple agents explore simultaneously - automatic coordination, isolated context windows. The orchestration is built in.

Cost efficiency

Claude Code’s Explore subagents use Haiku (cheaper, faster) while your main conversation uses Opus for reasoning. Two-model cost optimization is native.

Proactive Clarification

Spec-Kit’s workflow forces you through constitution → specify → plan → tasks → implement. Each stage surfaces ambiguity before the next begins.

Plan Mode and Cursor 2.1 achieve the same outcome through interactive dialogue. The agent asks clarifying questions upfront. You answer. It refines the plan. The structured workflow happens conversationally rather than through explicit stage gates.

Persistent Plans

BMAD and community workarounds (ROADMAP.md, PLAN.md, SCRATCHPAD.md) store plans in files that survive context resets. You manually reference them after /clear.

Plan Mode writes to ~/.claude/plans/ automatically. Plans survive /clear. Claude references them without prompting. The persistence is native, not bolted on.

What External Scaffolding Still Provides

Plan Mode doesn’t obsolete everything. Specific use cases remain:

  • Structured deliverables: Spec-Kit produces PRDs, architecture docs, requirement specifications in predictable formats. Useful for handoffs, compliance, team documentation. Plan Mode produces plans, not formal artifacts.

  • Domain templates: BMAD includes specialized configurations for game development, enterprise systems, specific tech stacks. Pre-built expertise for domains where generic planning isn’t enough.

  • Tool-agnostic workflows: Spec-Kit works with Claude Code, Cursor, Gemini CLI. If you switch tools, your workflow survives. Native features lock you to one tool.

  • Graduated autonomy: Cline’s human-in-the-loop approvals provide finer control than Plan Mode’s binary plan/execute split. If you want per-action approval, extensions still win.

Don't abandon everything

If Spec-Kit’s structured artifacts are part of your compliance process, keep using them. If BMAD’s domain templates match your stack, keep using them. Native features solve the common case, not every case.

The Pattern Repeats

This isn’t the first time tools absorbed framework functionality:

  • Package managers absorbed dependency management that lived in scripts
  • Frameworks absorbed routing, state management, build tooling
  • IDEs absorbed linting, formatting, debugging that lived in separate tools
  • Git absorbed version control patterns that lived in naming conventions

AI coding tools are following the same trajectory. Community frameworks identify what’s missing. The most valuable patterns get absorbed into native features. The scaffolding becomes optional.

Today’s frameworks are tomorrow’s native features. The question isn’t whether to use scaffolding - it’s recognizing when it’s become unnecessary friction.

— Where this is going

The Practical Shift

If you’re using external frameworks today:

BMAD users: Try Plan Mode for the planning phase. See if native subagent exploration gives you what the 19-agent orchestration provided. Keep BMAD for domain-specific templates.

Spec-Kit users: Plan Mode’s interactive clarification achieves similar outcomes to the specification workflow. Keep Spec-Kit if you need the formal artifact outputs.

Cline users: Native Plan Mode does what Cline’s plan/act split does, but at the system level. Cline still wins if you need per-action approvals or VS Code integration.

Try It

  1. Run /model and select Opus 4.5
  2. On your next complex task, hit Shift+Tab twice to enter Plan Mode
  3. Let Claude ask clarifying questions - answer them
  4. Review the generated plan, edit if needed
  5. Approve and let execution begin

The framework overhead disappears. The systematic behavior remains.

The honest assessment

Native Plan Mode handles 80% of what external frameworks provide. The remaining 20% - structured deliverables, domain templates, team consistency, tool-agnostic workflows - still justify external scaffolding for specific use cases. Use native features as the default. Reach for frameworks when you hit their remaining value.