diff --git a/.openclaw/skills/ponytail-debt/SKILL.md b/.openclaw/skills/ponytail-debt/SKILL.md index 5a64dca90..7910fd8c5 100644 --- a/.openclaw/skills/ponytail-debt/SKILL.md +++ b/.openclaw/skills/ponytail-debt/SKILL.md @@ -14,7 +14,7 @@ can't quietly become permanent. Grep the repo for comment markers, skipping `.git` and everything the `.gitignore` files ignore (dependencies, build output, caches, in any stack): -`git grep --no-index --exclude-standard -nE '(#|//|/[*]) ?(shortcut|ponytail):'` (add other comment prefixes if your stack uses them) +`git grep --no-index --exclude-standard -nE '(#|//|/[*]|--|;) ?(shortcut|ponytail):'` (add other comment prefixes if your stack uses them) If the user names their own marker word (`/ponytail-debt TODO`), grep for that word instead. diff --git a/.opencode/command/ponytail-debt.md b/.opencode/command/ponytail-debt.md index eaacebf34..a7a4eeabe 100644 --- a/.opencode/command/ponytail-debt.md +++ b/.opencode/command/ponytail-debt.md @@ -2,4 +2,4 @@ description: "Harvest shortcut: comments into a tracked debt ledger" --- -Harvest every `shortcut:` comment (and older `ponytail:` ones) in this repository into a debt ledger so deferrals do not rot into 'later means never'. Grep the whole tree for comment markers (git grep --no-index --exclude-standard -nE '(#|//|/[*]) ?(shortcut|ponytail):', skipping .git and everything .gitignore ignores; if the user names their own marker word, grep for that instead; skip hits that are not a deferral, like a keyboard-shortcut note). One row per marker, grouped by file: :, . ceiling: . upgrade: . Tag any marker that names no upgrade path or trigger as no-trigger, those rot silently. End with the count of markers and how many lack a trigger. If none: 'No shortcut debt. Clean ledger.' Report only, change nothing. +Harvest every `shortcut:` comment (and older `ponytail:` ones) in this repository into a debt ledger so deferrals do not rot into 'later means never'. Grep the whole tree for comment markers (git grep --no-index --exclude-standard -nE '(#|//|/[*]|--|;) ?(shortcut|ponytail):', skipping .git and everything .gitignore ignores; if the user names their own marker word, grep for that instead; skip hits that are not a deferral, like a keyboard-shortcut note). One row per marker, grouped by file: :, . ceiling: . upgrade: . Tag any marker that names no upgrade path or trigger as no-trigger, those rot silently. End with the count of markers and how many lack a trigger. If none: 'No shortcut debt. Clean ledger.' Report only, change nothing. diff --git a/commands/ponytail-debt.toml b/commands/ponytail-debt.toml index cbd0b171e..a7bc477fe 100644 --- a/commands/ponytail-debt.toml +++ b/commands/ponytail-debt.toml @@ -1,2 +1,2 @@ description = "Harvest shortcut: comments into a tracked debt ledger" -prompt = "Harvest every `shortcut:` comment (and older `ponytail:` ones) in this repository into a debt ledger so deferrals do not rot into 'later means never'. Grep the whole tree for comment markers (git grep --no-index --exclude-standard -nE '(#|//|/[*]) ?(shortcut|ponytail):', skipping .git and everything .gitignore ignores; if the user names their own marker word, grep for that instead; skip hits that are not a deferral, like a keyboard-shortcut note). One row per marker, grouped by file: : — . ceiling: . upgrade: . Tag any marker that names no upgrade path or trigger as no-trigger, those rot silently. End with the count of markers and how many lack a trigger. If none: 'No shortcut debt. Clean ledger.' Report only, change nothing." +prompt = "Harvest every `shortcut:` comment (and older `ponytail:` ones) in this repository into a debt ledger so deferrals do not rot into 'later means never'. Grep the whole tree for comment markers (git grep --no-index --exclude-standard -nE '(#|//|/[*]|--|;) ?(shortcut|ponytail):', skipping .git and everything .gitignore ignores; if the user names their own marker word, grep for that instead; skip hits that are not a deferral, like a keyboard-shortcut note). One row per marker, grouped by file: : — . ceiling: . upgrade: . Tag any marker that names no upgrade path or trigger as no-trigger, those rot silently. End with the count of markers and how many lack a trigger. If none: 'No shortcut debt. Clean ledger.' Report only, change nothing." diff --git a/skills/ponytail-debt/SKILL.md b/skills/ponytail-debt/SKILL.md index 0ae3e9ab3..58b031715 100644 --- a/skills/ponytail-debt/SKILL.md +++ b/skills/ponytail-debt/SKILL.md @@ -15,7 +15,7 @@ can't quietly become permanent. Grep the repo for comment markers, skipping `.git` and everything the `.gitignore` files ignore (dependencies, build output, caches, in any stack): -`git grep --no-index --exclude-standard -nE '(#|//|/[*]) ?(shortcut|ponytail):'` (add other comment prefixes if your stack uses them) +`git grep --no-index --exclude-standard -nE '(#|//|/[*]|--|;) ?(shortcut|ponytail):'` (add other comment prefixes if your stack uses them) If the user names their own marker word (`/ponytail-debt TODO`), grep for that word instead. diff --git a/tests/commands.test.js b/tests/commands.test.js index 7a9fd0a7d..66113915b 100644 --- a/tests/commands.test.js +++ b/tests/commands.test.js @@ -57,10 +57,14 @@ const debtSamples = [ ['/* ponytail: block marker, closed here */', true], ['/*ponytail: block marker, no space */', true], ['/* ponytail: block opener, closed some lines below', true], + // SQL, Lua and HTML comments, then INI and Lisp ones. + ['-- shortcut: double-dash marker', true], + ['', true], + ['; shortcut: semicolon marker', true], ['prose that merely mentions ponytail: markers stays out of the ledger', false], ]; -test('every ponytail-debt copy greps #, // and /* markers but not prose', (t) => { +test('every ponytail-debt copy greps #, //, /*, -- and ; markers but not prose', (t) => { const input = debtSamples.map(([line]) => line).join('\n') + '\n'; const expected = debtSamples.flatMap(([line, hit], i) => (hit ? [`${i + 1}:${line}`] : []));