Requivo
Turn vague requests into validated product decisions.
Requivo separates facts, assumptions and unknowns, asks the questions that could change the solution, and keeps the resulting decisions traceable — before generating product documentation.
The model is the product. Documents are views of that model.
Built for Product Managers, Solutions Engineers and Business Analysts working on complex, configurable B2B products.
Why Requivo
An LLM will happily turn a half-understood request into a polished PRD. Clean documentation is not the same as a correct understanding — and the expensive mistakes come from the question nobody thought to ask, the one that turns a "small feature" into a three-month build.
Requivo asks a question only when the answer would materially change the solution. The rest, it infers and marks as an assumption to confirm. You spend discovery time where it moves the needle.
Request:
"We'd like a leave approval system."
Requivo asks only what changes the build:
- Is there a balance/quota check, and does it vary by contract or country?
- Is the approval circuit multi-level, and configurable per client?
- What happens when the approver is unavailable — escalate or wait?
- How are requests handled today (paper, email, another tool)?
It leaves the low-stakes questions (reporting, cosmetics) alone. See a full run in
examples/leave-approval/, or a harder, messy one in
examples/event-checkin-reconciliation/.
Choose your interface
Requivo is one engine with three interfaces over the same local session format. A session created by any of them is readable and editable by the others.
| Interface | Best for | LLM usage |
|---|---|---|
| Claude Code | Interactive discovery in a session you already have | Uses your Claude Code session — no extra API key |
| Web | A local browser interface for non-terminal users | Anthropic provider (optional; key only for LLM actions) |
| CLI | Automation, scripting, deterministic session operations | Anthropic provider (optional; key only for LLM actions) |
New to Requivo? Start with Claude Code or the local Web interface.
Quickstart
Try it with no key, no setup
requivo demo replays a real run from saved output — the messy request, the questions it raised, the
assessment it produced. No API key, no network.
git clone https://github.com/jbkkz/requivo && cd requivo
uv run requivo demo
Claude Code
Reason with the Claude session you already have — no Anthropic API key needed. In Claude Code:
/plugin marketplace add jbkkz/requivo
/plugin install requivo@requivo
/requivo:discover We'd like a leave approval system.
/requivo:status <slug>
/requivo:brief <slug>
See the plugin README for the full skill list and the from-a-checkout install.
Web
A local, single-user browser interface. Sessions stay on your machine; the server binds to localhost.
uv tool install "requivo[web,anthropic]" # or just [web] to review sessions without a provider
export ANTHROPIC_API_KEY="…" # only needed for discovery / generation
requivo web # opens http://127.0.0.1:8765
Requivo Web is not Requivo Cloud — no accounts, no database, no remote storage. See
docs/web.md.
CLI
uv run --extra anthropic requivo discover "We'd like a leave approval system."
uv run requivo status <slug> # understanding + readiness (no network)
uv run requivo prd <slug> # a PRD from the saved model
Full command reference: docs/cli.md. Getting started in depth:
docs/getting-started.md.
How it works
- Bring a request — a sentence or a rambling email; a symptom, not a spec.
- Clarify high-impact unknowns — Requivo asks only what would change the solution, and infers the rest as assumptions to confirm.
- Build and validate the requirements model — a versioned set of typed slots that is the durable product.
- Generate traceable artifacts — each is a view of the model, and knows which decisions it rests on.
The decision rule is information value = uncertainty × impact. Impact is estimated from the product
context you give it, so better context means sharper questions. More:
docs/requirements-model.md.
What Requivo produces
A solution assessment (a senior-PM judgment that pushes back on the request, not a recap), plus generated artifacts from the same model, without redoing discovery:
- PRD
- User stories
- Acceptance criteria (Given/When/Then)
- Uncertainty-aware estimate
- Delivery epic + tool-neutral export (GitHub / GitLab issue plans)
- Release notes
See docs/cli.md for how each is generated.
Core concepts
- Explicit fact — stated directly by the client.
- Inferred assumption — assumed from context; confirm before building.
- Unknown — not yet known; may need a question.
- Evidence vs coverage — how we know a slot (explicit / inferred) is separate from how fully it's covered.
- Decision & challenge — a settled choice with its trade-off; a contested premise worth weighing.
- Dependency — a decision records the slots it's derived from; an artifact records the slots it consumes.
- Readiness — whether a high-impact gap still blocks the build.
- Stale artifact — a generated file the model has moved past.
requivo impactshows a change's blast radius.
Details: docs/requirements-model.md.
Architecture
Claude Code Web CLI / API
\ | /
Requivo Core
validated, versioned model
- The Core is provider-independent — no LLM, no network. It validates, versions, computes readiness, and tracks staleness.
- The Anthropic provider is optional; it powers automated discovery and generation.
- Every interface uses the same session format and the same validated apply path — there is no fork.
More: docs/architecture.md.
Data and privacy
- Local by default. Sessions live in
.requivo/sessions/in your workspace. No telemetry, no analytics — Requivo never phones home. - What leaves your machine. When a provider is used, each turn sends your request, answers, prompts, schema, and loaded context cards to the Anthropic API — and to no other server. In Claude Code mode, reasoning goes through your own Claude session. Treat anything you type as content sent to a model provider; don't paste secrets or confidential data.
Full notes: SECURITY.md.
Documentation
| Doc | What it covers |
|---|---|
| Getting started | Install and first run for each interface |
| Claude Code | The plugin: skills, workflow, install |
| Web | The local browser interface |
| CLI reference | Every command and flag |
| Architecture | Core, services, surfaces |
| Requirements model | Slots, evidence/coverage, readiness, dependencies |
| Session format | The .requivo/ layout and revisions |
| Providers | The Anthropic provider, models, cost |
| Context cards | Teaching the engine your product |
| Evaluations | The golden harness for prompt/context changes |
| Roadmap | What exists and what's next |
| Open-source strategy | Core / Web / Cloud boundary |
Status
Actively developed, pre-1.0. The Core, CLI, Claude Code plugin and local Web interface are usable today. The session format is a published contract — versioned, forward-compatible, and shared by every interface; what is guaranteed and what is deprecated is written down in compatibility. Output is non-deterministic — treat the assessment as a senior colleague's read, not an oracle, and get expert review for any legal/tax/compliance flag it raises. See the roadmap.
Contributing and license
Contributions are welcome — see CONTRIBUTING.md. The Core, CLI and Claude Code integration are open source under MIT. The Requivo name and identity are separate from the code license — see TRADEMARKS.md.
MIT © jbkkz
Requivo was previously named Product Copilot.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file requivo-0.9.5.tar.gz.
File metadata
- Download URL: requivo-0.9.5.tar.gz
- Upload date:
- Size: 202.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aeffdf3183f3c62cdc376e8ec1caed1e949898d26cb7f4c7e210959030f18cf
|
|
| MD5 |
8b3ee75aefc46dacb892279b7fbcdcd7
|
|
| BLAKE2b-256 |
b489e0239b3221cc2af27e6fef96e7a08fc95a7f665197a723f34c27e635e01c
|
Provenance
The following attestation bundles were made for requivo-0.9.5.tar.gz:
Publisher:
publish.yml on jbkkz/requivo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
requivo-0.9.5.tar.gz -
Subject digest:
3aeffdf3183f3c62cdc376e8ec1caed1e949898d26cb7f4c7e210959030f18cf - Sigstore transparency entry: 2323933546
- Sigstore integration time:
-
Permalink:
jbkkz/requivo@8aeab3407d6a05d98eda532aaa79323c55810083 -
Branch / Tag:
refs/tags/v0.9.5 - Owner: https://github.com/jbkkz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8aeab3407d6a05d98eda532aaa79323c55810083 -
Trigger Event:
release
-
Statement type:
File details
Details for the file requivo-0.9.5-py3-none-any.whl.
File metadata
- Download URL: requivo-0.9.5-py3-none-any.whl
- Upload date:
- Size: 192.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e37c2433069c106a05fd6e03876114d682ae3dce5471d2cfca122fb8b9367e4
|
|
| MD5 |
c463153ae1c94d43f12070cb4a3242ff
|
|
| BLAKE2b-256 |
9e9c2d796cccb898e864b2a8dd2523c7b1f10c322ddb715edc9507cdc1316d48
|
Provenance
The following attestation bundles were made for requivo-0.9.5-py3-none-any.whl:
Publisher:
publish.yml on jbkkz/requivo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
requivo-0.9.5-py3-none-any.whl -
Subject digest:
6e37c2433069c106a05fd6e03876114d682ae3dce5471d2cfca122fb8b9367e4 - Sigstore transparency entry: 2323933603
- Sigstore integration time:
-
Permalink:
jbkkz/requivo@8aeab3407d6a05d98eda532aaa79323c55810083 -
Branch / Tag:
refs/tags/v0.9.5 - Owner: https://github.com/jbkkz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8aeab3407d6a05d98eda532aaa79323c55810083 -
Trigger Event:
release
-
Statement type: