# Taxue Halftone

> 半调海报：用限墨+网点把任意主题做成有结构、有质感、可复用的艺术封面。支持多种印刷语言（半调/孔版/双色/木刻/蓝晒/蓝染/复印机、1-bit 剪影、撕纸拼贴），按风格给出一致又有特色的封面。六项不变式出图前先定：纸色、墨色角色、叠印方式、印刷机制、主体走向、字图音量。触发词：半调海报、艺术封面、网点、孔版、双色、Riso、duotone、木刻、蓝晒、蓝染、蓝染海报、复印机美学、不完美印刷拼贴、撕纸拼贴、编辑型印刷拼贴、有意不完美、点阵解构、丝网海报、剪纸、窗花、中式剪纸、网点剪纸、经典致敬、风格模仿、致敬、名画、艺术流派、年代美学、视觉风格转译、平台封面（B站/小红书/抖音/公众号/头像/超宽）、主题结构印刷封面、限墨封面。不用于：全彩实拍、UI、图表、模板拼贴。

- **Type:** Skill
- **Install:** `agentstack add skill-taxueseek-taxue-halftone-taxue-halftone`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [taxueseek](https://agentstack.voostack.com/s/taxueseek)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [taxueseek](https://github.com/taxueseek)
- **Source:** https://github.com/taxueseek/taxue-halftone

## Install

```sh
agentstack add skill-taxueseek-taxue-halftone-taxue-halftone
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 半调海报 · 艺术封面

第一性原理：**限墨不是滤镜，是可校验的印版系统。** 无论选哪种机制，一张图都必须先回答六个互斥且穷尽的问题（见 §0），缺一则不是本系统。风格 = 六轴各取一组确定值形成的指纹组合，不是把某个滤镜套上去。

> 判语：如果无法指出每块颜色来自哪支墨、哪个角或哪一层阶、纸在哪里露出，就还不是本系统。

## §0 六不变式（规范的最小不变式，MECE）

任何一张图，无论什么机制、什么风格，都必须在这六个轴上各自给出**一个确定值**。缺任一轴，图不是本系统；轴内取值模糊，图不鲜明。

| # | 轴 | 必须回答 | 数据源 | 量化约束 |
|---|---|---|---|---|
| 1 | **纸（Ground）** | 纸是哪一块、什么色 | `roles.json` | 底衬色不算墨；暗底白衬必须 choke |
| 2 | **墨（Ink/Mist）** | 哪几支墨、各干什么 | `roles.json` | 主 70–85%，辅/雾且各 1 职务；imperfect_collage 专属第三通道（跳色 ≤5%，不进主体结构），其余风格 ≤2 墨 |
| 3 | **印刷布尔** | 两色相交怎么处理 | `bools.json` | knockout/overprint/trap 三选一 |
| 4 | **机制** | 用什么印刷机制 | `mechanisms.json` | 一次一个；机制内角/点/密度须有结构 |
| 5 | **主体行为** | 图的「势」往哪走 | `behaviors.json` | still/dissipate/densify/horizon/vertical-extend |
| 6 | **字图音量** | 字和图的音量谁大 | `volume.json` | 字大声则图退；禁止双开 11 |

七轴外：**主体结构链** 与 **平台画幅** 是两个独立的约束系统（`subject.json`、`platform.json`），它们不改变六轴取值，但决定「主体是否可识别」「画幅是否被裁坏」。

## §1 重新定义问题（接案 → 六轴配方）

先问清楚，能填齐才有资格出图。产出一份内部配方（用户未问过程则不整段展示）：

```yaml
# 一、主体与目的
subject: 
subject_chain: 
intent: 
exact_text: 
text_language: 
representation: 
source_policy: 

# 二、六轴取值（缺一不可，见对应 json）
ground:                 # roles.json
ink_role:   # roles.json
boolean:   # bools.json
mechanism:           # mechanisms.json
behavior:   # behaviors.json
volume:   # volume.json

# 三、画幅与产出
ratio:      # platform.json
viewing_distance: 
layout:                 # compositions（见 references/compile.md）
tension: 
focal_event: 
release_zone: 
avoid_named_patterns:    # 出图前反模式雷达，见 §5
diagnosis:       # 仅图源输入时，见 §1.5
priority_fix:   # 见 §1.5
```

未指定时的默认：机制 AM、双色、中性白纸、relaxed（旅行/生活）或 balanced（活动/信息）、空纸 25–55%、复古编辑（不做旧）、主墨 45°、双色差 ≥30°。Mist 不是第三色相，是主墨浅阶或叠印密度。

## §1.5 源输入诊断与映射（先诊断，再填配方）[ABLATE:ALL]

三类输入走三条路：无源主题直接填配方；**图源输入必须先产出诊断卡**；用户提供参考图时叠加 §1.6 参考创作模式。诊断发生在配方之前，产出作为配方下每个取值的一条来源证据；用户不问流程则不展示。

### 诊断与映射 [ABLATE:C1,C2]

图源输入时，先看原图写出五行观察值（不用脚本；看不清就标注 unknown，不硬编）：

```yaml
axis: 水平 | 垂直 | 对角 | 框景 | 无        # 占优构图轴
subject_occupancy: 50%    # 主体占幅
negative_space:                # 空纸在哪、多大
dominant_color:    # 照片主色收敛到墨
defect:           # 只写唯一最需修的问题
```

再按映射表取轴值（补 scenes.md 只按主题路由的盲区）：

| 诊断特征 | 轴取值 |
|---|---|
| axis=水平 | behavior=horizon；字走横张 |
| axis=垂直 | behavior=vertical_extend；竖题 |
| axis=对角 | behavior=still + 强对角网格；字沿对角切入 |
| axis=框景 | behavior=still；保留框为释放区 |
| subject_occupancy 50% | volume=image_lead；字退为支撑 |
| 主导色接近某支墨 | 墨色取值 = 该支墨（用兼容墨而非复刻照片色域） |
| defect=歪斜 | 唯一修复动作 = 扶正主轴（crop 修正，非滤镜拉直） |
| defect=截断 | 裁切方向 = 截断的对边；同时满足 §3 至少一边裁切 |
| defect=死负空间 | 释放区 = 该处；字或物去破它（focal_event 首选） |

每条来源写成一行注记：`behavior=horizon  ← 诊断 axis=水平`。诊断卡与轴取值互相矛盾时，以六轴为准并回改诊断卡。

### 四域命题 [ABLATE:C3]

配方填完前，用四行给「设计判断」落账（先于构图语序，不是事后描述）：

```text
主体域：
背景域：
互动域：
排版动作：（恰好一个非默认动作）
主问题：
唯一修复动作：
```

判语：四域里任何一域写「原样保留」「普通渐变」「标题居中」即不合格；主问题与修复动作必须能从五段 prompt 中找到落实句；无主问题时不得用反模式预防充当修复动作。

## §1.6 参考创作模式（用户提供参考图时启用）[ABLATE:C6]

默认不用参考；启用时二选一：参考与 `examples/`、`swatches/` 同指纹（机制、纸墨角色、行为、字图音量可对齐；映射见 `examples/README.md`）→ 锁定对应 `styles/.json` 六轴为起点，仅经 §1.5 映射、§3 语序、§4.5 字形调整，**禁止复刻其场景、文案与排版**；不属于本系统指纹 → 走 §7 机制迁移（2–4 个可见机制 + 掏空判定）。验收：迁移项必须是五段第 2–3 段的**可指认动作**；判不了归属时按机制样本处理（宁少勿多）。

## §2 印版推导（勿锁死单一配方）

起点色（可改，须写 HEX）：
- 单墨：Cobalt `#2148B8` / Botanical `#008A4B` / Terracotta `#C65F38` / Signal Red `#C83232` / Aubergine `#63365F` / Charcoal `#30343A`
- 双色常用：Cobalt+Terracotta；Charcoal+Signal Red；Mint+Charcoal；Ultramarine+Safety Orange；Cyan+Brick Red

规则：辅墨必须有职务（日期、注释、一个物件、一处叠印交叉）。禁止把第二色当装饰洒满页。纸 = Ground 不算第三色；叠印变深 / Mist 不算第三色。

## §3 构图语序（不改变六轴，只在六轴内组织画面）

1. **一物主导**（或字作为物）：占 45–80%（信息海报可降 32–55%；still 陈列更小），至少一边裁切。
2. **字与图音量**：按 volume.json 定谁主谁辅；字撞物（穿越/覆盖/劈开）是其中一招。裁切要为字留口袋。
3. **纸切入图像**：高光 knockout 到纸；扩散边走网，结构边保持硬边（窗、字、几何不「融化」）。
4. **一个手工手势**：圈注、套准线、手绘短线、旋转小标签、或 Weingart 式不规则宽边——只选一族。工艺缺陷预算也算这一次：轻微套不准或一次并网，不要叠 grain+刮痕+咖啡渍。

行为逻辑（先于物体类别）：still 静置 / dissipate 向外变少（用点）/ densify 向内变重（用网纹）/ horizon 地平线 / vertical-extend 沿长边消失。点和网纹不要写在同一处渐变里。

## §4 多语言与多尺寸

见 `references/language.md`、`platform.json`。摘要：
- 用户文案原样；发明文案用用户语言。
- **文案直接展示，没有多余的标点符号**：标题与正文只允许逗号、句号；不加引号框注、装饰符号、破折号下划线、编号及任何非文案文字（各内置模板均已写入，全局一致）。
- CJK 微字 → type-off；短 H1 可 type-in，笔画须 ≥ 2–3 个网距，校对失败则后期上字。
- type-in 时把字写成一次印刷事件（墨量 / 层 under|same|over / 一处「破」），不是字体名。
- 换画幅必须重写构图；先改观看距离/档位，再改字号，最后改构图。

## §4.5 中文展示字形速查 [ABLATE:C5]

type-in 的展示标题（≤8 字）在 language.md 的印刷事件规则之外，再给字形一个可指认目标：**选一个谱系 + 至少 3 个可见特征**，一行写完。只写「宋体、黑体、书法感」不算完成。

| 谱系 | 宽窄/重心 | 横竖对比 | 收笔 | 字腔 |
|---|---|---|---|---|
| 刊刻楔脚宋 | 方、中重心 | 1:2.2–1:3 | 短刀刻楔脚 | 方而略收 |
| 碑额篆刻 | 方整紧凑、转折略圆 | 接近等宽 | 凿刻顿点 | 小而稳 |
| 隶意外拓 | 扁宽、低重心 | 横张竖收 | 外拓波磔 | 开放 |
| 几何黑体 | 方、等高 | 等宽 | 平切 | 方正 |
| 民艺拙笔 | 宽、重心不定 | 粗细抖动 | 干笔/毛刺 | 不规则 |
| 现代怪诞 | 宽、高重心 | 细横粗竖 | 方切或圆切 | 夸张开放 |

示例：`谱系=刊刻楔脚宋；方、中重心；横竖 1:2.5；楔脚收笔；字腔略收；回应木构扁额。`

规则：谱系不得改变部件拓扑（规范字、不增减笔画）；逐字光学补偿只写「字面占比/重心/横张/字腔开放度」中一项具体改变，不写「更艺术」；`locked-wordmark` 类（2–5 字、庄严语境）各字保持共同字高与基线。

## §5 提示词与出图

按 `references/compile.md` 五段编译。本环境 GenerateImage：`description` = 五段正文，`aspect_ratio` ∈ 1:1/4:3/3:4/16:9/9:16（5:2 降 20:9；21:9 降 16:9）。

出图前跑 `scripts/validate_styles.py `，再过一遍**反模式雷达**（`references/patterns.md`，逐名扫描五段 description）。命中任一命名模式：先报「此处命中 `xxx`，信号是 `yyy`」，**只改所属那一段**，再出图。

出图后按三档评审卡自检（失败只重生一次，只改一项）：

- **blocker（命中任一项即不算通过）**：超过两墨 / 无选定机制痕迹 / 空纸越界 / 主体不可辨（遮标题   # 校验单个风格六轴是否取值齐全且引用存在
scripts/render_style_card.py   # 生成 swatches/ 可视化卡片
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [taxueseek](https://github.com/taxueseek)
- **Source:** [taxueseek/taxue-halftone](https://github.com/taxueseek/taxue-halftone)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-taxueseek-taxue-halftone-taxue-halftone
- Seller: https://agentstack.voostack.com/s/taxueseek
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
