Skip to main content

spec-probe

Check C/C++ requirements from Markdown, DOCX or PDF with VS Code Copilot.

Quick start

Requires Linux, Python 3.12 (recommended), pip ≥ 23.0 and Copilot access. Do not pip install into the system Python (PEP 668 on Homebrew/Linux).

Install from PyPI

# 1) pipx — global CLI (recommended)
pipx install spec-probe --python python3.12
pipx upgrade spec-probe

# 2) venv + pip
python3.12 -m venv ~/.venvs/spec-probe && source ~/.venvs/spec-probe/bin/activate
pip install -U spec-probe

Then:

spec-probe-skill --vscode

Reload VS Code → choose Claude Sonnet 5.5 in the chat picker → run setup once:

/spec-setup

Provide module/spec paths (or target names to add); the agent writes targets: in config.yaml, proposes dependency/index scope, then handles login, indexing, pack and parsing. One module is one target; add more anytime without replacing the file. For browser login, setup pauses until you say “xong rồi” / “done”. Use /spec-setup resume only after interruption or input changes; status checks readiness. Never paste tokens into chat.

Daily use

Chat naturally in Vietnamese or English; the examples below are not fixed commands. Rephrase freely or ask follow-up questions. /spec-cover helps route the request explicitly.

Task Example chat message
Show all requirement details /spec-cover show all requirements with IDs and full descriptions; open the full catalog if too long for chat
Verify one requirement /spec-cover verify FR-001
Or verify a section /spec-cover verify section 3.2
Or check pasted text /spec-cover check requirement: The module shall initialize within 500ms
Audit findings against source /spec-audit
Export reviewed Markdown + HTML /spec-cover write report

Audit before export. Check parsed requirements against the original spec; automated results are not guaranteed correct or complete.

Automatic scope routing

No workflow choice is required in chat. After local spec parsing and filtering, verify defaults to an IDE-agent source assessment for 1–3 selected FRs; check uses the same lightweight path. The runner saves a pending session without calling pipeline models or requiring an index. Copilot then reads source, persists reviewed findings and completes the assessment automatically through the skill.

4+ selected FRs use the existing batch pipeline followed by source audit. Related requirements can share source reads during the agent assessment. Both paths use the same session, structured-finalize and report contracts. The threshold is a count heuristic, not a claim about requirement complexity.

For unattended CLI use, select --mode batch; --mode agent explicitly prepares a source-assessment handoff. A standalone CLI cannot run Copilot: pending output is not a completed verification, and report export is blocked until finalize. verify --all always uses batch; --all --mode agent is rejected to avoid overwriting unfinished target sessions. Direct Python pipeline APIs are unchanged.

Batch retrieval now uses early codegraph seeds while retaining broad source search. See retrieval quality safeguards for original spec fidelity, navigation provenance, rescue merging and verdict boundaries.

Use Model
Chat picker: setup / audit Claude Sonnet 5.5
Pipeline verify Gemini 3.8 Flash
Pipeline final_review Claude Sonnet 5.5
Supporting jobs GPT-6 Luna
Difficult findings only GPT-6.1 Sol, optional second opinion

Picker and pipeline models are separate. Fresh installs use these defaults; existing settings are preserved. To adopt them, merge into ~/.config/spec-probe/config.json:

{
  "llm": {
    "jobs": {
      "enrich":       { "provider": "copilot", "model": "gpt-6-luna" },
      "search":       { "provider": "copilot", "model": "gpt-6-luna" },
      "rescue":       { "provider": "copilot", "model": "gpt-6-luna" },
      "verify":       { "provider": "copilot", "model": "gemini-3.8-flash" },
      "final_review": { "provider": "copilot", "model": "claude-sonnet-5.5" },
      "wiki":         { "provider": "copilot", "model": "gpt-6-luna" },
      "translate":    { "provider": "copilot", "model": "gpt-6-luna" },
      "report":       { "provider": "copilot", "model": "gpt-6-luna" },
      "parse":        { "provider": "copilot", "model": "gpt-6-luna" }
    }
  }
}

Update

spec-probe update

Reinstall

To reinstall the package and refresh VS Code skills:

pipx reinstall spec-probe --python python3.12   # or: pip install -U spec-probe in your venv
spec-probe-skill --vscode

This does not remove ~/.config/spec-probe/ (config, credentials and data). To start setup again, run /spec-setup; do not delete that directory unless you intend to erase its contents.

Metadata

Release files for spec-probe 0.1.43

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spec-probe 0.1.43
File Size Uploaded Provenance Actions
spec_probe-0.1.43.tar.gz 405.4 kB Without provenance Details for spec_probe-0.1.43.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for spec-probe 0.1.43
File Interpreter ABI Platform Actions
spec_probe-0.1.43-py3-none-any.whl Python 3 none any Details for spec_probe-0.1.43-py3-none-any.whl

Total release size: 785.3 kB

Release files / spec_probe-0.1.43.tar.gz

Download URL spec_probe-0.1.43.tar.gz
Size 405.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f66732a6d58a5e0e6a1f262bbb1ddbe58610ed8a642f95e9740ae0407c659bb7
BLAKE2b-256 checksum
How to use checksums
f6c7898b2576d88678ec2dd6fd23d9c6a0ec395f0f0a6d9e5d518eb7ab203b85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / spec_probe-0.1.43-py3-none-any.whl

Download URL spec_probe-0.1.43-py3-none-any.whl
Size 379.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f815df1b8b3e75e3b9e03fb8d524b0ce82419a3b708fa15ce5a5b8503d5d4a6
BLAKE2b-256 checksum
How to use checksums
2ed0491927785f700df87a1961c0654f41f8b78a8269e40e271dbe1b1e4d687c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for spec-probe 0.1.43

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.43 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page