Identify perspectives
Skill eugenelim/agent-ready-repo/packs/desk-research/.apm/skills/identify-perspectives
Enumerate the named camps on a contested topic before research begins. Builds the perspective scaffold that `/source-map` and `/compare-hypotheses` consume downstream in the decision pipeline. Grounded in Wikipedia NPOV (neutral point of view — fairly represent significant views) and ACH (competing hypotheses — surface all explanations before evaluating). Produces `<topic-slug>-perspectives.md` listing each camp's name, its core claim, and representative voices, plus a tension map recording which disagreements are irreducible (both sides right under different conditions) and what a forced resolution would destroy. Depth cues — `quickly`, `top three`, `briefly` for the dominant few; `comprehensively`, `exhaustively`, `in depth`, `extensive` for fringe and dissenting positions too.From its SKILL.md
npx -y skills add eugenelim/agent-ready-repo --skill identify-perspectivesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 15 stars15 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.0 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
/identify-perspectives
The first step in the decision pipeline. Enumerates the named camps on a contested topic so downstream skills can survey sources per camp and compare hypotheses across them.
When to invoke
- At the start of the decision pipeline, before
/source-map. - Any time a research question has known controversy and the right answer depends on which lens you're using.
- Not for descriptive factual questions (those go straight to
/desk-research).
Methodology
Two convergent disciplines:
-
Wikipedia NPOV (Neutral Point of View) — fairly represent all significant views proportionally to their prominence in reliable sources. The pack borrows the representation discipline: every significant camp gets named, not just the camp the model finds most credible.
-
ACH (Analysis of Competing Hypotheses) — surface all viable explanations before evaluating any of them. ACH's failure mode is premature dismissal; enumerating first protects against it.
The output is a scaffold of camps, not a verdict on which is right.
Evaluation is /compare-hypotheses's job downstream.
Procedure
- Restate the question as one decisive choice or one factual contention.
- Enumerate camps by name. A camp is a position with a recognisable label inside the community discussing the topic — not a position the model invented. If you have to invent a camp name, it probably isn't a real camp.
- For each camp, record:
- Core claim (one sentence).
- Representative voices (people, institutions, publications known to hold the camp's position).
- One adjacent or fringe variant the camp tolerates.
- Look for missing camps — quiet positions, dissenting minorities, contrarian-but-credentialed. The biggest NPOV failure is omission, not bias.
- Map the tensions — for each pair of camps that genuinely
disagree, decide whether the disagreement resolves (one camp is
right, the other is wrong, and evidence settles it) or is
irreducible (both camps are right under different conditions, and
the disagreement is in the world, not in a gap in the evidence). For
every irreducible disagreement, record the conditions under which
each side holds, and what a forced resolution would destroy. This is
the step that marks an irreducible tension so it is not silently
flattened downstream —
/compare-hypothesesis built to pick a winner, so a disagreement that shouldn't have a winner needs to carry that marking before it reaches that skill, so a reader (or a future/compare-hypothesespass) can refuse to collapse it. - Write
<topic-slug>-perspectives.md—<topic-slug>is the kebab-case topic slug; the naming rule lives in the/desk-researchskill body (§ Typed, topic-named artifacts).
<topic-slug>-perspectives.md output schema
# Perspectives — <question>
## Camp: <name>
- **Core claim:** <one sentence>.
- **Representative voices:** <person/institution>, <person/institution>.
- **Adjacent variants:** <one fringe or modified position>.
## Camp: <name>
(same shape)
## Possibly-missing camps
- <one-line description of a position that might be under-represented>.
## Tension map
- **<camp A> vs. <camp B>** — irreducible.
- **<camp A> holds when:** <the conditions / regime / scope under which A is right>.
- **<camp B> holds when:** <the conditions under which B is right>.
- **Forced resolution would destroy:** <what picking one side erases — a
real distinction, a context where the loser is correct, a constraint
that only the loser respects>.
- **<camp C> vs. <camp D>** — resolves (defer to `/compare-hypotheses`).
The tension map is not a relabelling of the camp list above it. The
camp list answers "what are the positions?"; the tension map answers
"which disagreements between them have no single right answer, and
why?" A camp can appear in the list and never reach the tension map
(it doesn't conflict with another camp); a disagreement reaches the
tension map only when it is irreducible — both sides survive
because they are right under different conditions, not because the
evidence is too thin to choose (that latter case is a confidence
question for /desk-research, not a tension). Marking the irreducible ones
here is what lets a reader — or a future /compare-hypotheses pass —
refuse to collapse them to a verdict; today /compare-hypotheses ranks
unconditionally, so the marking is the record that a ranking would be
the wrong move, not yet a mechanism that prevents one.
Citation discipline
Naming a camp's "representative voices" is a factual claim — cite the
voice or mark it [synthesis] (a synthesis across multiple cited
positions) / [inference] (a defensible deduction from voice patterns
the model has seen across cited material).
Depth cues
quickly,top three,briefly— return the dominant two or three camps only; skip the missing-camps survey and the tension map.summary only— same; one-line per camp.comprehensively,exhaustively,in depth,extensive— enumerate every named camp, including fringe and dissenting ones; spend real effort on the missing-camps survey and the tension map.
What ships with it: 2 files
3.3 KB alongside SKILL.md
evals/
- eval_queries.json2.0 KB
- evals.json1.4 KB