Skip to content
Back to skills

Speckit Speckit Utils Doctor

ASecurity

'Validate project health: templates, agent config, Python runner/helpers,

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentspythongit

Works with

  • claude code

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add racecraft-lab/racecraft-plugins-public --skill speckit-speckit-utils-doctor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Speckit Speckit Utils Doctor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Speckit Speckit Utils Doctor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/racecraft-lab-speckit-speckit-utils-doctor/badge)](https://www.skillsdirectory.com/skills/racecraft-lab-speckit-speckit-utils-doctor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: speckit-speckit-utils-doctor
description: 'Validate project health: templates, agent config, Python runner/helpers,
  constitution, and feature artifacts'
compatibility: Requires spec-kit project structure with .specify/ directory
metadata:
  author: github-spec-kit
  source: extension:speckit-utils
user-invocable: true
disable-model-invocation: false
---

# Speckit Utils Doctor Skill

## User Input

```text
$ARGUMENTS
```

## Outline

Run a comprehensive health check on the spec-kit project, validating that all required components are present and correctly configured.

### Step 1: Find the project root

Locate the `.specify/` directory. If not found, error: "No spec-kit project found. Run `specify init` first."

### Step 2: Check templates

Verify these template files exist in `.specify/templates/` and are non-empty:
- `spec-template.md`
- `plan-template.md`
- `tasks-template.md`
- `constitution-template.md`
- `checklist-template.md`

For each template:
- File exists and non-empty: PASS
- File exists but empty: WARN ("template is empty")
- File missing: FAIL ("template not found")

### Step 3: Check agent configuration

Read `.specify/init-options.json` to determine the configured AI agent.

If no `init-options.json` exists: WARN ("no AI agent configured - run `specify init` to set up")

If an agent is configured (e.g., `"ai_assistant": "claude"`):
1. Check that the agent's directory exists (e.g., `.claude/`)
2. Check that command files are registered (e.g., `.claude/commands/speckit.*.md`)
3. Count registered commands

- Agent dir exists with commands: PASS
- Agent dir missing: FAIL ("agent directory not found")
- Agent dir exists but no commands: WARN ("no command files registered")

### Step 4: Check the Python runner and helpers

Look for the current SpecKit Pro runner package in either location:

- Source checkout, relative to the project root: `speckit-pro/speckit_pro_runner/`
- Installed payload, relative to the resolved plugin root: `speckit_pro_runner/`

If a runner package is present, verify these files exist and are non-empty:

- `__main__.py`
- `runtime.py`
- `helpers/registry.py`
- `gates/registry.py`
- `speckit-pro-runner.manifest.json`
- `speckit-pro-runner.sha256`

Read the manifest with Python standard-library `json` and confirm it is a JSON object.

- Runner package and all required files are valid: PASS
- Runner package exists but a required file is missing, empty, or invalid: FAIL
- Neither runner location exists: WARN ("SpecKit Pro Python runner not found - skipping plugin runtime layout checks")

The vendored `.specify/scripts/**` compatibility helpers are outside this
SpecKit Pro runtime check. Leave them unchanged and do not infer a plugin runtime
prerequisite from their presence.

### Step 5: Check constitution

Look for `constitution.md` or `.specify/memory/constitution.md` in the project root.

- Exists and has content (>10 words): PASS (show word count)
- Exists but empty: WARN ("constitution is empty")
- Not found: WARN ("no constitution found - consider creating one to guide AI decisions")

### Step 6: Check features

Scan `specs/` for numbered feature directories. For each feature:

Check for required artifacts: `spec.md`, `plan.md`, `tasks.md`

- All three present: PASS
- Some missing: WARN (list which are missing, e.g., "spec ✓ plan ✗ tasks ✗")

### Step 7: Report

Output a summary table:

```
Project Health Check
====================

Templates:     5/5 PASS
Agent Config:  PASS (Claude Code, 8 commands registered)
Python Runner: PASS (source checkout; helpers, gates, metadata)
Constitution:  PASS (245 words)

Features:
  001-auth:      spec ✓  plan ✓  tasks ✓  PASS
  002-dashboard: spec ✓  plan ✗  tasks ✗  WARN (needs /speckit.plan)

Overall: 4 PASS, 1 WARN, 0 FAIL
```

If any FAIL results exist, suggest specific remediation steps.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.