From wovol-lab
Resolve the active wovol-lab profile from WOVOL_PROFILE env var, verify the declared skill matches it, and write the active profile to .wovol/active-profile so hooks can detect mismatches. Call this at the start of any skill that declares a non-`any` profile. Sub-commands: status, verify <expected>, switch <profile>.
How this skill is triggered — by the user, by Claude, or both
Slash command
/wovol-lab:profile-managerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Foundation skill. Every other skill that has `profile:` in its frontmatter
Foundation skill. Every other skill that has profile: in its frontmatter
should invoke profile-manager verify <profile> at the very start. If the
profile doesn't match the user's active one, the skill stops and emits a
redacted audit event.
statusPrint the current profile and its resolved config.
WOVOL_LAB_ROOT="${WOVOL_LAB_ROOT:-$PWD}" \
python3 "$WOVOL_LAB_ROOT/.claude/skills/_foundation/profile-manager/scripts/profile.py" status
Output:
{
"profile": "personal",
"browser": "arc",
"cdp_port": 9224,
"user_data_dir": "/Users/.../wovol-lab/profiles/personal",
"allowed_domains_file": "config/domain-allowlists/personal.txt",
"require_explicit_invoke": false,
"disable_orchestrators": false,
"extra_audit_redaction": false
}
verify <expected>Compare WOVOL_PROFILE against <expected>. Exit 0 on match, 2 on mismatch.
Examples:
profile-manager verify personal
profile-manager verify school
profile-manager verify any # always pass
switch <profile>Write <profile> to .wovol/active-profile. Does NOT modify the parent
shell's WOVOL_PROFILE — that has to be done by the caller, since hooks
read the env not the file. The file is for cross-process verification.
.wovol/active-profile — single-line file with current profile name.
Gitignored. Hooks read this to detect drift.config/profiles.yml — canonical profile definitions.scripts/browser-launcher.sh)scripts/profile-init.sh)| Symptom | Cause | Fix |
|---|---|---|
WOVOL_PROFILE not set | Forgot to export env | export WOVOL_PROFILE=personal |
unknown profile: X | Typo or missing entry in profiles.yml | Check config/profiles.yml |
Mismatch between env and .wovol/active-profile | Concurrent session in another profile | Reconcile manually; do NOT auto-recover |
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub whitestonetak/wovol-lab --plugin wovol-lab