Keep private evidence private. profile 1.0
The repo-safe profile keeps summaries and references in the file. Raw customer material stays in a protected source.
An open format for evidence-backed product intent.
Give your coding agent the problem, the boundaries, and what success looks like. Keep it in intent.md, beside your code.
$npx -y @pathmode/cli preflightDownload the example. Check it locally. No account needed.
Same repo. Different question.AGENTS.md tells your agent how to work.intent.md tells it what this change is for.
Analysts take filtered results into their own tools without filing a support ticket.
Runs client-side. No new export endpoint.
Show a toast, create no file.
Unit test asserts PII columns are stripped.
Analysts re-filter full exports by hand.
---id: json-exportstatus: approveduserGoal: Export the rows I am looking at as JSONobjective: >- Analysts take filtered results into their own tools without filing a support ticket.outcomes: - Export never contains rows outside the active filter. - The file never includes PII fields.constraints: - Runs client-side. No new export endpoint.edgeCases: - scenario: Empty dataset expectedBehavior: Show a toast, create no file.verification: - Unit test asserts PII columns are stripped.evidence: - type: friction source: support-ticket-4421 excerpt: Analysts re-filter full exports by hand. anchors: ["outcome:0", "edgeCase:0"]---
One example, two views. Evidence uses a summary and source reference.See what changed ↓
Using the intent.md format from Anthropic’s AI-native SDLC playbook? See a worked preflight check ↗
“Add an export” leaves the important decisions open. A useful intent names the behavior you can actually check.
“Add JSON export.”“Make exports easy to use.”
Preflight: outcomes unconfirmed.
These lines name an activity and a preference. They leave the rows, the contents, and the expected behavior open.
“Export never contains rows outside the active filter.”“The file never includes PII fields.”
Preflight: outcomes pass.
Two explicit boundaries. Each can be checked independently against the exported file.
Checked with CLI 2.7.0. Only the outcomes changed; the rest of the example is identical.Download the before file ↗
Link the support signal to the outcome it explains. The next person can follow the decision back to its source.
Constraints say what cannot change. Edge cases say what happens when the happy path ends.
Record how you'll check the result. Passing a readiness check is the start; verifying the build comes next.
Keep the editor, agent, and repository you already use. Add the intent alongside them.
Save intent.md in your repository. Replace the example with your problem, outcomes, and boundaries; set its status to draft while you refine it.
Run preflight in the same directory. It reads the file locally, reports what it cannot confirm, and exits nonzero when a gate blocks.
Add this instruction to the rules your agent already reads.
Read intent.md before implementing this change. Check the result against its outcomes and constraints.
$ npx -y @pathmode/cli preflightReadiness is one check. Correctness is another. Preflight checks six dimensions using fixed rules. It can miss valid phrasing, and a pass does not prove the product decision or implementation is right.
Add schema validation to your pull requestsEdit the example or paste your own intent.md. Schema and readiness checks run in your browser; your text stays on this page.
The example is available to download while the checker loads.
Try changing outcomes: to a string, or changing edgeCase:0 to edgeCase:9.
A valid format can still describe a vague outcome. Both examples pass the schema. The before file fails readiness on outcomes; the after file passes all six gates.
These checks do not approve a change, verify an implementation, or audit private information.
The details behind a very small file.
IntentSpec is the portable handoff format for evidence-backed product intent. It's a structured Markdown file with YAML frontmatter that captures what "done" looks like for a feature: objectives, outcomes, edge cases, and the evidence that produced them. Any AI coding agent can read it.
AGENTS.md and CLAUDE.md provide general repo context. They tell the agent how your codebase is shaped. IntentSpec carries product judgment for a single feature: the outcomes, the edge cases, and the evidence behind the call. One is repo context; the other is per-feature intent.
Compare intent.md with AGENTS.md, Spec Kit, OpenSpec and Kiro ↗
No. You can write intent.md in a text editor, run the free CLI, and validate it in CI. Pathmode is an optional connected workspace where the product manager compares an agent proposal with the original request, sends corrections, and authorizes the revised intent. The open format works independently of that service.
Agents drift when specs are vague or unjustified. IntentSpec requires explicit outcomes and supports edge cases and evidence linked to the requirements they justify. Readiness checks help identify gaps; human review and authorization establish whether the agent should proceed.
Spec-driven development tools and spec-kit focus on the contract between spec and implementation: they validate that code conforms to a spec. IntentSpec operates one layer upstream. It carries the evidence that justifies the spec in the first place. The difference is between enforcing "done correctly" and being able to argue why "done" means what it means. IntentSpec is complementary: wire it to spec-kit, reference it from your GH workflows.
Compare intent.md with AGENTS.md, Spec Kit, OpenSpec and Kiro ↗
The deterministic checks confirmed the goal, objective, outcomes, constraints, edge cases, and verification in the text. These checks use a fixed vocabulary and can miss valid wording. A pass does not establish that the product decision is good, grant approval, or verify the implementation.
Use summaries and references, with raw customer quotes, personal identifiers, confidential metrics, and secrets kept out of the repository. A summary still needs review for sensitive information.
Read the repo-safe profile ↗
IntentSpec defines what the file means. The schema checks its structure; the shared conformance cases let tool builders check that they read it consistently.
Use it with any agent. Build your own tools around it. The specification and schema are available under MIT.
The repo-safe profile keeps summaries and references in the file. Raw customer material stays in a protected source.
Optional scope and verification fields make the permission boundary and feedback loop explicit.
Typed evidence and anchors connect a source to the part of the intent it supports.
Put the intent beside the code. Give your agent something clear to build from.