promo-writer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited promo-writer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate social media copy for album promotion across Twitter/X, Instagram, TikTok, Facebook, and YouTube. Produces native-feeling content for each platform from album context — themes, track concepts, and streaming lyrics.
Populate the promo/ directory with platform-specific copy ready for review. Each platform gets content shaped to its format, tone, and conventions — not the same text cross-posted everywhere.
Lyrics Written → Promo Videos (optional) → **[Promo Writer]** → [Promo Review] → ReleaseBetween content completion and promo-reviewer. The promo-reviewer polishes what this skill generates.
Resolve the album from arguments:
Use MCP find_album with the album name from $ARGUMENTS. If no album specified, check get_session for last album context.
Verify readiness:
Gather album context in batch to minimize round-trips:
get_album_full(album_slug, "concept,streaming,musical-direction") — album narrative + track contentload_override("promotion-preferences.md") — tone, platform priorities, messaging themes, hashtag preferences, AI positioningCritical: Use streaming lyrics for quotable hooks. Suno lyrics contain phonetic spellings (bit-wize, Luh-rock-uh) that must never appear in public-facing copy.
Generate campaign.md first — it's the strategy foundation that informs all platform copy.
Content to generate:
| Section | What to Write |
|---|---|
| Campaign Overview | Album name, release date (or TBD), primary platform, campaign duration |
| Key Messages | 3 core messages derived from album themes — the "why should anyone care" |
| Target Audience | 2-3 audience segments based on genre and themes |
| Schedule | Pre-release, release week, post-release calendar with specific content types |
| Hashtags | Primary (discovery + genre) and secondary (album-specific, AI if applicable) |
Derive key messages from album data:
Present to user for approval before proceeding to platform copy.
Before generating any copy, determine the output language(s).
If override exists with a ## Language section in promotion-preferences.md, use that preference without asking.
Otherwise, ask:
What language(s) should the promo copy be written in?
[1] English (default)
[2] German (Deutsch)
[3] French (Français)
[4] Spanish (Español)
[5] Bilingual — two languages per post (e.g., DE + EN, FR + EN)
[6] Other — tell me which language(s)Bilingual mode: When two languages are selected, each post gets both versions stacked in the same code block, separated by a --- divider. The primary language comes first, the secondary language second. Hashtags stay in English (international discovery).
Override file addition ({overrides}/promotion-preferences.md):
## Language
- Primary: de
- Secondary: en
- Mode: bilingualStore the selected language(s) and apply to all generated copy in this session.
If platform specified in arguments, generate only that platform.
If override exists, follow platform priority list and skip list from promotion-preferences.md.
Otherwise, ask:
Which platforms should I generate copy for?
[A] All platforms (Twitter, Instagram, TikTok, Facebook, YouTube)
[1] Twitter/X
[2] Instagram
[3] TikTok
[4] Facebook
[5] YouTubeFor each selected platform, generate native content following the structures in copy-formulas.md and best practices from the reference guide.
Read the promo template for the platform first (templates/promo/{platform}.md or existing promo/{platform}.md) to match the expected heading structure.
Per-platform content to generate:
#### Twitter/X (twitter.md)
#### Instagram (instagram.md)
#### TikTok (tiktok.md)
#### Facebook (facebook.md)
#### YouTube (youtube.md)
Present each platform's generated copy with metrics:
## Twitter/X — Generated Copy
### Release Announcement
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Generated tweet text]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Chars: 187/280 | Hashtags: 2 | Status: Within limits
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
### Track 01: [Track Name]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Generated tweet text]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Chars: 214/280 | Hashtags: 2 | Status: Within limits
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[... more posts ...]
Actions:
[A] Approve all — write to promo/twitter.md
[R] Revise specific posts — tell me which ones and what to change
[N] Next platform — skip this platformWrite approved copy to the promo/ directory in the album path:
{content_root}/artists/{artist}/albums/{genre}/{album}/promo/Match the file structure expected by promo-reviewer:
## and ### headings to delineate sectionsIf promo/ directory doesn't exist, create it. If files already exist, ask before overwriting:
promo/twitter.md already has content. Overwrite? [Y/n]After all platforms are written:
## Promo Copy Generated
| Platform | Posts | Status |
|----------|-------|--------|
| Campaign | 1 | Written |
| Twitter | 8 | Written |
| Instagram | 5 | Written |
| TikTok | 6 | Written |
| Facebook | 4 | Written |
| YouTube | 1 | Written |
Files written to: {album_path}/promo/
Next steps:
1. Review and polish: /bitwize-music:promo-reviewer <album-name>
2. Replace [Streaming Link] placeholders with actual URLs when available
3. When ready to release: /bitwize-music:release-director <album-name>Pull quotable hooks from streaming lyrics sections. Never use Suno lyrics — they contain phonetic spellings meant for the AI, not human readers.
Always generate campaign.md before platform copy. The strategy document establishes key messages, audience, and schedule that inform every platform's content.
Each platform gets content shaped to its conventions:
Never write the same text for multiple platforms.
The promo-reviewer skill expects specific file structure:
## headings for major sections### headings for individual postsFollow the researched best practices:
--- divider, secondary language second — both in the same code blockIf promotion-preferences.md override exists:
promotion-preferences.md for tone, platforms, messaging, language[Streaming Link] where real URLs will goYour deliverable: Populated promo/ directory with platform-specific copy ready for review.
Workflow integration: You fill the gap between content completion and promo-reviewer — generating what was previously a manual creative step.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.