visibilitylisted
Install: claude install-skill l3onlau/claude-life-admin
# Visibility — govern what git is allowed to see
Two modes, defined by which `.gitignore` is active. The templates live in
`templates/`; the first line of the active `.gitignore` names the current
mode.
- **public** (default): fail-closed whitelist — only framework files can be
committed. Safe to attach a public remote.
- **private**: life content (area folders, `inbox.md`, `CLAUDE.local.md`,
`.claude/rules/`) is versioned too, so git history becomes memory.
`private/`, secrets, `artifacts/`, `tmp/`, and
`.claude/settings.local.json` stay ignored in BOTH modes.
`$ARGUMENTS` is `public`, `private`, or `status`. With no argument, report
status and ask which mode the user wants.
## status
Report: current mode (first line of `.gitignore`), `git remote -v`, and the
history audit result (see below). Recommend nothing unless asked.
## Switching to private
1. Check remotes first. If any remote could be public (for GitHub remotes
verify with `gh repo view --json visibility` when available), STOP and
warn: private mode must never feed a public remote. Proceed only after
the user confirms the remote is private or removes it.
2. Copy `templates/gitignore-private` over `.gitignore`.
3. Show what would now be tracked (`git status --short`) and offer to commit
the personal layer.
4. If no remote exists, suggest — do not create unasked — a PRIVATE GitHub
remote as an off-machine backup.
## Switching to public
1. Copy `templates/gitignore-public` over `.gitigno