Perplexity
SkillSearchAI-powered search and chat with Perplexity. Use when you need to: (1) get AI responses with real-time web search, or (2) answer questions with up-to-date information.
Then ask your AI: use the Perplexity skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.
What this skill tells your AI
The instructions your AI receives, as published by refly-ai/refly-skills in skills/perplexity/SKILL.md and read by Ahel’s review.
AI-powered search and chat with Perplexity. Use when you need to: (1) get AI responses with real-time web search, or (2) answer questions with up-to-date information.
Input
Provide input as JSON:
{
"query": "Your search query or question"
}
Execution
Step 1: Run the Skill
refly skill run --id skpi-sww12wxvy9zbfr1wwx35gybm --input '{
"query": "Your question here"
}'
Step 2: Wait for Completion
refly workflow status c-xz42o3itzw4bdnnhoovb16dv --watch --interval 10000
Step 3: Get the Run ID
refly workflow runs c-xz42o3itzw4bdnnhoovb16dv --limit 1
Look for runId in the output (format: we-xxx).
Step 4: Get the Result ID
refly workflow detail <RUN_ID>
Look for resultId in the skillResponse node (format: ar-xxx).
Step 5: Extract the Content
refly workflow result <RESULT_ID> --include-messages --raw
The AI response is in .payload.messages[] where type is "ai". Extract with:
refly workflow result <RESULT_ID> --include-messages --raw | jq -r '.payload.messages[] | select(.type=="ai") | .content'
Alternative: One-liner (after Step 2)
RUN_ID=$(refly workflow runs c-xz42o3itzw4bdnnhoovb16dv --limit 1 | jq -r '.payload.runs[0].runId') && \
RESULT_ID=$(refly workflow detail "$RUN_ID" | jq -r '.payload.nodes[] | select(.nodeType=="skillResponse") | .resultId') && \
refly workflow result "$RESULT_ID" --include-messages --raw | jq -r '.payload.messages[] | select(.type=="ai") | .content'
Key Concepts
| ID Type | Format | How to Get | Used For |
|---|---|---|---|
| workflowId | c-xxx | In SKILL.md frontmatter | workflow status, workflow runs |
| runId | we-xxx | From workflow runs or workflow status output | workflow detail, workflow toolcalls |
| resultId | ar-xxx | From workflow detail → nodes[].resultId | workflow result |
Common Mistakes to Avoid
Do NOT use toolcalls with .output.preview
# WRONG - This will fail!
refly workflow toolcalls <RUN_ID> --latest | jq -r '.payload.toolCalls[-1].output.preview | fromjson | .data.response'
Why it fails:
.output.previewmay benull→ jq error:null (null) only strings can be parsed.output.previewmay be truncated → jq error:Unfinished string at EOF- The preview field is not guaranteed to exist
Always use this instead:
refly workflow result <RESULT_ID> --include-messages --raw | jq -r '.payload.messages[] | select(.type=="ai") | .content'
Expected Output
- Type: Text content with citations
- Format: AI-generated response from Perplexity with web search results
- Action: Display content to user
Signals
- GitHub stars
- 204
- Forks
- 26
- Last commit
- Jul 2026
Advanced
- Item type
- skill
- Key
perplexity-refly-ai- Source
- github.com/refly-ai/refly-skills