Skill: openwaygate/youtube-channel (version 0.10.7-dev)

--- name: youtube-channel description: "Manage YouTube channels. Use this skill to list or update channels. Useful when working with YouTube channel — provides commands to list and update channel via the yutu CLI. Includes setup and installation instructions for first-time users. Triggers: list channel information, list channel, list my channel, update channel information, update channel, update my channel" metadata: openclaw: requires: env: - YUTU_CREDENTIAL - YUTU_CACHE_TOKEN bins: - yutu config: - client_secret.json - youtube.token.json primaryEnv: YUTU_CREDENTIAL emoji: "\U0001F3AC\U0001F430" homepage: https://github.com/eat-pray-ai/yutu install: - kind: node package: "@eat-pray-ai/yutu" bins: [yutu] --- # YouTube Channel Manage YouTube channels. Use this skill to list or update channels. ## Before You Begin yutu requires Google Cloud Platform OAuth credentials and a cached token to access the YouTube API. If you haven't set up yutu yet, read the [setup guide](references/setup.md) first. ## Operations Read the linked reference for full flag details and examples. | Operation | Description | Reference | |-----------|-------------|----------| | list | List channel information | [details](references/channel-list.md) | | update | Update channel information | [details](references/channel-update.md) | ## Quick Start ```bash # Show all channel commands yutu channel --help # List channel yutu channel list ```

path: references/channel-list.md
content: # Channel List

List channel information. Use this skill to list channel information.

## Usage

```bash
yutu channel list [flags]
```

## Flags

| Flag | Shorthand | Required | Description |
|------|-----------|----------|-------------|
| `--categoryId` | `-g` |  | Return the channels within the specified guide category id |
| `--forHandle` | `-d` |  | Return the channel associated with a YouTube handle |
| `--forUsername` | `-u` |  | Return the channel associated with a YouTube username |
| `--hl` | `-l` |  | Specifies the localization language of the metadata |
| `--ids` | `-i` |  | Return the channels with the specified Ids |
| `--jsonpath` | `-j` |  | JSONPath expression to filter the output |
| `--managedByMe` | `-E` |  | Return the channels managed by the authenticated user |
| `--maxResults` | `-n` |  | The maximum number of items that should be returned, 0 for no limit (default 5) |
| `--mine` | `-M` |  | Return the ids of channels owned by the authenticated user (default true) |
| `--mySubscribers` | `-S` |  | Return the channels subscribed to the authenticated user |
| `--onBehalfOfContentOwner` | `-b` |  | ID of the content owner, for YouTube content partners |
| `--output` | `-o` |  | json\|yaml\|table (default "table") |
| `--parts` | `-p` |  | Comma separated parts (default [id,snippet,status]) |

## Examples

```bash
# List my channel info
yutu channel list --mine
# List channel by handle
yutu channel list --forHandle @GoogleDevelopers
# List channel by ID in JSON format
yutu channel list --ids UC_x5XG1OV2P6uZZ5FSM9Ttw --output json
# List channels in table format
yutu channel list --maxResults 10 --output table
```


path: references/channel-update.md
content: # Channel Update

Update channel information. Use this skill to update channel information.

## Usage

```bash
yutu channel update [flags]
```

## Flags

| Flag | Shorthand | Required | Description |
|------|-----------|----------|-------------|
| `--country` | `-c` |  | Country of the channel |
| `--customUrl` | `-u` |  | Custom URL of the channel |
| `--defaultLanguage` | `-l` |  | The language of the channel's default title and description |
| `--description` | `-d` |  | Description of the channel |
| `--id` | `-i` | Yes | ID of the channel to update |
| `--jsonpath` | `-j` |  | JSONPath expression to filter the output |
| `--output` | `-o` |  | json\|yaml\|silent |
| `--title` | `-t` |  | Title of the channel |

## Examples

```bash
# Update channel description
yutu channel update --id UC_x5XG1OV2P6uZZ5FSM9Ttw --description 'New description'
# Update channel title and country
yutu channel update --id UC_x5XG1OV2P6uZZ5FSM9Ttw --title 'New Title' --country US
# Update channel default language
yutu channel update --id UC_x5XG1OV2P6uZZ5FSM9Ttw --defaultLanguage en
```


path: references/setup.md
content: <!-- Keep in sync with README.md Prerequisites and Installation sections. -->

# Yutu Setup Guide

Before using any yutu skill, you need to install `yutu` and configure YouTube API credentials.

## Prerequisites

An account on [Google Cloud Platform](https://console.cloud.google.com/) is required. Set up the following:

1. **Create a GCP Project** and enable these APIs under `APIs & Services -> Enable APIs and services`:
   - [YouTube Data API v3](https://console.cloud.google.com/apis/api/youtube.googleapis.com/overview) (Required)
   - [YouTube Analytics API](https://console.cloud.google.com/apis/api/youtubeanalytics.googleapis.com/overview) (Optional)
   - [YouTube Reporting API](https://console.cloud.google.com/apis/api/youtubereporting.googleapis.com/overview) (Optional)

2. **Create OAuth credentials**:
   - Go to `APIs & Services -> OAuth consent screen`, create a consent screen with yourself as a test user
   - Go to `Credentials -> Create Credentials -> OAuth Client ID`, select `Web Application`
   - Add `http://localhost:8216` as an authorized redirect URI
   - Download the credential file and save it as `client_secret.json`

3. **Authenticate**:

   ```bash
   yutu auth --credential client_secret.json
   ```

   A browser window will open for you to grant YouTube access. After granting permission, a token is saved to `youtube.token.json`.

## Installation

Install `yutu` using one of these methods:


```bash
# Node.js (all platforms)
npm i -g @eat-pray-ai/yutu

# macOS
brew install yutu

# Linux
brew install yutu

# Windows
winget install yutu

# Gopher
go install github.com/eat-pray-ai/yutu@latest
```

### Other platforms

Download a prebuilt binary from the [releases page](https://github.com/eat-pray-ai/yutu/releases/latest) and place it in your PATH.

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `YUTU_CREDENTIAL` | Path, base64, or JSON of OAuth client secret | `client_secret.json` |
| `YUTU_CACHE_TOKEN` | Path, base64, or JSON of cached OAuth token | `youtube.token.json` |
| `YUTU_ROOT` | Root directory for file resolution | Current working directory |
| `YUTU_LOG_LEVEL` | Log level: `DEBUG`, `INFO`, `WARN`, `ERROR` | `INFO` |

For more details, see the [yutu README](https://github.com/eat-pray-ai/yutu#readme).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)