How It Works
Intent-First Development inverts the traditional development sequence. Instead of starting with code and documenting afterward, IFD starts with intent — captured through collaborative design sessions — and treats code as the final artifact in a chain that begins with deliberate architectural decisions.
The Workflow
1. Collaborative Design Session
Every significant piece of work begins with a design conversation. A developer or architect works with an AI partner to explore the problem space, surface options, and make deliberate choices about approach.
This is not a requirements-gathering meeting or a design committee. It is a focused, rapid session — typically 30 to 90 minutes — that produces structured artifacts rather than meeting notes. The AI partner contributes by surfacing relevant patterns, challenging assumptions, generating alternative approaches, and identifying edge cases the human might not have considered.
The design session operates at defined altitudes — starting with high-level vision and descending through capability mapping, architecture, and component design before reaching implementation. Each altitude has a gate check: you do not descend until the current level's questions are answered.
2. Documentation Artifacts
The design session produces concrete artifacts, structured according to the Diataxis framework:
-
Explanations capture the reasoning — why this architecture, why these boundaries, why these trade-offs. Explanations are the documentation type most often missing in traditional development, and the most valuable for maintaining intent fidelity over time.
-
Design Decision Documents (DDDs) record each significant choice with its scenario, options considered, recommendation, and final decision. The separation between recommendation and decision is deliberate: it preserves the analytical process, not just the outcome.
-
Reference materials define the specifications — API contracts, data models, configuration schemas — that implementation must conform to.
3. Skills Distillation
From the documentation, the team distills Skills — structured artifacts that encode conventions in a form AI tools can consume directly.
Skills are not documentation summaries. They are actionable constraints: "Use this component structure," "Follow this naming convention," "Apply this error-handling pattern." Skills translate human understanding into machine-actionable guidance.
A mature IFD project typically maintains:
- Practice-level Skills inherited from the organization's methodology
- Project-level Skills specific to the codebase, evolved as the documentation corpus grows
4. Implementation
With intent captured in documentation and conventions encoded in Skills, implementation begins. The AI implementation partner operates with access to the full intent corpus — not just the current file, but the entire architectural context.
The code generated in this environment is qualitatively different from code generated in a context vacuum. It respects architectural boundaries because it can see them. It follows project conventions because they are encoded in Skills. It makes implementation choices that align with documented decisions because those decisions are available as context.
A Concrete Example
Consider an enterprise team that needs to design a notification system for a SaaS platform.
Without IFD: A developer prompts an AI tool: "Create a notification service in TypeScript." The AI generates a working service based on generic patterns. It compiles. It runs. But it uses polling instead of the team's event-driven architecture. It creates its own database tables instead of using the shared event store. It introduces a naming convention inconsistent with every other service. Each of these misalignments becomes technical debt that compounds as other developers build on top of it.
With IFD: The team begins with a design session that explores notification delivery requirements, evaluates push vs. pull vs. event-driven approaches, and records the decision to use the existing event bus with a DDD that captures why. Explanations document how the notification system fits into the broader platform architecture. Skills encode the service scaffold pattern, the event schema conventions, and the testing strategy.
When the AI implementation partner generates the notification service, it does so within this context. The generated code uses the event bus because the documentation says to. It follows the service scaffold pattern because the Skill specifies it. It names things consistently because the naming convention is explicit. The result is code that belongs in the codebase — not code that merely compiles.
The Inversion
Traditional development: Code → Documentation (maybe) → Understanding (eventually)
Intent-First Development: Understanding → Documentation → Code
This is the fundamental inversion. Documentation is not a tax on development; it is the medium through which design happens. Code is not the starting point; it is the output of a process that begins with captured intent.
The inversion costs time upfront. It saves time compoundingly — because every subsequent modification, extension, and onboarding event benefits from the intent that was captured at the start.
