perspectives
Use when analyzing tradeoffs, comparing approaches, weighing options, assessing risks, stress-testing conclusions, identifying blind spots, or applying multiple viewpoints to a decision.
Best use case
perspectives is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when analyzing tradeoffs, comparing approaches, weighing options, assessing risks, stress-testing conclusions, identifying blind spots, or applying multiple viewpoints to a decision.
Teams using perspectives should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/perspectives/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How perspectives Compares
| Feature / Agent | perspectives | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when analyzing tradeoffs, comparing approaches, weighing options, assessing risks, stress-testing conclusions, identifying blind spots, or applying multiple viewpoints to a decision.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Perspectives Shared prompt library for structured multi-perspective analysis. Provides stance prompts (advocate, critic, neutral) and critical thinking frameworks used by other Flow skills. <context> ## Overview This skill provides the foundation that other skills build on: - **Stance prompts** — three perspectives (advocate, critic, neutral) each with ethical guardrails that prevent harmful analysis - **Critical thinking framework** — structured reassessment pattern for evaluating claims and assumptions Typically 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. ## References Index - **[Stance Prompts](references/stances.md)** — Advocate, critic, and neutral perspective prompts with ethical guardrails - **[Critical Thinking Framework](references/critical-thinking.md)** — CRITICAL REASSESSMENT pattern and anti-patterns </context> <workflow> ## Workflow 1. **Identify the core claim or decision** -- Clearly state the problem or proposal that needs analysis. 2. **Apply the Advocate perspective** -- Identify the benefits, opportunities, and strongest arguments in favor of the proposal. 3. **Apply the Critic perspective** -- Identify the risks, trade-offs, and failure modes. Challenge assumptions and reveal blind spots. 4. **Apply the Neutral perspective** -- Objectively weigh the evidence, consider alternatives, and identify the conditions under which the proposal succeeds or fails. 5. **Synthesize the findings** -- Combine the perspectives into a balanced summary with actionable recommendations and a clear risk assessment. </workflow> <guardrails> ## Guardrails - **Avoid confirmation bias** -- Actively seek evidence that contradicts your preferred conclusion. - **Ensure diversity of viewpoints** -- Don't just pick the easiest arguments; look for subtle or non-obvious perspectives. - **Respect ethical and safety constraints** -- Never generate analysis that encourages harmful behavior or violates project security rules. - **Stay objective in the neutral stance** -- Avoid using biased language or leaning towards one side when synthesizing the results. - **Explicitly state assumptions** -- Clearly label any unverified facts or assumptions used during the analysis. </guardrails> <validation> ## Validation Checkpoint - [ ] At least three distinct perspectives (Advocate, Critic, Neutral) have been applied - [ ] Core assumptions have been identified and challenged - [ ] Potential risks and failure modes are explicitly documented - [ ] Trade-offs between competing approaches are weighed objectively - [ ] Final recommendation is based on a synthesis of all perspectives, not just one - [ ] Analysis avoids loaded language and maintains a professional tone </validation> <example> ## Example: Applying Perspectives to a Tech Choice **Proposal:** Moving from a monolithic database to a distributed microservices architecture. **Advocate:** "Enables independent scaling of services, improves developer velocity by reducing coupling, and increases fault tolerance through isolation." **Critic:** "Significantly increases operational complexity (service discovery, distributed tracing), introduces network latency between services, and requires complex distributed transaction management." **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." </example>
Related Skills
flow-memory-keeper
Use at task, phase, flow, sync, archive, finish, revise, or failure checkpoints to keep Flow specs clean, capture learnings and failures, elevate durable patterns, and refine this skill with project-specific nuances
vue
Use when editing Vue projects, .vue files, vue.config.js, Vue 3 components, Composition API, <script setup>, SFC state, deployment workflows, or Vue CI configuration.
vite
Use when editing Vite projects, vite.config.ts, vite.config.js, Vite plugins, HMR, asset bundling, frontend build settings, deployment config, or Litestar/Vite integration.
uvicorn
Use when deploying ASGI apps with uvicorn, editing uvicorn CLI commands, Config or Server usage, workers, reload, event loop selection, SSL, lifespan, logging, or development server behavior.
tracer
Use when tracing execution paths, mapping dependencies, understanding unfamiliar code, following data flow, investigating end-to-end behavior, debugging call chains, or deciding which files to read next.
testing
Use when writing or refactoring tests, editing test_*.py, *.test.ts, *.spec.ts, conftest.py, vitest.config.ts, pytest fixtures, mocks, coverage, async tests, anyio, or test failure debugging.
terraform
Use when creating, adopting, refactoring, or operating Terraform, *.tf files, .terraform.lock.hcl, terragrunt.hcl, root modules, backends, state, workspaces, imports, CI plan/apply, tests, or policy checks.
tanstack
Use when editing TanStack code, @tanstack imports, useQuery, createRouter, React Query, TanStack Router, Table, Form, Store, file-based routing, data fetching, or SPA state management.
tailwind
Use when styling with Tailwind CSS, editing tailwind.config.ts, tailwind.config.js, @tailwind directives, utility classes, responsive layouts, @apply, cn(), @theme config, dark mode, or forms.
svelte
Use when editing Svelte components, .svelte files, svelte.config.js, Svelte 5 runes, $state, $derived, SvelteKit, component state, or migrating away from Svelte 4 patterns.
sqlserver
Use when writing T-SQL, editing SQL Server .sql files, using sqlcmd, SQL Server connection strings, stored procedures, execution plans, indexes, Always On, JSON, security, or connector code.
sqlalchemy
Use when editing SQLAlchemy code, sqlalchemy imports, mapped_column, DeclarativeBase, ORM models, relationships, select() queries, async sessions, engines, events, or migrations.