Skip to main content

Skills-first specification-driven development - automatic spec creation, lifecycle management, progress tracking, and PR generation

Project description

Quaestor

A minimal Claude Code plugin for specification-driven development

PyPI Version Python 3.12+ License: MIT Documentation

Quaestor is a Claude Code plugin that provides Skills and slash commands for specification-driven development. Write lightweight specs, implement with context, ship with confidence.

Design Principles:

  • Zen - Minimal surface area, maximum utility
  • Engineer as Driver - You make decisions, Quaestor provides structure
  • Light Spec-Driven - Just enough specification to stay aligned

NOTE: Quaestor has been many things, but mainly a learning sandbox for me. Nowadays, it's a tool that I and a small number of people use. From 1.0 forward, Quaestor will be boring and stable. New features will be planned and added as Anthropic releases new features for Claude Code. This is all to say that Quaestor is "feature complete," and hardly any skills, sub-agents, or commands will be added. I've gotta get back to work, and so do you.

What's Included

7 Skills (auto-activate based on context):

  • managing-specifications - Create and manage specifications
  • implementing-features - Implement features with quality gates
  • reviewing-and-shipping - Code review and PR generation
  • debugging-issues - Systematic bug investigation
  • security-auditing - Security analysis and vulnerability detection
  • optimizing-performance - Performance profiling and optimization
  • initializing-project - Setup Quaestor in any project

3 Slash Commands:

  • /plan - Create specifications
  • /implement - Implement specs with tracking
  • /research - Explore codebase patterns

Spec Lifecycle:

  • Folder-based state: draft/active/completed/
  • Automatic progress tracking via checkboxes
  • Max 3 active specs (enforced)

Installation

As a Claude Code Plugin (Recommended)

First, add the Quaestor marketplace:

/plugin marketplace add jeanluciano/quaestor

Then install the plugin:

/plugin install quaestor:quaestor

See Claude Code plugins documentation for details.

Via pip/uv (Project-Level)

For project-level installation:

pip install quaestor
# or
uv pip install quaestor

Then initialize in your project:

quaestor init

Quick Start

# Install the plugin
claude plugins install quaestor

# In Claude Code, create a spec
/plan "User authentication with JWT"

# Implement it
/implement spec-auth-001

# Ship it
"Create a pull request for spec-auth-001"

Skills activate automatically based on what you're doing. Just describe what you want in natural language:

  • "Show my active specs" → managing-specifications skill
  • "Debug the login failure" → debugging-issues skill
  • "Review this code for security issues" → security-auditing skill

How It Works

Specifications

Create lightweight specifications that define:

  • What you're building (title and description)
  • Why you're building it (motivation)
  • What success looks like (acceptance criteria as checkboxes)

Specs live in .quaestor/specs/ and move through folders as they progress:

.quaestor/specs/
├── draft/      # Planned work
├── active/     # In progress (max 3)
└── completed/  # Finished

Skills

Skills are auto-activating workflows that trigger based on context. You don't invoke them directly - just describe what you want:

  • Want to plan? Say "create a spec for X" → managing-specifications activates
  • Want to implement? Use /implement spec-id → implementing-features activates
  • Want to ship? Say "create a PR" → reviewing-and-shipping activates

Example Session

# Create a spec
/plan "Add rate limiting to API endpoints"
# → spec-feature-042.md created in draft/

# Start implementing
/implement spec-feature-042
# → Skills guide you through implementation with quality checks

# Check progress
"What's the status of spec-feature-042?"
# → "spec-feature-042: 3/5 criteria complete (60%)"

# Ship it
"Create a pull request for spec-feature-042"
# → PR created with spec context included

Documentation

📚 Full Documentation

Contributing

git clone https://github.com/jeanluciano/quaestor.git
cd quaestor
pip install -e .
pytest

License

MIT License


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quaestor-1.0.0b1.tar.gz (176.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quaestor-1.0.0b1-py3-none-any.whl (211.8 kB view details)

Uploaded Python 3

File details

Details for the file quaestor-1.0.0b1.tar.gz.

File metadata

  • Download URL: quaestor-1.0.0b1.tar.gz
  • Upload date:
  • Size: 176.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quaestor-1.0.0b1.tar.gz
Algorithm Hash digest
SHA256 c3630ed4975a7f442b27ad817c23a681a0d3cb7e11d0ef9f2e2b2b6b6cab6e31
MD5 c547583b44b4ec6b66b1ceda7e8e4049
BLAKE2b-256 5236538e5a3ca7032be6cec4014467872cfc574d5060c16e38319dbcb169a20f

See more details on using hashes here.

Provenance

The following attestation bundles were made for quaestor-1.0.0b1.tar.gz:

Publisher: publish.yml on jeanluciano/quaestor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quaestor-1.0.0b1-py3-none-any.whl.

File metadata

  • Download URL: quaestor-1.0.0b1-py3-none-any.whl
  • Upload date:
  • Size: 211.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quaestor-1.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a553d207b49bc1ba47350f8080e0584042ae381f9ad977dcaf91955e88457d1
MD5 2072fc7f30e409857098976bd18a1ba5
BLAKE2b-256 4b445fe42167ef9188e79e6073fba5b4656971615ad3e539c7863bb9091c32bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for quaestor-1.0.0b1-py3-none-any.whl:

Publisher: publish.yml on jeanluciano/quaestor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page