Skip to content

feat(code-habits): forbid referencing gitignored paths from shared surfaces#21

Open
amitkot wants to merge 2 commits into
mainfrom
feat/local-no-references
Open

feat(code-habits): forbid referencing gitignored paths from shared surfaces#21
amitkot wants to merge 2 commits into
mainfrom
feat/local-no-references

Conversation

@amitkot
Copy link
Copy Markdown
Owner

@amitkot amitkot commented May 14, 2026

Summary

  • Extends the plans-and-investigations-location skill with a new "CRITICAL: never reference gitignored paths from shared surfaces" section. The skill already routed personal markdown to .local/<kind>/; this adds the companion rule that gitignored paths must not be cited from issues, PRs, commit messages, committed code/docs, skills, or any other artefact other readers will see.
  • Two remediation paths spelled out: promote-to-shared (move into a tracked location, commit, then reference the committed path) or summarise-inline. Internal session surfaces (TodoWrite, live transcript) are explicitly exempted.
  • Version bumps: marketplace 1.18.0 -> 1.19.0; code-habits plugin 0.4.0 -> 0.5.0; SKILL.md frontmatter 0.3.0 -> 0.5.0 (skipped 0.4.0 to align with plugin version, per repo convention).

Why

The original skill covered where to put personal-process markdown but not what happens once you cite that gitignored path from a public surface. Recent session: a .local/plans/<slug>.md reference landed in a GitHub issue body, producing a dangling pointer for everyone but the author. The fix had to be inline summarisation after the fact; encoding the rule at the skill level prevents the same shape at reference-creation time. Applies generally to anything git check-ignore flags, not just .local/.

Test plan

  • Render SKILL.md and confirm the new section reads cleanly.
  • jq the manifests to confirm versions (marketplace 1.19.0, code-habits plugin 0.5.0, SKILL.md 0.5.0).
  • Reload the plugin in a real session and trigger the skill by attempting to cite .local/foo.md from a shared surface.

🤖 Generated with Claude Code

amitkot and others added 2 commits May 14, 2026 16:40
…rfaces

`plans-and-investigations-location` already routed personal-process
markdown to `.local/<kind>/`; this adds the missing companion rule that
once a path is gitignored you must not cite it from issues, PRs, commit
messages, committed code/docs, skills, or any other artefact other
readers will see. Two remediation paths are spelled out: promote-to-
shared, or summarise-inline.

Motivating case: a session referenced a `.local/plans/<slug>.md` path
in a GitHub issue body, producing a dangling pointer for everyone but
the author.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the bulleted list, surface-by-surface enumeration, and separate
Why with a two-paragraph rule. The substance is the same — gitignored
paths exist on one machine, so don't cite them from anywhere others
will read; promote-to-shared or summarise-inline are the two fixes;
TodoWrite/live transcript are exempt — but the bloat was hiding it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant