Skip to content

Extract the friction-triage engine from cs-toolkit behind a tracker adapter #6

Description

@topij

.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

  1. 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.
  2. 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.
  3. Vendor both scripts + tests under paths.engines.
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions