diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index eb3cdf4..fa22a78 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,7 +6,7 @@ }, "metadata": { "description": "Multi-plugin marketplace with GitButler CLI skill and shared core utilities for Git workflows and version control", - "version": "1.18.0", + "version": "1.19.0", "homepage": "https://github.com/amitkot/claude-code-tools", "repository": { "type": "git", @@ -159,7 +159,7 @@ "name": "code-habits", "source": "./code-habits", "description": "Small, single-rule skills that auto-trigger on common engineering moments — file placement, task completion, claim-grounding, script duplication. One habit per skill, no procedural workflows.", - "version": "0.4.0", + "version": "0.5.0", "author": { "name": "Amit Kotlovski" }, diff --git a/CHANGELOG.md b/CHANGELOG.md index 2eb96d6..35577c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.19.0] - 2026-05-14 + +### Changed + +#### Code Habits Plugin (0.5.0) +- `plans-and-investigations-location` skill: add a short "Never reference gitignored paths from anywhere others will read" rule. The original skill covered *where* to put personal-process markdown but not what happens when you then cite that gitignored path from an issue, PR, commit, committed file, or shipped skill — a dangling pointer for every other reader. Fix paths: promote-to-shared or summarise-inline. Internal session surfaces (TodoWrite, live transcript) are exempted. +- Description trigger phrase extended to cover the non-reference rule. +- Motivating case: a session referenced `.local/plans/.md` in a GitHub issue body, pointing reviewers at a path that only existed on the author's laptop. + +### Technical Details +- Marketplace: 1.18.0 -> 1.19.0 +- Code Habits plugin: 0.4.0 -> 0.5.0 + ## [1.18.0] - 2026-05-13 ### Changed diff --git a/code-habits/.claude-plugin/plugin.json b/code-habits/.claude-plugin/plugin.json index f588a87..3db4d9f 100644 --- a/code-habits/.claude-plugin/plugin.json +++ b/code-habits/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "code-habits", "description": "Small, single-rule skills that auto-trigger on common engineering moments — file placement, task completion, claim-grounding, script duplication. One habit per skill, no procedural workflows.", - "version": "0.4.0", + "version": "0.5.0", "author": { "name": "Amit Kotlovski", "url": "https://github.com/amitkot" diff --git a/code-habits/skills/plans-and-investigations-location/SKILL.md b/code-habits/skills/plans-and-investigations-location/SKILL.md index 0b40e00..698aba6 100644 --- a/code-habits/skills/plans-and-investigations-location/SKILL.md +++ b/code-habits/skills/plans-and-investigations-location/SKILL.md @@ -1,7 +1,7 @@ --- name: plans-and-investigations-location -description: Use when about to write an implementation plan, investigation note, design sketch, post-mortem, or any markdown capturing personal process inside a project repo — and especially when about to save under `docs/plans/`, `docs/investigations/`, or `docs/design/`. Routes personal/in-flight work to `.local//` (gitignored) and reserves `docs//` for shared, team-reviewed artefacts. -version: 0.3.0 +description: Use when about to write an implementation plan, investigation note, design sketch, post-mortem, or any markdown capturing personal process inside a project repo — and especially when about to save under `docs/plans/`, `docs/investigations/`, or `docs/design/`. Routes personal/in-flight work to `.local//` (gitignored) and reserves `docs//` for shared, team-reviewed artefacts. Also forbids referencing any gitignored path (`.local/` included) from anywhere other readers will see — issues, PRs, commits, committed files, skills. +version: 0.5.0 --- # Plans and investigations: `.local/` first, `docs/` only when shared @@ -19,3 +19,9 @@ Default to `.local//` for plans drafted before approval, investigation not Write to `docs//` only when the user asks for a shared artefact, when promoting a reviewed plan to canonical, or for a deliverable in itself (architecture reference, runbook, post-mortem the team will read). Promote `.local/` → `docs/` as an explicit move + commit the user can see, not a quiet `git add`. `.local/` has no git history or backup — anything that becomes load-bearing (referenced across sessions, asked about by others) should graduate to `docs/`. + +## Never reference gitignored paths from anywhere others will read + +`.local/` and any other gitignored path (anything `git check-ignore` flags) exists on one machine only. Citing it from an issue, PR, commit message, committed file, or shipped skill gives every other reader a dangling pointer. Don't do it. If the content needs to be referenced, promote it to a tracked path first; if it should stay private, summarise the substance inline instead of linking. + +Internal session surfaces (TodoWrite, the live transcript) are fine — the bar is "will someone later read this without my filesystem?"