Agent Skillswarpdotdev/oz-for-oss › update-dedupe

update-dedupe

GitHub

通过分析近期关闭的重复问题信号,自动更新本地去重技能配置。该流程聚合GitHub的重复关闭事件,识别高频重复模式并优化检测规则,从而提升Issue分类中重复项识别的准确性与效率。

.agents/skills/update-dedupe/SKILL.md warpdotdev/oz-for-oss

Trigger Scenarios

维护者频繁将问题标记为同一主线程的重复项 需要反馈实际关闭信号以改进重复检测算法

Install

npx skills add warpdotdev/oz-for-oss --skill update-dedupe -g -y
More Options

Non-standard path

npx skills add https://github.com/warpdotdev/oz-for-oss/tree/main/.agents/skills/update-dedupe -g -y

Use without installing

npx skills use warpdotdev/oz-for-oss@update-dedupe

指定 Agent (Claude Code)

npx skills add warpdotdev/oz-for-oss --skill update-dedupe -a claude-code -g -y

安装 repo 全部 skill

npx skills add warpdotdev/oz-for-oss --all -g -y

预览 repo 内 skill

npx skills add warpdotdev/oz-for-oss --list

SKILL.md

Frontmatter
{
    "name": "update-dedupe",
    "description": "Update the repo-local dedupe-issue-local companion skill using closed-as-duplicate signals. Use when maintainers repeatedly close issues as duplicates of the same canonical thread and that pattern should feed back into triage duplicate detection."
}

Update Dedupe

Use this skill to improve .agents/skills/dedupe-issue-local/SKILL.md from real closed-as-duplicate signals. The core skill at .agents/skills/dedupe-issue/SKILL.md is the cross-repo contract and is read-only from this loop.

This loop is focused exclusively on closed-as-duplicate signals. Other maintainer signals (re-labels, re-opens, follow-up comments) are handled by the separate update-triage loop.

Write surface

This self-improvement loop may only write to:

  • .agents/skills/dedupe-issue-local/ (and SKILL.md inside it)

It must NOT touch:

  • .agents/skills/dedupe-issue/SKILL.md (the core contract)
  • .agents/skills/triage-issue-local/SKILL.md (owned by update-triage)
  • any other core skill

The self-improvement runner enforces this via a git diff check against allowed prefixes before pushing. A violation aborts the run.

Inputs

  • Optional repository override if you are not running from the target checkout.
  • Optional time window override when you need something other than the default seven-day lookback.

Workflow

  1. Verify GitHub CLI auth:
gh auth status
  1. Aggregate closed-as-duplicate signals for recently closed issues with the bundled script:
python3 .agents/skills/update-dedupe/scripts/aggregate_dedupe_feedback.py

By default this targets the current repo and looks back 7 days. It collects only issues GitHub itself recorded as closed with the duplicate close reason (state_reason == "duplicate") and looks up the canonical issue each was closed against via the issue timeline's marked_as_duplicate event. Ad-hoc maintainer comments that merely mention another issue are intentionally ignored to avoid false positives. The script writes structured JSON to a temporary file and prints the path.

  1. Read the generated JSON and look for repeated clusters:
  • two or more different reporters filed similar issues that maintainers closed as duplicates of the same canonical thread
  • an explicit maintainer statement that a class of issue should always be treated as a duplicate of a canonical thread
  1. Propose the smallest edit that explains the cluster. Add or update a bullet under the "Known-duplicate clusters" section of .agents/skills/dedupe-issue-local/SKILL.md summarizing the canonical thread and the distinguishing signals maintainers use to identify duplicates.

  2. Keep the core dedupe contract stable — never edit dedupe-issue/SKILL.md, never weaken the 2-candidate minimum, never change the similarity thresholds or the output shape.

Evidence Rules

  • Only encode a cluster when at least two independent closed-as-duplicate events point at the same canonical issue, or a maintainer explicitly asks for one.
  • Skip the PR when there is no repeated signal.
  • Do not weaken precision-over-recall for dedupe.

Final Checks

  • Re-read the updated dedupe-issue-local companion skill and confirm any new clusters are explicit.
  • Keep the companion concise; prefer canonical links and short distinguishing notes over long prose.
  • Commit any changes on a local branch named oz-agent/update-dedupe. Do NOT push the branch; the Python entrypoint will run a write-surface guard and push only when the guard passes.
  • If the updates warrant a PR, it will be opened from the pushed branch. Tag @captainsafia as a reviewer on that PR.
  • Validate any temporary JSON with jq before relying on it.

Version History

  • 345a0f5 Current 2026-07-24 17:41

Same Skill Collection

.agents/skills/bootstrap-issue-config/SKILL.md
.agents/skills/create-product-spec/SKILL.md
.agents/skills/create-tech-spec/SKILL.md
.agents/skills/dedupe-issue-local/SKILL.md
.agents/skills/dedupe-issue/SKILL.md
.agents/skills/evaluate-auto-implement-eligibility-local/SKILL.md
.agents/skills/implement-issue/SKILL.md
.agents/skills/review-pr-local/SKILL.md
.agents/skills/review-spec-local/SKILL.md
.agents/skills/review-spec/SKILL.md
.agents/skills/security-review-pr/SKILL.md
.agents/skills/security-review-spec/SKILL.md
.agents/skills/triage-issue-local/SKILL.md
.agents/skills/triage-issue/SKILL.md
.agents/skills/update-pr-review/SKILL.md
.agents/skills/update-triage/SKILL.md
.agents/skills/verify-pr/SKILL.md

Metadata

Files
0
Version
90a5989
Hash
162fd400
Indexed
2026-07-24 17:41

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-18 05:03
浙ICP备14020137号-1 $mapa de visitantes$