Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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"
},
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/<slug>.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
Expand Down
2 changes: 1 addition & 1 deletion code-habits/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
10 changes: 8 additions & 2 deletions code-habits/skills/plans-and-investigations-location/SKILL.md
Original file line number Diff line number Diff line change
@@ -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/<kind>/` (gitignored) and reserves `docs/<kind>/` 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/<kind>/` (gitignored) and reserves `docs/<kind>/` 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
Expand All @@ -19,3 +19,9 @@ Default to `.local/<kind>/` for plans drafted before approval, investigation not
Write to `docs/<kind>/` 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?"