← ClaudeAtlas

sisterslisted

Cross-repo drift audit across linked repos listed in `~/.claude/techne.toml` (configurable per-user). Read-only inspection of CI action pins, toolchain pins in pyproject.toml, skill-context structural parity, GitHub merge settings, open PRs, and branch hygiene. Triggers on phrases like "audit the sisters", "are the sisters in sync", "check cross-repo drift", or when multiple sister repos are mentioned together for a consistency check.
ajbarea/techne · ★ 0 · AI & Automation · score 75
Install: claude install-skill ajbarea/techne
# Sisters Audit Audit the active sister repos for cross-repo drift. Report every finding, grouped by category. Leave fixing to follow-up work or the developer — this skill observes, it does not edit. ## Config (load first) Active sister list, workspace root, and GitHub user are read from `~/.claude/techne.toml` at runtime. Run this preamble before any audit checks below — it sets `$SISTERS`, `$WORKSPACE`, and `$GITHUB_USER`: ``` eval "$(python3 - <<'PY' import tomllib, os, shlex with open(os.path.expanduser('~/.claude/techne.toml'), 'rb') as f: d = tomllib.load(f) sisters = ' '.join(s['name'] for s in d['sisters'] if s.get('status', 'active') == 'active') ws = d['workspace_root'] # required; fails loudly with KeyError on misconfig gu = d['github_user'] # required; fails loudly with KeyError on misconfig print(f"SISTERS={shlex.quote(sisters)}") print(f"WORKSPACE={shlex.quote(ws)}") print(f"GITHUB_USER={shlex.quote(gu)}") PY )" ``` If `~/.claude/techne.toml` is missing or yields zero active sisters, stop and tell the user — don't guess. Each sister's canonical local path is `$WORKSPACE/<name>` and its GitHub slug is `$GITHUB_USER/<name>`. ## What to check ### 1. Action-pin drift For every `.github/workflows/*.yml` across the active sisters, extract `uses: <actor>/<action>@<version>` pins. ``` for repo in $SISTERS; do grep -hE '^\s*uses:' $WORKSPACE/$repo/.github/workflows/*.yml 2>/dev/null \ | sed -E 's/^\s*uses:\s*//; s/\s*$//' \ | awk -v r="$repo"