Perplexity research
Skill i-dedova/perplexity-research-plugin/skills/perplexity-research
Research via Perplexity automation. Triggers on research, investigate, find out, look up, deep dive, fact-check, or any web research need. Confirms scope, mode (search vs deep), and strategy with the user when unclear. Deep mode is single-prompt only — plan carefully.From its SKILL.md
npx -y skills add i-dedova/perplexity-research-plugin --skill perplexity-researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 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
8.6 KB, as published. Nobody here has run it
Perplexity Research - Scope Discussion
This skill helps you discuss and define research scope with the user before delegating to perplexity-research:research-agent for execution.
Your role: Interactive scope discussion, orchestrate handoff, wait for completion, and save the final research document.
Workflow
- Discuss topic with user
- Propose research scope + get confirmation (ONE AskUserQuestion with BOTH scope and strategy)
- Create task list (prevents stopping midway)
- Hand off to research-agent(s)
- Wait for agents, collect outputs
- Create final research document
Step 1: Understand the Topic
Ask clarifying questions if needed:
- What specific aspect to focus on?
- What's the end goal of this research?
- Any constraints or preferences?
If config default_model is dynamic: Read references/model-selection.md to choose the optimal model and thinking mode for this research topic.
Step 2: Propose Research Scope + Get Confirmation
First, present the proposed scope to the user:
Scope elements to present:
- Topic: {derived topic}
- TopicSlug: {lowercase-hyphens}
- Research Questions: 1. {Q1}, 2. {Q2}
- Context for Perplexity: {Background, current state, problem, success criteria}
- Mode: search or deep
- Model: {model slug} + Thinking: {on/off}
- Sources: web | academic | social
- Recommended strategy: Single or Parallel ({N} agents)
Use AskUserQuestion to confirm scope and strategy with the user.
Reference: Mode Guide
| Mode | Description | When to Use |
|---|---|---|
| search | Iterative research with follow-ups and synthesis | Most queries — focused questions, comparisons, follow-up chains |
| deep | Autonomous multi-step pipeline, single prompt | Complex topics needing comprehensive analysis — plan prompt carefully |
Deep mode guidance: Deep accepts a single prompt only — no follow-ups or synthesize. Craft the question to cover all aspects upfront. The agent does start → download → close. For iterative exploration, use search mode.
Reference: Context Template
| Section | Required | Description |
|---|---|---|
| Background | Yes | What's being built/done, what problem it solves |
| Current State | Yes | What exists, what's working, setup/architecture in place |
| The Problem | Yes | The specific issue to improve or solve |
| Success Criteria | Yes | What a good solution looks like |
| Stack / Setup | Optional | Tech stack, tools, platforms |
| What We've Tried | Optional | Approaches attempted that didn't work |
Reference: Question Examples
Quick (search): What are the main approaches for cross-platform Node.js process management?
Focused (search): Best practices for improving sql.js write performance? Focus on WAL mode, batch operations, async patterns.
Comprehensive (deep): Comprehensive comparison of auth approaches (Auth0, Clerk, NextAuth) for multi-tenant SaaS with SSO. Include cost, migration complexity, vendor lock-in.
Reference: Source Types
| Source | When to Use |
|---|---|
| web | Default, most queries |
| academic | Scientific claims, research validation |
| social | Practical advice, real-world experiences |
Reference: Strategy Options
| Approach | When to Use |
|---|---|
| Single | One coherent topic, questions build on each other |
| Parallel | Multiple independent topics, breadth needed quickly |
Parallel Limit: Maximum 10 concurrent agents (sessions 0-9).
Reference: Browser by Platform
| Platform | Default Browser | Notes |
|---|---|---|
| Windows | msedge | Pre-installed |
| macOS | chrome | Install Chrome or use --browser chromium |
| Linux | chrome | Install Chrome or use --browser chromium |
Step 3: Create Task List
Create ONE task to track the overall research workflow (agents manage their own sub-tasks internally):
TaskCreate: "Complete Perplexity research: {topic}" — covers spawn, wait, save, present
Step 4: Hand Off to Research Agent
Spawn perplexity-research:research-agent via Task tool with run_in_background: true.
Task Tool Parameters (MANDATORY FORMAT)
Every agent MUST be spawned with these exact Task tool parameters:
Task tool parameters:
- subagent_type: "perplexity-research:research-agent"
- run_in_background: true
- description: "Research {short topic}"
- prompt: |
Question: {research question}
Context: {background, current state, problem, success criteria}
Mode: {search|deep}
Model: {best|sonar|gpt-5.4|...}
Thinking: {true|false}
TopicSlug: {lowercase-hyphens}
Session: {N}
Strategy: {single|parallel}
Sources: {web|academic|social}
Session assignment: Agent 1 → Session: 0, Agent 2 → Session: 1, Agent 3 → Session: 2, etc. Each agent MUST have a unique session number. Never reuse session numbers across parallel agents.
Single Agent
Use Session: 0, Strategy: single. For deep mode, the agent does: start → download → close (no follow-ups).
Parallel Agents
CRITICAL: Spawn ALL agents in a SINGLE message with multiple parallel Task tool calls. Do NOT launch sequentially — send all Task calls at once. Each agent gets a unique Session number (0-9, max 10).
Step 5: Wait for Agents and Collect Outputs
All agents run in background. Use TaskOutput to wait for each agent:
{
"name": "TaskOutput",
"input": {
"task_id": "{agent_task_id}",
"block": true,
"timeout": 600000
}
}
Timeout: 600000ms = 10 minutes. Deep research takes 3-5 minutes for the Perplexity query alone, plus download and close. If agent is still running after timeout, call TaskOutput again to continue waiting — do NOT abandon it.
Agent output format: Each agent returns one file path:
- No follow-ups:
.playwright-cli/{topicslug}-response-{timestamp}.md - Follow-ups done:
.playwright-cli/{topicslug}-synthesis-{timestamp}.md
Step 6: Save Final Research Document
Read the configured output directory from preflight: ppx-research setup preflight → config.outputDir. Ensure the directory exists in the project.
Single Agent Output
The SubagentStop hook automatically copies single-agent output to {outputDir}/{topic-slug}.md (configured directory) and injects the saved file path into your context as additionalContext.
If you see the additionalContext with the saved path: The file is already saved — verify it exists and present results.
If no additionalContext appears (fallback):
- Read the file path from agent output
- Read the file content
- Write to
{project}/{outputDir}/{topic-slug}.md
Parallel Agent Output
Multiple agents produced separate outputs. Synthesize into one document.
- Read ALL returned file paths
- Read each file's content
- Create
{project}/{outputDir}/{topic-slug}.mdusing this template:
# Research: {Topic Title}
**Created:** {YYYY-MM-DD}
**Approach:** Parallel ({N} agents)
---
## Problem Statement
{The question or problem that prompted this research}
---
## Solutions Researched
### {Solution/Approach 1}
{Findings from Perplexity}
**Why this works:** {Brief rationale}
### {Solution/Approach 2}
{Findings}
**Why this works:** {Brief rationale}
---
## For Discussion
| Approach | Pros | Cons | Best When |
|----------|------|------|-----------|
| {Solution 1} | {pros} | {cons} | {use case} |
**Open questions:**
- {Question that needs team input}
---
## Perplexity Output Files
- `.playwright-cli/{filename}.md`
Synthesize findings from ALL agents into coherent sections. Group related findings, identify patterns across sources, note contradictions.
Step 7: Present Results to User
Present final output:
**Research Complete: {topic}**
**Saved:** `{project}/{outputDir}/{topic-slug}.md`
**Approach:** {Single | Parallel ({N} agents)}
**TL;DR:**
- {Key finding 1}
- {Key finding 2}
- {Key finding 3}
**For Discussion:**
- {Key trade-off or decision point}
Ready to discuss findings or dive deeper into any area.
TaskUpdate: Mark the research task completed. Workflow complete.
Prerequisites
- Playwright CLI installed (
npm install -g @playwright/cli@latest) - Pre-logged-in Perplexity sessions
- Run
/perplexity-setupif not configured