.claude/commands/triage-friction-log.md (478 lines) specifies an engine the kit does not ship. The banner calls it "not yet vendored in kit v0", which reads as unwritten — it isn't. A working implementation exists in the cs-toolkit repo:
scripts/triage_friction_log.py (~48 KB) — parser, LLM proposer, frozen-inbox snapshot
scripts/finalize_triage.py (~36 KB) — graduation-marker prepend, inbox sweep by frozen list, branch/commit/push/draft-PR
Why it isn't a copy. It's coupled to one deployment:
| Location |
Hardcode |
triage_friction_log.py:265 |
prompt literal — "a triage assistant for the cs-toolkit dev backlog" |
:350 |
_LINEAR_GRAPHQL_URL — Linear is the only backend |
:386-442 |
live Linear label fetch |
:906 |
literal linear.app/in-parallel-eu/project/... URL |
:1066 |
~/.config/in-parallel/.env credential path |
Work
- Define a tracker adapter —
create_issue(title, body, labels) -> {identifier, url}, list_labels() — with linear and github-issues implementations. github-issues is small (gh issue create) and is what most adopters will use.
- Move the prompt, project identifiers, and credential path into
config/dev-model.yaml / the pipeline config. Engines are kit-owned as of #; a vendored engine that needs editing to adopt is a bug.
- Vendor both scripts + tests under
paths.engines.
- Replace the skill banner with an accurate pointer.
Sequencing. Worth doing after the nightly fixer stabilizes — the fixer exercises this path unattended and will show which parts actually generalize. Filing now so the banner stops overstating the gap.
.claude/commands/triage-friction-log.md(478 lines) specifies an engine the kit does not ship. The banner calls it "not yet vendored in kit v0", which reads as unwritten — it isn't. A working implementation exists in thecs-toolkitrepo:scripts/triage_friction_log.py(~48 KB) — parser, LLM proposer, frozen-inbox snapshotscripts/finalize_triage.py(~36 KB) — graduation-marker prepend, inbox sweep by frozen list, branch/commit/push/draft-PRWhy it isn't a copy. It's coupled to one deployment:
triage_friction_log.py:265:350_LINEAR_GRAPHQL_URL— Linear is the only backend:386-442:906linear.app/in-parallel-eu/project/...URL:1066~/.config/in-parallel/.envcredential pathWork
create_issue(title, body, labels) -> {identifier, url},list_labels()— withlinearandgithub-issuesimplementations.github-issuesis small (gh issue create) and is what most adopters will use.config/dev-model.yaml/ the pipeline config. Engines are kit-owned as of #; a vendored engine that needs editing to adopt is a bug.paths.engines.Sequencing. Worth doing after the nightly fixer stabilizes — the fixer exercises this path unattended and will show which parts actually generalize. Filing now so the banner stops overstating the gap.