Browse Source

docs(github-ops): Add hard rule — no local-machine paths in committed content

New Hard Rule #7 in SKILL.md: never bake user-specific or
ephemeral filesystem paths (C:\Users\<name>\..., /home/<name>/...,
/tmp/<one-off>) into README, Recent Updates, CHANGELOG, release
notes, tag annotations, or commit messages.

Public release artefacts have to read the same on someone else's
machine. Use generic placeholders or describe the file's purpose
abstractly. Canonical project paths (install locations, config
paths) state them canonically ($HOME/.claude/...) rather than as
literal absolutes with embedded user names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0xDarkMatter 2 months ago
parent
commit
5153f4be2d
1 changed files with 1 additions and 0 deletions
  1. 1 0
      skills/github-ops/SKILL.md

+ 1 - 0
skills/github-ops/SKILL.md

@@ -39,6 +39,7 @@ git-ops                        push-gate           github-ops  (this skill)
 4. **Delegate local git operations to `git-ops`.** Don't reimplement commit/tag/push logic. github-ops orchestrates the GitHub-side calls (`gh`) and the README/CHANGELOG edits; git-ops handles git itself.
 5. **README "Recent Updates" updates on every release.** This is the one README touch that always happens, regardless of how minor the release. See `references/readme-recent-updates.md` for the canonical claude-mods style.
 6. **Never push without confirming visibility decision.** When creating a new repo, surface visibility as a flippable line in the plan ("creating as **private** — say 'public' to flip"), not buried in flag soup.
+7. **No local-machine paths in committed content.** Never bake `C:\Users\<name>\…`, `/home/<name>/…`, `/Users/<name>/…`, `/tmp/<one-off-test-dir>`, or any other machine-specific path into README entries, Recent Updates bullets, CHANGELOG entries, release notes, tag annotations, or commit messages. Public release artefacts have to read the same on someone else's machine. Use generic placeholders (`~/Temp/`, `<temp-dir>`, "a temp directory") or describe the file's purpose abstractly instead. If a path genuinely is part of the project's public API (install location, config path), state it canonically (`$HOME/.claude/skills/...`), not as a literal absolute that includes a user name.
 
 ## Three modes