worthclip-youtube-video-scorer

Coding Agents & IDEs
v1.0.6
Benign

AI-powered YouTube video scoring.

2890 downloads890 installsby @ivanstancich

Setup & Installation

Install command

clawhub install ivanstancich/worthclip-youtube-video-scorer

If the CLI is not installed:

Install command

npx clawhub@latest install ivanstancich/worthclip-youtube-video-scorer

Or install with OpenClaw CLI:

Install command

openclaw skills install ivanstancich/worthclip-youtube-video-scorer

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/ivanstancich/worthclip-youtube-video-scorer

What This Skill Does

WorthClip scores YouTube videos 1-10 against a personalized learning profile. It returns AI summaries, alignment analysis, and a curated feed of scored content. Supports channel tracking, persona configuration, and paginated feed browsing.

Instead of manually evaluating whether a video matches your learning goals, WorthClip automates scoring so you can triage a backlog of videos quickly.

When to Use It

  • Score a YouTube video before watching it
  • Filter your feed to only show videos scored 8 or above
  • Track specific YouTube channels and score their uploads
  • Update your learning goals to recalibrate video scoring
  • Check API usage to stay within billing limits
View original SKILL.md file
# WorthClip - YouTube Video Scoring

Score YouTube videos 1-10 based on your personalized learning goals. Get AI-powered summaries, alignment analysis, and a curated feed.

## Setup

1. Sign up at https://worthclip.com
2. Go to Settings > API Keys
3. Generate an API key
4. Set it: `export WORTHCLIP_API_KEY="wc_your_key_here"`

## Commands

### Score a video

Scores a YouTube video against the user's persona and goals. Handles async scoring automatically with polling.

```bash
bash {baseDir}/scripts/score.sh "VIDEO_ID"
```

The script submits the video for scoring, polls for completion (up to 60 seconds), and returns the completed score JSON. If the video was already scored, it returns the existing score immediately.

### Get your feed

Returns scored videos sorted by relevance, with optional filters.

```bash
bash {baseDir}/scripts/feed.sh [--min-score N] [--verdict VERDICT] [--limit N] [--cursor N]
```

Options:
- `--min-score N` - Only return videos scored N or above (1-10)
- `--verdict VERDICT` - Filter by verdict (e.g., "watch", "skip")
- `--limit N` - Number of results per page
- `--cursor N` - Pagination cursor from previous response

### Check usage

Shows current billing period usage stats and limits.

```bash
bash {baseDir}/scripts/usage.sh
```

## API Reference

Base URL: `https://greedy-mallard-11.convex.site/api/v1`

The API is hosted on Convex (convex.site), WorthClip's serverless backend. The domain `greedy-mallard-11.convex.site` is WorthClip's production Convex deployment. You can verify this by visiting https://worthclip.com/developers.

All requests (except /health) require `Authorization: Bearer YOUR_API_KEY` header.

| Endpoint | Method | Description |
|----------|--------|-------------|
| /health | GET | Health check (no auth required) |
| /score | POST | Score a video (async, returns 202 with jobId) |
| /score/:jobId | GET | Poll scoring job status |
| /videos/:ytId/summary | GET | Get video summary (summarization) |
| /videos/:ytId | GET | Get video detail with full score |
| /feed | GET | Paginated scored feed with filters |
| /channels | GET | List tracked channels |
| /channels/lookup | POST | Lookup channel by YouTube URL |
| /channels/track | POST | Track a new channel |
| /persona | GET | Get current persona and goals |
| /persona | PUT | Update persona description |
| /goals | PUT | Update learning goals |
| /usage | GET | Current billing period usage stats |

## Rate Limits

- **General:** 60 requests/minute (all endpoints)
- **Scoring:** 20 requests/minute (POST /score and GET /score/:jobId)

Response headers:
- `X-RateLimit-Limit` - Maximum requests per window
- `X-RateLimit-Remaining` - Requests remaining in current window
- `Retry-After` - Seconds to wait before retrying (only on 429 responses)

## Error Format

All errors return a consistent JSON structure with an appropriate HTTP status code:

```json
{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable description of the error"
  }
}
```

Common error codes:
- `UNAUTHORIZED` (401) - Missing or invalid API key
- `RATE_LIMITED` (429) - Too many requests
- `NOT_FOUND` (404) - Resource not found
- `VALIDATION_ERROR` (400) - Invalid request parameters
- `INTERNAL_ERROR` (500) - Server error

## Base URL

```
https://greedy-mallard-11.convex.site/api/v1
```

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Score a YouTube video before watching it

AGENT
  1. 1Score a YouTube video before watching it
  2. 2Filter your feed to only show videos scored 8 or above
  3. 3Track specific YouTube channels and score their uploads
  4. 4Update your learning goals to recalibrate video scoring
  5. 5Check API usage to stay within billing limits
OUTPUT
AI-powered YouTube video scoring.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 25, 2026