Quality review and spec sync for every stage of the development lifecycle.
Writing a spec, planning an implementation, or reviewing code all have different quality criteria but the same enemy: making decisions with stale or incorrect knowledge. qdev addresses this at every stage. /research runs a structured dual-source sweep before you design or build. /quality-review iterates until it finds nothing left to fix. /deps-audit checks every package manifest against current CVE databases and version registries. /doc-sync keeps inline documentation aligned with actual function signatures. /spec-update keeps your design spec in sync with what you actually built.
Design decisions in this plugin are evaluated against these principles.
[P1] Research Before Analysis: Web research runs before any gap or consistency check, and is available as a first-class command before design work begins. No finding is proposed based on training data alone when a live source can be consulted.
[P2] Explicit Invocation Only: No command loads contextually. All three fire only when explicitly called with a slash command.
[P3] Propose Before Writing: No spec, plan, or source file is modified without first presenting a specific proposed change and receiving approval for structural changes.
[P4] Convergence Without Check-ins: The quality-review loop runs to completion without mid-pass interruptions. Only needs-approval findings surface for human input.
- Claude Code (any recent version)
brave-searchMCP server (required for/qdev:quality-reviewand/qdev:research)serper-searchMCP server (required for/qdev:quality-reviewand/qdev:research)tavilyMCP server (recommended; used for content-heavy queries and JS-rendered page extraction across/qdev:research,/qdev:quality-review, and/qdev:deps-audit)
/plugin marketplace add L3DigitalNet/Claude-Code-Plugins
/plugin install qdev@l3digitalnet-pluginsFor local development:
claude --plugin-dir ./plugins/qdevflowchart TD
A["/qdev:quality-review [path]"] --> B["Detect mode<br/>(spec / plan / code)"]
B --> C["Research Phase<br/>brave-search + serper-search + tavily-extract"]
C --> D{"Critical findings?"}
D -->|Yes| E["Surface immediately<br/>Wait for response"]
D -->|No| F["Analysis pass"]
E --> F
F --> G["Auto-fix low-risk<br/>Surface needs-approval"]
G --> J{"Zero new findings?"}
J -->|No| F
J -->|Yes| K["Convergence declaration"]
flowchart TD
A["/qdev:research [topic]"] --> B["Infer topic<br/>(args or context)"]
B --> C["Dispatch qdev-researcher (Sonnet)"]
C --> D["Topic kind?"]
D -->|library| E["Context7<br/>resolve-library-id + query-docs"]
D -->|pattern/topic| F["Skip Context7"]
D -->|mixed| E
D -->|mixed| F
E --> G["6-8 queries<br/>brave + serper (parallel)"]
F --> G
G --> H["Tavily extract<br/>3-5 highest-signal pages"]
H --> I["Corroboration check<br/>(footguns: 2+ sources)"]
I --> J{"Coverage thin<br/>or open Qs?"}
J -->|Yes| K["One follow-up pass"]
J -->|No| L["Synthesize + grade sources"]
K --> L
L --> M["Persist report<br/>docs/research/[date]-[slug].md"]
M --> N["Return structured report"]
Invoke at any stage of a development project. Pass a path to target a specific file, or run without arguments to let the command detect the most relevant artifact in the working directory.
# Research a technology or topic before starting design work
/qdev:research "Redis pub/sub with Python"
# Research from mid-session context (infers topic automatically)
/qdev:research
# Review a spec file
/qdev:quality-review docs/superpowers/specs/my-feature-design.md
# Review an implementation plan
/qdev:quality-review docs/superpowers/plans/my-feature-plan.md
# Review source code (auto-detects from working directory)
/qdev:quality-review
# Audit all dependencies for CVEs and version lag
/qdev:deps-audit
# Audit dependencies in a specific subdirectory
/qdev:deps-audit services/api
# Sync inline docs for a single file
/qdev:doc-sync src/auth/tokens.py
# Sync inline docs across the whole project
/qdev:doc-sync
# Sync a spec with the current implementation
/qdev:spec-update docs/superpowers/specs/my-feature-design.md| Command | Description |
|---|---|
/qdev:research |
Dual-source research sweep covering docs, practices, footguns, existing tools, security, and recent changes (dispatches qdev-researcher) |
/qdev:quality-review |
Research-first iterative quality review until convergence (dispatches qdev-quality-reviewer) |
/qdev:deps-audit |
Dependency security and freshness audit across all package manifests (dispatches qdev-deps-auditor) |
/qdev:doc-sync |
Sync inline documentation with current function signatures (dispatches qdev-doc-syncer) |
/qdev:spec-update |
One-shot sync of a spec file to match current implementation |
| Agent | Model | Purpose |
|---|---|---|
qdev-researcher |
Sonnet | Dual-source web research with Context7 routing, footgun corroboration (2+ sources), and a single follow-up pass for thin angles. Persists a structured report under docs/research/. |
qdev-deps-auditor |
Haiku | Manifest discovery + per-dep CVE/version research via dual-source web search. Read-only. |
qdev-quality-reviewer |
Sonnet | Research-first iterative review with pass loop + oscillation detection. Applies auto-fixes; surfaces needs-approval findings for the command to drive. |
qdev-doc-syncer |
Haiku | Public-symbol inventory + docstring generation matching the codebase's convention. Dry-run and apply modes. |
Research a topic, technology, or problem space before designing or building, by dispatching the
qdev-researcher subagent. Pass the topic as an argument, or invoke without arguments to have it
inferred from project context and conversation history.
Coverage:
- Official documentation (current API, recent changes)
- Community best practices (established patterns, what has replaced older approaches)
- Footguns and gotchas (2+ source corroboration required; single-source items demoted)
- Existing tools (alternatives and prior art; avoid building what already exists)
- Security and compatibility (CVEs, deprecations, advisories)
- Recent changes (breaking changes, ecosystem shifts since the model's cutoff)
Output: A structured Markdown report persisted to docs/research/<YYYY-MM-DD>-<slug>.md. The
header includes the canonical path; downstream commands consume the artifact by reading that path
rather than re-running the sweep.
Depth tiers: quick (3-4 queries), standard (6-8, default), thorough (12-15). For library/framework topics, the agent routes documentation queries through Context7 before falling back to web search.
| You want to | Use |
|---|---|
Build a feature, run before design — output should feed /qdev:quality-review or superpowers:brainstorming |
/qdev:research |
| Compare options, write a market analysis, answer a current-events question with citations | global research skill |
| Look up a specific library API quickly | Context7 directly |
| One-off web search | global search skill |
| Pull clean Markdown from a known URL | global extract skill |
/qdev:research is opinionated for development decisions: six fixed angles, footgun corroboration,
persistence under docs/research/. The global research skill is broader and free-form.
qdev-researcher writes its report to docs/research/<YYYY-MM-DD>-<slug>.md. Downstream skills
and commands consume the artifact by referencing that path:
/qdev:quality-review <artifact>: pass the research path in the prompt to ground the review context.superpowers:brainstorming: feed the report's Open Questions into the design conversation.feature-dev:feature-dev: start architecture work with the report linked from the brief.
Reports are not auto-cleaned; treat docs/research/ as a session artifact log. Stale reports can
be removed manually or pruned with find docs/research -type f -name '*.md' -mtime +90 -delete
(restricts deletion to old report files; preserves .gitkeep).
Runs a research-first quality review on a spec, implementation plan, or source code. If no path is given, auto-detects the target from the working directory.
Modes:
- Spec: completeness, internal consistency, ambiguous requirements, scope gaps, term consistency
- Plan: spec coverage, sequencing, missing dependencies, estimability
- Code: anti-patterns, naming consistency, dead code, cross-file inconsistencies, error handling at boundaries
Loop: Each pass auto-fixes findings where exactly one correct solution exists (derivable gaps, naming violations, weak requirement words, dead imports). Non-obvious findings — where multiple valid interpretations exist, or a design decision is required — surface for approval. Runs until a full pass produces zero new findings.
Reads every package manifest in the project (package.json, requirements.txt, pyproject.toml, go.mod, Cargo.toml, and others), researches each dependency for CVEs, abandonment, and version lag using both search tools, and returns a prioritized report grouped by severity (Critical, High, Medium, Info). For Critical and High findings, optionally generates the exact upgrade commands for each affected package.
Finds public functions, methods, and classes with no doc comment and documented ones whose signatures have drifted, generates complete documentation in the style already used by the codebase (Google-style Python docstrings, JSDoc, Go doc comments, etc.), and proposes all changes before writing anything. Handles ADD and UPDATE operations; never rewrites the function body.
Compares a spec file against all source files in the project and proposes targeted edits to bring it up to date. Presents all proposed changes before writing anything. Handles additions, updates, and removals.
- Support for additional artifact types (OpenAPI specs, database schema files)
- Cross-session research deduplication (skip queries already covered by recent reports in
docs/research/)
None.