{"id":"75872dc4-0727-44da-98a0-78ed4c1c0b2a","shortId":"2B8KBk","kind":"skill","title":"coff0xc-software-engineering","tagline":"Use when / 当用户请求: dev, autonomous development, build end-to-end, full-stack feature, one-shot implementation, repo repair, monorepo repair, failing tests, CI failing tests, bugfix, code bug, refactor, scripts, local Git summary, CI failure triage, test reproduction, fast inner lo","description":"# coff0xc-software-engineering\n\n<!-- skill-id: cs-swe-1a4f8c03 -->\n\n## 快速规则（日常任务先读这里）\n> **[先读仓库]** 先看 AGENTS/README、package/lockfile、入口、测试脚本和当前 dirty worktree。\n> **[最小修复]** 只改请求范围；先复现/定位，再小步 patch，不做无关重构和新框架迁移。\n> **[验证闭环]** 先跑目标 test/typecheck/lint/build，再按风险加宽；没跑不能写已验证。\n> **[Git 边界]** 不回滚用户改动；push、PR、删除、生产、凭据、CI/CD 权限先确认。\n\n普通开发任务按本节直接执行；只有大功能、架构/API/schema/auth、CI 发布或 skill 质量验证才展开完整工作流。\n\n## 能力定位\n面向真实仓库的工程交付能力。适合把模糊需求变成可运行代码、可复现修复、可验证测试结果和清晰 diff 摘要。\n\n## 能交付什么\n- 代码补丁、脚本或配置修改\n- 失败原因和根因链路说明\n- 单元/集成/构建验证结果\n- Git diff 摘要和剩余风险\n\n## 可以接收什么输入\n- 本地仓库、报错日志、测试输出、issue 描述\n- 需求草稿、接口说明、UI 截图或现有模块\n- package/lockfile、README、AGENTS、CI 脚本\n\n## 放心使用的边界\n- 可直接做本地、可逆、低风险的代码和测试改动\n- 删除、远程 push、生产配置、凭据、付费服务和 CI/CD 权限变更必须先确认\n- 不为小问题引入新框架或无必要依赖\n- 默认只处理本地、可逆、可验证的低风险工作；涉及生产、凭据、付费、远程写入、删除、发布或权限变更时必须先确认。\n\n## 为什么可以放心\n- 先读项目结构和现有风格，再修改\n- 先跑窄验证，再按风险跑宽验证\n- 未运行的测试不会写成已通过\n\n## 典型使用方式\n```text\n使用 coff0xc-software-engineering 修复这个 repo 的 failing tests，并说明验证结果。\n使用 coff0xc-software-engineering 少问确认，直接实现这个多文件开发任务。\nUse coff0xc-software-engineering to build this admin panel feature end to end with tests.\n```\n\n\n## 目标\n把粗略开发需求落到可运行、可测试、可维护的本地工程改动上。默认少打断用户，先查项目、记录假设、做最小正确改动、跑可用验证，再用证据交付。\n\n## 适用场景\n- 单仓或多模块代码实现、bug 修复、failing tests、脚本编写、局部重构和测试补齐。\n- 需要端到端推进的开发任务：页面、dashboard、admin panel、API、CLI、后台 job、本地工具、集成胶水代码。\n- 仓库跑不起来、构建失败、依赖脚本不清楚、报错链路需要定位。\n- 本地 Git 检查、diff 摘要、提交前候选说明，但不包含 push 或远程状态修改。\n\n## 不适用场景\n- 一行命令、纯解释、简单概念判断：直接回答即可。\n- 纯 AI Agent/RAG/Prompt 架构设计：转入 `coff0xc-ai-agent-rag`；如果任务要求把 Agent/RAG 真正接进应用，本 skill 负责工程实现并调用该 skill 的设计约束。\n- 纯 API/数据库契约设计：转入 `coff0xc-api-data-platform`；如果任务要求实现接口和迁移，本 skill 负责落地。\n- 纯 UI 视觉打磨：转入 `coff0xc-ui-doc-output`；如果任务要求改前端代码，本 skill 负责实现并按 UI 验证要求检查。\n- 安全审计深挖：转入 `coff0xc-secure-code-appsec` 或对应安全 skill。\n\n## 风险分级\n| 等级 | 范围 | 行为 |\n| --- | --- | --- |\n| L0 | 稳定概念、简单命令、无文件改动 | 直接回答或运行显然命令，标注未验证处。 |\n| L1 | 单文件或局部可逆修改 | 查相关文件，最小补丁，跑窄验证。 |\n| L2 | 多文件、多模块、端到端功能 | 给短计划，分模块实现，每个模块后验证和复查。 |\n| L3 | 架构/API/schema/auth/AI/安全敏感逻辑/重大选型 | 查官方或源码证据，定义验证策略，再实现。 |\n| L4 | 生产、凭据、付费、删除、远程写入、push/PR、CI/CD、权限、基础设施 | 停止执行相关动作，先拿明确授权。 |\n\n升级规则：影响面扩大就升级；涉及当前事实、版本、外部 API 或安全结论至少 L3；涉及外部可见或不可逆动作就是 L4。\n\n## 默认行为\n- 能合理推断的低风险细节直接决定，并把它写成假设。\n- 优先遵循仓库已有框架、包管理器、脚本、测试、命名和错误处理风格。\n- 先做局部正确实现，不为未来假设引入新框架、新依赖或并行系统。\n- 不回滚用户未要求回滚的改动；dirty worktree 先读清楚再协作。\n- 命令、测试、构建、lint、浏览器检查只有真实运行后才能写成“已验证”。\n- 同一路线连续失败两次，停止重复，换方案或说明阻塞。\n\n## 默认快路径\n普通开发任务按这个顺序走：\n\n1. 读最小必要上下文：仓库规则、相关入口、已有改动和可用脚本。\n2. 定最小影响面：哪些文件必须改、哪些文件不碰、怎么验证。\n3. 直接实现：小步 patch，不做无关重构和新框架迁移。\n4. 跑可用验证：先窄后宽，能跑 test/typecheck/lint/build/browser smoke 就跑。\n5. 简短收口：完成项、真实验证、剩余风险、下一步。\n\n不要为普通任务创建 quality eval、workflow trace、golden response、长篇 skill graph 或发布检查报告。只有用户明确要求 skill 质量验证、review、eval、发版、推送、CI/benchmark 门禁时，才进入重型门禁。\n\n## 必须先确认\n- 删除文件、drop table、清空缓存、迁移真实数据、force push、修改 main/master、reset hard。\n- push、发布、部署、创建/关闭/评论 PR 或 Issue、发送外部消息。\n- 使用生产凭据、外部账号、付费 API、云资源、CI/CD 权限或基础设施。\n- 修改认证授权、支付、权限模型、生产配置，且风险无法通过本地可逆改动隔离。\n\n## 工作循环\n```text\n恢复上下文 -> 需求包 -> 影响面 -> 短计划 -> 模块循环 -> 集成验证 -> 最终审计 -> 交付\n```\n\n### 1. 恢复上下文\n先查真实项目，不凭记忆猜。\n\n- 读取 `AGENTS.md`、`CLAUDE.md`、README、manifest、lockfile、框架配置、env example、测试脚本；编辑子目录前沿路径读取就近 README/AGENTS/开发说明。\n- 查看 `git status --short`、当前分支和已有改动。\n- 用 `rg --files`、`rg`、语言工具或项目脚本找入口、调用点、测试和构建命令。\n- 如果已有 `task_plan.md`、`progress.md`、`findings.md`，先读并延续。\n- 识别包管理器和工具版本：npm/pnpm/yarn/bun、poetry/uv/pip、cargo、go、maven/gradle、bazel，以及 lockfile 是否应保持原生成工具版本。\n\n完成标准：知道项目类型、可用命令、用户已有改动、主要入口和不能碰的边界。\n\n### 2. 需求包\n不要长时间访谈。把用户需求压成一个可执行包：\n\n| 字段 | 要写清楚什么 |\n| --- | --- |\n| Goal | 最终用户、系统或维护者要能做什么。 |\n| Users / workflow | 主要路径、失败路径、管理员/系统路径。 |\n| Inputs / outputs | 数据、文件、接口、页面、命令、事件或后台任务。 |\n| UI surface | 路由、组件、状态：loading、empty、error、success、disabled。 |\n| API surface | endpoint/action、request/response、validation、auth/permission。 |\n| Data model | entity、关系、迁移、兼容读取、fixture。 |\n| Non-goals | 本轮不做什么，避免范围膨胀。 |\n| Assumptions | 低风险推断及风险等级。 |\n| Acceptance | 功能路径、失败路径、测试、typecheck/lint/build、UI smoke。 |\n| Risk gates | 生产、凭据、付费、远程写入、删除、公开发布、CI/CD 权限。 |\n\n大任务把需求包写进计划或进度文件；小任务可以只在回复或内部计划中保留。\n\n### 3. 影响面定位\n写代码前确认：\n\n- 入口、路由、命令、组件、服务、模型、schema、配置和测试。\n- 调用链、数据流、状态归属、错误路径、权限边界。\n- 需要新增/更新的测试，和可运行的最小验证命令。\n- 是否需要同步文档、示例、类型、schema、迁移或快照。\n\n完成标准：能说清该改哪些文件、为什么改、如何验证。\n\n### 3.5 快速内循环\n成熟大仓通常不是每次都全量 build。先找项目推荐的快速路径，再逐步加宽验证：\n\n- 优先用项目自带 watch、targeted test、filter、workspace 命令、Storybook/component test、package-specific build。\n- 测试失败先保存一次完整输出，再检索错误，不要用不同 grep 反复跑同一重测试。\n- CI 失败复现要尽量匹配 CI mode、env、bundler、isolation、数据库/浏览器配置；不要用本地 shortcuts 掩盖打包或模块解析问题。\n- 子模块改动使用对应包/目录命令；跨模块接口改动再跑集成或全量命令。\n- 如果项目要求生成测试模板、fixture、snapshot、schema 或 docs，优先用项目脚本生成，不手写不一致结构。\n\n### 4. 模块循环\n对每个模块执行完整闭环：\n\n```text\n模块设计 -> 最小实现 -> 窄验证 -> 自审 -> 修正 -> 标记完成\n```\n\n实现要求：\n\n- 使用现有抽象和结构化 API，不靠脆弱字符串拼接处理结构化数据。\n- 不吞异常，不伪造兼容层，不用测试专用逻辑掩盖真实问题。\n- 新依赖必须有明确收益，并符合项目已有依赖习惯。\n- UI 改动要覆盖 loading、empty、error、success、disabled、mobile/desktop 和可访问性基础状态。\n- API/后端改动要覆盖输入校验、错误码、边界条件、认证/授权、日志和敏感信息处理。\n- 数据/schema 改动要考虑迁移、回滚、兼容读取和测试 fixture。\n- 锁文件只在依赖真实变化时更新；再生成 lockfile 前检查原工具和版本，避免纯工具版本造成噪声。\n- 临时设计笔记、日志、实验脚本放到项目允许的位置；如果没有约定，保持本地不提交，最终说明。\n\n### 5. 验证策略\n先窄后宽，按风险加码。\n\n| 变更类型 | 最小验证 | 扩展验证 |\n| --- | --- | --- |\n| Python | `pytest` 相关用例、`ruff check`、类型检查 | 全量测试、包构建 |\n| JS/TS | 相关 test、`lint`、`typecheck` | `build`、browser smoke、e2e |\n| Go | `go test ./...` 或目标包、`gofmt` | race、集成测试 |\n| Rust | `cargo test`、`cargo fmt --check` | `cargo clippy`、release build |\n| Java | 目标 Maven/Gradle test | 全量 build、集成测试 |\n| C/C++ | 目标构建和单测 | sanitizer、valgrind、平台构建 |\n| Shell/PowerShell | 语法检查、dry-run、路径边界 | 最小样例运行 |\n| UI | 本地页面打开、截图/浏览器 smoke、console 检查 | 响应式和关键流程 e2e |\n\n无法验证时说明：缺什么环境、哪个命令没跑、风险是什么、用户下一步可运行什么。\n\n### 5.5 CI / 回归失败分诊\n当用户给 CI、测试、lint、build 或线上回归信号时：\n\n- 先按阻塞程度排序：build/typecheck/lint > 单测 > 集成/e2e > flaky/视觉。\n- 假设失败为真，先复现或用日志定位，不把 known flaky 当作免修理由。\n- 区分新失败、已有失败、平台/环境失败和测试本身错误；每类用不同修复策略。\n- 对同一路线连续失败两次，停止盲跑，回到调用链和最小复现。\n- 修测试前先确认测试覆盖真实行为；不要只改断言迎合错误实现。\n\n### 6. 最终同类审计\n交付前复查完整 diff：\n\n- 是否满足需求包和验收标准。\n- 是否产生重复模型、重复状态、平行实现或死代码。\n- 前后端/API/schema/类型是否对齐。\n- 错误、空状态、边界条件、权限和敏感信息处理是否完整。\n- 测试是否覆盖真实行为，而不只是 happy path。\n- 临时文件、调试日志、硬编码路径、密钥和机器私有信息是否被清理。\n- Git 卫生：只暂存相关文件，不用 `git add .`；不提交本地计划/日志/截图/临时输出，除非用户明确要。\n\n## 高星仓库借鉴的工程门禁\n以下是从成熟开源工程和高星 agent skill 中提炼的通用模式，已改写成本 skill 的执行要求：\n\n| 门禁 | 执行方式 |\n| --- | --- |\n| 本地规则优先 | 任何代码前先读根部和目标路径附近的说明、脚本、锁文件、测试约定。 |\n| 快速反馈 | 使用 target test/watch/filter，先缩小失败面，再跑更宽验证。 |\n| CI 等价复现 | CI 问题要匹配 CI 环境变量、bundler、isolation、数据库、浏览器模式。 |\n| 模块化合并 | 每个模块做完即窄验证和自审，避免最后才发现跨模块断裂。 |\n| 依赖纪律 | 先查现有依赖；新增依赖要有明确收益；锁文件不做工具版本噪声更新。 |\n| 变更卫生 | 只改请求范围；只暂存相关文件；保留用户未要求回滚的改动。 |\n| 真实测试 | 测试覆盖行为和失败路径；不用 snapshot 或 happy path 假装覆盖。 |\n| UI 协作 | 前端实现由本 skill 落地，但必须套用 `coff0xc-ui-doc-output` 的 UI 状态/视觉验收门禁。 |\n\n## Release / Skill 改进自测\n仅当用户要求“确认 dev skill 是否真的好用”“优化开发 skill”“不要只堆触发词”“发版前验证”“推送前跑门禁”时使用。普通 repo repair 不跑这里的质量 eval，除非它就是当前仓库的发版要求。\n\n不要只改 frontmatter。优先用仓库内真实 repair 夹具校准：\n\n- 参考 `evals/quality/cases/dev-repo-repair-ci-gate/`：输入包含 `AGENTS.md`、README、CI 日志、lockfile、源码和失败测试。\n- 合格输出必须有修复后的 `src/billing.py` 和 `repair-notes.md`；如果输出 `requirements.lock`，必须与输入一致，除非依赖真实变化。\n- `repair-notes.md` 要能证明：Need Package、fast inner loop、CI 线索、pytest 验证、root cause 和 lockfile discipline。\n- 运行 `python .\\scripts\\run_quality_eval.py` 检查夹具完整性；有真实 agent 输出时运行 `python .\\scripts\\run_quality_eval.py --responses-dir .\\evals\\quality\\responses`。runner 会加载候选 `billing.py` 做行为断言，避免只靠关键词假通过。\n- 质量 eval 是最小行为基准，不替代真实项目的 typecheck、lint、build、browser smoke 或 CI。\n\n## 子域路由\n| 来源 skill | 并入后的处理方式 |\n| --- | --- |\n| dev | 端到端开发、少确认推进、模块循环、集成验证和最终审计。 |\n| python-dev | Python 项目、脚本、包管理、typing、ruff/pytest/uv。 |\n| js-ts-dev | Node、React、TS、前端/后端 JS、npm/pnpm/yarn。 |\n| go-dev | Go module、gofmt、go test、并发和接口设计。 |\n| rust-dev | Cargo、borrow/lifetime、trait、clippy、测试。 |\n| java-dev | Maven/Gradle、Spring、JVM 测试和类型接口。 |\n| c-cpp-dev | C/C++ 构建、CMake/Make、内存安全和本地测试。 |\n| shell-scripting | PowerShell/Bash 自动化、路径安全、可重复运行脚本。 |\n| testing | 测试策略、覆盖缺口、回归用例和验证命令。 |\n| code-simplifier | 局部简化、去重、可读性和复杂度降低。 |\n| git-workflow | 本地 Git 检查、diff 解释、提交前准备。 |\n\n## 证据等级\n- 已验证：本地命令、测试、构建、源码、配置、日志、官方资料或可复现数据支持。\n- 高可信：多个可靠来源一致，但当前环境没有完整复现。\n- 推断：基于已验证事实的合理判断，需要后续验证。\n- 未验证：尚未确认，不能作为最终结论。\n- 未知：资料不足，需要补充输入或授权。\n\n## 反模式\n- 没读项目就按通用模板改。\n- 小问题引入新框架、大抽象或额外服务。\n- 只改测试不修逻辑，或只修表象不定位根因。\n- 为了“兼容”吞异常、隐藏失败或返回假成功。\n- 把未运行的命令写成已通过。\n- 在用户未授权时删除、push、发布或修改远程状态。\n\n## 输出合同\n最终回复只保留高信号内容：\n\n```markdown\n完成：\n- ...\n\n验证：\n- [已验证] ...\n- [未验证] ...\n\n还剩：\n- ...\n\n下一步：\n- ...\n```\n\n失败时使用：\n\n```markdown\n失败命令 / 动作：\n错误信息：\n已排除：\n可能原因：\n下一步：\n```\n\n## 手动触发\n- `使用 coff0xc-software-engineering 修复这个 repo 的 failing tests，并说明验证结果`\n- `Use coff0xc-software-engineering to build this feature end to end with tests`\n- `使用 coff0xc-software-engineering 少问确认，直接实现这个多文件开发任务`","tags":["coff0xc","software","engineering","coffee","skill","agent-skills","ai-agents","appsec","codex","defensive-security","devsecops","office-docs"],"capabilities":["skill","source-coff0xc","skill-coff0xc-software-engineering","topic-agent-skills","topic-ai-agents","topic-appsec","topic-codex","topic-defensive-security","topic-devsecops","topic-office-docs","topic-prompt-engineering","topic-rag","topic-security-tools","topic-skills"],"categories":["coffee-skill"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Coff0xc/coffee-skill/coff0xc-software-engineering","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Coff0xc/coffee-skill","source_repo":"https://github.com/Coff0xc/coffee-skill","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 11 github stars · SKILL.md body (8,446 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:07:31.539Z","embedding":null,"createdAt":"2026-05-18T13:12:45.284Z","updatedAt":"2026-05-18T19:07:31.539Z","lastSeenAt":"2026-05-18T19:07:31.539Z","tsv":"'/api/schema':825 '/api/schema/auth':88 '/api/schema/auth/ai':315 '/e2e':797 '/schema':694 '1':369,462 '2':374,511 '3':379,583 '3.5':611 '4':384,658 '5':391,710 '5.5':784 '6':816 'accept':564 'add':844 'admin':181,210 'agent':122,244,852,979 'agent/rag':247 'agent/rag/prompt':238 'agents.md':467,943 'agents/readme':57 'ai':237,243 'api':212,255,260,338,443,544,670,686 'appsec':288 'assumpt':562 'auth/permission':549 'autonom':9 'bazel':502 'billing.py':992 'borrow/lifetime':1048 'browser':731,1002 'bug':35,201 'bugfix':33 'build':11,179,614,629,730,750,756,791,1001,1163 'build/typecheck/lint':794 'bundler':640,877 'c':1060 'c-cpp-dev':1059 'c/c':758,1063 'cargo':499,742,744,747,1047 'caus':969 'check':721,746 'ci':30,41,89,123,635,637,785,788,871,873,875,945,964,1005 'ci/benchmark':415 'ci/cd':83,135,328,445,579 'claude.md':468 'cli':213 'clippi':748,1050 'cmake/make':1065 'code':34,287,1079 'code-simplifi':1078 'coff0xc':2,50,157,168,175,242,259,272,285,907,1148,1159,1173 'coff0xc-ai-agent-rag':241 'coff0xc-api-data-platform':258 'coff0xc-secure-code-appsec':284 'coff0xc-software-engineering':1,49,156,167,174,1147,1158,1172 'coff0xc-ui-doc-output':271,906 'consol':775 'cpp':1061 'dashboard':209 'data':261,550 'dev':8,920,1010,1017,1027,1037,1046,1054,1062 'develop':10 'diff':98,108,225,819,1090 'dir':986 'dirti':61,355 'disabl':543,683 'disciplin':972 'doc':274,655,909 'dri':766 'drop':420 'dry-run':765 'e2e':733,778 'empti':540,680 'end':13,15,184,186,1166,1168 'end-to-end':12 'endpoint/action':546 'engin':4,52,159,170,177,1150,1161,1175 'entiti':552 'env':473,639 'error':541,681 'eval':399,412,933,987,996 'evals/quality/cases/dev-repo-repair-ci-gate':941 'exampl':474 'fail':28,31,163,203,1154 'failur':42 'fast':46,961 'featur':19,183,1165 'file':486 'filter':621 'findings.md':494 'fixtur':556,651,698 'flaki':798,804 'fmt':745 'forc':424 'frontmatt':936 'full':17 'full-stack':16 'gate':572 'git':39,75,107,223,480,839,843,1085,1088 'git-workflow':1084 'go':500,734,735,1036,1038,1041 'go-dev':1035 'goal':517,559 'gofmt':738,1040 'golden':402 'graph':406 'grep':633 'happi':833,897 'hard':429 'implement':23 'inner':47,962 'input':526 'isol':641,878 'issu':114,438 'java':751,1053 'java-dev':1052 'job':215 'js':1025,1033 'js-ts-dev':1024 'js/ts':725 'jvm':1057 'known':803 'l0':295 'l1':301 'l2':306 'l3':313,340 'l4':321,342 'lint':361,728,790,1000 'lo':48 'load':539,679 'local':38 'lockfil':471,504,701,947,971 'loop':963 'main/master':427 'manifest':470 'markdown':1130,1138 'maven/gradle':501,753,1055 'mobile/desktop':684 'mode':638 'model':551 'modul':1039 'monorepo':26 'need':959 'node':1028 'non':558 'non-goal':557 'npm/pnpm/yarn':1034 'npm/pnpm/yarn/bun':497 'one':21 'one-shot':20 'output':275,527,910 'packag':627,960 'package-specif':626 'package/lockfile':58,120 'panel':182,211 'patch':68,382 'path':834,898 'platform':262 'poetry/uv/pip':498 'powershell/bash':1070 'pr':79,436 'progress.md':493 'push':78,131,229,425,430,1126 'push/pr':327 'pytest':718,966 'python':717,974,981,1016,1018 'python-dev':1015 'qualiti':398,988 'race':739 'rag':245 'react':1029 'readm':121,469,944 'readme/agents':477 'refactor':36 'releas':749,915 'repair':25,27,931,938 'repair-notes.md':952,957 'repo':24,161,930,1152 'reproduct':45 'request/response':547 'requirements.lock':954 'reset':428 'respons':403,985,989 'responses-dir':984 'review':411 'rg':485,487 'risk':571 'root':968 'ruff':720 'ruff/pytest/uv':1023 'run':767 'run_quality_eval.py':976,983 'runner':990 'rust':741,1045 'rust-dev':1044 'sanit':760 'schema':592,605,653 'script':37,975,982,1069 'secur':286 'shell':1068 'shell-script':1067 'shell/powershell':763 'short':482 'shortcut':645 'shot':22 'simplifi':1080 'skill':91,250,252,265,278,290,405,409,853,856,903,916,921,924,1008 'skill-coff0xc-software-engineering' 'smoke':389,570,732,774,1003 'snapshot':652,895 'softwar':3,51,158,169,176,1149,1160,1174 'source-coff0xc' 'specif':628 'spring':1056 'src/billing.py':950 'stack':18 'status':481 'storybook/component':624 'success':542,682 'summari':40 'surfac':535,545 'tabl':421 'target':619,867 'task_plan.md':492 'test':29,32,44,164,188,204,620,625,727,736,743,754,1042,1074,1155,1170 'test/typecheck/lint/build':72 'test/typecheck/lint/build/browser':388 'test/watch/filter':868 'text':154,453,661 'topic-agent-skills' 'topic-ai-agents' 'topic-appsec' 'topic-codex' 'topic-defensive-security' 'topic-devsecops' 'topic-office-docs' 'topic-prompt-engineering' 'topic-rag' 'topic-security-tools' 'topic-skills' 'trace':401 'trait':1049 'triag':43 'ts':1026,1030 'type':1022 'typecheck':729,999 'typecheck/lint/build':568 'ui':118,268,273,280,534,569,677,770,900,908,912 'use':5,173,1157 'user':520 'valgrind':761 'valid':548 'watch':618 'workflow':400,521,1086 'workspac':622 'worktre':62,356 '一行命令':232 '下一步':396,1136,1144 '不为小问题引入新框架或无必要依赖':137 '不为未来假设引入新框架':352 '不伪造兼容层':673 '不做无关重构和新框架迁移':69,383 '不凭记忆猜':465 '不吞异常':672 '不回滚用户改动':77 '不回滚用户未要求回滚的改动':354 '不手写不一致结构':657 '不把':802 '不提交本地计划':845 '不替代真实项目的':998 '不用':842,894 '不用测试专用逻辑掩盖真实问题':674 '不能作为最终结论':1110 '不要为普通任务创建':397 '不要只堆触发词':925 '不要只改':935 '不要只改断言迎合错误实现':815 '不要用不同':632 '不要用本地':644 '不要长时间访谈':513 '不跑这里的质量':932 '不适用场景':231 '不靠脆弱字符串拼接处理结构化数据':671 '且风险无法通过本地可逆改动隔离':451 '中提炼的通用模式':854 '临时文件':835 '临时设计笔记':704 '临时输出':848 '为了':1120 '为什么可以放心':147 '为什么改':609 '主要入口和不能碰的边界':510 '主要路径':522 '事件或后台任务':533 '云资源':444 '交付':461 '交付前复查完整':818 '仅当用户要求':918 '仓库规则':371 '仓库跑不起来':218 '付费':143,324,442,575 '付费服务和':134 '代码补丁':101 '以下是从成熟开源工程和高星':851 '以及':503 '任何代码前先读根部和目标路径附近的说明':861 '优先用仓库内真实':937 '优先用项目脚本生成':656 '优先用项目自带':617 '优先遵循仓库已有框架':346 '优化开发':923 '会加载候选':991 '但不包含':228 '但当前环境没有完整复现':1104 '但必须套用':905 '低风险推断及风险等级':563 '低风险的代码和测试改动':128 '使用':155,166,866,1146,1171 '使用现有抽象和结构化':669 '使用生产凭据':440 '依赖纪律':884 '依赖脚本不清楚':220 '保持本地不提交':708 '保留用户未要求回滚的改动':891 '修复':202 '修复这个':160,1151 '修改':426 '修改认证授权':447 '修正':666 '修测试前先确认测试覆盖真实行为':814 '假装覆盖':899 '假设失败为真':800 '做最小正确改动':196 '做行为断言':993 '停止执行相关动作':331 '停止盲跑':812 '停止重复':365 '先做局部正确实现':351 '先复现':65 '先复现或用日志定位':801 '先找项目推荐的快速路径':615 '先拿明确授权':332 '先按阻塞程度排序':793 '先查现有依赖':885 '先查真实项目':464 '先查项目':194 '先看':56 '先窄后宽':386,712 '先缩小失败面':869 '先读仓库':55 '先读并延续':495 '先读清楚再协作':357 '先读项目结构和现有风格':148 '先跑目标':71 '先跑窄验证':150 '入口':59,586 '全量':755 '全量测试':723 '公开发布':578 '关系':553 '关闭':434 '典型使用方式':153 '兼容':1121 '兼容读取':555 '兼容读取和测试':697 '内存安全和本地测试':1066 '再修改':149 '再实现':320 '再小步':67 '再按风险加宽':73 '再按风险跑宽验证':151 '再检索错误':631 '再生成':700 '再用证据交付':198 '再跑更宽验证':870 '再逐步加宽验证':616 '写代码前确认':585 '凭据':82,133,142,323,574 '分模块实现':311 '创建':433 '删除':80,129,145,325,577 '删除文件':419 '前后端':824 '前检查原工具和版本':702 '前端':1031 '前端实现由本':902 '剩余风险':395 '功能路径':565 '动作':1140 '包构建':724 '包管理':1021 '包管理器':347 '区分新失败':806 '升级规则':333 '协作':901 '单仓或多模块代码实现':200 '单元':104 '单文件或局部可逆修改':302 '单测':795 '卫生':840 '去重':1082 '参考':940 '反复跑同一重测试':634 '反模式':1114 '发布':431 '发布或':90 '发布或修改远程状态':1127 '发布或权限变更时必须先确认':146 '发版':413 '发版前验证':926 '发送外部消息':439 '变更卫生':888 '变更类型':714 '只改测试不修逻辑':1118 '只改请求范围':64,889 '只暂存相关文件':841,890 '只有大功能':86 '只有用户明确要求':408 '可以接收什么输入':110 '可复现修复':96 '可测试':191 '可用命令':508 '可直接做本地':126 '可维护的本地工程改动上':192 '可能原因':1143 '可读性和复杂度降低':1083 '可逆':127,139 '可重复运行脚本':1073 '可验证测试结果和清晰':97 '可验证的低风险工作':140 '合格输出必须有修复后的':949 '同一路线连续失败两次':364 '后台':214 '后端':1032 '后端改动要覆盖输入校验':687 '吞异常':1122 '命令':358,532,588,623 '命名和错误处理风格':350 '和':951,970 '和可访问性基础状态':685 '和可运行的最小验证命令':601 '响应式和关键流程':777 '哪个命令没跑':781 '哪些文件不碰':377 '哪些文件必须改':376 '回到调用链和最小复现':813 '回归失败分诊':786 '回归用例和验证命令':1077 '回滚':696 '在用户未授权时删除':1125 '基于已验证事实的合理判断':1106 '基础设施':330 '外部':337 '外部账号':441 '多个可靠来源一致':1103 '多文件':307 '多模块':308 '大任务把需求包写进计划或进度文件':581 '大抽象或额外服务':1117 '失败原因和根因链路说明':103 '失败命令':1139 '失败复现要尽量匹配':636 '失败时使用':1137 '失败路径':523,566 '夹具校准':939 '如何验证':610 '如果任务要求实现接口和迁移':263 '如果任务要求把':246 '如果任务要求改前端代码':276 '如果已有':491 '如果没有约定':707 '如果输出':953 '如果项目要求生成测试模板':650 '子域路由':1006 '子模块改动使用对应包':647 '字段':515 '安全审计深挖':282 '安全敏感逻辑':316 '完成':1131 '完成标准':506,607 '完成项':393 '官方资料或可复现数据支持':1101 '定义验证策略':319 '定位':66 '定最小影响面':375 '实现要求':668 '实验脚本放到项目允许的位置':706 '密钥和机器私有信息是否被清理':838 '对同一路线连续失败两次':811 '对每个模块执行完整闭环':660 '小任务可以只在回复或内部计划中保留':582 '小步':381 '小问题引入新框架':1116 '少确认推进':1012 '少问确认':171,1176 '尚未确认':1109 '就跑':390 '局部简化':1081 '局部重构和测试补齐':206 '工作循环':452 '已排除':1142 '已改写成本':855 '已有失败':807 '已有改动和可用脚本':373 '已验证':363,1094,1133 '平台':808 '平台构建':762 '平行实现或死代码':823 '并入后的处理方式':1009 '并发和接口设计':1043 '并把它写成假设':345 '并符合项目已有依赖习惯':676 '并说明验证结果':165,1156 '开发说明':478 '当作免修理由':805 '当前分支和已有改动':483 '当用户给':787 '当用户请求':7 '影响面':456 '影响面定位':584 '影响面扩大就升级':334 '必须与输入一致':955 '必须先确认':418 '快速内循环':612 '快速反馈':865 '快速规则':53 '怎么验证':378 '恢复上下文':454,463 '成熟大仓通常不是每次都全量':613 '或':437,654,896,1004 '或发布检查报告':407 '或只修表象不定位根因':1119 '或安全结论至少':339 '或对应安全':289 '或目标包':737 '或线上回归信号时':792 '或远程状态修改':230 '截图':772,847 '截图或现有模块':119 '手动触发':1145 '才进入重型门禁':417 '执行方式':859 '扩展验证':716 '把未运行的命令写成已通过':1124 '把用户需求压成一个可执行包':514 '把粗略开发需求落到可运行':190 '报错日志':112 '报错链路需要定位':221 '按风险加码':713 '换方案或说明阻塞':366 '授权':691 '接口':530 '接口说明':117 '推断':1105 '推送':414 '推送前跑门禁':927 '掩盖打包或模块解析问题':646 '描述':115 '提交前候选说明':227 '提交前准备':1092 '摘要':99,226 '摘要和剩余风险':109 '支付':448 '改动要考虑迁移':695 '改动要覆盖':678 '改进自测':917 '放心使用的边界':125 '数据':528,693 '数据库':642,879 '数据库契约设计':256 '数据流':595 '文件':529 '新依赖必须有明确收益':675 '新依赖或并行系统':353 '新增依赖要有明确收益':886 '无文件改动':298 '无法验证时说明':779 '日常任务先读这里':54 '日志':705,846,946,1100 '日志和敏感信息处理':692 '时使用':928 '是否产生重复模型':821 '是否应保持原生成工具版本':505 '是否满足需求包和验收标准':820 '是否真的好用':922 '是否需要同步文档':602 '是最小行为基准':997 '普通':929 '普通开发任务按本节直接执行':85 '普通开发任务按这个顺序走':368 '更新的测试':600 '最小修复':63 '最小实现':663 '最小样例运行':769 '最小补丁':304 '最小验证':715 '最终同类审计':817 '最终回复只保留高信号内容':1129 '最终审计':460 '最终用户':518 '最终说明':709 '有真实':978 '服务':590 '未知':1111 '未运行的测试不会写成已通过':152 '未验证':1108,1134 '本':249,264,277 '本地':222,1087 '本地仓库':111 '本地命令':1095 '本地工具':216 '本地规则优先':860 '本地页面打开':771 '本轮不做什么':560 '权限':329,580 '权限先确认':84 '权限变更必须先确认':136 '权限和敏感信息处理是否完整':830 '权限或基础设施':446 '权限模型':449 '权限边界':598 '来源':1007 '构建':360,1064,1097 '构建失败':219 '构建验证结果':106 '架构':87,314 '架构设计':239 '查官方或源码证据':318 '查相关文件':303 '查看':479 '标注未验证处':300 '标记完成':667 '框架配置':472 '检查':224,776,1089 '检查夹具完整性':977 '模块化合并':881 '模块循环':458,659,1013 '模块设计':662 '模型':591 '每个模块做完即窄验证和自审':882 '每个模块后验证和复查':312 '每类用不同修复策略':810 '没读项目就按通用模板改':1115 '没跑不能写已验证':74 '测试':349,359,567,789,1051,1096 '测试和构建命令':490 '测试和类型接口':1058 '测试失败先保存一次完整输出':630 '测试是否覆盖真实行为':831 '测试策略':1075 '测试约定':864 '测试脚本':475 '测试脚本和当前':60 '测试覆盖行为和失败路径':893 '测试输出':113 '浏览器':773 '浏览器检查只有真实运行后才能写成':362 '浏览器模式':880 '浏览器配置':643 '涉及外部可见或不可逆动作就是':341 '涉及当前事实':335 '涉及生产':141 '清空缓存':422 '源码':1098 '源码和失败测试':948 '版本':336 '状态':538,913 '状态归属':596 '环境变量':876 '环境失败和测试本身错误':809 '生产':81,322,573 '生产配置':132,450 '用':484 '用户下一步可运行什么':783 '用户已有改动':509 '的':162,911,1153 '的执行要求':857 '的设计约束':253 '目录命令':648 '目标':189,752 '目标构建和单测':759 '直接回答即可':235 '直接回答或运行显然命令':299 '直接实现':380 '直接实现这个多文件开发任务':172,1177 '相关':726 '相关入口':372 '相关用例':719 '真实测试':892 '真实验证':394 '真正接进应用':248 '知道项目类型':507 '短计划':457 '硬编码路径':837 '确认':919 '示例':603 '稳定概念':296 '空状态':828 '窄验证':664 '端到端功能':309 '端到端开发':1011 '等价复现':872 '等级':292 '简单命令':297 '简单概念判断':234 '简短收口':392 '管理员':524 '类型':604 '类型是否对齐':826 '类型检查':722 '系统或维护者要能做什么':519 '系统路径':525 '纯':236,254,267 '纯解释':233 '线索':965 '组件':537,589 '给短计划':310 '编辑子目录前沿路径读取就近':476 '缺什么环境':780 '而不只是':832 '能交付什么':100 '能力定位':93 '能合理推断的低风险细节直接决定':344 '能说清该改哪些文件':608 '能跑':387 '脚本':124,348,862,1020 '脚本或配置修改':102 '脚本编写':205 '自动化':1071 '自审':665 '范围':293 '落地':904 '行为':294 '要写清楚什么':516 '要能证明':958 '覆盖缺口':1076 '视觉':799 '视觉打磨':269 '视觉验收门禁':914 '解释':1091 '认证':690 '记录假设':195 '证据等级':1093 '评论':435 '识别包管理器和工具版本':496 '语法检查':764 '语言工具或项目脚本找入口':488 '读取':466 '读最小必要上下文':370 '调用点':489 '调用链':594 '调试日志':836 '负责实现并按':279 '负责工程实现并调用该':251 '负责落地':266 '质量':995 '质量验证':410 '质量验证才展开完整工作流':92 '资料不足':1112 '跑可用验证':197,385 '跑窄验证':305 '跨模块接口改动再跑集成或全量命令':649 '路径安全':1072 '路径边界':768 '路由':536,587 '转入':240,257,270,283 '输入包含':942 '输出合同':1128 '输出时运行':980 '边界':76 '边界条件':689,829 '迁移':554 '迁移或快照':606 '迁移真实数据':423 '运行':973 '还剩':1135 '远程':130 '远程写入':144,326,576 '适合把模糊需求变成可运行代码':95 '适用场景':199 '避免只靠关键词假通过':994 '避免最后才发现跨模块断裂':883 '避免纯工具版本造成噪声':703 '避免范围膨胀':561 '部署':432 '配置':1099 '配置和测试':593 '重复状态':822 '重大选型':317 '锁文件':863 '锁文件不做工具版本噪声更新':887 '锁文件只在依赖真实变化时更新':699 '错误':827 '错误信息':1141 '错误码':688 '错误路径':597 '长篇':404 '门禁':858 '门禁时':416 '问题要匹配':874 '除非依赖真实变化':956 '除非它就是当前仓库的发版要求':934 '除非用户明确要':849 '隐藏失败或返回假成功':1123 '集成':105,796 '集成测试':740,757 '集成胶水代码':217 '集成验证':459 '集成验证和最终审计':1014 '需求包':455,512 '需求草稿':116 '需要后续验证':1107 '需要新增':599 '需要端到端推进的开发任务':207 '需要补充输入或授权':1113 '面向真实仓库的工程交付能力':94 '页面':208,531 '项目':1019 '风险分级':291 '风险是什么':782 '验证':967,1132 '验证策略':711 '验证要求检查':281 '验证闭环':70 '高可信':1102 '高星仓库借鉴的工程门禁':850 '默认只处理本地':138 '默认少打断用户':193 '默认快路径':367 '默认行为':343","prices":[{"id":"2d607405-cc3b-406c-925c-32dd6dc10498","listingId":"75872dc4-0727-44da-98a0-78ed4c1c0b2a","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Coff0xc","category":"coffee-skill","install_from":"skills.sh"},"createdAt":"2026-05-18T13:12:45.284Z"}],"sources":[{"listingId":"75872dc4-0727-44da-98a0-78ed4c1c0b2a","source":"github","sourceId":"Coff0xc/coffee-skill/coff0xc-software-engineering","sourceUrl":"https://github.com/Coff0xc/coffee-skill/tree/main/skills/coff0xc-software-engineering","isPrimary":false,"firstSeenAt":"2026-05-18T13:12:45.284Z","lastSeenAt":"2026-05-18T19:07:31.539Z"}],"details":{"listingId":"75872dc4-0727-44da-98a0-78ed4c1c0b2a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Coff0xc","slug":"coff0xc-software-engineering","github":{"repo":"Coff0xc/coffee-skill","stars":11,"topics":["agent-skills","ai-agents","appsec","codex","defensive-security","devsecops","office-docs","prompt-engineering","rag","security-tools","skills"],"license":"other","html_url":"https://github.com/Coff0xc/coffee-skill","pushed_at":"2026-05-17T11:03:26Z","description":"Installable Codex/AgentSkills workflow pack for dev, Agent/RAG, API/data, Office artifacts, research diagrams, and authorized security review.","skill_md_sha":"cb198429ccb545cd72f89616c6c2eb51280c839e","skill_md_path":"skills/coff0xc-software-engineering/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Coff0xc/coffee-skill/tree/main/skills/coff0xc-software-engineering"},"layout":"multi","source":"github","category":"coffee-skill","frontmatter":{"name":"coff0xc-software-engineering","description":"Use when / 当用户请求: dev, autonomous development, build end-to-end, full-stack feature, one-shot implementation, repo repair, monorepo repair, failing tests, CI failing tests, bugfix, code bug, refactor, scripts, local Git summary, CI failure triage, test reproduction, fast inner loop, need package, module loop, integration verification, browser smoke, diff hygiene, lockfile discipline, Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, Shell, dashboard/admin/API implementation, usage ledger, platform feature, 最小修复、证明好了、仓库跑不起来、多文件开发、全栈功能、平台开发、代码 bug、修 API、少问确认、直接实现、先读仓库规则、快速内循环、复现 CI、模块化实现、最终审计、只暂存相关文件。 Covered source aliases / 来源别名: dev, c-cpp-dev, code-simplifier, git-workflow, go-dev, java-dev, js-ts-dev, python-dev, rust-dev, shell-scripting, testing. Capability domains / 能力域: 自主开发, 语言实现, 缺陷修复, 特性开发, 重构简化, 测试体系, 构建质量, Git 协作. If this skill does not auto-trigger, user can manually invoke: 使用 coff0xc-software-engineering."},"skills_sh_url":"https://skills.sh/Coff0xc/coffee-skill/coff0xc-software-engineering"},"updatedAt":"2026-05-18T19:07:31.539Z"}}