What happened
PR #1479 added a mandatory dedup check to the retro-analysis skill before filing proposals. The recipe instructs the agent to search for open issues using keyword-based queries (gh api search/issues?q=<topic+keywords>+repo:<target_repo>+is:issue+is:open). This was prompted by #1467, which reported that 5 of 15 retro-filed issues (33%) on 2026-05-26 were closed as duplicates of issues the retro agent itself had previously filed.
What could go better
The current dedup recipe relies entirely on keyword search quality. If the agent picks different keywords than the original issue title used, it will miss the duplicate. The primary source of duplicates is the retro agent filing issues that it itself previously filed — the 5 duplicates in #1467 were all retro-bot-authored issues duplicating other retro-bot-authored issues. An author-scoped search (author:app/fullsend-ai-retro) would catch these more reliably than keyword matching alone, since it narrows the search space to the agent's own prior output. I'm fairly confident this would help because: (a) the duplication pattern in #1467 was specifically self-duplication, and (b) keyword search is inherently fuzzy while author filtering is exact. The risk is low — it's an additive search, not a replacement.
Proposed change
In internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md, in the "Before proposing: check for existing issues" section, add a second search recipe after the existing keyword search. The new search should filter by the retro bot author:
# Author-scoped search: find issues the retro agent previously filed
gh api \
"search/issues?q=repo:<target_repo>+is:issue+is:open+author:app/fullsend-ai-retro&per_page=30" \
--jq '.items[] | {number: .number, title: .title, url: .html_url}'
Add guidance text explaining that self-duplicates are the most common failure mode and the author-scoped search should be run first as a fast pre-filter before the broader keyword search. The agent should compare its candidate proposal titles against the retro bot's existing open issues and skip if there is substantial overlap.
Validation criteria
Over the next 2 weeks after deployment, the retro agent's duplicate issue rate (issues closed as duplicates / total issues filed) should remain below 10% as specified in #1467's validation criteria. Specifically, self-duplicates (retro-bot issues duplicating other retro-bot issues) should drop to near zero. Measure by running: gh issue list --repo fullsend-ai/fullsend --author 'app/fullsend-ai-retro' --label duplicate --state closed --json createdAt -q '[.[] | select(.createdAt > "2026-05-27")] | length'.
Generated by retro agent from #1479
What happened
PR #1479 added a mandatory dedup check to the retro-analysis skill before filing proposals. The recipe instructs the agent to search for open issues using keyword-based queries (
gh api search/issues?q=<topic+keywords>+repo:<target_repo>+is:issue+is:open). This was prompted by #1467, which reported that 5 of 15 retro-filed issues (33%) on 2026-05-26 were closed as duplicates of issues the retro agent itself had previously filed.What could go better
The current dedup recipe relies entirely on keyword search quality. If the agent picks different keywords than the original issue title used, it will miss the duplicate. The primary source of duplicates is the retro agent filing issues that it itself previously filed — the 5 duplicates in #1467 were all retro-bot-authored issues duplicating other retro-bot-authored issues. An author-scoped search (
author:app/fullsend-ai-retro) would catch these more reliably than keyword matching alone, since it narrows the search space to the agent's own prior output. I'm fairly confident this would help because: (a) the duplication pattern in #1467 was specifically self-duplication, and (b) keyword search is inherently fuzzy while author filtering is exact. The risk is low — it's an additive search, not a replacement.Proposed change
In
internal/scaffold/fullsend-repo/skills/retro-analysis/SKILL.md, in the "Before proposing: check for existing issues" section, add a second search recipe after the existing keyword search. The new search should filter by the retro bot author:Add guidance text explaining that self-duplicates are the most common failure mode and the author-scoped search should be run first as a fast pre-filter before the broader keyword search. The agent should compare its candidate proposal titles against the retro bot's existing open issues and skip if there is substantial overlap.
Validation criteria
Over the next 2 weeks after deployment, the retro agent's duplicate issue rate (issues closed as duplicates / total issues filed) should remain below 10% as specified in #1467's validation criteria. Specifically, self-duplicates (retro-bot issues duplicating other retro-bot issues) should drop to near zero. Measure by running:
gh issue list --repo fullsend-ai/fullsend --author 'app/fullsend-ai-retro' --label duplicate --state closed --json createdAt -q '[.[] | select(.createdAt > "2026-05-27")] | length'.Generated by retro agent from #1479