CtrlK
BlogDocsLog inGet started
Tessl Logo

perplexity-research

Brain-augmented web research. Sends brain context about a topic to Perplexity, which searches the web with citations and returns what is NEW vs what the brain already knows. Use for entity enrichment, current-state checks, deal monitoring, and freshness deltas. NOT for simple URL fetches (use web_fetch) or brain-only queries (use gbrain query).

61

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/perplexity-research/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-structured with good routing tables, an explicit output template, and honest anti-patterns, but its executable core is thin: the pivotal Perplexity query exists only as commented pseudocode, no step validates API success or page writes, and several sections (the conformance-test stubs, the empty cron example) consume tokens without adding guidance. It reads as a solid design doc one pass away from an operational skill.

Suggestions

Make the Invocation example executable: show one complete, filled-in Perplexity request (real curl with an actual composed prompt containing brain context and the 'find what's NEW since YYYY-MM-DD, cite every claim' instruction) instead of the current '# 2. ...' comment sketch.

Add validation checkpoints to the workflow: check the API response for citations before writing, confirm `gbrain put research/<slug>` succeeded, and define a retry/flag-for-review path when Perplexity returns nothing new or contradicts brain knowledge (especially for the cron-driven deal monitoring pattern).

Trim token-inefficient sections: replace the empty 'Deal / company monitoring' comment-only bash block and the two conformance-test stub sections ('Contract', 'Output Format') with a single line pointing to the conformance contract, and drop the 'key insight' paragraph in favor of one sentence.

DimensionReasoningScore

Conciseness

Mostly efficient sections ("What this does", "Models", "Anti-Patterns"), but several sections pad without guiding: "The key insight: Perplexity doesn't just search — it reads and synthesizes with citations" over-explains rationale Claude can infer, the "Deal / company monitoring" bash block contains only a comment ("# Weekly: pull recent news per company; flag changes for review"), and the trailing "Contract"/"Output Format" sections explicitly exist "for the conformance test" rather than the reader. This is noticeably below anchor 4's 'minor instances that could be trimmed' and above anchor 2's pervasive padding.

3 / 5

Actionability

The central Invocation section is comment-pseudocode ("# 2. Compose the Perplexity query with brain context inline" with a triple-quoted sketch, and a curl example whose message content is literally "...") rather than executable code, matching anchor 3's 'pseudocode instead of executable code; missing key details'. Real commands exist (gbrain get/query/put, the curl skeleton) and the output template is concrete, so it is clearly above anchor 2's high-level-hints-only, but the actual query the skill hinges on is never shown — below anchor 4's 'mostly executable'.

3 / 5

Workflow Clarity

The Invocation section lists a clear 5-step sequence (pull context → compose query → call API → put_page → cross-link), but there are no validation checkpoints: no check that the Perplexity call succeeded or returned citations, no verification the research page was written, and no error-recovery loop for a mutating, batch-oriented skill (mutating: true, cron-driven deal monitoring). This lands exactly on anchor 3 ('sequence present but checkpoints missing') — above anchor 2's rough sequence with undefined steps, below anchor 4's most-checkpoints-present.

3 / 5

Progressive Disclosure

Sections are well-organized with clear headers, a routing table, and one-level-deep, clearly signaled references ("see [conventions/quality.md](../conventions/quality.md)", "see [conventions/brain-first.md](../conventions/brain-first.md)"); no bundle files exist, so everything navigable is signaled inline. Minor gap: the ~30-line output page template and the integration patterns are inlined where a reference file would keep SKILL.md leaner — 'good structure; most content appropriately placed; minor organization gaps' rather than anchor 5's ideal split.

4 / 5

Total

13

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete third-person actions, explicit use-for and not-for routing with named alternative tools, and a well-defined niche. The only soft spot is that some trigger vocabulary (entity enrichment, freshness deltas, brain-augmented) is internal jargon rather than phrases users naturally say, leaving keyword coverage slightly short of comprehensive.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions in third person — "Sends brain context about a topic to Perplexity", "searches the web with citations", "returns what is NEW vs what the brain already knows" — with comprehensive coverage of the skill's behavior including outputs and its distinct delta-finding purpose. This matches anchor 5's 'multiple specific concrete actions; comprehensive coverage'; it is not anchor 4 because no meaningful capability of the skill is left uncovered, and there is no vague filler.

5 / 5

Completeness

It explicitly answers both questions: what — "Sends brain context ... to Perplexity, which searches the web with citations and returns what is NEW vs what the brain already knows" — and when — "Use for entity enrichment, current-state checks, deal monitoring, and freshness deltas. NOT for simple URL fetches (use web_fetch) or brain-only queries (use gbrain query)". The explicit 'Use for'/'NOT for' pairing with concrete trigger scenarios matches anchor 5 exactly; nothing is only implied.

5 / 5

Trigger Term Quality

It includes natural phrases a user would plausibly say — "web research", "searches the web", "current-state checks", "deal monitoring" — alongside useful routing signals. It sits between anchors: coverage is good but a few natural terms are missing (no "what's new about", "latest news", or plain "search" phrasing), and several listed triggers are system jargon users would not say ("entity enrichment", "freshness deltas", "brain-augmented"). Better than anchor 3's partial keyword set, short of anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche (brain-context-delta web research) and actively disambiguates its two nearest competitors by name — "NOT for simple URL fetches (use web_fetch) or brain-only queries (use gbrain query)" — so routing to the wrong skill is unlikely. This matches anchor 5's 'clear niche with distinct triggers; minimal conflict risk' rather than anchor 4, which would leave some overlap unaddressed.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 2 missing, 2 suspicious

Warning

Total

14

/

16

Passed

Repository
garrytan/gbrain
Reviewed

Table of Contents

Is this your skill?

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.