Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Publish

ASecurity

Schedule a packaged shadowcast episode on YouTube (long video plus 2 Shorts, with thumbnail), and optionally on Facebook and Instagram through SocialBunny, using the channel's release calendar. Also YouTube auth and channel branding. Use for "schedule/publish episode X", "connect YouTube" or "set the banner".

3 stars
0 votes
0 copies
0 views
Added 10/6/2026
content-marketingpythongotestingapi

Works with

cliapi

Security Analysis

A100/100

Scanned 10/6/2026

$npx -y skills add generalizingai/shadowcast --skill publish --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Publish?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Publish
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/generalizingai-publish/badge)](https://www.skillsdirectory.com/skills/generalizingai-publish)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: publish
description: Schedule a packaged shadowcast episode on YouTube (long video plus 2 Shorts, with thumbnail), and optionally on Facebook and Instagram through SocialBunny, using the channel's release calendar. Also YouTube auth and channel branding. Use for "schedule/publish episode X", "connect YouTube" or "set the banner".
argument-hint: <channel slug> <episode ID> | auth <slug> | brand <slug>
---

# Publish

`T="${CLAUDE_PLUGIN_ROOT}/tools"`, `P="$T/publish/publish.py"`, `W="${SHADOWCAST_HOME:-$HOME/Shadowcast}/<slug>"`.
Nothing is ever published immediately:
- YouTube uploads are **private with a publishAt time**, and YouTube makes them public on schedule.
- SocialBunny posts get a future `scheduledAt`.
- `publish.state.json` records every upload, so re-running is always safe.

## Connect YouTube (once per channel; the user must click through Google consent)
`python3 "$P" auth <slug>` opens a browser on port 8765.
- Tell the user to pick the **new channel's** Brand Account, not their personal channel.
- Then run `python3 "$P" whoami <slug>`, and save that exact title as `youtube.channel_title` in channel.json.

## Apply branding (after auth)
Run:
```
python3 "$P" brand <slug> --banner "$W/brand/banner.jpg" --description-file "$W/brand/description.txt" --keywords "<comma list from channel.json youtube.keywords>"
```
The API can't change the channel **name** or **profile picture**. Give the user `W/brand/avatar.png` and the name, with the Studio path: YouTube Studio → Customization → Branding / Basic info.

## Schedule an episode
1. Make sure the status is `packaged` (`python3 "$T/ep.py" list <slug>`).
2. `python3 "$P" schedule "<dir>/out/publish.json"` books the next free release day and prints the local times. Pass `--date YYYY-MM-DD` only if the user asked for a date.
3. `python3 "$P" publish "<dir>/out/publish.json" --dry-run`, then show the plan.
4. `python3 "$P" publish "<dir>/out/publish.json"` uploads with resume and retries; this takes several minutes per video.
   - Thumbnail upload fails with 403 until the channel is phone-verified (youtube.com/verify). Tell the user once; re-running later sets it.
5. `python3 "$P" comment "<dir>/out/publish.json"` posts the photo-credit comment on the long video. Ask the user to pin it in Studio.
6. Run `python3 "$T/ep.py" set <slug> <ID> scheduled release=<date>`, then `python3 "$T/notify.py" <slug> "Scheduled <ID>" "<title> goes live <day time>"`.
7. Report the YouTube links and times.

## Facebook / Instagram (optional)
These only run when `channel.json social.socialbunny` is set to `{"facebook": "<page handle>", "instagram": "<handle>", "fb_reels": true}` and the `socialbunny_api_key` key is set (`keys.py set socialbunny_api_key`).
- Check the accounts with `python3 "$P" accounts <slug>`. Long video goes to Facebook; Shorts go to Facebook and Instagram as Reels, at the same times.

## Errors
- "token is for 'X', manifest wants 'Y'": the wrong channel was authorised. Re-run auth and pick the right one.
- "Access blocked" in consent: the user's Google Cloud app is still in Testing. Publish it (see the setup skill).
- quotaExceeded: the YouTube API allows about 6 uploads a day per project. Wait 24 h; the next run resumes.

Attribution

generalizingaigeneralizingai
View sourceSee grades on GitHubMore from generalizingai →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Postiz

Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest, Dribbble, Discord, Slack, Kick, Twitch, Mastodon, Bluesky, Lemmy, Farcaster, Telegram, Nostr, VK, Medium, Dev.to, Hashnode, WordPress, ListMonk

21281 votes

Serp Analysis

SERP analysis techniques for intent classification, feature identification, and competitive intelligence. Use when analyzing search results for content strategy.

2831 votes

On Page Seo Auditor

This skill performs detailed on-page SEO audits to identify issues and optimization opportunities. It analyzes all on-page elements that affect search rankings and provides actionable recommendations.

1821 votes

Brand

Brand voice, visual identity, messaging frameworks, asset management, brand consistency. Activate for branded content, tone of voice, marketing assets, brand compliance, style guides.

1328090 votes

Release Announcement

Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.

953190 votes
View all in content-marketing →