Repository navigation
docs(vision): update Platform Vision to December 2025 state #297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 22 commits
b1acd4b
b264953
f42d444
270d2d3
9a3bd9c
183424b
c3b9cd6
28a5f22
3eaad19
a193357
722fccf
1711666
679b18c
059675e
6c4d821
d442141
18125f1
aa0214a
365ce47
c2366d5
d7b9177
6cfcdab
0708ecb
60411e0
b8c40bd
a9d4ea2
7a39df7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # Add YouTube Channel | ||
|
|
||
| Add a new YouTube channel to the channel monitor configuration. | ||
|
|
||
| ## Arguments | ||
|
|
||
| - `$ARGUMENTS` - YouTube channel URL (e.g., `https://www.youtube.com/@ChannelName`) | ||
|
|
||
| ## Instructions | ||
|
|
||
| 1. Parse the channel URL from arguments | ||
| 2. Extract channel handle (e.g., @ChannelName) | ||
| 3. Read current channel_monitor.json | ||
| 4. Create new channel entry with these defaults: | ||
| - `channel_id`: `yt:channel:@{handle}` | ||
| - `platform`: `youtube` | ||
| - `source_type`: `channel` | ||
| - `enabled`: `true` | ||
| - `check_interval_minutes`: `240` | ||
| - `auto_process`: `false` (require manual approval) | ||
| - `priority`: `2` | ||
| - `namespace`: `pmoves.youtube.custom` | ||
| - `tags`: `["custom"]` | ||
| - `filters.min_duration_seconds`: `120` | ||
| - `filters.max_age_days`: `90` | ||
| - `filters.exclude_keywords`: `["#shorts"]` | ||
| 5. Add to channels array | ||
| 6. Write updated config | ||
| 7. Restart channel-monitor service | ||
|
|
||
| ```bash | ||
| # After editing config (uses PMOVES_ROOT env var or defaults to current git repo root) | ||
| PMOVES_ROOT="${PMOVES_ROOT:-$(git rev-parse --show-toplevel)}" | ||
| docker compose -f "${PMOVES_ROOT}/pmoves/docker-compose.yml" restart channel-monitor | ||
| ``` | ||
|
Comment on lines
+32
to
40
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. BLOCKER: Unresolved merge conflict in channel-monitor restart command. Lines 32–40 contain unresolved merge conflict markers within a Bash snippet. The HEAD variant using ```bash
-<<<<<<< HEAD
-# After editing config (uses PMOVES_ROOT env var or defaults to current git repo root)
-PMOVES_ROOT="${PMOVES_ROOT:-$(git rev-parse --show-toplevel)}"
-docker compose -f "${PMOVES_ROOT}/pmoves/docker-compose.yml" restart channel-monitor
-=======
-# After editing config
-docker compose -f /home/pmoves/PMOVES.AI/pmoves/docker-compose.yml restart channel-monitor
->>>>>>> origin/main
+# After editing config (uses PMOVES_ROOT env var or defaults to current git repo root)
+PMOVES_ROOT="${PMOVES_ROOT:-$(git rev-parse --show-toplevel)}"
+docker compose -f "${PMOVES_ROOT}/pmoves/docker-compose.yml" restart channel-monitorIn .claude/commands/yt/add-channel.md around lines 32 to 40 there are unresolved |
||
|
|
||
| Ask user for: | ||
| - Channel name (display name) | ||
| - Namespace (default: pmoves.youtube.custom) | ||
| - Tags (comma-separated) | ||
| - Priority (1=high, 2=medium, 3=low) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # Add YouTube Playlist | ||
|
|
||
| Add a new YouTube playlist to the channel monitor configuration. | ||
|
|
||
| ## Arguments | ||
|
|
||
| - `$ARGUMENTS` - YouTube playlist URL or ID (e.g., https://www.youtube.com/playlist?list=PLxxxx or just PLxxxx) | ||
|
|
||
| ## Instructions | ||
|
|
||
| 1. Parse playlist ID from arguments | ||
| - If URL: extract `list=` parameter | ||
| - If ID: use directly (starts with PL) | ||
| 2. Read current channel_monitor.json | ||
| 3. Create new playlist entry with these defaults: | ||
| - `channel_id`: `yt:playlist:{playlist_id}` | ||
| - `platform`: `youtube` | ||
| - `source_type`: `playlist` | ||
| - `source_url`: `https://www.youtube.com/playlist?list={playlist_id}` | ||
| - `enabled`: `true` | ||
| - `check_interval_minutes`: `120` | ||
| - `auto_process`: `false` (require manual approval) | ||
| - `priority`: `1` | ||
| - `namespace`: `pmoves.youtube.playlist` | ||
| - `tags`: `["playlist"]` | ||
| - `filters.min_duration_seconds`: `60` | ||
| - `filters.max_age_days`: `365` | ||
| - `filters.exclude_keywords`: `["#shorts"]` | ||
| 4. Add to channels array | ||
| 5. Write updated config | ||
| 6. Restart channel-monitor service | ||
|
|
||
| Ask user for: | ||
| - Playlist name (display name) | ||
| - Namespace (default: pmoves.youtube.playlist) | ||
| - Tags (comma-separated) | ||
| - Priority (1=high, 2=medium, 3=low) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # Check YouTube Channels Now | ||
|
|
||
| Trigger an immediate check for new videos on configured channels. | ||
|
|
||
| ## Arguments | ||
|
|
||
| - `$ARGUMENTS` - Optional: specific channel name to check (or "all" for all channels) | ||
|
|
||
| ## Instructions | ||
|
|
||
| 1. If specific channel provided: | ||
| - Find channel in config | ||
| - Call channel monitor API to check that channel | ||
| 2. If "all" or no argument: | ||
| - Trigger full channel check cycle | ||
|
|
||
| ```bash | ||
| # Check channel monitor health | ||
| curl -s http://localhost:8097/healthz | ||
|
|
||
| # View recent logs for discovered videos | ||
| docker logs pmoves-channel-monitor-1 --tail 50 2>&1 | grep -E "(discovered|new video|checking)" | ||
| ``` | ||
|
|
||
| Report: | ||
| - Number of videos discovered | ||
| - Video titles and durations | ||
| - Whether videos are queued for processing or waiting for approval |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # YouTube Management Help | ||
|
|
||
| List all available YouTube management commands. | ||
|
|
||
| ## Available Commands | ||
|
|
||
| ### Channel/Playlist Management | ||
| - `/yt:list-channels` - List all configured channels and playlists | ||
| - `/yt:add-channel <url>` - Add a new YouTube channel | ||
| - `/yt:add-playlist <url>` - Add a new YouTube playlist | ||
| - `/yt:remove-channel <name>` - Remove a channel/playlist | ||
| - `/yt:toggle-channel <name>` - Enable/disable a channel | ||
|
|
||
| ### Video Operations | ||
| - `/yt:check-now [channel]` - Trigger immediate channel check | ||
| - `/yt:ingest-video <url>` - Manually ingest a specific video | ||
| - `/yt:pending` - List discovered videos awaiting approval | ||
|
|
||
| ### Status & Monitoring | ||
| - `/yt:status` - Check all YouTube service health | ||
| - `/yt:help` - Show this help message | ||
|
|
||
| ## Quick Start | ||
|
|
||
| 1. Check current channels: `/yt:list-channels` | ||
| 2. Add a new channel: `/yt:add-channel https://www.youtube.com/@ChannelName` | ||
| 3. Check for new videos: `/yt:check-now` | ||
| 4. Review pending videos: `/yt:pending` | ||
| 5. Ingest specific video: `/yt:ingest-video https://youtu.be/xxxxx` | ||
|
|
||
| ## Configuration | ||
|
|
||
| All channel configurations are stored in: | ||
| `${PMOVES_ROOT}/pmoves/config/channel_monitor.json` | ||
| (where `PMOVES_ROOT` defaults to the git repository root) | ||
|
|
||
| Key settings: | ||
| - `auto_process: false` - Videos require manual approval (default) | ||
| - `auto_process: true` - Videos are automatically processed | ||
| - `check_interval_minutes` - How often to check for new videos | ||
| - `filters` - Duration, age, keyword filters |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # Ingest YouTube Video | ||
|
|
||
| Manually ingest a specific YouTube video through PMOVES.YT. | ||
|
|
||
| ## Arguments | ||
|
|
||
| - `$ARGUMENTS` - YouTube video URL or video ID | ||
|
|
||
| ## Instructions | ||
|
|
||
| 1. Parse video URL/ID from arguments | ||
| - If URL: extract video ID from various formats (youtu.be, youtube.com/watch, etc.) | ||
| - If ID: use directly (11 characters) | ||
| 2. Call PMOVES.YT ingest endpoint: | ||
|
|
||
| ```bash | ||
| curl -X POST http://localhost:8077/yt/ingest \ | ||
| -H "Content-Type: application/json" \ | ||
| -d '{"url": "https://www.youtube.com/watch?v={video_id}", "namespace": "pmoves.manual"}' | ||
| ``` | ||
|
|
||
| 3. Monitor progress: | ||
| ```bash | ||
| docker logs pmoves-pmoves-yt-1 --tail 30 -f | ||
| ``` | ||
|
|
||
| 4. Report: | ||
| - Download status | ||
| - Transcript extraction status | ||
| - MinIO storage location | ||
| - NATS events published |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # List YouTube Channels | ||
|
|
||
| List all configured YouTube channels and playlists in the channel monitor. | ||
|
|
||
| ## Instructions | ||
|
|
||
| Read the channel monitor configuration and display: | ||
| 1. All configured sources (channels and playlists) | ||
| 2. Their enabled status | ||
| 3. Check interval | ||
| 4. Auto-process setting | ||
| 5. Priority and namespace | ||
|
|
||
| ```bash | ||
| # Read config (uses PMOVES_ROOT env var or defaults to current git repo root) | ||
| PMOVES_ROOT="${PMOVES_ROOT:-$(git rev-parse --show-toplevel)}" | ||
| cat "${PMOVES_ROOT}/pmoves/config/channel_monitor.json" | jq '.channels[] | {name: .channel_name, id: .channel_id, source_type: .source_type, enabled: .enabled, auto_process: .auto_process, interval_min: .check_interval_minutes, priority: .priority, namespace: .namespace}' | ||
| ``` | ||
|
|
||
| Display results in a clean table format showing: | ||
| - Channel Name | ||
| - Source Type (playlist/channel) | ||
| - Enabled (yes/no) | ||
| - Auto-Process (yes/no) | ||
| - Check Interval | ||
| - Priority |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| # Pending YouTube Videos | ||
|
|
||
| List videos that have been discovered but not yet processed (auto_process=false). | ||
|
|
||
| ## Instructions | ||
|
|
||
| 1. Query Supabase for videos with status 'pending' or 'discovered' | ||
| 2. Show list with: | ||
| - Video title | ||
| - Channel name | ||
| - Duration | ||
| - Discovery date | ||
| - Video URL | ||
|
|
||
| ```bash | ||
| # Check for pending videos in recent logs | ||
| docker logs pmoves-channel-monitor-1 --tail 100 2>&1 | grep -E "(discovered|pending|queued)" | ||
| ``` | ||
|
|
||
| If videos are pending, ask user which ones to ingest. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # Remove YouTube Channel | ||
|
|
||
| Remove a YouTube channel or playlist from the channel monitor configuration. | ||
|
|
||
| ## Arguments | ||
|
|
||
| - `$ARGUMENTS` - Channel name or channel_id to remove | ||
|
|
||
| ## Instructions | ||
|
|
||
| 1. Read current channel_monitor.json | ||
| 2. Find matching channel by: | ||
| - `channel_name` (partial match, case-insensitive) | ||
| - `channel_id` (exact match) | ||
| 3. If multiple matches found, list them and ask user to be more specific | ||
| 4. If single match found, show details and confirm removal | ||
| 5. Remove from channels array | ||
| 6. Write updated config | ||
| 7. Restart channel-monitor service | ||
|
|
||
| ```bash | ||
| # After editing config (uses PMOVES_ROOT env var or defaults to current git repo root) | ||
| PMOVES_ROOT="${PMOVES_ROOT:-$(git rev-parse --show-toplevel)}" | ||
| docker compose -f "${PMOVES_ROOT}/pmoves/docker-compose.yml" restart channel-monitor | ||
| ``` | ||
|
|
||
| Always confirm before removing. |
Uh oh!
There was an error while loading. Please reload this page.