svgbob-strict-syntax
svgbob/bob 绘图严格语法规则。Use when: 生成 ```bob 代码块、编写 svgbob ASCII 图、需要在图中显示代码标识符/函数名/路径/括号/下划线/斜杠等编程符号。DO NOT USE FOR: 普通 markdown 文本、不含编程符号的纯文本框图。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
svgbob/bob 绘图严格语法规则。Use when: 生成 ```bob 代码块、编写 svgbob ASCII 图、需要在图中显示代码标识符/函数名/路径/括号/下划线/斜杠等编程符号。DO NOT USE FOR: 普通 markdown 文本、不含编程符号的纯文本框图。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
图表自动编号(为 Markdown 文档中的图与表生成统一编号并同步交叉引用)。
图表描述补充(为缺少描述的图/表生成或提示合适的中文描述)。
修复 svgbob/bob 绘图中 CJK(中文/日文/韩文)字符导致的竖线对齐问题。Use when: 编写或修复 ```bob 代码块中含中文的 ASCII 图、检查竖线 │ 对齐、计算混合字符串显示宽度、排查 svgbob 渲染错位。
| name | svgbob-strict-syntax |
| description | svgbob/bob 绘图严格语法规则。Use when: 生成 ```bob 代码块、编写 svgbob ASCII 图、需要在图中显示代码标识符/函数名/路径/括号/下划线/斜杠等编程符号。DO NOT USE FOR: 普通 markdown 文本、不含编程符号的纯文本框图。 |
| argument-hint | 描述需要绘制的 bob 图表内容 |
svgbob 将 ( ) _ / * \ < > . : # + - 等 ASCII 符号解释为绘图指令(弧线、对角线、连接线等),而非文本字符。在图中显示编程文本时,必须用双引号 "..." 包裹,强制 svgbob 将其视为纯文本。
"..." 包裹所有含 () _ / * \ 的代码标识符、函数名、路径、注释,必须用一层英文双引号包裹:
│ "main()" │ ← 函数调用
│ "HAL_GPIO_Init(GPIOA, &cfg)" │ ← 带下划线和括号
│ "Core/Inc/main.h" │ ← 路径含 /
│ "/* USER CODE BEGIN */" │ ← C 注释含 * /
│ "void SystemClock_Config();" │ ← 完整声明
│ 配置 "GPIO_PIN_5" 为输出 │ ← 中文+代码混排
任何位置不允许 "" 嵌套。每个文本段只用一层 "..." 包裹。
" 的视觉行为" 占 1 个网格单元但不可见(视觉等同于空格)"..." 后需从相邻空格处借位,维持行宽不变:
原始: │ HAL_Init() │ (空格+文本+空格=固定宽度)
转义: │ "HAL_Init()" │ ("偷取"了一个前导空格和一个尾部空格)
\" 转义陷阱svgbob 将 \" 视为转义引号(字面 "),而非 \ + 关闭引号。如果文本以 \ 结尾:
错误: "C:\path\" ← \" 被视为转义,引号永不关闭
正确: "C:\path\ " ← 在 \ 和 " 之间加空格
GPIO, UART, 123│ ─ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼→ ← ↓ ↑ ► ◄配置模式, 初始化, 系统启动统一使用 Unicode box-drawing 字符:┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘ │ ─
树形结构:├── └── │
│ 必须垂直对齐(相同列位置)svgbob-cjk-alignment Skill 的宽度计算规则┌──────────────────────────────────────────────┐
│ STM32 初始化流程 │
├──────────────────────────────────────────────┤
│ 1. "HAL_Init()" │
│ 2. "SystemClock_Config()" │
│ 3. "MX_GPIO_Init()" │
│ 4. "MX_USART1_UART_Init()" │
│ 5. "/* USER CODE BEGIN 2 */" │
├──────────────────────────────────────────────┤
│ 文件结构: │
│ ├──"Core/Src/main.c" │
│ ├──"Core/Inc/main.h" │
│ └──"Drivers/STM32F1xx_HAL_Driver/" │
└──────────────────────────────────────────────┘
项目提供 fix_bob_quotes.py 脚本,可自动为已有 bob 图块添加 "..." 转义:
# 预览变更
python .github/skills/svgbob-cjk-alignment/scripts/fix_bob_quotes.py docs/chapter1.md --dry-run
# 原地修改
python .github/skills/svgbob-cjk-alignment/scripts/fix_bob_quotes.py docs/chapter1.md --inplace
脚本特性:
│ 之间的所有问题字符都引号化──, ├, ► 等绘图字符不会被包入引号( 从 Flash 启动) 自动合并为 "( 从 Flash 启动)"