Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions skills/audit_docs/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
name: audit-docs
description: Audit docs/api/*.rst files across repos for broken module paths, missing classes, and stale autosummary entries.
user-invocable: true
---

Scan Sphinx API documentation across PyAutoFit, PyAutoGalaxy, and PyAutoLens for broken `.. currentmodule::` paths and stale `.. autosummary::` class references. Optionally auto-fix broken entries.
Expand All @@ -11,13 +10,15 @@ A **PyAutoHeart** check — documentation correctness is part of the validation
## Usage

```
/audit-docs # audit all three repos (default)
/audit-docs PyAutoLens # audit one repo
/audit-docs PyAutoGalaxy PyAutoFit # audit specific repos
/audit-docs --fix # audit all repos and auto-fix broken references
/audit-docs --fix PyAutoLens # fix one repo
$audit-docs # audit all three repos (default)
$audit-docs PyAutoLens # audit one repo
$audit-docs PyAutoGalaxy PyAutoFit # audit specific repos
$audit-docs --fix # audit all repos and auto-fix broken references
$audit-docs --fix PyAutoLens # fix one repo
```

In Claude, invoke the same skill as `/audit_docs`.

## Repo Mapping

| Argument | Docs Directory |
Expand Down
9 changes: 5 additions & 4 deletions skills/cli_noise_clean/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
name: cli-noise-clean
description: Audit CLI output from tests and workspace scripts for warnings, stray prints, and library noise, then report fixes.
user-invocable: true
---

Audit CLI output across PyAuto repos for noise — warnings, stray print statements, verbose logging, and third-party library messages — then report what needs fixing.
Expand All @@ -11,11 +10,13 @@ A **PyAutoHeart** check — output-noise classification is part of the validatio
## Usage

```
/cli_noise_clean # full audit: pytest + workspace scripts
/cli_noise_clean pytest # pytest collection + short run only
/cli_noise_clean scripts # workspace scripts only
$cli-noise-clean # full audit: pytest + workspace scripts
$cli-noise-clean pytest # pytest collection + short run only
$cli-noise-clean scripts # workspace scripts only
```

In Claude, invoke the same skill as `/cli_noise_clean`.

## Environment Variables

All workspace script runs use these to keep execution fast:
Expand Down
12 changes: 7 additions & 5 deletions skills/dep_audit/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
name: dep_audit
name: dep-audit
description: Audit dependency version caps across all PyAuto repos, compare against PyPI latest, and report a risk-tiered upgrade summary.
user-invocable: true
---

Audit dependency version constraints across the PyAuto ecosystem, compare them against the latest versions on PyPI, and produce a risk-tiered upgrade report.
Expand All @@ -11,10 +10,12 @@ A **PyAutoHeart** check — dependency drift is part of the health/readiness sur
## Usage

```
/dep_audit # full audit of all repos
/dep_audit PyAutoFit # audit a single repo
$dep-audit # full audit of all repos
$dep-audit PyAutoFit # audit a single repo
```

In Claude, invoke the same skill as `/dep_audit`.

## Steps

### 1. Collect current constraints
Expand Down Expand Up @@ -142,6 +143,7 @@ This map should be updated when constraints move between repos.
## Notes

- This skill is read-only — it produces an audit report but does not change any files.
- To act on the audit, use `/start_dev` with a prompt file describing the upgrades.
- To act on the audit, use `$start-dev` (`/start_dev` in Claude) with a prompt
file describing the upgrades.
- Run this quarterly or before any major release to catch stale constraints early.
- The "installed" column reflects the current venv, which may lag behind what the constraints allow. A fresh `pip install` in a clean venv would pull the latest allowed version.
24 changes: 15 additions & 9 deletions skills/health_sweep/reference.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Green-Light Sweep — the `/health check` leg
# Green-Light Sweep — the `$health check` leg

> Reference procedure, not a top-level command. This was the `/health_check`
> skill; it is now reached as **`/health check`** (see
> `PyAutoBrain/skills/health/health.md`). `/health` is the single health door;
> skill; it is now reached as **`$health check`** (`/health check` in Claude;
> see `PyAutoBrain/skills/health/health.md`). `$health` is the single health door;
> this file is the sweep leg it drives. A **PyAutoHeart** capability — Heart owns
> health assessment; the Brain's `/health` door drives it.
> health assessment; the Brain's `$health` skill drives it.

Quick "is everything still green?" sweep across the PyAuto stack. Refreshes local `main` against `origin/main` for every repo, then runs unit tests in libraries and smoke tests in workspaces. Reports a single pass/fail matrix.

Expand All @@ -23,16 +23,16 @@ Quick "is everything still green?" sweep across the PyAuto stack. Refreshes loca
- PyAutoLens
- PyAutoBuild

**Workspaces (run `/smoke_test`):** exactly the curated set `/smoke_test` maps —
**Workspaces (run `$smoke-test`):** exactly the curated set `$smoke-test` maps —
do not maintain a separate list here. As of writing that is `autofit_workspace`,
`autogalaxy_workspace`, `autolens_workspace`, `autolens_workspace_test`,
`euclid_strong_lens_modeling_pipeline`, and `HowToLens`. `/smoke_test` is the
`euclid_strong_lens_modeling_pipeline`, and `HowToLens`. `$smoke-test` is the
source of truth for this scope; defer to it rather than re-specifying it.

**Out of scope — never touched:**
- `autofit_workspace_developer`, `autolens_workspace_developer` — dev scratch
- `autolens_base_project` — template
- Any workspace `/smoke_test` does not map (e.g. `z_projects`, `bad`, `priors`)
- Any workspace `$smoke-test` does not map (e.g. `z_projects`, `bad`, `priors`)

Skip any in-scope entry that is missing or not a git repo.

Expand Down Expand Up @@ -83,7 +83,10 @@ If a library has no `test/` or `tests/` directory, mark as `no tests` and contin

### 4. Run workspace smoke tests

Invoke the existing `/smoke_test` skill (its default runs its full curated set). Defer to its env-var / no_run / parallelism logic and its workspace mapping — do not reimplement or extend the workspace list here. Capture its per-workspace pass/fail counts.
Invoke the existing `$smoke-test` skill (its default runs its full curated set).
In Claude this is `/smoke_test`. Defer to its env-var / no_run / parallelism
logic and workspace mapping; do not reimplement or extend the list. Capture its
per-workspace pass/fail counts.

### 5. Report matrix

Expand Down Expand Up @@ -115,4 +118,7 @@ End with a single-line verdict: `All green` or `N failures across M repos — se
- This is a read-mostly sweep. The only mutation is `git fetch` + `git merge --ff-only` on clean repos. No branch creation, deletion, stash, or rebase.
- Run-time dominated by smoke tests. Library pytest in parallel is fast; smoke tests can take many minutes — that's expected.
- Do not post results anywhere (no GitHub issue comment). This is a local check; output is for the user only.
- If the user wants to skip the sync step (e.g. running offline), they can pass `--no-sync` to `/health check`. In that mode, step 2 is replaced with a single `git status` per repo and the Sync column reads `skipped (--no-sync)`.
- If the user wants to skip the sync step (e.g. running offline), they can pass
`--no-sync` to `$health check` (`/health check` in Claude). In that mode, step
2 is replaced with a single `git status` per repo and the Sync column reads
`skipped (--no-sync)`.
17 changes: 9 additions & 8 deletions skills/pyauto-status-full/reference.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Release-Run Dashboard — the `/health full` leg
# Release-Run Dashboard — the `$health full` leg

> Reference procedure, not a top-level command. This was `/pyauto-status-full`;
> it is now reached as **`/health full`** (see
> `PyAutoBrain/skills/health/health.md`). `/health` is the single health door;
> it is now reached as **`$health full`** (`/health full` in Claude; see
> `PyAutoBrain/skills/health/health.md`). `$health` is the single health door;
> this file is the release-run dashboard leg it drives.

Render the most recent PyAutoBuild full-run report as a release-readiness dashboard. Use this to inspect timing and failures from the last `python autobuild/run_all.py`. Read-only.
Expand All @@ -14,13 +14,13 @@ Heart reports). The authoritative live verdict is `pyauto-heart readiness`.
## Usage

```
/health full
$health full
```

This is the deeper sibling of `/health status` (the active-work dashboard):
This is the deeper sibling of `$health status` (the active-work dashboard):

- `/health status` — what's in flight right now (planned/active/recently-completed tasks, branches, dirty repos).
- `/health full` — what the last full release-prep run produced (per-workspace pass/fail/timing, slowest scripts, failure tracebacks).
- `$health status` — what's in flight right now (planned/active/recently-completed tasks, branches, dirty repos).
- `$health full` — what the last full release-prep run produced (per-workspace pass/fail/timing, slowest scripts, failure tracebacks).

## Steps

Expand Down Expand Up @@ -109,7 +109,8 @@ If only one run exists, omit this section silently.
### 5. Notes

- Read-only — never modifies PyAutoBuild output, never deletes runs, never touches the `latest` symlink.
- No GitHub posting (matches `/health status` convention). The user can decide to share findings manually.
- No GitHub posting (matches the `$health status` convention). The user can
decide to share findings manually.
- For quick browsing, the markdown report at `<run_path>/report.md` already contains the same data — this skill is the conversational summary layer on top.

## Execution environments
Expand Down
12 changes: 7 additions & 5 deletions skills/pyauto-status/reference.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Active Work Dashboard — the `/health status` leg
# Active Work Dashboard — the `$health status` leg

> Reference procedure, not a top-level command. This was `/pyauto-status`; it is
> now reached as **`/health status`** (see `PyAutoBrain/skills/health/health.md`).
> `/health` is the single health door; this file is the dashboard leg it drives.
> now reached as **`$health status`** (`/health status` in Claude; see
> `PyAutoBrain/skills/health/health.md`). `$health` is the single health door;
> this file is the dashboard leg it drives.

Show a dashboard of all active work across the PyAuto repos. Use it to check for
conflicts before starting work, or when resuming a session to see what's in
Expand Down Expand Up @@ -107,9 +108,10 @@ blocked**. This is the key value of the dashboard for planned work.

### 6. Suggest actions

Per flag: ready planned task → `/start_library` / `/start_workspace`; conflict →
Per flag: ready planned task → `$start-library` / `$start-workspace`
(`/start_library` / `/start_workspace` in Claude); conflict →
finish one task first; unregistered → register in `active.md` or reset to main;
stale → remove from `active.md` or re-run `/start_library`.
stale → remove from `active.md` or re-run `$start-library`.

## Notes

Expand Down
9 changes: 9 additions & 0 deletions skills/review_release/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: review-release
description: Triage a completed PyAuto release build through PyAutoHeart by reading release artifacts, classifying failures, and presenting a human release decision. Use after release validation or an overnight build; never bypass release approval.
---

# Review Release

Follow [`review_release.md`](review_release.md) exactly. Keep readiness judgment
in Heart and every manual release decision with the user.
Loading
Loading