Skip to main content

Proof Goblin

Better Documents. Happier Writers.

Push checks Pull request checks

[!WARNING] Proof Goblin is experimental. Its core review workflow is operational, but the public API and configuration schema may change before a stable release. AI-generated observations can be incomplete or incorrect and require human judgment.

Proof Goblin is an AI-assisted review engine that helps writers find problems without taking over the writing.

Instead of rewriting your work, Proof Goblin examines documents through reusable review perspectives called Proof Lenses. Each review produces structured Observations that surface ambiguity, missing context, contradictions, accessibility concerns, security questions, and other issues worth a closer look.

The result is a more useful kind of AI collaboration: writers remain in control of the words, while Proof Goblin helps them see what they may have missed.

Reviews are assembled from portable .pgcfg configuration files that define lenses, missions, protocols, and output schemas. Because those configurations can be stored in source control, review definitions are inspectable, versionable, shareable, and ready for automation.

Proof Goblin can be used as a Python library or from the command line. It is framework agnostic and deliberately independent of any particular web application or user interface. The project validates every pull request across its supported Python versions and representative operating systems.

What Proof Goblin Does

  • Reviews documents from clearly defined perspectives
  • Surfaces questions and concerns instead of silently rewriting content
  • Turns review behavior into portable, version-controlled configuration
  • Produces structured observations with traceable review metadata
  • Supports local workflows and application integration

Design Principles

(For the geeks)

  • Observations over Edits — Proof Goblin identifies questions and potential issues instead of rewriting content.
  • Composable Reviews — Prompts are assembled from reusable components rather than handwritten monolithic prompts.
  • Traceable Executions — Review outputs record the configuration, artifact identity, provider, model, and execution metadata. Repeating an AI review does not guarantee identical observations.
  • Configuration as Code — Review definitions are stored in portable .pgcfg files and managed in source control.
  • Framework Agnostic — The core engine has no dependency on Django or other application frameworks.

Documentation

Start with the guide that matches what you want to do:

And yes: of course, every document has been proofed by the Proof Goblin!

Installation

Install the core library and command-line interface from PyPI:

python -m pip install proof-goblin
proof-goblin --help

Install the optional OpenAI integration when you want to run live reviews:

python -m pip install "proof-goblin[openai]"

The following installed-package smoke test loads the bundled documentation configuration and assembles a prompt locally. It does not require an API key, contact a provider, or depend on a source checkout:

from importlib.resources import as_file, files

from proof_goblin import Config, PromptBuilder


bundle = files("proof_goblin").joinpath("configs/documentation.pgcfg")
with as_file(bundle) as config_path:
    config = Config.load(config_path)

prompt = PromptBuilder(config).build(
    review="technical_writer_first_pass",
    artifact="# Draft\n\nThis is a document to review.",
    artifact_name="draft.md",
)
print(prompt.review_name, prompt.artifact_media_type)

OpenAI provider

After installing the optional OpenAI integration, set OPENAI_API_KEY in your environment before making a live request:

A live review sends the complete artifact and selected review instructions to OpenAI and may incur provider charges. Confirm that the content is approved for external processing, and review Data Handling and Retention before submitting sensitive material.

read -s "OPENAI_API_KEY?OpenAI API key: "
export OPENAI_API_KEY

See the OpenAI Provider guide for library and command-line examples. The repository's live example is a contributor example that requires a source checkout.

Command line

After following Getting Started, use prompt to assemble and print the complete prompt locally without contacting a provider. Use review to send the assembled request to OpenAI and print a plain-text report to standard output:

proof-goblin prompt draft.md \
  --config review.pgcfg \
  --review first_pass

proof-goblin review draft.md \
  --config review.pgcfg \
  --review first_pass

See the Command-Line Interface for file output, report formats, caching, and provider behavior.

License

Proof Goblin is licensed under the MIT License.

See the LICENSE file for the full license text.

Release integrity

Production distributions are published through PyPI Trusted Publishing and carry a publish attestation for each wheel and source distribution. See the release process for the workflow identity, hash and provenance verification procedure, account controls, and recovery plan.

Attestations provide origin and integrity evidence. They do not assert that the package is vulnerability-free, intrinsically safe, or suitable for a particular use.

Release files for proof-goblin 0.1.0

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

Source distribution (sdist)

Source distribution for proof-goblin 0.1.0
File Size Uploaded
proof_goblin-0.1.0.tar.gz 45.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for proof-goblin 0.1.0
File Interpreter ABI Platform
proof_goblin-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 96.3 kB

Release files / proof_goblin-0.1.0.tar.gz

Download URL proof_goblin-0.1.0.tar.gz
Size 45.8 kB
Tags Source
SHA-256 checksum
How to use checksums
dad16d3b2ff43f9827538e8dc70cffac2da065f3788939898b1fc52ee94d80f6
BLAKE2b-256 checksum
How to use checksums
bf1b0511df964b93071e68b3320bb5b3d0c9154e3c170297f8f90e0dd295d1d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 23, 2026.

Transparency log

Release files / proof_goblin-0.1.0-py3-none-any.whl

Download URL proof_goblin-0.1.0-py3-none-any.whl
Size 50.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8075cd2f4b8d9532f0b55a12e3190533bf8a784a2d93e2b430cfdf86034018ae
BLAKE2b-256 checksum
How to use checksums
76450d8c4b4cd4f425fb19fd2d489accc74edc691a0b5707169dbab7ca218dd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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