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

推荐订阅源

N
News and Events Feed by Topic
Malwarebytes
Malwarebytes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
F
Future of Privacy Forum
C
Cisco Blogs
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
S
Securelist
K
Kaspersky official blog
S
Schneier on Security
T
ThreatConnect
T
Tenable Blog
Spread Privacy
Spread Privacy
T
True Tiger Recordings
AWS News Blog
AWS News Blog
F
Fox-IT International blog
量子位
T
Threatpost
V
Vulnerabilities – Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
GbyAI
GbyAI
宝玉的分享
宝玉的分享
腾讯CDC
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
U
Unit 42
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
小众软件
小众软件
A
About on SuperTechFans
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
美团技术团队
Google Online Security Blog
Google Online Security Blog
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog

DEV Community

TIL a PowerPoint file is just a zip — so I converted .pptx to Word entirely in the browser 로컬 LLM 셋업 가이드 (v18) Cx Dev Log — 2026-04-24 github's agent audit api is the boring feature that matters # From Teaching Code to Building Real-World Applications Vivado 2026.1 and Linux: why this decision matters beyond the headline Vivado 2026.1 y Linux: por qué la decisión importa más allá del titular ORA-00206 오류 원인과 해결 방법 완벽 가이드 Entidades finas e composição: o design que escolhi para a nova plataforma 10 Open Source Tools Every Developer Should Know 🔥 SSH Config File Mastery: Turning `~/.ssh/config` Into a Productivity Tool I tried to create a programming language... in python I Replaced 70MB Node.js Log Viewer with a 172KB Zig Binary I Turned npm outdated into a CI Gate — Here's How Don't fall for the Claude Mythos hype Vestige: A Gemma 4 Brain Tracker That Won't Blow Smoke Up Your Ass Gemminate: Transforming Static Textbooks into Interactive Learning Journeys with Gemma 4 Where Did All the Code Playgrounds Go? I built PROOFER - Privacy first Chrome extension that proofreads your texts using Gemma 4 I Automated My Entire Digital Product Business on a $13/Month GCP VM. Here's the Architecture. Beginner's Mind in Engineering and AI How I use AI agents to turn ideas into public demos I Built a Quotation Generator for Kenyan Street Welders Using Gemma 4's Vision The Math Behind Neural Networks — Explained Like Nobody Did for Me 🧨 Understanding TPC with IEEE802.11h What I’m Starting to Look for in Engineers An npm Downloads Comparison Chart in 300 Lines of Vanilla JS — Nice-Tick Math and API-Direct Fetch Vitreus: Local-First Spreadsheet Intelligence with Gemma 4 Transfer Fees, Metadata, and Soulbound Tokens: A Tour of Solana Token Extensions I got tired of re-explaining my codebase to ChatGPT — so I built a VS Code extension Revisiting My Phone AI After Gemma 4: The Upgrade I Didn't Know I Needed I built a privacy-first PDF merger in 7 hours — here's the stack and the lessons Google I/O 2026 made me ask an uncomfortable question: are we still coding, or are we managing builders? SSR with JavaScript: Escaping Node.js Clunkiness with AxonASP My CKA Exam-Day Experience: What Went Right, What Went Wrong, and Lessons Learned Gemma 4 Soft Tokens: The Rise and Fall of 16x16 Words ⚡👀 Two weeks ago, I built a private AI brain on my phone using Gemma 4. Yesterday, Google dropped a new variant that made everything I built feel like a beta test. 256M parameters. MoE architecture. Apache 2.0 license. I broke down what changed and why it mat I got tired of clicking through the Stripe dashboard, so I built a CLI Getting Data from Multiple Sources in Power BI: A Practical Guide to Modern Data Integration Google Is No Longer Just a Search Engine I built GemmaPod - A truly composable and portable AI agent solution powered by your local LLM Gemma 4 E4B caught three planted fabrications in 50 seconds — on a laptop, no cloud How to build an AI-powered content moderation pipeline for user comments Running Gemma 4 on a Modest Machine: Unsloth vs LM Studio vs llama.cpp vs Ollama AI Makes Building Cheap. Our Product Architectures Still Assume It’s Expensive. I built an in-browser Roku TV remote with ~80 lines of TypeScript. Here's how Roku's ECP API actually works The Direction of Blame babbled notes: a sound-to-music agent for people who could not make music before How I Built a Live SQL Workshop Where Students Can't Break Anything Rescuing a Stranded Protocol: Re-Skinning Legacy Code for the Trestle DeFi Flywheel SOLID Heuristics Reveal Incomplete Domain Knowledge — Nothing More AllasCode Intitute / FullAgenticStack: The Intent-Based Router Introducing LogicGrid — Multi-Agent AI Orchestration for .NET AI Prompt Injection, Drupal SQLi Exploitation, and Nmap for Hardening AI Agents & Python Workflows: Anthropic Skills, Jupyter Challenges, and Edge Deployment SQLite Optimization, PostgreSQL Async Queries, & DuckLake Dataframe Spec RTX 5080 Undervolt Benchmarks, CGO-Free CUDA API Binding, & AMD GPU Compatibility Fix Microsoft Burned Its 2026 AI Budget on Claude Code in Six Months. That's the Real Story. Why I Started Learning FastAPI in 2026 I Abandoned Ghost for Months — Then Came Back and Finally Finished It Building an Open MIT-Licensed Ephemeris Engine in C — JPL Moshier Ephemeris 4 Smart Ways to Manage Retries in Side Projects Securing Web APIs: A Practical Guide to Authentication & Authorization Methods Google I/O 2026: AI Built an OS in 12 Hours. I Spent Mine Sorting Screenshots. 🤦 Half a Day, Not a Week: One Nix Flake for Three Machines 🌱 Keep Feeding Your CI/CD — Or Watch It Die Gemma 4 vs GPT-4o vs Llama 3: What Actually Works Locally? Vessel Ops SSH in 2026: Why Every Developer Should Know It Cold Audit AI-Generated PRs Before You Merge Them (Swarm Orchestrator 10.3.0) App Store Optimization (ASO) I built a tool to visualize Django REST Framework architecture (URLs, Serializers, Models, and more) How I made my React site agent-ready in 100 lines AI Can Generate Interfaces on the Fly. But Users Still Need Orientation. AI-Assisted Content Workflow How We Learned That Most Resume Rejections Happen Before Humans See Your CV How I Prepared for CKA: Resources, Labs, and Strategy That Worked for Me Remix Mini PC: Moving the Whole Operating System Onto the eMMC Stop Flying Blind: We Built an LLM Evaluation Framework That Works Across 17+ Agent Frameworks The Misleading "User is not authorized to access connection" Error in AWS CodeBuild — and Why Your IAM Policy Looks Fine I Resurrected a Dead F1 Project and Accidentally Built a Race Intelligence OS Remix Mini PC: After a Year of Dead Ends, the eMMC Finally Talks Not All Games Are Equal: The Real Difference Between a Trap and a Tool How to add Peppol e-invoicing to your SaaS without making it your team's problem I Built a Hermes Agent to Tell Me Which Hackathons to Enter. It Told Me to Enter This One. The Five Hooks That Change How You Ship With Claude Code Powering Your Progress: Building Robust Solutions with Laravel I built a self-hosted CI/CD platform with persistent queue, encrypted secrets, and rollback UI — here's what I learned Antigravity 2.0 and the $1,000 OS: Why "Agent-First" Feels Like the Direction I've Been Building Toward Anyway I built an AI PR-triage agent in 30 lines of Markdown Core Web Vitals from 74 to 91: A Real Tax Practitioner Site Rebuild I Gave Gemma 4 150 Tools on Windows. Here's What Actually Happened. Beyond the Loop: Why Monolithic AI Agents Fail and How to Build a Microkernel Architecture The Hidden Tax of AI-Assisted Development (And How I Fixed It) I Ditched Cloud LLMs for Gemma 4 4B: A DevOps Engineer's 48-Hour Reality Check Building a Schema.org @graph That Validates on the First Try The "Lift and Shift" Trap: Why Your Integration Layer Needs More Than Just a Cloud Address All 7 OSI Layers Explained with Real-World Analogies Antigravity 2.0 in one day: the four shells and what each is good for Self-Hosting Google Fonts with size-adjust: Zero CLS Web Font Swap
Stop Prompting. Start Specifying: How Spec-Driven Development Fixes AI Coding
Mahafuzur Ra · 2026-05-25 · via DEV Community

TL;DR: AI coding fails because context is temporary and intent is vague. OpenSpec introduces spec-driven development (SDD)—a lightweight framework that turns chat-based prompts into persistent, versioned specifications. Here's how it transforms AI from a guessing tool into a reliable system builder.


The future of AI-assisted development isn't better prompts—it's better specifications.


The AI Context Crisis

You asked AI to build authentication. Three prompts later, you have 2FA, device tracking, session expiry, and "remember me"—but no one actually asked for those features.

Sound familiar?

This is the AI context crisis: in long-term projects, AI tools forget earlier decisions, ignore established patterns, and silently reinvent behavior. Each new prompt is like starting fresh, except now you're debugging your AI assistant's assumptions instead of your own code.

The problem isn't that AI models are weak. It's that context is temporary and intent is vague.

Chat-based prompts evaporate. Conversations fragment. Architecture drifts. What started as "add user login" quietly evolves into a Frankenstein of features no one specified, all because AI filled in the blanks.


What Is OpenSpec?

OpenSpec is a lightweight, file-based framework that lives in your repository as an openspec/ directory. It holds structured specifications, designs, and tasks for features, experiments, and refactorings.

Instead of scattering ideas across chat history, you write clear specs that become the single source of truth for proposals, reviews, and automation.

The best part? OpenSpec works with 20+ AI coding tools—Claude Code, Cursor, GitHub Copilot, Windsurf, Replit, and more. It's not locked into one ecosystem.

The OpenSpec Philosophy

Three principles that make OpenSpec different from traditional specification processes:

  • Fluid, not rigid – Specs evolve as you learn. No frozen documents gathering dust
  • Iterative, not waterfall – Start small, refine as you go, ship incrementally
  • Easy, not complex – Zero setup, works with your existing tools, meets you where you are

The OpenSpec Flow

Idea → Proposal → Specs → Design → Tasks → Implementation

Enter fullscreen mode Exit fullscreen mode

Each stage produces a tangible artifact:

  • Proposal – why the feature exists and its scope
  • Specs – precise behavior: what the system must do
  • Design – how it's structured: architecture, components, data flow
  • Tasks – implementation broken into small, deterministic steps

This gives you persistent system knowledge and explicit requirements that survive across sessions and scale with your project.


Prompt-Based vs Spec-Driven: The Real Difference

Think of it like building a house:

Prompt-based coding is like texting your contractor: "Build a kitchen""Add an island""Make it modern""Wait, that's too expensive."

Spec-driven development is handing them blueprints: "Here's the layout, materials, and budget. Build this."

The key difference isn't communication—it's persistence.

Blueprints don't change because you had a new conversation. Specs don't drift because AI forgot yesterday's context.

The Comparison

Prompt-Based Coding Spec-Driven Development (OpenSpec)
Conversational Structured
Temporary context (chat-only) Persistent context (files in openspec/)
AI guesses intent Intent is explicit in specs and designs
Hard to scale Scales with project complexity
Code-first thinking System-first thinking
"Build me auth" "Here's exactly what auth must do"
Iteration by patching Iteration by refining specs

Real-World Example: Authentication

Prompt-based approach:

You: "Build authentication"
AI: [Creates basic login]
You: "Add email verification"
AI: [Adds verification, breaks existing flow]
You: "Fix the login bug"
AI: [Patches bug, introduces new issue]
You: "Make it work on mobile"
AI: [Adds responsive CSS, but session handling breaks]

Enter fullscreen mode Exit fullscreen mode

Spec-driven approach:

You: "/opsx:propose User authentication with email verification"
AI: Creates proposal.md + spec.md with clear requirements
You: Review and refine the spec
You: "/opsx:apply authentication"
AI: Implements against the spec—no guessing, no scope creep

Enter fullscreen mode Exit fullscreen mode


What Problems Does OpenSpec Solve?

1. AI Forgetting System Context

In long-term projects, AI tools lose track of earlier decisions. OpenSpec makes context permanent—it lives in your repo as files, so AI always reads the same shared truth instead of relying on a fading conversation.

2. Inconsistent Architecture Across Features

When each feature starts from a new prompt, you get different styles, duplicated logic, and conflicting patterns. OpenSpec forces architectural consistency by centralizing design decisions that all features must follow.

3. Requirement Drift

You start with "build authentication," then quietly add 2FA, session control, device tracking without tracking what changed. OpenSpec solves this with delta specs: every addition, modification, or removal is explicit and versioned.

4. Unclear Scope for AI Agents

When scope is ambiguous, AI fills gaps by guessing and making silent assumptions. OpenSpec forces clarity before implementation: you define what to build, how it should behave, and how it fits into the system.

5. Hard-to-Review AI Output

Traditional AI-assisted coding produces large diffs, unclear intent, and hidden behavioral changes. With OpenSpec, review happens at the intent level first: you review proposals, designs, and task breakdowns before code is written.

6. Works Where You Are: Greenfield and Brownfield

Greenfield projects get a clean slate—specs guide architecture from day one, preventing technical debt before it starts.

Brownfield projects benefit even more. OpenSpec helps you:

  • Document existing behavior before refactoring
  • Specify changes precisely, not "and hopefully nothing breaks"
  • Track what changed and why, making debugging easier

The Power of Delta Specs

OpenSpec introduces a powerful concept: delta specs. Instead of rewriting entire specifications, you define only what's changing:

## Delta: Add Password Reset
**Modifies:** authentication/spec.md
**Changes:**
+ Add password reset endpoint
+ Add email template for reset links
+ Add rate limiting on reset requests
- None

Enter fullscreen mode Exit fullscreen mode

This makes it crystal clear what's being added, modified, or removed—critical for reviews and maintenance.


Why This Matters Now

Software development has always evolved around constraints:
raw machine code → high-level languages → frameworks → AI-assisted code generation

But one thing never changed: developers still need a clear way to describe what should be built before it gets built.

AI changed the game. We can now generate features in minutes, refactor entire modules instantly, and scaffold systems rapidly. But speed introduced a new problem: we can build faster than we can define correctly.

Without structure, that leads to:

  • ❌ Inconsistent architecture
  • ❌ Unclear boundaries
  • ❌ Duplicated logic
  • ❌ Fragile assumptions
  • ❌ Hard-to-maintain AI-generated codebases

Spec-driven development solves this by reintroducing intent clarity as a first-class artifact.


The Benefits of Spec-Driven Development

1. Clear Intent Before Code Exists

Every feature has a defined purpose, explicit behavior, and documented edge cases. Less ambiguity, fewer broken implementations.

2. AI Becomes Predictable Instead of Creatively "Wrong"

Without structure, AI fills gaps, invents behavior, and drifts from original intent. With SDD, it works against a precise spec: "Here is exactly what must be built and how it behaves." Result: more consistent, reliable, architecturally aligned code.

3. Easier Maintenance in Large Systems

Systems fail not at creation but during evolution. SDD tracks every change explicitly—what was added, modified, or removed—so you get a living history of behavior, not just code diffs.

4. Better Collaboration Between Humans and AI

Humans think in goals, behavior, and UX; AI thinks in patterns and probability. Specs bridge that gap, creating a shared language where humans define intent and AI executes reliably.

5. Reduced Rework and Technical Debt

Traditional loops: build → realize mismatch → fix → refactor → repeat.
SDD loops: define → validate → implement → verify.
Intent is validated first, so far fewer things need rewriting later.

6. Scales Naturally with Complexity

Each feature has isolated specs, changes are incremental, and systems stay understandable over time—especially important for SaaS, plugins, and enterprise systems.


How This Changes Your Workflow

Traditional AI workflow:

Prompt → AI code → fix → prompt again → patch → repeat

Enter fullscreen mode Exit fullscreen mode

SDD workflow:

Idea → Spec → Design → Tasks → AI implementation → Review

Enter fullscreen mode Exit fullscreen mode

Before: reactive, intent-fuzzy, inconsistent.
After: proactive, intent-explicit, predictable.


The Long-Term Impact

If spec-driven development becomes standard, we'll see:

  • Fewer broken AI-generated systems
  • More maintainable AI-assisted codebases
  • Less reliance on prompt-engineering tricks
  • Stronger collaboration between teams and AI agents
  • Developers shifting from code-writing to system-design

Developers will spend more time defining what should exist, and less time fixing what AI accidentally created.


Getting Started with OpenSpec

OpenSpec isn't about adding paperwork—it's about solving the mismatch between AI's speed and our lack of structure. It doesn't replace coding; it upgrades how coding is guided, controlled, and scaled in the AI era.

Installation

Install OpenSpec globally:

npm install -g @fission-ai/openspec

Enter fullscreen mode Exit fullscreen mode

Then run it in any project:

openspec init

Enter fullscreen mode Exit fullscreen mode

This creates an openspec/ directory with the core structure. That's it—you're ready to start spec-driven development.

The Slash Commands

OpenSpec provides three simple commands that transform how you work with AI:

  • /opsx:propose – Start a new feature with a proposal and spec
  • /opsx:apply – Implement a spec and create tasks
  • /opsx:archive – Move completed work to archive

These commands work directly in your AI assistant interface, so you never leave your flow.

Recommended AI Models

OpenSpec works with any AI coding tool, but performs best with models that excel at:

  • Long-context reasoning – Reading entire specs and designs
  • Structured output – Following precise requirements
  • Architectural thinking – Understanding system-level implications

Top recommendations:

  • Claude 4 Sonnet (excellent at system design)
  • Claude 4 Opus (best for complex refactorings)
  • GPT-4 Turbo (fast iteration on specs)

Quick Start Example

Instead of:

"Build me a user authentication system with email verification"

Enter fullscreen mode Exit fullscreen mode

Create an openspec/ directory with:

proposal.md

# User Authentication Feature
**Goal:** Enable secure user login with email verification
**Scope:** Email/password auth, email verification, session management
**Out of scope:** OAuth, 2FA, password reset (future phases)

Enter fullscreen mode Exit fullscreen mode

spec.md

# Authentication Specification
## Requirements
- User can register with email + password
- Password must be 8+ chars with special character
- Verification email sent on registration
- User cannot login until email verified
- Session expires after 24 hours

Enter fullscreen mode Exit fullscreen mode

Now AI has explicit constraints and clear boundaries. No guessing, no scope creep, no surprises.


What's Next?

The next time you're about to prompt AI with "Build me X", pause and ask:

"Can I write a 10-line spec first?"

If the answer is yes, you've just upgraded from prompt-based chaos to spec-driven development.

Your future self (and your AI assistant) will thank you.

Join the Movement

OpenSpec is open source and growing. The community is actively developing:

  • More AI tool integrations
  • Enhanced spec templates
  • Visual spec editors
  • Team collaboration features

Ready to get started?

npm install -g @fission-ai/openspec
openspec init

Enter fullscreen mode Exit fullscreen mode

Or visit github.com/Fission-AI/OpenSpec for documentation, examples, and community discussions.