Primr
Company name + website → evidence-grounded, long-form strategic reports. Built for agent hosts and the CLI: structured research, strategic insight, confidence labels, and durable Word and Markdown artifacts, not a free-form chat essay.
Primr gathers public site pages, DNS/recon, hiring signals, and other open sources, develops a strategic view of the company, then produces a consultant-style Strategic Overview and selected YAML-defined strategy documents with citations and Confirmed / Reported / Estimated / Hypothesis labels. Point an agent at the repo, or run the CLI. Both paths use the same evidence, uncertainty, and long-form artifact contract, but their execution, model ownership, and assurance are different.
Placeholder demo data (ExampleCo), not a live company capture.
primr "ExampleCo" https://example.co
In an agent chat, that request defaults to Primr Zero: keyless evidence collection in Primr, research and writing in the host (when the host plan does not bill API usage). When a human runs the command directly in a terminal, it retains the provider-backed CLI path after a dry-run estimate and approval.
What it is for
Use Primr when you need a serious first draft for discovery, account planning, diligence, competitive analysis, or strategy work, not a two-paragraph pre-call blurb (use normal web search for that).
- Structured brief with uncertainty labels, not scattered notes
- Research grounded in public evidence, not only search summaries
- Cost-aware local execution: dry-run before billable work
- Reusable Markdown/DOCX artifacts for humans, agents, and downstream tools
Primr is not a generic crawler, a SaaS collaboration app, a model-serving platform, or a tool for bypassing authentication, paywalls, or site restrictions.
Start here
| Where you run it | Default path | Spend | Result |
|---|---|---|---|
| Agent chat pointed at Primr | Primr Zero | No Primr model API spend; verify host plan allowance | Evidence bundle + host-written sourced dossier |
| Terminal or script | Provider-backed | Billable after a fresh quote and explicit approval | Primr Strategic Overview + strategy artifacts |
Explicit primr draft --local BUNDLE |
Installed model at your configured runtime | $0 model API spend when that runtime executes without billing | Cited, unvalidated draft Markdown + DOCX from captured prep evidence |
Both paths can deliver a Strategic Overview and AI Strategy as Markdown and
DOCX (on the Zero path, primr render <file>.md converts host Markdown to DOCX
at $0). The provider-backed path additionally owns its measured synthesis,
cross-validation, usage accounting, and recovery stages. A configured API key
is capability, not consent to spend.
Primr prefers a validated zero-incremental-cost route when the current agent
host or local environment can support the full artifact contract honestly.
When provider APIs are required, the Standard recipe targets the best complete
report and default strategy artifacts it can produce for approximately $1;
the exact dry-run estimate remains authoritative and execution still requires
explicit approval.
Agent path
Point a capable agent at this repository:
primr "ExampleCo" https://example.co
The agent uses Primr Zero unless you explicitly request paid, metered,
provider-backed, or premium execution. Its primr prep collection is already
noninteractive and needs no approval flag. Routing, confirmation rules, MCP
setup, and host handoff live in Agent Integration
and Zero-Cost / Primr Zero.
For a smaller draft using an installed local model, run
primr draft --local BUNDLE --dry-run, then remove --dry-run to execute.
This also supports an explicitly configured private-network inference box.
The draft records evidence coverage, model, quantization, runtime, and zero
model API spend. It does not run Primr's external research or validation stages;
review each claim against its displayed source excerpt. See
local draft setup and limits.
Terminal path
primr "ExampleCo" https://example.co --dry-run --budget 10
primr "ExampleCo" https://example.co # foreground, then approve
primr "ExampleCo" https://example.co --skip-confirm # automation, after approval
--skip-confirm is the approval signal for a noninteractive or background
launch of the standard provider-backed commands. Use it only after a person has
reviewed and approved the fresh quote. The experimental primr orchestrate
command is the exception: its noninteractive approval and spend ceiling is
--max-cost <usd> after the exact dry run is approved.
Mode matrix, platforms, strategy types, and cost controls: Run Modes and Costs.
Install
- Python 3.12 through 3.14; see the installation guide for the 3.15 preview lane
- No API key or GPU for
primr recon/primr prep - Keys only for provider-backed research (preferred default: OpenRouter gateway when configured, or direct xAI + Gemini including Google Gemini 3.8 Flash; optional direct OpenAI, Anthropic, Bedrock, Azure)
primr initinstalls browser deps for scrape tiers
uv tool install --python 3.14 primr
primr --version
With pipx, use pipx install --python python3.14 primr and an installed Python
3.14. Plain pip install primr also works inside a Python 3.12 through 3.14
virtual environment. Download and inspect convenience installers
before running them. For those scripts, upgrades, PATH troubleshooting, and
source-checkout setup, see
Installation and Upgrades.
Provider-backed setup only when you want billable runs:
primr init
primr doctor
Keys and full config: API Key Setup | OpenRouter Gateway | Configuration.
Common commands
| Need | Command |
|---|---|
| Agent-host dossier (Zero by default) | primr "Company" https://company.com |
| Keyless evidence bundle | primr prep "Company" https://company.com |
| Estimate a paid run with a ceiling | primr "Company" https://company.com --dry-run --budget 10 |
| Strategic Overview only | primr "Company" https://company.com --no-ai-strategy |
| Site corpus only | primr "Company" https://company.com --mode scrape |
| DNS only (no keys) | primr recon company.com |
| Skills pack | primr skills "Company" https://company.com |
| Markdown → DOCX/TXT ($0) | primr render "output/report.md" |
| Strategy on existing report | primr --ai-strategy-only "output/report.md" --dry-run |
| Check or install an update | primr update --check / primr update |
Focused help: primr --help. Everything: primr --help-all.
Cost gate
Billable runs need a fresh --dry-run estimate and explicit approval. A
--budget 10 cap sets a $10 ceiling for that Primr run, not a $10 target or
permission to launch. The preview reports whether the estimate fits, and an
oversized plan is not launch-ready. Unattended execution stays fail closed
unless it carries the command-specific approval signal. See
Run Modes and Costs for the complete policy.
Outputs
Default: customer-facing files under output/, diagnostics under working/.
<Company>_Strategic_Overview_<date>.md/.docx<Company>_AI_Strategy_<date>.md/.docx(unless--no-ai-strategy)run_manifest.json(estimate, approval, audit)
Agent inventory (paths/roles only, no report body):
primr://output/artifacts/by_job/{job_id}. Full artifact and recovery guides:
Artifacts · Recovery.
Docs
| Topic | Guide |
|---|---|
| Product and delivery contract | COMPANY_ANALYST_PRODUCT_CONTRACT |
| Installation and upgrades | INSTALLATION |
| Run modes and costs | RUN_MODES |
| Primr Zero / host-assisted | ZERO_COST |
| Agent / MCP / A2A | AGENT_INTEGRATION · API |
| API keys | API_KEYS |
| Optional OpenRouter gateway | OPENROUTER |
| Configuration | CONFIG |
| Artifacts | ARTIFACTS |
| Skill packs | SKILL_PACK |
| Security | SECURITY |
| Contributing / architecture | CONTRIBUTING · ARCHITECTURE |
| Direction and next changes | NEXT_STEPS · ROADMAP |
| Release history | CHANGELOG · GitHub releases |
Docs site index: docs/README.md.
Disclaimer
Primr retrieves and analyzes public web content. You are responsible for site terms, provider costs, output accuracy, and legal fit. AI-generated analysis can be wrong or outdated. Verify important findings before acting on them.
License
Apache 2.0. See LICENSE.
Metadata
Release files for primr 1.39.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| primr-1.39.19.tar.gz | 2.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| primr-1.39.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.6 MB
Release files / primr-1.39.19.tar.gz
| Download URL | primr-1.39.19.tar.gz |
|---|---|
| Size | 2.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1aec45cc51f9fba228cbc4c33cd3c08c6994e3db677aacb693742f559cd7f9ea
|
|
BLAKE2b-256 checksum How to use checksums |
e2b91feaab83fe9629ad8c5af3d7e2db0f98f240085f70d89a40a6c5defed67c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency logRelease files / primr-1.39.19-py3-none-any.whl
| Download URL | primr-1.39.19-py3-none-any.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3ce686552c419ec1371c839659fcd3c4db118e9c9b15d70aed642837fdd5ebe
|
|
BLAKE2b-256 checksum How to use checksums |
f2bcbd76c1d893f3a80d657049b6e02f592fdf8041a750eb4a167d4eeeff082e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency log