| name | ip-master |
| description | Manage registered IP characters and route design requests to suitable available Skills; when several Skills fit, ask the user to choose and remember that choice for the current conversation. |
IP Master
IP Master is an orchestration layer for four registered IPs and external
design Skills. It does not generate images, render layouts, or provide a
native article-illustration fallback.
Operating modes
- On the first IP Master request in each conversation, display the local
HTML guide before proceeding with the same
request. This is conversation-local presentation only: do not persist it or
ask the user to repeat a concrete request. At any time, show the same guide
when the user says
第一次用、怎么用、帮助、不会用 or expresses a
usage question. For an explicit help request, use the router's guide_page
result and navigate its browser_url in a rendered browser tab. Do not use a
file/code panel for this step because that displays the HTML source. The
guide step must not select a Skill, inject references, install, or generate.
- For advice or capability questions, inspect the registered dependencies and
the Skills available in the current environment, then return suitable
candidates. Do not install a dependency, inject a character reference, or
generate an image.
- For
create or prompt, resolve the requested capability first. Apply the
selection protocol below when more than one Skill is a plausible target; do
not silently rank one as the winner.
- After a concrete target is selected, pass the target Skill's own contract
together with the selected character originals. If the target dependency is
missing or invalid, show its source and exact installation command and ask
for confirmation before any installation. IP Master itself never installs
or copies upstream files.
Multi-Skill selection protocol
For combinations, apply composition_contract from the router and read
character-injection.md. A named design
Skill supplies the content method; an explicitly numbered hand-drawn style
supplies the visual treatment; an explicitly named IP replaces the method
Skill's default actor. Do not concatenate conflicting complete prompts.
小黑配图 2.0 means ian-xiaohei-scenes; 1.0 means
ian-xiaohei-illustrations. When 2.0 supplies only the 配图逻辑, retain its
article-derived physical metaphor and action, while the requested hand-drawn
style replaces its default photographic rendering.
Before starting a design request, discover candidates from both the IP Master
registry and the current environment's available Skills. A Skill does not need
to be registered in skill-registry.json to be presented as a candidate when
its own scope clearly satisfies the user's request.
- If the user explicitly names a compatible Skill, use it. This explicit
choice replaces any earlier default for the same capability in this
conversation.
- If exactly one compatible Skill exists, use it.
- If two or more compatible Skills exist and the user has not previously
chosen one for this capability in the current conversation, list every
candidate by Skill name with one concise sentence explaining its
relevant difference, then ask:
想用哪个 Skill 来设计?
- After the user selects a Skill, remember it as the default for that
capability for the rest of the current conversation. For later compatible
requests, use this default without asking again.
- Do not reuse a default when the new request is outside that Skill's scope,
when it belongs to a different capability, or when the user asks to choose
again. Re-run candidate discovery in those cases.
This is conversation-local working state only. Do not write it to a file,
registry, preference store, or cross-conversation memory.
VSC visual design Skills
The registry includes two VSC Skills from vibeshotclub/vsc-skills:
vibeshot-candid-photography — real-life candid portrait direction with
unusual camera positions, natural occlusion, and varied prompt batches.
virtual-couple-travel-vlog — a virtual-couple travel asset workflow with
a 4×4 memory wall, identity-consistent character cards, video prompts, and
staged Vlog assembly.
These are design Skills, not IP-design Skills. When the user names one, first
resolve the explicitly named IP character and then pass its identity inputs to
the selected Skill. They must not be silently selected for ordinary poster,
cover, or IP-creation requests. The local visual overview is
assets/vsc-skill-library/index.html.
The registry also includes handdraw-style-prompter from
yang0/handraw-style. It is a design Skill for the 001–261 numbered
hand-drawn style library. Use it only when the user explicitly names the Skill
or provides a hand-drawn style number and theme, such as 041号手绘风格,主题: 秋天的第一杯奶茶. It returns Chinese and English prompts by default; an
explicit image-generation request may use the upstream model-capability
decision for a style-only prompt, positive style traits, or the matching style
reference image. The reference image is style-only and must not transfer its
subject, person, composition, layout, text, or story. This Skill is not an
IP-creation Skill, but an IP character may be explicitly injected into its
theme.
Couple Photo 情侣照工作流
yang0/couple-photo 提供完整的四阶段工作流,固定到提交
5b15ba756798ba4f08faf9c8907ce8f68ef66055:kefu 负责需求确认和 Couple
Look,paishe 负责 8 条 Shot List、2×4 宫格与选片精修,huanzhuang 负责
主题确认后的 6 套换装候选,zongkong 是默认总协调入口。用户明确说“情侣照”或
“婚纱照”时进入 couple-photo-orchestrator;明确要求某个阶段时再命中对应子
Skill。首次使用必须先提供绝对项目目录,确认需求、Look 和 8 条 Shot 后才出图。
它与 virtual-couple-travel-vlog 分开,后者专注虚拟情侣旅行照片墙和 Vlog 资产。
流程图册见 assets/couple-photo-library/index.html。
Person IP candidates
ip-as-logo 是独立的 IP 吉祥物设计 Skill,适合用户明确要设计吉祥物、极简
圆润 IP 或可识别角色形象时使用。它默认提出 3 个方向,确认后生成 6 张独立
候选;不要把它自动套用于普通海报、文章配图或封面请求。预览页是
assets/ip-as-logo-library/index.html。
Punk-Skill 的 punk-cover 与 punk-avatar 是两个独立入口:前者生成文章和社媒
封面,后者生成人物、宠物和物件头像。用户明确点名时才调用,不自动覆盖其他
设计 Skill;预览页是 assets/punk-skill-library/index.html。
Mono Color 按其 README 的自然语言工作方式使用:输入主题、短句、物件、文章想法
或照片;默认采用受控双色,明确要求“单色 / 单墨”时才切换为单墨。图册的官方输出
案例只用于浏览,绝不作为模型参考图传入。PC01–PC31 与 PA01–PA07 分别是
Punk 封面与头像风格编号,用户明确给出时才读取编号映射出的文本参数。
For a request to design a human, creator, or account-based person IP, evaluate
at least these two available Skill paths when they are present:
character-ip — turns an account, topic, source materials, reference photo,
or persona into a first-pass 5×5 board of 25 human-character candidates.
personal-ip-image-pack — turns authorised personal photos into a
higher-fidelity personal prototype, then supports confirmed-avatar,
expression, action, and sticker assets.
When both fit, present both names and their distinction before doing any
design. An account link alone does not establish the photo authorisation
required by personal-ip-image-pack; keep that limitation explicit. Animal,
mascot, object, and fictional-character requests are incompatible with both
of these person-IP paths and must be discovered or routed separately.
真人照片入库流程
如果用户上传真人照片并要求“设计人物 IP”,但没有说明是“先做四视图作为身份资产”还是“只基于照片特征设计 IP”,必须先询问并暂停生成;不得替用户默认选择。路由器对此返回 status: photo-workflow-choice 和两个选项。
当用户上传清晰真人照片并要建立人物 IP 时,先走 human-photo-four-view-first,不要直接把原照片注册进项目:
- 读取照片的整体头部特征、年龄感和气质,不复制原场景、姿势、瞬时表情或原服装。
- 先生成一张纯色背景的高清四视图候选:颈部以上脸部特写、全身正视、严格 90° 侧视、全身背视;四个视图必须是同一人且全身不裁切。
- 要求用户补充并确认名称、年龄、身高和体重。姓名和这三项资料必须以清晰文字写入四视图图片;生成后优先用确定性图像标注脚本校正文字,不依赖模型自由生成文字。
- 候选图交给用户确认。未确认前只放在项目
candidates/,不写入角色注册表,也不进入正式 IP 图册。
- 用户确认后,使用
scripts/register_character.py --project-dir <项目目录> --id <id> --display-name <名称> --age <年龄> --height-cm <身高> --weight-kg <体重> --prototype <四视图图片> --confirm 注册;注册后的图片、资料和项目图册只写入项目目录。
- 每次注册成功后,立即用渲染浏览器打开返回结果中的
gallery_url(项目根目录 index.html),让用户查看新 IP;不要用代码面板打开,以免显示 HTML 源码。
四视图是身份参考资产,不是最终设计作品;后续目标 Skill 仍决定媒介、服装、场景和构图。姓名、年龄、身高和体重属于项目元数据,不得从照片臆测,缺失时必须询问。
350 visual layout library
The local assets/layout-library/index.html is a 350-item browser gallery,
not a generation target and not a default style. Its thumbnails are locally
cloned from the pinned upstream commit, with original source paths retained.
Do not put it into a first-pass
prompt unless the user explicitly selects a numbered layout for a poster,
cover, or slide deck.
- For a user request such as
用 008 重新排版, layout-008, or 用 341 做 PPT, resolve the number with scripts/layout_library.py --select. Pass its
generation_instruction as text after character identity inputs; it is a
composition method, not a coordinate template. Never pass a gallery image
to the image model.
- Keep the original target Skill, theme, character identity, required copy,
and visual medium. Apply the selected method to the new theme; user-specified
placement overrides its default landing. Do not reuse the gallery sample's
coordinates, colours, geometry, typography, text, people, objects, brands,
or textures.
- After a selected cover/poster Skill has produced a final portrait raster image, run
scripts/layout_library.py --delivery-note <final-image>. Append its
message only when it reports eligible: true. It deliberately excludes
landscape images and prompt-only outputs.
001–350 are the verified display numbers ordered by the actual titles in
the images; each record also keeps the original upstream number. Old 1–100
meanings are retired. Always use the current gallery label rather than
assuming an old number has the same meaning.
- To check whether the source collection changed, use
scripts/layout_library.py --check; use --sync only when an updated
snapshot is wanted. Never synchronize during ordinary image generation.
GPT-Image 2 案例参考库
assets/gpt-image-2-case-library/index.html is a source-linked case gallery.
It is opt-in: never select an example case automatically. Users can browse the
gallery and say 用案例 539 设计, or add a case number to a concrete design
request such as 用牙仔和 dongfang 做海报,案例 539.
- Resolve an explicit selection with
scripts/gpt_image_2_case_library.py --select. The selection is a text-only visual-direction layer: do not pass
its remote image URL to an image model and do not copy its people, brands,
protected material, wording, coordinates, or concrete scene.
- With a case number but no target design Skill, route to
gpt-image-2-style-library and produce a copyable GPT-Image-2 prompt. With
a concrete design Skill, retain that target and append the selection after
character and composition inputs as an enhancement layer.
- User theme, character identity, required copy, dimensions, and the target
Skill's own contract always override the example case. A case is not a
default style or a model reference image.
- The gallery stores metadata only and loads images from the upstream source.
Run
scripts/gpt_image_2_case_library.py --check to detect an update and
--sync only when an updated index is explicitly wanted.
Baoyu 视觉 Skill 图册
assets/baoyu-skill-library/index.html is a parameter visual guide for the
six Baoyu creation Skills: article illustration, knowledge comic, cover,
infographic, Xiaohongshu images, and slide deck. Its 124 official screenshots
are grouped by what they control (style, information structure, or panel
layout), not presented as final-output examples. Clicking a card copies a
fillable call template; the gallery is browse-only and never chooses a Skill
or preset automatically.
Never add a gallery screenshot URL or path to model reference inputs, and never
inherit its topic, people, copy, brands, data, or finished composition.
Character references
Project character libraries
Built-in roles remain globally available. User-approved custom roles belong to an
explicit IP project, never this installed Skill directory. Initialize one at a
user-selected location with python scripts/ip_project.py --init --project-dir "E:\\projects\\品牌IP" --name "品牌 IP". Register an approved prototype with
scripts/register_character.py --project-dir "E:\\projects\\品牌IP" --confirm ...; its registry, WebP asset, identity protocol, and index.html are written
only under that project. Supply the same --project-dir when routing. Reuse a
user-declared project for the current conversation only; do not persist it.
The built-in registry is character-registry.json.
It contains yazai/牙仔, rongbao/绒宝, abao/阿龅, and
xiaomei/小美. Explicit Chinese or English aliases select one or more
characters; multiple characters remain separate and are passed in registry
order. Without an explicitly requested character, inject no IP. Do not carry
牙仔 over from a previous independent design request. The legacy registry
default field is metadata, not authorization to inject a character.
Read each selected character's original asset and identity protocol. Put the
original asset paths before all target-Skill style or layout references, and
label them as identity-only inputs. The target Skill controls medium, layout,
scene, and rendering; it must not turn several characters into a hybrid.
Routing boundaries
Use capability-routing.md for category
selection and dependency choices. Use
character-injection.md when assembling
ordered references. The personal IP pack is only for an authorised person's
photo-to-cartoon IP, prototype, expression, action, or sticker workflow. It
must not be selected for animals, mascots, fictional characters, or ordinary
requests to use an existing registered IP.
Run the read-only helpers when deterministic output is needed:
python scripts/capability_router.py "用牙仔做知识漫画" --operation create --json
python scripts/capability_router.py "用项目角色做知识漫画" --project-dir "E:\\projects\\品牌IP" --operation create --json
python scripts/capability_router.py "我想知道有哪些 Skill" --operation advise --json
python scripts/doctor.py --strict --json
For dependency metadata and display-only installation plans, use
scripts/dependency_manager.py. For an explicitly user-approved new role,
use scripts/register_character.py --project-dir <project-path> --confirm; never register a prototype
without the user's confirmation and a non-conflicting id/alias set.