{"id":"95f458ae-b756-4495-a030-3f96c3d55d3d","shortId":"DhCRRv","kind":"skill","title":"perspectives","tagline":"Use when analyzing tradeoffs, comparing approaches, weighing options, assessing risks, stress-testing conclusions, identifying blind spots, or applying multiple viewpoints to a decision.","description":"# Perspectives\n\nShared prompt library for structured multi-perspective analysis. Provides stance prompts (advocate, critic, neutral) and critical thinking frameworks used by other Flow skills.\n\n<context>\n\n## Overview\n\nThis skill provides the foundation that other skills build on:\n\n- **Stance prompts** — three perspectives (advocate, critic, neutral) each with ethical guardrails that prevent harmful analysis\n- **Critical thinking framework** — structured reassessment pattern for evaluating claims and assumptions\n\nTypically loaded by other skills (`challenge`, `consensus`, persona skills) rather than invoked directly. Can be invoked directly when you want raw stance prompts for custom analysis.\n\n## References Index\n\n- **[Stance Prompts](references/stances.md)** — Advocate, critic, and neutral perspective prompts with ethical guardrails\n- **[Critical Thinking Framework](references/critical-thinking.md)** — CRITICAL REASSESSMENT pattern and anti-patterns\n\n</context>\n\n<workflow>\n## Workflow\n\n1. **Identify the core claim or decision** -- Clearly state the problem or proposal that needs analysis.\n2. **Apply the Advocate perspective** -- Identify the benefits, opportunities, and strongest arguments in favor of the proposal.\n3. **Apply the Critic perspective** -- Identify the risks, trade-offs, and failure modes. Challenge assumptions and reveal blind spots.\n4. **Apply the Neutral perspective** -- Objectively weigh the evidence, consider alternatives, and identify the conditions under which the proposal succeeds or fails.\n5. **Synthesize the findings** -- Combine the perspectives into a balanced summary with actionable recommendations and a clear risk assessment.\n</workflow>\n\n<guardrails>\n## Guardrails\n\n- **Avoid confirmation bias** -- Actively seek evidence that contradicts your preferred conclusion.\n- **Ensure diversity of viewpoints** -- Don't just pick the easiest arguments; look for subtle or non-obvious perspectives.\n- **Respect ethical and safety constraints** -- Never generate analysis that encourages harmful behavior or violates project security rules.\n- **Stay objective in the neutral stance** -- Avoid using biased language or leaning towards one side when synthesizing the results.\n- **Explicitly state assumptions** -- Clearly label any unverified facts or assumptions used during the analysis.\n</guardrails>\n\n<validation>\n## Validation Checkpoint\n\n- [ ] At least three distinct perspectives (Advocate, Critic, Neutral) have been applied\n- [ ] Core assumptions have been identified and challenged\n- [ ] Potential risks and failure modes are explicitly documented\n- [ ] Trade-offs between competing approaches are weighed objectively\n- [ ] Final recommendation is based on a synthesis of all perspectives, not just one\n- [ ] Analysis avoids loaded language and maintains a professional tone\n</validation>\n\n<example>\n## Example: Applying Perspectives to a Tech Choice\n\n**Proposal:** Moving from a monolithic database to a distributed microservices architecture.\n\n**Advocate:** \"Enables independent scaling of services, improves developer velocity by reducing coupling, and increases fault tolerance through isolation.\"\n\n**Critic:** \"Significantly increases operational complexity (service discovery, distributed tracing), introduces network latency between services, and requires complex distributed transaction management.\"\n\n**Neutral:** \"The transition is beneficial if the current monolith is a bottleneck for deployment frequency or horizontal scaling. However, the team must first invest in robust observability and CI/CD pipelines to manage the added overhead.\"\n</example>","tags":["perspectives","flow","cofin","agent-skills","ai-agents","beads","claude-code","codex","cursor","developer-tools","gemini-cli","opencode"],"capabilities":["skill","source-cofin","skill-perspectives","topic-agent-skills","topic-ai-agents","topic-beads","topic-claude-code","topic-codex","topic-cursor","topic-developer-tools","topic-gemini-cli","topic-opencode","topic-plugin","topic-slash-commands","topic-spec-driven-development"],"categories":["flow"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/cofin/flow/perspectives","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add cofin/flow","source_repo":"https://github.com/cofin/flow","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 11 github stars · SKILL.md body (3,617 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:07:38.405Z","embedding":null,"createdAt":"2026-04-23T13:04:00.544Z","updatedAt":"2026-05-18T19:07:38.405Z","lastSeenAt":"2026-05-18T19:07:38.405Z","tsv":"'1':140 '2':156 '3':173 '4':193 '5':215 'action':227 'activ':238 'ad':463 'advoc':39,66,119,159,322,392 'altern':203 'analysi':35,76,113,155,272,314,365 'analyz':4 'anti':137 'anti-pattern':136 'appli':20,157,174,194,327,375 'approach':7,348 'architectur':391 'argument':167,256 'assess':10,233 'assumpt':87,188,303,310,329 'avoid':235,288,366 'balanc':224 'base':355 'behavior':276 'benefici':434 'benefit':163 'bias':237,290 'blind':17,191 'bottleneck':441 'build':60 'challeng':93,187,334 'checkpoint':316 'choic':380 'ci/cd':458 'claim':85,144 'clear':147,231,304 'combin':219 'compar':6 'compet':347 'complex':414,426 'conclus':15,245 'condit':207 'confirm':236 'consensus':94 'consid':202 'constraint':269 'contradict':242 'core':143,328 'coupl':403 'critic':40,43,67,77,120,128,132,176,323,410 'current':437 'custom':112 'databas':386 'decis':25,146 'deploy':443 'develop':399 'direct':100,104 'discoveri':416 'distinct':320 'distribut':389,417,427 'divers':247 'document':342 'easiest':255 'enabl':393 'encourag':274 'ensur':246 'ethic':71,126,266 'evalu':84 'evid':201,240 'exampl':374 'explicit':301,341 'fact':308 'fail':214 'failur':185,338 'fault':406 'favor':169 'final':352 'find':218 'first':452 'flow':49 'foundat':56 'framework':45,79,130 'frequenc':444 'generat':271 'guardrail':72,127,234 'harm':75,275 'horizont':446 'howev':448 'identifi':16,141,161,178,205,332 'improv':398 'increas':405,412 'independ':394 'index':115 'introduc':419 'invest':453 'invok':99,103 'isol':409 'label':305 'languag':291,368 'latenc':421 'lean':293 'least':318 'librari':29 'load':89,367 'look':257 'maintain':370 'manag':429,461 'microservic':390 'mode':186,339 'monolith':385,438 'move':382 'multi':33 'multi-perspect':32 'multipl':21 'must':451 'need':154 'network':420 'neutral':41,68,122,196,286,324,430 'never':270 'non':262 'non-obvi':261 'object':198,283,351 'observ':456 'obvious':263 'off':183,345 'one':295,364 'oper':413 'opportun':164 'option':9 'overhead':464 'overview':51 'pattern':82,134,138 'persona':95 'perspect':1,26,34,65,123,160,177,197,221,264,321,361,376 'pick':253 'pipelin':459 'potenti':335 'prefer':244 'prevent':74 'problem':150 'profession':372 'project':279 'prompt':28,38,63,110,117,124 'propos':152,172,211,381 'provid':36,54 'rather':97 'raw':108 'reassess':81,133 'recommend':228,353 'reduc':402 'refer':114 'references/critical-thinking.md':131 'references/stances.md':118 'requir':425 'respect':265 'result':300 'reveal':190 'risk':11,180,232,336 'robust':455 'rule':281 'safeti':268 'scale':395,447 'secur':280 'seek':239 'servic':397,415,423 'share':27 'side':296 'signific':411 'skill':50,53,59,92,96 'skill-perspectives' 'source-cofin' 'spot':18,192 'stanc':37,62,109,116,287 'state':148,302 'stay':282 'stress':13 'stress-test':12 'strongest':166 'structur':31,80 'subtl':259 'succeed':212 'summari':225 'synthes':216,298 'synthesi':358 'team':450 'tech':379 'test':14 'think':44,78,129 'three':64,319 'toler':407 'tone':373 'topic-agent-skills' 'topic-ai-agents' 'topic-beads' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'topic-opencode' 'topic-plugin' 'topic-slash-commands' 'topic-spec-driven-development' 'toward':294 'trace':418 'trade':182,344 'trade-off':181,343 'tradeoff':5 'transact':428 'transit':432 'typic':88 'unverifi':307 'use':2,46,289,311 'valid':315 'veloc':400 'viewpoint':22,249 'violat':278 'want':107 'weigh':8,199,350 'workflow':139","prices":[{"id":"83d3e4e0-0af2-46da-a83c-4e1d5640f98b","listingId":"95f458ae-b756-4495-a030-3f96c3d55d3d","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"cofin","category":"flow","install_from":"skills.sh"},"createdAt":"2026-04-23T13:04:00.544Z"}],"sources":[{"listingId":"95f458ae-b756-4495-a030-3f96c3d55d3d","source":"github","sourceId":"cofin/flow/perspectives","sourceUrl":"https://github.com/cofin/flow/tree/main/skills/perspectives","isPrimary":false,"firstSeenAt":"2026-04-23T13:04:00.544Z","lastSeenAt":"2026-05-18T19:07:38.405Z"}],"details":{"listingId":"95f458ae-b756-4495-a030-3f96c3d55d3d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"cofin","slug":"perspectives","github":{"repo":"cofin/flow","stars":11,"topics":["agent-skills","ai-agents","beads","claude-code","codex","context-driven-development","cursor","developer-tools","gemini-cli","opencode","plugin","slash-commands","spec-driven-development","subagents","tdd","workflow"],"license":"apache-2.0","html_url":"https://github.com/cofin/flow","pushed_at":"2026-04-27T19:07:26Z","description":"Context-Driven Development toolkit for AI agents — spec-first planning, TDD workflow, and Beads integration.","skill_md_sha":"1095c49761955e19da0ff827ba085a62130b2885","skill_md_path":"skills/perspectives/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/cofin/flow/tree/main/skills/perspectives"},"layout":"multi","source":"github","category":"flow","frontmatter":{"name":"perspectives","description":"Use when analyzing tradeoffs, comparing approaches, weighing options, assessing risks, stress-testing conclusions, identifying blind spots, or applying multiple viewpoints to a decision."},"skills_sh_url":"https://skills.sh/cofin/flow/perspectives"},"updatedAt":"2026-05-18T19:07:38.405Z"}}