branding
Skill1 starsChanged 3 months agoApache-2.0View on GitHub
Generates and refines a channel profile image and reviews it on request. Use when the user asks to "프로필 이미지 만들어", "채널 로고 만들어", "브랜딩 이미지 생성", "make a channel profile image", "generate a channel logo", or right after /social-flow:channel add on a channel with no logo. Collects an image brief through AskUserQuestion, generates 4 candidates in distinct style directions with the saved image model, opens a contact sheet for the human to pick a direction, refines the pick with brand-reviewer findings when a review is asked for, and installs the master plus platform resizes under data/[slug]/assets/branding/ with profile.md updated. Boundary — this makes the still profile image; the intro skill makes the moving opening.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- juztripper/already-lookedtheir own version, first seen Nov 8, 2026
- nateslabach/skillstheir own version, first seen Nov 8, 2026
- crocotaste/crocotaste-plugintheir own version, first seen Nov 1, 2026
- ajstars1/founder-stacktheir own version, first seen Oct 25, 2026
- mischker/claude-skillstheir own version, first seen Oct 20, 2026
- gwonvibe/gwonvibe-agent-skillstheir own version, first seen Oct 3, 2026
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- piprail/piprail★ 9same name
- nateslabach/skills★ 6same name
- EmersonBraun/skills★ 4same name
- gwonvibe/gwonvibe-agent-skills★ 4same name
- vidual-labs/digital-marketing-skills★ 3same name
- ajstars1/founder-stack★ 1same name
- crocotaste/crocotaste-plugin★ 1same name
- donatassimkus/claude-ai-skills★ 1same name
- jordiportal/brain-skills★ 0same name
- juztripper/already-looked★ 0same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- autoproduceSkill
- channelSkill
- compose-blenderSkill
- datagoSkill
- edit-speechSkill
- generate-cut-imagesSkill
- generate-cut-videosSkill
- grow-instagramSkill
- grow-threadsSkill
- grow-youtubeSkill
- ingestSkill
- inspect-contentSkill
- introSkill
- platform-guideSkill
- produceSkill
- project-initSkill
- publishSkill
- review-cameraSkill
- review-contextSkill
- review-cut-imagesSkill
- review-cut-videosSkill
- review-recentSkill
- setup-instagramSkill
- setup-threadsSkill
- setup-youtubeSkill
- storyboardSkill
- topic-scoutSkill
- upscale-videoSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Follow host evaluation for every requested review.
- Distinctive: line 21
HITL records: Keep the branding brief and chosen candidate in channel branding files.
- Very specific: line 52
Read data/<slug>/profile.md — if missing, stop and point to /social-flow:channel add.
- Distinctive: line 82
Default directions (swap per the brief):
- Very specific: line 122
When a finding is worth a paid revision (the user agrees, or it is a concrete defect such as garbled glyphs or clipping), turn it into …
- Distinctive: line 130
If the same finding repeats 2 rounds in a row, change strategy: mask-inpaint just the problem area, or flip the prompt to remove the …
- Distinctive: line 148
Update the logo asset line in profile.md §1 to the master path (add it if missing).
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Follow host evaluation for every requested review.
Automatic execution policy: Read automation guidance first. Creative rules and review findings guide improvements; scores, review/hash/freeze records, CTA choices and intermediate approval steps do not block authorized work. Preserve actual external-action authorization and stop at the artifact the user requested. This policy supersedes older quality-gate wording below.
HITL records: Keep the branding brief and chosen candidate in channel branding files. Preserve actual provenance in local files and reuse existing authorization. This adds no approval gate.
Channel profile image — data/[channel]/assets/branding/
Produces the channel's profile image (logo/avatar) in this order: brief collection → 4 candidate generation → HITL direction pick (browser) → concrete visual review. The final image is the brand master used on every platform account profile of the channel. The brand-reviewer agent's findings are advisory: they inform revisions, and the user's pick and the requested task decide completion — never a self-score, never a fabricated review.
Deliverables (path contract)
data/<slug>/assets/branding/
├── .work/ # candidates, iterations, selection page (not committed)
│ ├── brief.md # collected brief + the 4 direction prompts
│ ├── candidate-{a,b,c,d}.png # 4 direction candidates (1024×1024)
│ ├── selection.html # browser selection page
│ └── iter-{0..5}.png / -192.png # convergence-loop iterations + review resizes
├── <slug>-logo-master-1024.png # final master
├── <slug>-logo-youtube-800.png # per-platform resizes (sips-derived)
├── <slug>-logo-instagram-320.png
└── <slug>-logo-192.pngProcedure
1. Load the profile
Read data/<slug>/profile.md — if missing, stop and point to
/social-flow:channel add. Take §1 identity, §3 THEME (accent/accent2/ink),
and the banned subjects as fixed constraints of the brief. If a logo already
exists, always confirm first — the new one will diverge from the profile
already uploaded to platform accounts, and replacing it means re-uploading on
every platform.
2. Collect the brief (AskUserQuestion — up to 4 questions; never re-ask what's already given)
- Subject: mascot character (animal/object personification) | human-style character | abstract symbol | typography-led
- Text in the image: none (recommended — letters smear at small avatar sizes) | 2–4 letter initials | channel name
- Background: solid THEME ink | ink→accent gradient | scene-style (mini scene with props)
- Required motifs: objects, actions, expressions that must appear (free input — suggest candidates from the channel identity, accept Other)
Record the answers in .work/brief.md — it's the baseline document for the
review rounds and re-runs.
3. Generate the 4 candidates
Generate 4 distinct style directions with the saved image model
(.social-flow/models.json → models.image; the host image tool is the recommended
initial choice at setup, an API or local engine when that is what was saved) at 1:1
(1024x1024) and save them as .work/candidate-{a,b,c,d}.png. Log the matching
image.* ledger row (image.host at $0 on a host tool). Channel assets follow the
directory model settings like episodes do; a different engine needs the user's explicit
request.
Default directions (swap per the brief):
- A flat-mascot — flat vector mascot, thick outlines, simple shapes
- B render-3d — soft 3D character render, studio lighting
- C emblem — minimal symbol/emblem, geometric shapes, negative space
- D illust — painterly illustration, texture and lighting mood
Shared prompt skeleton (identical across all 4; only the style wording changes):
- subject/motifs (from the brief) + explicit THEME hex ("dominant background #
<ink>, key accent #<accent>") + "square 1:1 social media avatar, subject centered within the central 70% safe area for circular crop" - negative prompt: "no watermark, no signature, no photo frame, no stock-photo look"
- "no text, no letters" when text is excluded + the profile's banned subjects
4. HITL direction pick (browser)
- Copy
references/selection-template.htmlto.work/selection.htmland sed-substitute the tokens ({{CHANNEL}},{{IMG_A}}–{{IMG_D}},{{LABEL_*}},{{DESC_*}}) — the images sit in the same directory, so bare file names work. - Open it in the default browser with
open .work/selection.html— each candidate shows the original plus circular crop previews (large/small), the shape platforms actually display. - Get the A–D pick via AskUserQuestion. Other can carry a blend ("B, but with A's expression") or a full-regeneration request — for either, fold the adjustment into §3 and repeat (selection rounds have no cap).
5. Review and improve the brand image
Copy the pick to .work/iter-0.png. Look at it yourself at both sizes and fix what you
can see. Run the reviewer and further rounds only when the user asks for a review or a
concrete doubt needs an independent read, and only within the authorized generation budget:
- Make the small review copy:
sips -z 192 192 iter-N.png --out iter-N-192.png. - Delegate to the brand-reviewer agent (Agent) — pass the paths of
iter-N.png, iter-N-192.png, profile.md,
.work/brief.md, plus any unresolved findings from the previous round. Parse the verdict tailBRANDING_REVIEW: score=NN p0=N verdict=PASS|FAIL. - Resolve useful findings within the task, record any remaining limitations, then continue to §6. A numerical score is not a gate, and the verdict label alone starts no regeneration.
- When a finding is worth a paid revision (the user agrees, or it is a concrete defect
such as garbled glyphs or clipping), turn it into correction directives and revise
with the saved image model's edit tool (
gpt_image_img2img,mlx_image_edit, or the host tool's edit).- Reference = the best image so far (not the previous iteration — prevents regressions)
- Prompt = the §3 direction prompt plus the correction directives only. No full rewrites — direction drift voids the HITL decision the user made.
- If the same finding repeats 2 rounds in a row, change strategy: mask-inpaint just the problem area, or flip the prompt to remove the element entirely.
- Report the chosen version and unresolved findings. Continue within the requested artifact and authorized generation budget; never dress up a score to pass.
6. Finalize, install, report
BR="data/<slug>/assets/branding"
cp "$BR/.work/iter-<final>.png" "$BR/<slug>-logo-master-1024.png"
sips -z 800 800 "$BR/<slug>-logo-master-1024.png" --out "$BR/<slug>-logo-youtube-800.png"
sips -z 320 320 "$BR/<slug>-logo-master-1024.png" --out "$BR/<slug>-logo-instagram-320.png"
sips -z 192 192 "$BR/<slug>-logo-master-1024.png" --out "$BR/<slug>-logo-192.png"
python3 ${CLAUDE_PLUGIN_ROOT}/skills/channel/references/resolve-asset.py \
--ensure data/<slug> logo master "branding/<slug>-logo-master-1024.png" "profile logo"Update the logo asset line in profile.md §1 to the master path (add it if
missing). Report: review findings when a review ran, iteration count, deliverable path
table + next steps — the channel intro video /social-flow:intro <channel>
(an intro acted by the finalized character — optional), and the main content
/social-flow:storyboard <channel> <topic>. State that uploading to each
platform account profile is manual work (the platform APIs don't support
profile-image replacement).
Rules
- Reviews are advisory — brand-reviewer's findings inform revisions and are reported as they came; the user's pick and the requested task decide completion. No score manipulation, no fabricated review, no regeneration spent on a verdict label alone.
- Candidates and iterations live in
.work/(gitignored) — only the 4 final files go intoassets/branding/. - Text in the image is excluded by default — 2–4 letter initials only when the user explicitly asks.
- No likenesses of real people or existing characters — inherited from the README safety contract. Always include the profile's banned subjects in the negative prompt.
- The direction (style) picked at the §4 HITL step never changes inside the review rounds — if it must change, stop and return to §4 for a fresh pick.
Additional Resources
Reference Files
references/selection-template.html— browser selection page for the 4 candidates (2×2 grid + circular crop previews, token substitution)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

