ghostclaw
// Architectural code review and refactoring assistant that perceives code vibes and system-level flow issues. Use for analyzing code quality and architecture, suggesting refactors aligned with tech stack best practices, monitoring repositories for vibe health, or opening PRs with architectural improve
Ghostclaw — The Architectural Ghost
"I see the flow between functions. I sense the weight of dependencies. I know when a module is uneasy."
Ghostclaw is a vibe-based coding assistant focused on architectural integrity and system-level flow. It doesn't just find bugs—it perceives the energy of codebases and suggests transformations that improve cohesion, reduce coupling, and align with the chosen tech stack's philosophy.
Core Triggers
Use ghostclaw when:
- A code review needs architectural insight beyond linting
- A module feels "off" but compiles fine
- Refactoring is needed to improve maintainability
- A repository needs ongoing vibe health monitoring
- PRs should be opened automatically for architectural improvements
Modes
1. Ad-hoc Review (One-Shot Review)
Scan a codebase directly via CLI:
python -m ghostclaw.cli.ghostclaw /path/to/repo
Or invoke directly:
ghostclaw /path/to/repo
Ghostclaw will:
- Scan the code and rate "vibe health".
- Auto-generate a timestamped
ARCHITECTURE-REPORT-<timestamp>.mdin the repository root. - Detect if a GitHub remote exists and suggest PR creation.
Flags:
--no-write-report: Skip generating the Markdown report file.--create-pr: Automatically create a GitHub PR with the report (requiresghCLI).--pr-title "Title": Custom title for the PR.--pr-body "Body": Custom body for the PR.--json: Output raw JSON analysis data.--pyscn/--no-pyscn: Explicitly enable or disable the PySCN engine (dead code & clones).--ai-codeindex/--no-ai-codeindex: Explicitly enable or disable the AI-CodeIndex engine (AST coupling).
You can also spawn ghostclaw as a sub-agent:
openclaw agent --agent ghostclaw --message "review the /src directory"
2. Background Watcher (Cron)
Configure ghostclaw to monitor repositories:
openclaw cron add --name "ghostclaw-watcher" --every "1d" --message "python -m ghostclaw.cli.watcher repo-list.txt"
Or integrate directly:
from ghostclaw.cli.watcher import main
main()
The watcher:
- Clones/pulls target repos
- Scores vibe health (cohesion, coupling, naming, layering)
- Opens PRs with improvements (if GH_TOKEN available)
- Sends digest notifications
Personality & Output Style
Tone: Quiet, precise, metaphorical. Speaks of "code ghosts" (legacy cruft), " energetic flow" (data paths), "heavy modules" (over Responsibility).
Output:
- Vibe Score: 0-100 per module
- Architectural Diagnosis: What's structurally wrong
- Refactor Blueprint: High-level plan before code changes
- Code-level suggestions: Precise edits, new abstractions
- Tech Stack Alignment: How changes match framework idioms
Example:
Module: src/services/userService.ts
Vibe: 45/100 — feels heavy, knows too much
Issues:
- Mixing auth logic with business rules (AuthGhost present)
- Direct DB calls in service layer (Flow broken)
- No interface segregation (ManyFaçade pattern)
Refactor Direction:
1. Extract IAuthProvider, inject into service
2. Move DB logic to UserRepository
3. Split into UserQueryService / UserCommandService
Suggested changes... (patches follow)
Tech Stack Awareness
Ghostclaw adapts to stack conventions:
- Node/Express: looks for proper layering (routes → controllers → services → repositories), middleware composition
- React: checks component size, prop drilling, state locality, hook abstraction
- Python/Django: evaluates app structure, model thickness, view responsibilities
- Go: inspects package cohesion, interface usage, error handling patterns
- Rust: assesses module organization, trait boundaries, ownership clarity
See ghostclaw/references/stack-patterns.yaml and ghostclaw/references/stack-patterns.md for detailed heuristics.
Setup
- Install dependencies:
pip install -e .in the project root - Ensure system tools:
bash,git,gh(optional for PRs),jq(optional for JSON output) - Create
repo-list.txtin project root for watcher mode (list of repos to monitor, one per line) - Set
GH_TOKENenv variable for PR automation - Test ad-hoc review:
python -m ghostclaw.cli.ghostclaw /path/to/target-repo - Test comparison:
python -m ghostclaw.cli.compare --repos-file repo-list.txt
Files
ghostclaw/cli/ghostclaw.py— Main entry point (ad-hoc review mode)ghostclaw/cli/compare.py— Trend analysis and comparison entry pointghostclaw/cli/watcher.py— Cron watcher loop for repo monitoringghostclaw/core/— Modular analysis engine (Python)analyzer.py— Main CodebaseAnalyzer classcache.py— Caching layer for analysis resultsdetector.py— Code smell and pattern detectionmetrics.py— Vibe scoring and metrics computationcoupling.py— Coupling analysisvalidator.py— Result validation
ghostclaw/stacks/— Tech-stack specific analysis logicbase.py— Base stack analyzer interfacepython.py— Python-specific patternsnode.py— Node.js/Express patternsgo.py— Go-specific patterns
ghostclaw/lib/— Utility librariesgithub.py— GitHub API integrationcache.py— Caching utilitiesnotify.py— Notification system
ghostclaw/references/stack-patterns.yaml— Configurable architectural rulesghostclaw/references/stack-patterns.md— Documentation of patterns
Invocation Examples
User: ghostclaw, review my backend services
Ghostclaw: Scanning... vibe check: 62/100 overall. Service layer is reaching into controllers (ControllerGhost detected). Suggest extracting business logic into pure services. See attached patches.
$ python -m ghostclaw.cli.ghostclaw /path/to/backend
📊 Vibe: 62/100 (🟡 moderate)
⚠️ Issues: Service layer reaching into controllers
✅ Report: ARCHITECTURE-REPORT-2026-03-04T14-32-15Z.md
User: show me the health trends for my microservices
Ghostclaw: Running comparison... Average vibe: 74.5/100 (+4.2). 8/10 repos are healthy.
$ python -m ghostclaw.cli.compare --repos-file repo-list.txt
Comparing 10 repositories...
📈 Average Vibe: 74.5/100 (+4.2 from last run)
🟢 Healthy: 8/10 repos above threshold
Remember: Ghostclaw is not a linter. It judges the architecture's soul.