skills: add opposition-research (alias oppo); auto-ARDI standing rule - #120
Conversation
Add a skill that mines a competitor product's community surfaces — issue trackers, feature-request boards, subreddits, forums, review sites — for features its users ask for and value, then maps the on-scope ideas to our repos and files them as tracked issues. It studies what the rival's users want, not what the rival shipped, which is the inverse of scout-peers (read competitor code to borrow implementations). Cross-link both skills so the pair points at each other. Closes #119 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KmAN2oWrSXoyzesSmz1XwA
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
Adds a new demand-mining skill (opposition-research, alias oppo) to research competitor community surfaces for high-signal feature requests, map them to our repos, and (on user approval) file tracking issues—plus cross-linking with related skills.
Changes:
- Added canonical skill
skills/opposition-research/SKILL.mddescribing the oppo-research workflow, output format, relationships, and anti-patterns. - Added alias stub
skills/oppo/SKILL.mdredirecting to the canonical skill and mirroring itsallowed-tools. - Updated
skills/scout-peers/SKILL.mdwith a new “Relationship to other skills” section linking tooppoand other related workflows.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| skills/scout-peers/SKILL.md | Adds relationship cross-links (notably to oppo), positioning scout-peers vs demand-mining. |
| skills/opposition-research/SKILL.md | Introduces the canonical “oppo” demand-mining skill definition and procedure. |
| skills/oppo/SKILL.md | Adds a thin alias skill that redirects to the canonical opposition-research. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Record a standing preference: when I open or am handed a PR/MR in any repo, subscribe to its activity and run the ARDI loop to clean without first asking "should I watch / iterate this?". Treat that as a standing yes across all PRs and repos; still escalate ambiguous, significant, or deadlocked items. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KmAN2oWrSXoyzesSmz1XwA
This comment has been minimized.
This comment has been minimized.
|
@claude rview |
|
👀 Picked up by workflow run #27929685060. Setup runs first; Claude itself responds after that. |
This comment has been minimized.
This comment has been minimized.
…cope Address reviewer findings from Copilot and @claude: - Fix "(see §6)" → "(see Anti-patterns)" — §6 is about dedup/rank, not scraping - Clarify description invocation: "/opposition-research or the alias /oppo" - Narrow Discord/Slack bullet to publicly archived channels only; note gated channels should be skipped (avoids conflict with the Anti-patterns section) Rebut (not fixing): deep-research cross-references in both opposition-research and scout-peers SKILL.md are valid — deep-research is a real platform-level skill available to users, just not stored in this repo's skills/ directory. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
ARD on Copilot + @claude review findings: Addressed:
Rebutted:
|
|
Three findings addressed, one rebutted, commit pushed. The ARDI iteration will fire a fresh review against the updated diff. The — posted by @claude post-step from workflow run |
The auto-ARDI section referenced the tool as `mcp__github__subscribe_pr_activity`, which doesn't match how the rest of the repo names it. `memories/preferences.md` and the harness docs use the bare `subscribe_pr_activity`. Switch to the bare name and note that the GitHub MCP server provides it in remote/web sessions, so the reference reads as real rather than a stray prefixed token. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KmAN2oWrSXoyzesSmz1XwA
This comment has been minimized.
This comment has been minimized.
The section body says "When you open (or are handed) a PR/MR", and the adjacent heading already uses "PRs you touch". Match the heading to that broader scope so a reader scanning headings sees it covers handed-off PRs, not just ones I file. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KmAN2oWrSXoyzesSmz1XwA
|
Residual nit addressed in That clears the last item from the review: all four round-1 findings are fixed, the Generated by Claude Code |
|
Claude finished @d-morrison's task in 3m 6s —— View job Code Review
Verdict: Fully cleanEvery prior finding is confirmed fixed. The residual nit (heading wording) is resolved. No new issues found. Status of all prior findings:
Verification checks:
|
ums: bank lessons from the opposition-research PR (#120)
What
Adds a new skill,
opposition-research(short aliasoppo), that examines a competitor product's community surfaces — issue trackers, feature-request boards (Canny/Featurebase/UserVoice), subreddits, Discourse/Discord, Stack Overflow tags, and review sites (G2/Capterra) — to surface features the community asks for and values. It ranks ideas by demand, maps each to one of our repos, checks we don't already have it, and (on your go-ahead) files them as tracking issues with the source threads linked as demand evidence.Also records a standing preference in
CLAUDE.md(see second commit) so I watch and ARDI every PR I open automatically, without asking first, across all repos.Why a new skill, not an extension of
scout-peersscout-peersandopposition-researchare mirror images, so they cross-link but don't merge:scout-peersreads a competitor's code / repo to borrow license-checked implementations — learn how others built it.opposition-researchreads the competitor's users' discourse for demanded features, whether or not anyone built them yet — learn what to build.Per skill-builder's "extend before you create" step, I searched the live skills and every remote branch first; nothing owns this and nothing was in flight.
Changes
skills/opposition-research/SKILL.md— canonical skill (when-it-fires, procedure, output format, relationships, anti-patterns).skills/oppo/SKILL.md— thin alias stub, mirrors the canonical'sallowed-tools.skills/scout-peers/SKILL.md— added a reciprocal## Relationship to other skillssection pointing back atoppo(anddeep-research/prefer-upstream).CLAUDE.md— new section: watch + ARDI every PR automatically, without asking (standing yes across all PRs/repos). Added in response to a same-session request to stop asking.Validation
scripts/validate-skills.py→ all skills and manifests valid.scripts/check-links.py→ no broken relative links.Closes #119
🤖 Generated with Claude Code