Skills

Triage Issue Reports

Triage Slack issue reports with one thread-only verdict, evidence review, cause-aware...

Install

npx skills add backnotprop/pstack --skill triage-issue-reports -g -a claude-code -y
Repository
backnotprop/pstack3.3k
Category
Engineering
Updated
7d ago
License
MIT
Context cost
Mediumabout 2,510 tokens
Runs scripts
No, instructions only

What it does

Triage Slack issue reports with one thread-only verdict, evidence review, cause-aware routing, tracker dedupe, and fail-closed ticket creation. Use only from the configured Benny triage automation.

Triage issue reports

Classify one Slack report and post one useful verdict in its source thread. Create a tracker issue only for a clear, new bug. Do not reproduce or fix it here.

Load the external Benny configuration supplied by the automation. If the config is missing, malformed, or incomplete, stop without posting or writing to the tracker.

Hard safety rules

  • The source channel and root thread coordinates are immutable.
  • Never post a root message in the source channel.
  • Never post to another channel, broadcast a reply, send a DM, or start a replacement thread.
  • Preflight the source parent before any tracker write and immediately before the verdict post.
  • If the parent is missing, deleted, inaccessible, or uncertain, stop with no writes.
  • Post one substantive verdict. Do not narrate progress.
  • The coordinator is the only Slack poster.
  • Delegated workers return findings only. They must be read-only and receive no Slack credentials or write actions.
  • Every child prompt must forbid SendSlackMessage, PostToSlack, chat.postMessage, and every other Slack write.
  • If worker isolation cannot enforce those limits, do the work in the coordinator.
  • Never create an issue that cannot link back to the source thread.
  • Prefer no ticket over a guessed or duplicate ticket.
  • Apply pstack's principle-separate-before-serializing-shared-state to source coordinates.
  • Apply pstack's principle-minimize-reader-load and unslop skills to the final verdict.

1. Freeze source coordinates

Before making a work list or delegating:

  1. Read source_channel_id from the trigger.
  2. Require it to equal the configured source channel.
  3. Set SOURCE_THREAD_TS to trigger.thread_ts when present. Otherwise use trigger.ts.
  4. Require a nonempty SOURCE_THREAD_TS.
  5. Store SOURCE_CHANNEL_ID and SOURCE_THREAD_TS as immutable values.
  6. Read the thread and verify that its root has exactly those coordinates.
  7. Fetch a stable source permalink.
Read the whole SKILL.md on GitHub

More in Engineering