关于 ascii-diagram-validator
用于检查和修复 Unicode 框线字符 ASCII 图表对齐问题的技能,面向编写或审阅架构文档的开发者。脚本支持单文件、多文件和目录,并提供具体问题位置与修正建议。
主要功能
- 01检测垂直对齐与连接问题
- 02检查角点、交叉点和线段
- 03报告文件、行与列位置
- 04为问题提供修复建议
- 05支持文件和目录批量检查
适用场景
- 01提交架构文档前检查图表
- 02修复 README 中的框线图
- 03审阅代码注释里的结构图
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill ascii-diagram-validator安装后在 Claude Code 中输入/ascii-diagram-validator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/evolution-log.mdINTEGRATION_GUIDE.mdSCRIPT_DESIGN_REPORT.mdscripts/check_ascii_alignment.py详细介绍
ASCII 图表验证器
验证并修复架构文档、README 文件和代码注释中常见的 ASCII 框线图表对齐问题。
自我演进技能:此技能会在使用过程中不断改进。如果指令有误、参数发生偏移,或需要采用变通方法,请立即修复此文件,不要拖延。仅针对真实、可复现的问题进行更新。
概述
使用框线字符(─│┌┐└┘├┤┬┴┼ 和双线变体 ═║╔╗╚╝╠╣╦╩╬)绘制的 ASCII 图表要求列精确对齐。此技能提供:
- 验证脚本 - 检测未对齐字符并标出文件、行号和列号
- 可操作的修复建议 - 提供修正每个问题的具体建议
- 多文件支持 - 验证单个文件或整个目录
何时使用此技能
在以下情况调用:
- 在 Markdown 中创建或编辑 ASCII 架构图表
- 审阅包含框线图表的文档
- 修复“图表看起来不对”的问题反馈
- 提交 docs/ARCHITECTURE.md 或类似文件之前
- 用户提到“ASCII 对齐”“图表对齐”或“框线绘制”时
支持的字符
单线框线字符
Corners: ┌ ┐ └ ┘
Lines: ─ │
T-joins: ├ ┤ ┬ ┴
Cross: ┼
双线框线字符
Corners: ╔ ╗ ╚ ╝
Lines: ═ ║
T-joins: ╠ ╣ ╦ ╩
Cross: ╬
混合(双线-单线)
╞ ╟ ╤ ╧ ╪ ╫
快速入门
验证单个文件
/usr/bin/env bash << 'PREFLIGHT_EOF'
uv run "$(cc-plugin-root doc-tools)/skills/ascii-diagram-validator/scripts/check_ascii_alignment.py" docs/ARCHITECTURE.md
PREFLIGHT_EOF
验证多个文件
/usr/bin/env bash << 'PREFLIGHT_EOF_2'
uv run "$(cc-plugin-root doc-tools)/skills/ascii-diagram-validator/scripts/check_ascii_alignment.py" docs/*.md
PREFLIGHT_EOF_2
验证目录
/usr/bin/env bash << 'PREFLIGHT_EOF_3'
uv run "$(cc-plugin-root doc-tools)/skills/ascii-diagram-validator/scripts/check_ascii_alignment.py" docs/
PREFLIGHT_EOF_3
输出格式
脚本会以类似编译器的格式输出问题,便于快速定位:
docs/ARCHITECTURE.md:45:12: error: vertical connector '│' at column 12 has no matching character above
→ Suggestion: Add '│', '├', '┤', '┬', or '┼' at line 44, column 12
docs/ARCHITECTURE.md:67:8: warning: horizontal line '─' at column 8 has no terminator
→ Suggestion: Add '┐', '┘', '┤', '┴', or '┼' to close the line
严重级别
| 级别 | 说明 |
|---|---|
| error | 连接断裂、垂直线未对齐 |
| warning | 线条未闭合、潜在问题 |
| info | 样式建议(可选清理) |
验证规则
脚本会检查:
- 垂直对齐 - 垂直连接线(│║)必须与其上方或下方的字符对齐
- 拐角连接 - 拐角(┌┐└┘╔╗╚╝)必须与相邻线条正确连接
- 交汇处有效性 - T 形连接和交叉处必须具有正确的进入和离开连接
- 线条连续性 - 水平线(─═)应在有效端点处终止
- 框线闭合 - 框线应正确闭合(不得有悬空边缘)
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 未发现问题 |
| 1 | 检测到错误 |
| 2 | 仅有警告(使用 --warn-only 时忽略错误) |
与 Claude Code 集成
Claude Code 创建或编辑 ASCII 图表时:
- 对文件运行验证脚本
- 检查输出中的所有错误
- 应用建议的修复
- 重新运行,直到验证通过
工作流示例
/usr/bin/env bash << 'PREFLIGHT_EOF_4'
# After editing docs/ARCHITECTURE.md
uv run "$(cc-plugin-root doc-tools)/skills/ascii-diagram-validator/scripts/check_ascii_alignment.py" docs/ARCHITECTURE.md
# If errors found, Claude Code can read the output and fix:
# docs/ARCHITECTURE.md:45:12: error: vertical connector '│' at column 12 has no matching character above
# → Edit line 44, column 12 to add the missing connector
PREFLIGHT_EOF_4
限制
- 检测结构性对齐问题,不检查视觉间距
- 要求一致使用框线字符(不能混用 +---+ 之类的 ASCII 字符)
- 制表符可能导致误报(请先转换为空格)
- 不执行 Unicode 规范化(请使用预组合字符)
随附脚本
| 脚本 | 用途 |
|---|---|
scripts/check_ascii_alignment.py | 主要验证脚本 |
相关内容
故障排除
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 找不到脚本 | 未安装插件 | 使用 claude plugin list 确认插件已安装 |
| 制表符导致误报 | 制表符字符造成错位 | 验证前将制表符转换为空格 |
| 未检测到混合 ASCII 字符 | 使用 +---+ 样式 | 脚本仅验证 Unicode 制表框线字符 |
| 列号不准确 | Unicode 宽度计算 | 使用预组合字符,避免组合标记 |
| 没有问题但看起来不对 | 未检查美观间距 | 验证器检查结构,不检查视觉间距 |
| 意外的退出码 2 | 仅警告模式 | 使用 --warn-only 标志,将警告视为成功 |
| 找不到验证错误 | 复杂的嵌套图表 | 检查输出中的行号,仅验证相关部分 |
| Unicode 字符无法显示 | 终端字体缺少字形 | 使用完整支持 Unicode 制表框线字符的字体 |
执行后反思
此技能完成后,请在结束前检查:
- 命令是否成功? — 如果没有,请修正导致失败的指令或错误表。
- 参数或输出是否发生变化? — 如果底层工具的接口有所变化,请相应更新用法示例和参数表。
- 是否需要变通处理? — 如果你不得不临时采用其他方法(不同的标志、额外步骤),请更新此 SKILL.md,避免下次调用时需要采用相同的变通方法。
仅当问题确实存在且可复现时才进行更新,不要更新推测性问题。
评论
支持 Markdown