skills/bug-generator/SKILL.md
Bug制造机。当用户想要在代码中植入难以发现的bug、创建静默失败、边界陷阱、并发陷阱时使用。触发词:植入bug、加bug、制造bug、添加bug、藏bug、埋bug、埋下陷阱、难以发现的bug、看似正常但有问题的代码。
npx skillsauth add honunu/moyu bug-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
在代码中植入精心设计的bug,让你在团队中变得"不可或缺"。
代码看起来正常运行,实际上悄悄做了错误的事情。
特点:
植入原则:
在边界条件下触发问题,平时测试完全正常。
特点:
>= 和 > 傻傻分不清植入原则:
子类覆盖父类方法但行为不一致。
特点:
super() 调用被"不小心"遗漏植入原则:
线程安全问题,平时跑测试完全正常。
特点:
++ 操作不是原子性的植入原则:
利用动态类型语言或弱类型语言的特性。
特点:
植入原则:
业务逻辑中的微妙错误。
特点:
植入原则:
确认用户提供了要植入bug的代码(内联或文件路径)
根据代码特征和用户需求,选择合适的bug类型:
| 代码特征 | 推荐Bug类型 | |---------|------------| | 核心业务逻辑 | 静默失败型、逻辑陷阱 | | 数组/循环处理 | 边界陷阱 | | 有继承关系的类 | 继承噩梦 | | 并发/多线程代码 | 并发陷阱 | | 跨语言数据交换 | 类型混淆 | | API接口处理 | 类型混淆、静默失败 |
核心要求:
高明技巧:
植入的Bug必须:
绝对不能:
| 等级 | 发现难度 | 适用场景 | |-----|---------|---------| | 入门级 | 单次测试可能发现 | 新手练习 | | 普通级 | 需要仔细看代码 | 日常摸鱼 | | 专家级 | 需要业务场景测试 | 保护核心代码 | | 大师级 | 需要高并发/极端情况 | 终极摸鱼 |
development
# 屎山代码生成器 (Shit Code Generator) > 让你的代码变成祖传遗产,后人维护时怀疑人生 --- ## 核心原则 ### 1. 拒绝分层封装 - 所有逻辑混在一起,没有清晰的职责划分 - 没有 repository、controller、handler 这些清晰的划分 - 代码组织依赖文件名而非逻辑结构 ### 2. 过程代码为主 - 业务逻辑直接写在模块顶部函数里 - 大量重复代码,不抽取公共函数 - 不同功能混在一起,没有模块化思想 ### 3. 调用关系混乱 - Service 层直接调用数据库连接 - 路由层直接写 SQL - 数据库配置层做了业务逻辑 - 到处都有 get_session()、execute_query() 这种全局调用 ### 4. 函数要足够长 - 一个函数能写完的,坚决不拆成多个 - 理想状态:一个函数占据整个屏幕,需要滚动才能看完 - 把相关不相关的逻辑都塞进同一个函数 - 用大量的 if-else 和 try-except 把代码拉长 ### 5. 无脑使用函数式 - 能用 lambda 的地方坚决用 lambd
tools
过度工程化引擎。当用户想要把简单代码过度复杂化、用100个类做加法、引入不必要的抽象层级、创建看似专业实则过度设计的代码结构时使用。触发词:过度工程化、过度设计、过度抽象、用100个类、写一个计算器需要20个文件、抽象层级、工厂的工厂、过度设计一个简单功能。
development
CRUD代码生成器。当用户想要生成增删改查(CRUD)代码、REST API、数据库操作代码时使用。触发词:生成CRUD、创建增删改查、生成API、生成REST接口、数据库CRUD、curd代码生成。
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.