CtrlK
BlogDocsLog inGet started
Tessl Logo

reddit-ads

Reddit Ads API - campaigns, targeting, conversions, agentic optimization

48

Quality

37%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/reddit-ads/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

32%

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

The description identifies the domain (Reddit Ads API) and lists broad topic areas but lacks concrete action verbs, a 'Use when...' clause, and sufficient trigger term coverage. It reads more like a tag list than a functional description, making it difficult for Claude to confidently select this skill over others in a large skill library.

Suggestions

Add a 'Use when...' clause with explicit triggers, e.g., 'Use when the user asks about Reddit advertising, creating Reddit ad campaigns, setting up Reddit conversion tracking, or optimizing Reddit ad performance.'

Replace the noun list with specific action phrases, e.g., 'Creates and manages Reddit ad campaigns, configures audience targeting, sets up conversion tracking pixels, and optimizes bid strategies via the Reddit Ads API.'

Include common user-facing synonyms and variations like 'Reddit advertising', 'Reddit marketing', 'ad groups', 'bid management', 'ROAS', and 'Reddit promoted posts' to improve trigger term coverage.

DimensionReasoningScore

Specificity

Names the domain (Reddit Ads API) and lists some areas (campaigns, targeting, conversions, agentic optimization), but these are high-level categories rather than concrete actions. No verbs describing specific operations like 'create campaigns', 'configure targeting rules', or 'track conversion metrics'.

2 / 3

Completeness

Provides a partial 'what' (Reddit Ads API with some topic areas) but completely lacks a 'when' clause. There is no 'Use when...' or equivalent trigger guidance, and per the rubric, a missing 'Use when...' clause should cap completeness at 2, but the 'what' itself is also weak—just a noun list without actions—so this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Reddit Ads', 'campaigns', 'targeting', 'conversions' that users might mention, but misses common variations like 'Reddit advertising', 'ad groups', 'bid management', 'Reddit marketing', or 'ROAS'. 'Agentic optimization' is jargon unlikely to be used by a typical user.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Reddit Ads API' specifically is fairly distinctive and unlikely to conflict with generic advertising or other platform-specific ad skills. However, terms like 'campaigns', 'targeting', and 'conversions' are shared across many ad platform skills, creating some overlap risk.

2 / 3

Total

7

/

12

Passed

Implementation

42%

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

This skill is highly actionable with executable, well-typed code examples covering the full Reddit Ads API surface area including an advanced agentic optimization service. However, it is extremely verbose - providing dual-language implementations for everything inline, resulting in a massive file that wastes context window. The content desperately needs to be split into separate reference files with the SKILL.md serving as a concise overview with navigation links.

Suggestions

Split into multiple files: keep SKILL.md as a concise overview (~100 lines) with quick-start examples, and move detailed client implementations, optimizer services, and API reference tables into separate files (e.g., CLIENT.md, OPTIMIZER.md, API_REFERENCE.md, AUTH.md)

Choose one language for inline examples (or keep both extremely brief) rather than duplicating every code block in both TypeScript and Python

Add explicit validation checkpoints in workflows: verify campaign creation succeeded before creating ad groups, confirm ad group exists before creating ads, and add rollback/cleanup logic for partial failures

Remove the ASCII art diagrams and reference tables that restate information already present in the code examples - these consume significant tokens without adding value for Claude

DimensionReasoningScore

Conciseness

Extremely verbose at ~1500+ lines. Provides full client implementations in both TypeScript AND Python for every section (auth, client, optimizer), duplicating nearly everything. The API endpoint reference tables repeat information already encoded in the client code. Claude doesn't need both language implementations inline, nor does it need explanations of OAuth2 flows, what CTR means, or ASCII art diagrams.

1 / 3

Actionability

The code is fully executable and copy-paste ready across all sections - OAuth flows, client libraries, campaign creation, conversion tracking, and the optimization service. Interfaces/types are well-defined, examples include concrete values (budget in micros, subreddit names, etc.).

3 / 3

Workflow Clarity

The complete workflow example shows a clear campaign creation sequence (campaign → ad group → ad), and the optimization cycle has a clear fetch → analyze → execute → log flow. However, there are no explicit validation checkpoints - campaigns are created without verifying success before proceeding, the optimizer executes changes without confirming they took effect, and there's no rollback strategy for failed batch operations.

2 / 3

Progressive Disclosure

Everything is crammed into a single monolithic file with no references to external files for detailed content. The full client implementations, optimizer services in two languages, multi-agent architecture, Docker deployment, and mock test setup should all be in separate referenced files. The SKILL.md should be an overview pointing to these resources, not contain all of them inline.

1 / 3

Total

7

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1984 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
alinaqi/claude-bootstrap
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.