CtrlK
BlogDocsLog inGet started
Tessl Logo

reddit-ads

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

38

Quality

37%

Does it follow best practices?

Impact

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 a clear domain (Reddit Ads API) but reads more like a comma-separated list of topics than a proper skill description. It lacks concrete action verbs, has no 'Use when...' clause, and doesn't provide enough detail for Claude to confidently select this skill over other advertising-related skills.

Suggestions

Add concrete action verbs describing what the skill does, e.g., 'Creates and manages Reddit ad campaigns, configures audience targeting, tracks conversion events, and optimizes ad performance.'

Add an explicit 'Use when...' clause with trigger terms, e.g., 'Use when the user asks about Reddit advertising, Reddit Ads API, creating Reddit ad campaigns, or optimizing Reddit ad spend.'

Include more natural trigger terms and variations users might say, such as 'Reddit advertising', 'Reddit ad account', 'promoted posts', 'Reddit ROAS', or 'Reddit ad metrics'.

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 what the skill actually does (e.g., 'create campaigns', 'configure targeting rules', 'track conversions').

2 / 3

Completeness

Only partially addresses 'what' (listing topic areas without concrete actions) and completely lacks a 'when' clause or any explicit trigger guidance. The missing 'Use when...' clause would cap this at 2 per the rubric, but the 'what' is also weak, so it scores 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Reddit Ads', 'campaigns', 'targeting', 'conversions' that users might naturally say, but misses common variations like 'ad groups', 'Reddit advertising', 'ad spend', 'ROAS', 'Reddit marketing', or file/API-specific terms.

2 / 3

Distinctiveness Conflict Risk

'Reddit Ads API' is fairly distinctive and unlikely to conflict with generic advertising or other platform-specific ad skills. However, terms like 'campaigns', 'targeting', and 'conversions' are generic enough to potentially overlap with other ad platform skills (Google Ads, Facebook Ads, etc.).

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 comprehensive and highly actionable with executable code throughout, but it is massively over-engineered for a SKILL.md file. The dual-language duplication (every example in both TypeScript and Python), inline full client implementations, and complete optimizer services make it extremely token-inefficient. The content would benefit enormously from splitting into separate reference files and choosing a single primary language, with the SKILL.md serving as a concise overview with pointers to detailed implementations.

Suggestions

Split into multiple files: move client implementations to `reddit-ads-client.ts` and `reddit_ads_client.py`, API reference tables to `API_REFERENCE.md`, optimizer services to `OPTIMIZER.md`, and keep SKILL.md as a concise overview with quick-start examples and navigation links.

Choose one primary language for examples in SKILL.md and reference the other language's implementation in a separate file, eliminating the pervasive dual-language duplication.

Remove content Claude already knows: OAuth2 flow mechanics, basic REST patterns, Docker/docker-compose boilerplate, and explanations of what API scopes are. Focus on Reddit-specific quirks and gotchas.

Add explicit validation checkpoints to the campaign creation workflow (e.g., verify campaign creation succeeded before creating ad groups) and add rollback/confirmation steps to the agentic optimizer before executing destructive actions like pausing ads.

DimensionReasoningScore

Conciseness

Extremely verbose at ~1500+ lines. Provides full client implementations in both Python and TypeScript (duplicated), full OAuth flows in both languages, complete API endpoint tables Claude could infer from docs, and massive agentic optimizer code in both languages. The dual-language duplication alone doubles the token cost with minimal added value. Concepts like OAuth2 flows, REST API patterns, and basic CRUD operations don't need this level of explanation for Claude.

1 / 3

Actionability

The code examples are fully executable and copy-paste ready. Complete client implementations, OAuth flows, campaign creation examples, conversion tracking, and the full agentic optimizer service are all concrete and runnable with proper credentials.

3 / 3

Workflow Clarity

The complete workflow example shows a clear campaign creation sequence (create campaign → create ad group → create ad), and the agentic optimizer has a clear cycle (fetch → analyze → execute → log). However, there are no explicit validation checkpoints — the campaign is created without verifying success before proceeding to ad group creation, and the optimizer executes changes without confirmation or rollback mechanisms for destructive operations like pausing ads or scaling budgets.

2 / 3

Progressive Disclosure

This is a monolithic wall of content with no bundle files to offload detail into. The full client implementations, both language variants, complete optimizer services, multi-agent architecture, Docker deployment, and mock testing code are all inline. The API endpoint reference tables, auth flows, and optimizer code should each be in separate referenced files. There are no references to external files within the bundle.

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 (1983 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.