@tw93/waza 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +206 -0
  3. package/package.json +35 -0
  4. package/rules/anti-patterns.md +38 -0
  5. package/rules/chinese.md +18 -0
  6. package/rules/durable-context.md +27 -0
  7. package/rules/english.md +14 -0
  8. package/scripts/build_metadata.py +360 -0
  9. package/scripts/check_routing_drift.py +82 -0
  10. package/scripts/dispatcher-template.md +43 -0
  11. package/scripts/dispatcher.md +53 -0
  12. package/scripts/package-skill.sh +71 -0
  13. package/scripts/packaging_filter.py +55 -0
  14. package/scripts/setup-rule.sh +109 -0
  15. package/scripts/setup-statusline.sh +127 -0
  16. package/scripts/skill_checks.py +483 -0
  17. package/scripts/skill_frontmatter.py +110 -0
  18. package/scripts/statusline.sh +321 -0
  19. package/scripts/validate_package.py +66 -0
  20. package/scripts/verify_skills.py +100 -0
  21. package/skills/RESOLVER.md +91 -0
  22. package/skills/check/SKILL.md +338 -0
  23. package/skills/check/agents/reviewer-architecture.md +39 -0
  24. package/skills/check/agents/reviewer-security.md +39 -0
  25. package/skills/check/references/persona-catalog.md +56 -0
  26. package/skills/check/references/project-context.md +107 -0
  27. package/skills/check/references/public-reply.md +14 -0
  28. package/skills/check/scripts/audit_signals.py +485 -0
  29. package/skills/check/scripts/run-tests.sh +19 -0
  30. package/skills/design/SKILL.md +134 -0
  31. package/skills/design/references/design-aesthetic-quality.md +67 -0
  32. package/skills/design/references/design-data-viz.md +34 -0
  33. package/skills/design/references/design-reference.md +278 -0
  34. package/skills/design/references/design-tokens.md +53 -0
  35. package/skills/design/references/design-traps.md +43 -0
  36. package/skills/health/SKILL.md +231 -0
  37. package/skills/health/agents/inspector-context.md +119 -0
  38. package/skills/health/agents/inspector-control.md +84 -0
  39. package/skills/health/agents/inspector-maintainability.md +55 -0
  40. package/skills/health/scripts/check-agent-context.sh +5 -0
  41. package/skills/health/scripts/check-doc-refs.sh +8 -0
  42. package/skills/health/scripts/check-maintainability.sh +8 -0
  43. package/skills/health/scripts/check-verifier-output.sh +5 -0
  44. package/skills/health/scripts/check_agent_context.py +407 -0
  45. package/skills/health/scripts/check_doc_refs.py +110 -0
  46. package/skills/health/scripts/check_maintainability.py +629 -0
  47. package/skills/health/scripts/check_verifier_output.py +116 -0
  48. package/skills/health/scripts/collect-data.sh +760 -0
  49. package/skills/hunt/SKILL.md +197 -0
  50. package/skills/hunt/references/failure-patterns.md +75 -0
  51. package/skills/hunt/references/ime-unicode.md +58 -0
  52. package/skills/hunt/references/logging-techniques.md +72 -0
  53. package/skills/hunt/references/rendering-debug.md +34 -0
  54. package/skills/learn/SKILL.md +128 -0
  55. package/skills/read/SKILL.md +108 -0
  56. package/skills/read/references/read-methods.md +110 -0
  57. package/skills/read/references/save-paths.md +33 -0
  58. package/skills/read/scripts/fetch.sh +105 -0
  59. package/skills/read/scripts/fetch_feishu.py +246 -0
  60. package/skills/read/scripts/fetch_local.py +218 -0
  61. package/skills/read/scripts/fetch_weixin.py +107 -0
  62. package/skills/think/SKILL.md +155 -0
  63. package/skills/write/SKILL.md +129 -0
  64. package/skills/write/references/write-en.md +197 -0
  65. package/skills/write/references/write-zh-bilingual.md +60 -0
  66. package/skills/write/references/write-zh-prose.md +48 -0
  67. package/skills/write/references/write-zh-release-notes.md +38 -0
  68. package/skills/write/references/write-zh.md +645 -0
@@ -0,0 +1,197 @@
1
+ ## English Scenario
2
+
3
+ Eliminate predictable AI writing patterns. Write like a human: varied, imperfect, specific.
4
+
5
+ ### Core Rules
6
+
7
+ 1. **Cut filler phrases.** Remove throat-clearing openers, emphasis crutches, and all adverbs.
8
+ 2. **Break formulaic structures.** Avoid binary contrasts, negative listings, dramatic fragmentation, rhetorical setups, false agency.
9
+ 3. **Use active voice.** Every sentence needs a human subject doing something. No inanimate objects performing human actions ("the complaint becomes a fix").
10
+ 4. **Be specific.** No vague declaratives ("The reasons are structural"). Name the specific thing. No lazy extremes ("every," "always," "never") doing vague work.
11
+ 5. **Put the reader in the room.** No narrator-from-a-distance voice. "You" beats "People." Specifics beat abstractions.
12
+ 6. **Vary rhythm.** Mix sentence lengths. Two items beat three. End paragraphs differently. No em dashes.
13
+ 7. **Trust readers.** State facts directly. Skip softening, justification, hand-holding.
14
+ 8. **Cut quotables.** If it sounds like a pull-quote, rewrite it.
15
+ 9. **Do not replace one formula with another.** “Human” does not mean slangy, quirky, or performatively casual.
16
+ 10. **No emoji.** Remove any emoji from the text being edited.
17
+
18
+ ### Word Choice
19
+
20
+ Examples, not exhaustive -- any word used to signal importance rather than to say something is suspect.
21
+
22
+ **Overused adverbs: kill them all:**
23
+ "quietly", "deeply", "fundamentally", "remarkably", "arguably", "certainly", "really", "just", "literally", "genuinely", "honestly", "simply", "actually"
24
+
25
+ > NO: "quietly orchestrating workflows" / "fundamentally reshape how we think"
26
+ > OK: Say what it does. Drop the adverb.
27
+
28
+ **AI vocabulary: replace with plain language:**
29
+
30
+ | Avoid | Use instead |
31
+ |-------|-------------|
32
+ | delve (into) | examine, look at, explore |
33
+ | leverage (as verb) | use |
34
+ | utilize | use |
35
+ | robust | strong, reliable, solid |
36
+ | streamline | simplify, cut |
37
+ | harness | use, apply |
38
+ | navigate (challenges) | handle, address |
39
+ | unpack | explain, examine |
40
+ | paradigm | system, approach, model |
41
+ | synergy | combination, cooperation |
42
+ | ecosystem | community, network, field |
43
+ | tapestry | mix, combination |
44
+ | landscape | situation, field, area |
45
+ | game-changer | significant, important |
46
+ | deep dive | analysis, examination |
47
+ | moving forward | next, from now |
48
+
49
+ **Pompous copulas: use "is" instead:**
50
+ > NO: "serves as", "stands as", "marks", "represents"
51
+ > OK: "is"
52
+
53
+ ### Sentence Structures to Avoid
54
+
55
+ Examples, not exhaustive -- any construction that performs insight rather than delivers it belongs here.
56
+
57
+ **Negative parallelism**: the single most common AI tell:
58
+ > NO: "It's not bold. It's backwards." / "Not because X, but because Y." / "The question isn't X. The question is Y."
59
+ > OK: State Y directly. Drop the negation entirely.
60
+
61
+ **Negative countdown:**
62
+ > NO: "Not a bug. Not a feature. A fundamental design flaw."
63
+ > OK: "It's a fundamental design flaw."
64
+
65
+ **Rhetorical self-questions:**
66
+ > NO: "The result? Devastating." / "The worst part? Nobody saw it coming."
67
+ > OK: State it: "The result was devastating."
68
+
69
+ **Anaphora abuse**: repeating the same sentence opener:
70
+ > NO: "They assume that... They assume that... They assume that..."
71
+ > OK: Combine or restructure. One statement, clear subject.
72
+
73
+ **Tricolon abuse**: rule of three, used three times back to back:
74
+ > NO: "Products impress people; platforms empower them. Products solve problems; platforms create worlds."
75
+ > OK: Make the point once, cleanly.
76
+
77
+ **False ranges:**
78
+ > NO: "From innovation to cultural transformation" (what's in between?)
79
+ > OK: List the two things directly, or pick one.
80
+
81
+ **Dramatic fragmentation**: manufactured emphasis via fragments:
82
+ > NO: "He published this. Openly. In a book. As a priest."
83
+ > OK: Complete sentences. Trust content over presentation.
84
+
85
+ **False agency**: inanimate objects performing human verbs:
86
+ > NO: "the complaint becomes a fix" / "the decision emerges" / "the data tells us"
87
+ > OK: Name the human. "Someone fixed it." "The team decided."
88
+
89
+ ### Tone Patterns to Avoid
90
+
91
+ **False suspense transitions:**
92
+ > NO: "Here's the kicker." / "Here's the thing." / "Here's where it gets interesting."
93
+ > OK: Make the point. No buildup.
94
+
95
+ **Patronizing analogies:**
96
+ > NO: "Think of it like a highway system for data." / "Think of it as a Swiss Army knife."
97
+ > OK: Explain the concept directly. If an analogy helps, test it against three criteria before keeping it: (1) remove it and the paragraph collapses: it is load-bearing, not decorative; (2) push it one layer deeper and it still holds; (3) the reader gets it without further explanation. If it fails any of these, drop the analogy and state the idea directly.
98
+
99
+ **Futurist invitation:**
100
+ > NO: "Imagine a world where every tool you use has a quiet intelligence behind it..."
101
+ > OK: Describe what actually exists or what you're actually proposing.
102
+
103
+ **False vulnerability**: performative self-awareness:
104
+ > NO: "And yes, I'm openly in love with the platform model"
105
+ > OK: Real vulnerability is specific and uncomfortable. Skip the polish.
106
+
107
+ **Asserting simplicity instead of proving it:**
108
+ > NO: "The reality is simpler and less flattering" / "History is clear"
109
+ > OK: Show the evidence. Don't announce the conclusion before it.
110
+
111
+ **Grandiose stakes inflation:**
112
+ > NO: "This will fundamentally reshape how we think about everything." / "will define the next era of computing"
113
+ > OK: Say what it actually does.
114
+
115
+ **Pedagogical hand-holding:**
116
+ > NO: "Let's break this down step by step." / "Let's unpack what this really means."
117
+ > OK: Start with the content, not an announcement of the content.
118
+
119
+ **Vague attributions:**
120
+ > NO: "Experts argue..." / "Industry reports suggest..." / "Observers have cited..."
121
+ > OK: Name the expert, link the report, quote the person. If you can't, you don't have a source.
122
+
123
+ **Invented concept labels**: compound labels that sound analytical but aren't grounded:
124
+ > NO: "the supervision paradox" / "the acceleration trap" / "workload creep"
125
+ > OK: Describe the thing directly. Don't name it as if it's an established term.
126
+
127
+ ### Paragraph & Composition Patterns to Avoid
128
+
129
+ **Short punchy fragments as paragraphs:**
130
+ > NO: "These weren't just products. And the software side matched. Then it professionalised."
131
+ > OK: Complete sentences. No staccato drama.
132
+
133
+ **Bold-first bullets**: every bullet starts with a bolded phrase:
134
+ > NO: "**Security**: Environment-based configuration..." / "**Performance**: Lazy loading..."
135
+ > OK: Write bullets as sentences, or drop the bold. Not every list needs labels.
136
+
137
+ **Fractal summaries**: "what I'm going to tell you; what I'm telling you; what I just told you":
138
+ > NO: "In this section, we'll explore... [3000 words later] ...as we've seen in this section."
139
+ > OK: Skip the preview and the recap. Write the content.
140
+ > Exception: a single closing sentence in a TL;DR that orients non-specialist readers to the structure ahead ("The rest of this piece follows X in order...") is intentional navigation, not a fractal summary. Keep it; flag it at most, but do not delete without author approval.
141
+
142
+ **Signposted conclusions:**
143
+ > NO: "In conclusion..." / "To sum up..." / "In summary..."
144
+ > OK: End. Don't announce that you're ending.
145
+
146
+ **The dead metaphor**: one metaphor used 10 times across a piece:
147
+ > NO: "The ecosystem needs ecosystems to build ecosystem value."
148
+ > OK: Use a metaphor once, then move on.
149
+
150
+ **Historical analogy stacking:**
151
+ > NO: "Apple didn't build Uber. Facebook didn't build Spotify. Stripe didn't build Shopify."
152
+ > OK: Make the point. One example is enough.
153
+
154
+ **One-point dilution**: same argument restated 10 ways across 4000 words:
155
+ > OK: Say it once. Add evidence or move on.
156
+
157
+ **"Despite its challenges..." formula:**
158
+ > NO: "Despite these challenges, the initiative continues to thrive."
159
+ > OK: Either address the challenges or don't raise them.
160
+
161
+ **It's worth noting / It bears mentioning:**
162
+ > NO: "It's worth noting that this approach has limitations." / "Notably," / "Importantly,"
163
+ > OK: Say the thing directly. Skip the announcement.
164
+
165
+ ### Quick Checks Before Delivering Prose
166
+
167
+ - Any adverbs? Kill them.
168
+ - Any passive voice? Find the actor, make them the subject.
169
+ - Inanimate thing doing a human verb? Name the person.
170
+ - Sentence starts with "Here's"? Cut to the point.
171
+ - Any "not X, it's Y" contrasts? State Y directly.
172
+ - Three consecutive sentences match length? Break one.
173
+ - Paragraph ends with punchy one-liner? Vary it.
174
+ - Em-dash anywhere? Remove it.
175
+ - Vague declarative ("The implications are significant")? Name the specific implication.
176
+ - Meta-joiners ("The rest of this essay...")? Delete. Exception: a single TL;DR closing sentence that orients readers to the structure ahead is navigation, not filler. Keep it.
177
+ - Any bullet starting with bold label? Reconsider the format.
178
+ - Any "In conclusion" or "To sum up"? Cut it.
179
+ - Any emoji? Remove it.
180
+
181
+ ### Scoring
182
+
183
+ Rate 1-10 on each dimension:
184
+
185
+ | Dimension | Question |
186
+ |-----------|----------|
187
+ | Directness | Statements or announcements? |
188
+ | Rhythm | Varied or metronomic? |
189
+ | Trust | Respects reader intelligence? |
190
+ | Authenticity | Sounds human? |
191
+ | Density | Anything cuttable? |
192
+
193
+ Below 35/50: revise.
194
+
195
+ ---
196
+
197
+ **Bottom line: varied, imperfect, specific. Any single trope used once may be fine. The problem is when multiple appear together or one repeats.**
@@ -0,0 +1,60 @@
1
+ # 中英双语规则
2
+
3
+ ## 双语一致性检查
4
+
5
+ **中英混排格式**(来自 mzlogin/chinese-copywriting-guidelines):
6
+ - 中文和英文字符之间加空格:`CN文字EN` → `CN 文字 EN`
7
+ - 不混用标点:中文用 `、。?!;:`,不用英文逗号/句号
8
+ - 术语跨全文一致
9
+
10
+ **中文里的英文**:标记出现的未翻译英文,建议翻译或加说明。
11
+
12
+ **双语对**:确认 EN 和 CN 版本传达的意思相同;标记翻译损失。
13
+
14
+ ## 英文术语首次出现规则
15
+
16
+ - 首次出现:保留英文 + 中文注解,或中文前置 + 英文括注(`指令微调(Instruction tuning)`)
17
+ - 后续出现:只用中文,不要英中混用
18
+ - 例外:SFT、RL、MoE 这类已成行业通用缩写,全程保留缩写形式
19
+
20
+ **常见可替换词**:context→上下文、state→状态、cache→缓存、claim→断言、runtime→运行时、contract→契约
21
+
22
+ ## 有稳定中文对译的英文词
23
+
24
+ 中文技术圈已有通用译法的,换中文:
25
+
26
+ | 英文 | 推荐中文 |
27
+ |------|----------|
28
+ | context | 上下文 |
29
+ | state | 状态 |
30
+ | cache | 缓存 |
31
+ | claim | 断言 |
32
+ | runtime | 运行时 |
33
+
34
+ 术语在中文圈还未收敛的(prompt、embedding、tokenizer),保留英文合理。
35
+
36
+ ## 翻译腔套路(主动排查)
37
+
38
+ **物理动作动词**:接住、击穿、锋利、不崩、不爆、打穿、扛住,这类词把抽象认知过程想象成了物理动作(骨架是英文 catch/pierce/sharp)。换成日常中文:你这几条我都收到了 / 这个假设不成立。
39
+
40
+ **形容词预判+冒号**:"更干净:"、"逻辑很清晰:"引出内容。删掉形容词,只留后面事实。
41
+
42
+ **抽象名词做主语**:"工程上的现实比这些数字难看"这种骨架,凡碰到"X 的 Y 比 Z 更 W",重写让人/动作做主语。
43
+
44
+ **有稳定对译词直接混入**:"context 不崩、state 可恢复"—— 换成中文。
45
+
46
+ ## 双语并列的排版
47
+
48
+ 中英双语 release notes 的排版:
49
+
50
+ - 英文版在前,中文版在后(或分两个段落)
51
+ - 条目编号一一对应
52
+ - 专有名词(产品名、功能名)在两种语言里保持一致
53
+ - 不要在同一条内中英混写
54
+
55
+ ## 标点规则
56
+
57
+ - 中文标点:`,。;:!?、""『』【】`
58
+ - 英文在中文句子中出现时用中文标点断句
59
+ - 禁止用破折号(—),用逗号或分号替代
60
+ - `bold 小标题 + 句号` 改为 `bold 小标题 + 逗号`(内联而非独立标题)
@@ -0,0 +1,48 @@
1
+ # 中文散文核心规则
2
+
3
+ 技术长文的去 AI 味和自然化。完整规则见 `write-zh.md`,本文摘录最高频的 10 类改写模式。
4
+
5
+ ## 最高优先级:保语义 > 去 AI 味
6
+
7
+ 先确认事实、逻辑、因果不变,再做以下改写。如果为"更口语"改坏原意,属于失败改写。
8
+
9
+ ## 高频 AI 痕迹(首先检查)
10
+
11
+ **1. 段末收尾总结句**:一段刚解释完某机制,结尾再重述一遍。识别信号:"到这里"、"这说明"、"这本身就是"、"可以看出"开头,或者段落最后一句比其他句短且抽象。直接删掉。
12
+
13
+ **2. 升华句**:把具体工程观察上升到普适人生道理。直接给出具体建议,不升华。
14
+
15
+ **3. 对比句式**:"不是…而是…"、"X 本身没有价值,真正有用的是 Y"、"X 已经不是瓶颈,Y 才是"。直接说结论,不用对比框架铺垫。
16
+
17
+ **4. bold 小标题模式**:`**xxx**。content` 改为 `**xxx**,content`,让 bold 变成承重词,不是独立小标题。例外:bold 部分本身是完整句子时保留句号。
18
+
19
+ **5. 章节引介过渡句**:章节开头或结尾写"上面这些模式解决的是…,下面再看…"。直接删掉,章节标题本身已经承接。
20
+
21
+ **6. 空泛形容词预判**:"更干净:"、"逻辑很清晰:",形容词抢先下判断。删掉形容词,只留后面的事实。
22
+
23
+ **7. 工整并列 bold 标题**:四个 bold 标题全是同一格式。每个点语气不同,或改成散文叙述。
24
+
25
+ **8. 段内重复**:同一段把同一意思用不同措辞说两遍。说一遍,够了。
26
+
27
+ **9. 讲解腔起手**:"真拆开看"、"这背后是同一个变化"、"真正关键的问题是"。删掉,直接说。
28
+
29
+ **10. 训人感起手**:"先问问是不是"、"你要先明白"。改成"可以先看"、"先确认"。
30
+
31
+ ## 句式规则
32
+
33
+ - 禁止用破折号(—),用逗号或分号代替
34
+ - 四五个句号连发、每句很短 = 打电报,合成长句或用逗号连
35
+ - 单独成段的一两句话,多半是上一段的收尾,直接并进去
36
+ - 不用"首先…其次…最后",用"一方面…另一方面…"
37
+
38
+ ## 用词去正式化
39
+
40
+ | 不用 | 用 |
41
+ |------|-----|
42
+ | 非常/极其 | 很 |
43
+ | 综上所述 | 直接收尾 |
44
+ | 例如 | 比如 |
45
+ | 购买/使用 | 买/用 |
46
+ | 值得注意的是 | 直接说结论 |
47
+
48
+ 完整规则、AI 味检测所有模式、标题设计、引号/括号/分号规则见 `write-zh.md`。
@@ -0,0 +1,38 @@
1
+ # 对外发文专项:release notes 和推文
2
+
3
+ ## 推文 / 社交发文五规则
4
+
5
+ 适用于已有社区语气和轻量发布节奏的产品工程师项目对外发文:
6
+
7
+ 1. **社区先行**:开头用社会锚点(star 数、感谢用户、谁的反馈推动了这次修复)。改动清单跟在后面,不放在最前。
8
+ 2. **亮点不全量**:挑 2 到 4 个最有意思的改动。跳过整个模块也没问题。读者要的是故事,不是 changelog。
9
+ 3. **用户感受帧**:每条写法用"你用它的时候…"或"有一种…的感觉",不是"这个工具做了…"。
10
+ 4. **一条立场**:至少一句表明决策原因的意见句(例:"我更相信模型本身的能力,而非各种规则限制他的天花板")。
11
+ 5. **中文节奏**:用地道表达(给留了一手、玩玩、大伙、大概就是这些)。避免翻译腔和正式词(具体判据、主轴、本意)。
12
+
13
+ 结尾用邀请,不用 CTA:「假如没有用过的小伙伴,欢迎去试试看,玩玩。」而不是「立即升级」。
14
+
15
+ ## Release Notes 格式
16
+
17
+ **结构**:Breaking Changes → New Features → Fixes & Improvements → Deprecations
18
+
19
+ **格式**:优先匹配目标项目最近一次 release。没有可用参考时,使用编号列表、bold 标签、一句话说用户效果;只有目标项目已经使用中英双语时才输出双语。
20
+
21
+ **长度参考**:和上一个版本 release 的条目数、句子长度、密度匹配。不要自创新格式。
22
+
23
+ ## 对外发文专项检查
24
+
25
+ 公开发文交出去之前,扫三件事:
26
+
27
+ **1. 身份和敏感信号脱敏**:不出现可反推作者身份的细节(雇主、地点、简历式表述)。技术决策可以具体,身份信息默认删。
28
+
29
+ **2. 不踩竞品**:介绍自己产品时不主动贬低同类产品。直接说自己做了什么、为什么。
30
+
31
+ **3. 用户感受先于功能清单**:先给一句场景或感受,再进改动细节。不要开场就列功能。
32
+
33
+ ## 发版前检查
34
+
35
+ - 不出现"不再更新"、"final release"、"停止维护"等终止信号(除非是真实情况)
36
+ - release title 简洁:版本号 + 最核心的改动或主题,不超过 10 个词
37
+ - 中英版本条目数一一对应
38
+ - 建议 5 到 8 条,每条一句话