Perplexity

SkillSearch

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.

Then ask your AI: use the Perplexity skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

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 TypeFormatHow to GetUsed For
workflowIdc-xxxIn SKILL.md frontmatterworkflow status, workflow runs
runIdwe-xxxFrom workflow runs or workflow status outputworkflow detail, workflow toolcalls
resultIdar-xxxFrom workflow detail → nodes[].resultIdworkflow 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.preview may be null → jq error: null (null) only strings can be parsed
  • .output.preview may 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