agentsclimarketplace

Triage

Skill opendatadiscovery/odd-team/.claude/skills/triage

Convert raw scanner findings into atomic work items in the backlog. Assigns priority, category, effort, and identifies file conflicts.From its SKILL.md

Install
npx -y skills add opendatadiscovery/odd-team --skill triage

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.7 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Triage Findings

Convert findings at $ARGUMENTS into backlog work items.

Protocol

  1. Orient — Read:

    • CLAUDE.md
    • backlog/README.md (work item format and lifecycle)
    • state/file-registry.yaml (existing file claims)
    • Check existing items in backlog/ to avoid duplicates and get next ID numbers
  2. Read findings — Load the findings file at $ARGUMENTS

2.5. Look up the scanner-feed log (rev 13):

  • Derive the scan_run_id from the findings file path. The matching scanner-feed log lives at lineage/{substrate_repo}/scanner-feed/{YYYY-MM-DD}-{scan_run_id}.yaml.
  • If the log exists (mode-B scan-run produced it): load it. The log carries clues_consumed[], agent_consultations, write_backs, warnings, and the per-finding findings_produced cross-reference.
  • If no log exists: the findings came from a mode-A standalone scan; no ontology-corroboration data is available. Proceed with normal triage.
  • If verification_class: corroboration-only: the scan-run did NOT iterate the feature catalog independently (Rule 21 D13 violation). Flag this in the triage report and recommend a re-run; findings can still be triaged but their coverage is suspect.
  1. Triage each finding — For each, decide:

    • Actionable? — Reject false positives with brief explanation
    • Work we do here, or a handoff to upstream? — This is the first split:
      • Work we do here → backlog item under backlog/{cat}/{ID}.md (continue with the fields below).
      • Handoff to upstream (the fix lives in a repo we don't directly maintain in this workspace — Java in odd-platform, Python in odd-collectors, schema in the spec, Helm in charts, etc.) → instead of a backlog item, draft a paste-ready GitHub issue at issues/{repo}/{PREFIX}-NNN.md via /log-issue {repo} "title" (see issues/README.md for prefixes). A single finding can produce both — e.g., a missing doc caveat (backlog) plus an upstream code fix (issue draft); link them both ways.
    • Category (for backlog items) — DOC (documentation), TST (test), NAV (navigation), SPC (specification)
    • Issue type (for issue drafts) — bug | feature | adjustment; bugs also need severity
    • Granularity — One work item / one issue draft per logical change (split complex findings, merge trivial ones)
    • Priority — critical (wrong info) > high (missing tests for fragile code) > medium (gaps) > low (cosmetic). Rev-13 ontology-corroboration lift: if the scanner-feed log lists this finding's findings_produced against an ontology clue source AND the clue is either feature-flow or doc-gap corroboration, lift the priority by ONE tier (medium → high, high → critical). Two independent signals (ontology AND scanner) flagging the same gap is published-mistake risk per CLAUDE.md's "wrong docs > missing docs" priority bar. Concept-source clues (non-canonical-term) default to medium; shoebox-source clues inherit the shoebox thread's severity.
    • Release routing (documentation items — adrs/drafts/release-train-doc-gating.md Decision 3) — does the change describe behaviour absent from the latest published odd-platform release? Mechanical test: find the introducing commit; git -C ../odd-platform tag --contains {sha} empty (or only unpublished tags) ⇒ release-gated → set milestone: from the introducing issue/PR's milestone (GET /repos/.../issues/{n} → .milestone.title); no open matching milestone → create the item blocked with an unresolved-milestone note (the maintainer creates/re-targets milestones). Released-truth corrections — including known-issue caveats for released bugs — stay un-gated and publish immediately at their normal priority. A release-gated item's urgency is "complete before the release gate", not "before the next session".
    • Affected files — Which files will be created/modified? (For issue drafts: cite upstream file:line in the body, not affected_files in this workspace.)
    • Dependencies — Does this item require another to complete first?
    • Effort — small (<30min), medium (30-90min), large (>90min) — for backlog items only; issue drafts have no in-workspace effort once the body is written.
  2. Create work items — Write to backlog/{category}/{ID}.md:

    • Follow format exactly from backlog/README.md
    • Write testable acceptance criteria (not vague goals)
    • Include scanner source and found date
    • For findings sourced from ontology clues (rev 13): include ontology_source: in the backlog item's Context section — e.g. ontology_source: feature-flow F-007 (Source: Ontology[F-007:hop-2] → Repo[AlertManagerController.java:24-31]). This back-links the work item to the F-NNN it came from, so when the doc PR ships, the maintainer can flip the F-NNN's doc_status: field from backlog → drafted → live.
    • For release-gated items: set milestone: "{version}" in the frontmatter and record the affected pages + expected post-merge URLs in the item — the release gate (playbooks/release-train-merge.md) consumes them.
  3. Update file registry — Add to state/file-registry.yaml:

    • Map each affected file to the new work item ID
  4. Update progress — Edit state/PROGRESS.md:

    • Update backlog counts by category and status
  5. Report — State:

    • Findings processed: N accepted, M rejected (with reasons)
    • Work items created: breakdown by category and priority
    • Any dependency chains identified

Splitting Heuristics

Split when:

  • Finding spans multiple repos
  • Finding requires both code and doc changes in different repos
  • Finding affects >5 files

Merge when:

  • Multiple findings are same root cause
  • Multiple findings need the same single-file change

Rules

  • If $ARGUMENTS is empty, list available findings in findings/ and ask which to triage
  • Don't write implementation details — just acceptance criteria
  • Functional bugs in upstream code → draft an issue at issues/{repo}/{PREFIX}-NNN.md via /log-issue (never just narrate "log as GitHub Issue" in a work item; that disappears the moment the conversation ends). If a doc caveat also ships now, pair the backlog item and the issue draft with two-way links.
  • If two items touch the same file, note dependency explicitly in both
  • A finding that turns into both a backlog item and an issue draft must reference each other in their Context / discovered_during: fields — the audit trail is two-way.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.