mcpField
D
dedash

dedash

github.com/lilmgenius文档处理1.4k1.5k 次安装4 周前更新
代码仓库

关于 dedash

dedash 是用于清理用户指定范围内破折号的编辑技能。它会区分承担句子分隔作用的破折号与连字符、范围符号及刻意保留的标记,并汇报修改结果。

主要功能

  1. 01按句中作用查找破折号类标记
  2. 02根据语法功能替换标点
  3. 03保留连字符、范围符号和代码
  4. 04复读修改并汇报数量

适用场景

  1. 01编辑选定段落
  2. 02清理文件中的标点
  3. 03检查文档目录中的标点

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lilmgenius/paperthin --skill dedash

安装后在 Claude Code 中输入/dedash确认已加载。

详细介绍

移除用户指定范围内的长破折号及代替长破折号的短横线,每次处理一个,保留连字符、范围符号和刻意使用的标记。

目标

将每个不应保留的长破折号替换为该分句实际需要的标点或措辞。查找所有起长破折号作用的符号,无论其具体字符是什么:在页面上,U+2014 以及更长或被挪作他用的相似符号看起来都一样。范围由用户指定:一段文字、字段、文件、选区或目录树。未经询问,不要扩大范围。

工作流程

  1. 查找:严格按用户指定的范围,逐一找出其中所有起长破折号作用的符号;根据它在句子中的作用判断,而不是根据码位判断:凡是用于引出插入语、同位语、突然转折或缺失连词的符号都算。最常见的是长破折号(U+2014);横线(U+2015)以及双长破折号和三长破折号(U+2E3A、U+2E3B)看起来也一样,因此同样算。连接分句、且可用长破折号的短破折号(U+2013)属于边界情况,符合此情形时算;但表示范围端点(无论是数字还是其他内容)的短破折号应保留(1990–2020、London–Paris 路线)。起其他作用的破折号(如连字符、减号或范围符号)应保留。确实有歧义时,应将其作为判断事项指出,而不是盲目修改。
  2. 按作用替换:根据每处符号的语法作用分别选择替换方式:
    • 插入语:若破折号括起的内容可以从句子中删去,可改用逗号或括号。
    • 同位语:若破折号后的内容是对前面名词的改名、定义或扩展,可改用冒号或逗号。
    • 突然转折:若破折号标示转向、打断或重新开始,可改用句号、分号或逗号。
    • 错误的连词断开:若破折号代替了缺失的“和”“但是”“因为”“所以”或其他实际连词,应改写句子。
  3. 保持不变:除非用户明确将以下内容纳入范围,且上下文能证明其有误,否则应保持不变:
    • 带连字符的复合词、减号和负数
    • 范围,如 1-10、1–10 或 London–Paris;范围符号不是长破折号
    • 代码、差异内容、命令输出、标识符、序列化数据、URL、路径、锚点和查询字符串
    • 风格化文字中带引号或明显刻意使用的长破折号;此类情况应作为判断事项指出,绝不可盲目修改
  4. 重读:在原文中重读每个修改过的句子。修正替换造成的不自然节奏、悬空标点、重复空格和连接词缺失。如果句子现在需要补充措辞而不是标点,应以最小幅度改写相关分句。
  5. 报告:说明检查的范围、找到并更改的符号数量、按作用采用的替换方式,以及任何保留不变或作为判断事项指出的内容。

规则

  • 绝不可批量替换。相同的字符在不同分句中可能需要不同标点。
  • 清理时绝不可将长破折号替换为连字符。
  • 修改时注意编辑安全性:使用 Unicode 安全模式编辑(PYTHONUTF8=1),逐处替换每个破折号,绝不可全局替换;如果范围内没有此类符号,应报告未发现(MISS),而不是修改附近的标点。
  • 保留用户的语气。这项操作只移除用户指定的符号,不应改变用户指定范围之外的文风。

验证

完成前,确认:

  1. 范围严格限于用户指定的内容。
  2. 每处替换都根据语法作用分别选择。
  3. 保留不变的内容未被改动,或已作为判断事项报告。
  4. 报告包含数量以及任何判断事项。

评论

支持 Markdown