# Yingzao

Transform real Chinese architecture and place-based cultural photos into art-directed...

- Repository: https://github.com/op7418/guizang-yingzao-skill (523 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-09-03
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add op7418/guizang-yingzao-skill --skill yingzao -g -a claude-code -y`
Codex: `npx skills add op7418/guizang-yingzao-skill --skill yingzao -g -a codex -y`
Cursor: `npx skills add op7418/guizang-yingzao-skill --skill yingzao -g -a cursor -y`
Gemini CLI: `npx skills add op7418/guizang-yingzao-skill --skill yingzao -g -a gemini-cli -y`

## Description

Transform real Chinese architecture and place-based cultural photos into art-directed editorial posters, integrated multi-photo scenes, and optional source comparisons. Use for historic buildings, vernacular streets, culturally rooted shops, interiors, food, travel covers, and place montages; do not use for generic advertising, routine retouching, or invented places.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Yingzao · 营造

把真实建筑与在地文化照片转译为有主体处理、主动背景、字形设计和空间互动的编辑海报。先从照片提出创意命题，再让一张兼容的主导参考强化它；Token 负责检索与机制追踪，不能替代设计判断。

## 核心合同

- 高风格化任务固定使用：Image 1 校正原图、Image 2 一张主导参考实图、Image 3 稀疏中性排版垫图。生成前必须由 `scripts/prepare_generation.py` 编译成一次调用清单，不得互相替代、改序或在调用时重新概括提示词。
- 所选 Recipe 必须保存为 `analysis/recipe.json`，再把全部启用 Token 编入 `analysis/design-plan.json`：除确定性校正项外，每个 Token 都要归入主体、背景、字体或互动动作，并指向 Image 3 中同名的区域标记。编译器把这些动作写入最终模型提示词；只在简报里出现、不进入提示词和垫图的 Token 视为未投递。
- 创意命题必须先于参考检索，并同时说明：`主体如何处理 / 背景如何主动参与 / 文字如何与真实轮廓互动 / 哪个非默认排版动作打破双居中`。
- `reinterpret` 展示字在首次生成前完成 `glyph-brief.md` 和逐字光学补偿，并在垫图使用 `guide_render: scaffold`，避免普通字体轮廓压过字形说明；不能只写宋体、黑体、衬线或“高级复古”。资料小字可使用另一常规字族。
- 图像模型必须完成语义抠取、构图修复、共同重光、背景重建、区域材质、图文遮挡等代码不能替代的动作。普通裁图、滤镜、渐变和打字能复现的方案无效。
- 单图的主体域、背景域、互动域都要在缩略尺度可见。主体居中、标题居中且互不接触的“两座孤岛”默认无效。
- 提示词只表达一个艺术方向，不拼接 Token 约束、失败案例或长验收清单。
- 只生成用户要求的数量。成图后必须读回一次并简要指出明显问题，但不自动评分、制作 proof 或重生成；用户反馈后才定向修改。

## 输入确认

从用户消息提取：地点/对象与必要文案、海报数量、是否要原图对照拼图。已明确的不再问；用户说“你决定”时默认 1 张、只用已确认或可核实短词、不生成对照拼图。名称不确定时可识别或检索，不能凭外观编造。

## 工作流

### 0. 建立安全输入

1. 运行 `python3 scripts/check_dependencies.py`。入口会自动寻找调用者目录中的兼容 `.venv`；失败时停止并说明，不全局安装，也不静默降级。
2. 产物写入调用者工作目录的 `output/yingzao/<run-id>/`，不得写入 Skill 包。
3. 每张来源运行 `scripts/photo_preflight.py`，判定 `hero / support / reject`，记录照片轴和构图问题。需要时先用 `scripts/rectify.py` 做确定性校正。
4. 事实按 `VERIFIED / OBSERVED / USER-CONFIRMED / UNCONFIRMED` 分级；只有前三类进入海报。细则见 [photo-preflight.md](references/photo-preflight.md) 与 [research-and-annotation.md](references/research-and-annotation.md)。

### 1. 冻结创意命题并选择参考

先写四域命题，再从 preflight 的受控标签检索：

```bash
python3 scripts/design_tokens.py suggest \
  --tag <标签> --count <数量+1> --maximize-distance \
  --history output/yingzao/<run-id>/recipe-history.json \
  --record-history
python3 scripts/design_tokens.py recipe <id> --json \
  > output/yingzao/<run-id>/analysis/recipe.json
```

The rest: https://github.com/op7418/guizang-yingzao-skill/blob/HEAD/yingzao/SKILL.md
