CtrlK
BlogDocsLog inGet started
Tessl Logo

reddit-api

Reddit API with PRAW (Python) and Snoowrap (Node.js)

35

Quality

32%

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-api/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

22%

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

This description is essentially just a title rather than a functional description. It names the technology stack (Reddit API, PRAW, Snoowrap) but fails to describe any concrete capabilities or provide trigger guidance for when Claude should select this skill. It would be very difficult for Claude to reliably choose this skill from a large pool based on this description alone.

Suggestions

Add specific concrete actions the skill enables, e.g., 'Fetch posts and comments from subreddits, submit posts, manage Reddit accounts, search Reddit content, and analyze upvotes/engagement.'

Add an explicit 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks about Reddit, subreddits, Reddit bots, scraping Reddit, PRAW, Snoowrap, or interacting with the Reddit API.'

Include common user-facing terms like 'subreddit', 'Reddit bot', 'Reddit scraping', 'posts', 'comments' to improve trigger term coverage.

DimensionReasoningScore

Specificity

The description only names the domain (Reddit API) and the libraries (PRAW, Snoowrap) but lists no concrete actions like 'fetch posts', 'submit comments', 'scrape subreddits', etc.

1 / 3

Completeness

There is no 'Use when...' clause or equivalent trigger guidance, and the 'what' is extremely weak—it only names the API and libraries without explaining what the skill actually does. Both what and when are very weak.

1 / 3

Trigger Term Quality

It includes some relevant keywords like 'Reddit', 'PRAW', 'Snoowrap', 'Python', and 'Node.js' that users might mention, but misses common natural terms like 'subreddit', 'posts', 'comments', 'upvotes', or 'scraping Reddit'.

2 / 3

Distinctiveness Conflict Risk

The mention of Reddit API and specific libraries (PRAW, Snoowrap) provides some distinctiveness, but without concrete actions it could overlap with generic API or Python/Node.js skills.

2 / 3

Total

6

/

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 excellent, executable code examples across multiple languages and approaches, but it suffers significantly from verbosity and lack of progressive disclosure. It tries to be a comprehensive Reddit API reference rather than a focused skill, covering four different client approaches (PRAW, Snoowrap, raw Python, raw TypeScript) plus OAuth2 flow, models, and reference tables all in one file. The content would be much stronger if trimmed to one primary approach with advanced topics split into referenced files.

Suggestions

Split into a concise SKILL.md covering PRAW basics (the recommended approach) with references to separate files for Snoowrap, direct API usage, OAuth2 flow, and Pydantic models.

Remove the project structure section, scopes table, and quick reference endpoints table — these are standard reference material Claude can look up or infer.

Add explicit error handling examples and validation checkpoints (e.g., verify authentication before proceeding, handle 429 responses with retry logic) rather than just listing anti-patterns.

Consolidate to one language per section or clearly designate a primary approach, moving alternatives to referenced files to reduce the monolithic nature of the content.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines, covering Python PRAW, Snoowrap, direct API for both Python and TypeScript, OAuth2 web flow, Pydantic models, project structure, and scopes tables. Much of this is reference material Claude already knows or could derive. The project structure section, scopes table, and Pydantic models add significant bulk without being essential to the core skill.

1 / 3

Actionability

The code examples are concrete, executable, and copy-paste ready across all sections — PRAW setup, Snoowrap setup, direct API clients, and OAuth2 flow. Specific commands for installation, authentication verification, and common operations are all provided with complete, runnable code.

3 / 3

Workflow Clarity

The setup steps (create app → set env vars → authenticate) are clearly sequenced, but there are no validation checkpoints or error recovery steps. The anti-patterns section mentions error handling but doesn't show how to implement it. No feedback loops for common failure modes like expired tokens or rate limit hits.

2 / 3

Progressive Disclosure

Everything is in a single monolithic file with no references to supporting files. The direct API implementations, OAuth2 web flow, Pydantic models, and scopes reference table should be split into separate files. The content is organized with headers but the sheer volume makes it a wall of text that would benefit greatly from progressive disclosure.

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