Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
65
79%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
High
Do not use without reviewing
Fix and improve this skill with Tessl
tessl review fix ./bundled/skills/perplexity-search/SKILL.mdSecurity
1 high severity finding. You should review these findings carefully before considering using this skill.
The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.
The skill includes examples that place API keys directly into command-line arguments and explicit export lines (e.g., `--api-key sk-or-v1-your-key-here` and `export OPENROUTER_API_KEY='sk-or-v1-your-key-here'`), which require the LLM or user to handle and/or output secret values verbatim and expose them in shell history/process lists.
Low
Low-risk findings.
1 low severity finding. Worth noting, but not necessarily harmful.
The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.
The required runtime path calls LiteLLM/OpenRouter with `messages=[{"role":"user","content": query}]`, and Perplexity’s web-grounded search inherently ingests and summarizes outsider-authored web page/free-text content into the model’s returned `response` (later placed into `result["answer"]`, i.e., LLM context/output).
d5ae560
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.