Skip to main content

Diagnose, generate, and maintain the AI agent setup of your projects — CLAUDE.md, skills, subagents, rules, and supporting docs.

Project description

opsward

Diagnose, generate, and maintain the AI agent setup of your projects — CLAUDE.md, skills, subagents, rules, and supporting docs.

Install

pip install opsward

Quick Start

Diagnose

Score your project's AI setup health:

opsward diagnose-cmd .
Diagnosis Report: myproject
Project type: python
Overall score: 72/100  (Grade: C)

Components:
  CLAUDE.md quality         [################....] 81/100
  Documentation             [##############......] 70/100
  Skills                    [############........] 60/100
  Setup (rules/agents/hooks) [##########..........] 50/100
  Cross-references          [####################] 100/100

Missing:
  [ ] docs_guide.md
  [ ] docs/known_issues.md

Suggestions:
  1. Create a docs_guide.md to index your documentation
  2. Consider adding hooks in .claude/hooks.json

Generate

Create missing artifacts (dry run by default):

opsward generate-cmd .
opsward generate-cmd . --write   # actually create files

Generates CLAUDE.md, docs (architecture, conventions, known_issues, etc.), skills (diagnose-setup, maintain-docs), and agents (setup-auditor) — only what's missing, never overwrites existing files.

Maintain

Find stale references and drift:

opsward maintain-cmd .
myproject: 3 issue(s)

  [stale_path] CLAUDE.md references `src/old_module.py` but it does not exist
  [sync_issue] `new_doc.md` exists in docs/ but is not listed in docs_guide.md
  [empty_doc] `conventions.md` appears to be an empty stub (12 bytes)

What It Checks

CLAUDE.md quality (6 dimensions):

  • Commands & workflows — are build/test/lint commands documented?
  • Architecture clarity — is there a module map with role descriptions?
  • Conventions — are project-specific style rules present?
  • Conciseness — is the file scannable, not bloated?
  • Currency — do referenced paths actually exist?
  • Actionability — are instructions specific enough to act on?

Documentation completeness: docs_guide.md, architecture.md, conventions.md, known_issues.md, and content quality.

Skills & agents: SKILL.md presence, descriptions, setup-auditor agent.

Cross-references: paths in CLAUDE.md validated against the filesystem.

Overall health: weighted score (A–F grade) combining all components.

Output Formats

All commands support --format json for machine-parseable output:

opsward diagnose-cmd . --format json
opsward generate-cmd . --format json
opsward maintain-cmd . --format json

Python API

from opsward import scan, diagnose, generate, maintain

sr = scan('.')
report = diagnose(sr)
print(report)              # human-readable report card
print(report.grade)        # 'A', 'B', 'C', 'D', or 'F'

files = generate(sr)       # list[GeneratedFile]
issues = maintain(sr)      # list[MaintenanceSuggestion]

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

opsward-0.0.2.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

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

opsward-0.0.2-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file opsward-0.0.2.tar.gz.

File metadata

  • Download URL: opsward-0.0.2.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for opsward-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6b7135faa6fd9a88fe76687cb3a90bff0c78aad79003d1a12880960af9a99358
MD5 a118a767b2c9e0bbf834045e17bccf56
BLAKE2b-256 60639844795f56d7932cad7f049c4852714a825f8534c60efb484b7846de7882

See more details on using hashes here.

File details

Details for the file opsward-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: opsward-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for opsward-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 203715a84aae04a9281f88a6ed848e95e8b248350d6beb366b890237551f0e0f
MD5 0df261ed92b68a6e173043a389efaf91
BLAKE2b-256 b255c5a5d2f0f863b5f888845fb48371016702b0fdf1a0c8541eaec98e799e33

See more details on using hashes here.

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