Public Mode Skill
Activates a set of output constraints appropriate for work on public repositories. When enabled, Claude avoids referencing internal tooling, skill names, or AI attribution in anything that becomes part of the public-facing record (commits, PRs, comments, docs).
Run at the start of any session involving a public repo. Stays active for the session.
What Gets Constrained
Commit messages
- No skill names:
feat: added via security-gate skill - No agent names:
fix: verified by code-reviewer agent - No AI attribution unless explicitly requested:
Co-Authored-By: Claude - Write commits as a human developer would: describe what changed and why
PR titles and bodies
- No references to PSC, skills, or agents in PR descriptions
- No "Claude suggested", "AI generated", "automated by" language
- PR body describes the change in plain engineering terms
Code comments
- No AI-attribution comments:
# Generated by Claude - No skill-process artifacts:
# TODO: run /security-gate before merge - Comments explain WHY (human-readable reasoning), not WHAT (the code shows that)
Documentation
- No internal workflow references visible to end users
- README and docs describe the project, not the toolchain used to build it
What Stays Unchanged
- Code quality, test coverage, security practices — all standards still apply
- Internal context files (
context/,.claude/) — not public-facing, unchanged - Learnings and memory — still captured normally
- All skills and hooks still run — public mode is output filtering only
Detection
git remote get-url origin 2>/dev/null
If the remote URL is a public hosting service (github.com, gitlab.com, bitbucket.org) and the repo is not clearly a private/org repo, default to public mode constraints.
If uncertain, ask the user: "Is this repo public-facing?"
Activation Confirmation
When activated, output:
Public mode active.
Constraints for this session:
- Commits: no skill/agent names, no AI attribution
- PRs: plain engineering language only
- Comments: no internal tool references
To deactivate: tell me to exit public mode.
Deactivation
User says "exit public mode", "disable public mode", or "back to normal mode". Acknowledge and remove constraints.
Anti-Patterns
Do not apply public mode constraints to internal context files — learnings, session memory, and decisions are not public-facing.
Do not refuse to run skills in public mode — all skills still work. Only the output that becomes part of the public record is filtered.
Do not add "public mode active" markers to commits or code — that itself would be an internal reference.
Mandatory Checklist
- Verify git remote was checked to confirm public repo
- Verify the three constraint areas were explicitly confirmed to the user (commits, PRs, comments)
- Verify user knows how to deactivate