107 lines
3.0 KiB
Markdown
107 lines
3.0 KiB
Markdown
---
|
|
name: wizard-council-automation
|
|
description: Run wizard environment validation, skills drift audit, and cross-wizard dependency checks — the Wizard Council shared tooling suite
|
|
version: 1.0.0
|
|
metadata:
|
|
hermes:
|
|
tags: [devops, wizards, environment, audit, bootstrap]
|
|
related_skills: []
|
|
---
|
|
|
|
# Wizard Council Automation
|
|
|
|
This skill gives you access to the shared forge tooling for environment
|
|
validation, skill drift detection, and cross-wizard dependency checking.
|
|
|
|
## Tools
|
|
|
|
All tools live in `wizard-bootstrap/` in the hermes-agent repo root.
|
|
|
|
### 1. Environment Bootstrap (`wizard_bootstrap.py`)
|
|
|
|
Validates the full wizard environment in one command:
|
|
|
|
```bash
|
|
python wizard-bootstrap/wizard_bootstrap.py
|
|
python wizard-bootstrap/wizard_bootstrap.py --json
|
|
```
|
|
|
|
Checks:
|
|
- Python version (>=3.11)
|
|
- Core dependency imports
|
|
- hermes_constants smoke test
|
|
- HERMES_HOME existence and writability
|
|
- LLM provider API key
|
|
- Gitea authentication (GITEA_TOKEN / FORGE_TOKEN)
|
|
- Telegram bot connectivity (TELEGRAM_BOT_TOKEN)
|
|
|
|
Exits 0 if all checks pass, 1 if any fail.
|
|
|
|
### 2. Skills Drift Audit (`skills_audit.py`)
|
|
|
|
Compares repo-bundled skills against installed skills:
|
|
|
|
```bash
|
|
python wizard-bootstrap/skills_audit.py # detect drift
|
|
python wizard-bootstrap/skills_audit.py --fix # sync missing/outdated
|
|
python wizard-bootstrap/skills_audit.py --diff # show diffs for outdated
|
|
python wizard-bootstrap/skills_audit.py --json # machine-readable output
|
|
```
|
|
|
|
Reports: MISSING, EXTRA, OUTDATED, OK.
|
|
|
|
### 3. Dependency Checker (`dependency_checker.py`)
|
|
|
|
Validates binary and env-var dependencies declared in SKILL.md frontmatter:
|
|
|
|
```bash
|
|
python wizard-bootstrap/dependency_checker.py
|
|
python wizard-bootstrap/dependency_checker.py --skill devops/my-skill
|
|
```
|
|
|
|
Skills declare deps in their frontmatter:
|
|
```yaml
|
|
dependencies:
|
|
binaries: [ffmpeg, imagemagick]
|
|
env_vars: [MY_API_KEY]
|
|
```
|
|
|
|
### 4. Monthly Audit (`monthly_audit.py`)
|
|
|
|
Runs all three checks and generates a Markdown report:
|
|
|
|
```bash
|
|
python wizard-bootstrap/monthly_audit.py
|
|
python wizard-bootstrap/monthly_audit.py --post-telegram
|
|
```
|
|
|
|
Report saved to `~/.hermes/wizard-council/audit-YYYY-MM.md`.
|
|
|
|
## Wizard Environment Contract
|
|
|
|
See `wizard-bootstrap/WIZARD_ENVIRONMENT_CONTRACT.md` for the full
|
|
specification of what every forge wizard must maintain.
|
|
|
|
## Workflow
|
|
|
|
### New Wizard Onboarding
|
|
|
|
1. Clone the hermes-agent repo
|
|
2. Install dependencies: `uv pip install -r requirements.txt`
|
|
3. Run: `python wizard-bootstrap/wizard_bootstrap.py`
|
|
4. Resolve all failures
|
|
5. Go online
|
|
|
|
### Ongoing Maintenance
|
|
|
|
1. Monthly audit fires automatically via cron
|
|
2. Report posted to wizard-council-automation channel
|
|
3. Wizards resolve any drift before next audit
|
|
|
|
### When Drift Is Detected
|
|
|
|
1. Run `python wizard-bootstrap/skills_audit.py` to identify drift
|
|
2. Run `python wizard-bootstrap/skills_audit.py --fix` to sync
|
|
3. Run `python wizard-bootstrap/dependency_checker.py` to check deps
|
|
4. Update SKILL.md frontmatter with any new binary/env_var requirements
|