Skip to content

Add first-party triage-ticket skill without an extras tree #14

Description

@ericlitman

Problem

Open Pstack needs a clear home for project-authored features such as the new triage-ticket skill. The plugin currently loads one shared native tree from plugins/pstack/skills/, and the repository already places independently authored and non-pstack imports such as babysit, deslop, and fix-ci directly beside upstream skills. A nested skills/extras/ category would encode provenance in the runtime path and would not match the existing direct-child discovery and local-linking model.

The current local triage-ticket implementation also cannot be copied into the public plugin unchanged. It calls /linear-workflow and /pp-linear, which Open Pstack does not ship, and it assumes linear-pp-cli plus specific Linear state and label conventions.

Direction

Treat Open Pstack-authored skills as first-class plugin skills. Put each one directly at plugins/pstack/skills/<name>/. Track whether a skill came from Cursor pstack, another attributed source, or Open Pstack itself in NOTICE.md, CHANGES.md, UPSTREAM.md, and the technical reference, not through an extras directory.

Use a separate sibling plugin only when a feature genuinely needs an independent install, dependency set, or namespace. Do not create a nested skills/extras/ tree.

Keep the current local triage-ticket skill in the personal skill layer until its private Linear dependencies are removed or made public and installable. Once that release boundary is satisfied, it belongs in the flat pstack skill tree, not in a sibling plugin.

Acceptance criteria

  • After the fresh-install dependency boundary is satisfied, add triage-ticket as plugins/pstack/skills/triage-ticket/, with its runtime references and script kept inside that skill directory.
  • Keep one shared skill implementation for Claude Code and Codex. Resolve harness primitives at the existing mapping boundaries rather than adding harness-specific copies.
  • Remove dependencies on private or user-local skill paths. The released skill must either contain the required Linear workflow policy itself or depend only on public, documented components that a fresh Open Pstack user can install.
  • Preserve explicit invocation only and the one-way TRIAGE READY or TRIAGE STOP handoff contract.
  • Document the skill as Open Pstack-authored in the provenance and change records, add it to the skill reference, and update hard-coded skill counts.
  • Move the skill's Python tests and fixtures into the repository test layer, run them in CI, and validate every referenced runtime file and cross-skill route.
  • Install the exact candidate in Claude Code and Codex and exercise the user-visible triage entry point before merge. Static validation alone is insufficient.
  • Do not add skills/extras/, a second copy of the skill, or a compatibility wrapper.

Source refs

  • plugins/pstack/.codex-plugin/plugin.json points discovery at ./skills/.
  • UPSTREAM.md requires one shared plugins/pstack/skills/ tree.
  • docs/reference.md describes the native skill tree as the only workflow source and records existing non-upstream additions under "What's added."
  • The local proposal reviewed on 2026-08-25 is ~/.codex/skills/triage-ticket/; its SKILL.md names the unresolved /linear-workflow and /pp-linear dependencies.
  • Surfaced by the 2026-08-25 Open Pstack feature-placement discussion.

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