Skip to main content

update-dedupe

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.

소스 정보

저장소
warpdotdev/oz-for-oss
최근 소스 활동
2026년 4월 30일 17:38
감지된 SKILL.md 언어
영어
스타
312
포크
43

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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: ```bash gh auth status ``` 2. Aggregate closed-as-duplicate signals for recently closed issues with the bundled script: ```bash 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. 3. 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 4. 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. 5. 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.
GitHub에서 보기