WorkshopLite
守望先锋工坊/创意工坊/OW 工坊触发:Overwatch Workshop `.ow` 代码生成、审查、调试与校验。
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installFiles included (200)
- SKILL.md4.7 KB
- .claude-plugin/marketplace.json663 B
- .github/ISSUE_TEMPLATE/bug_report.yml1.5 KB
- .github/ISSUE_TEMPLATE/config.yml227 B
- .github/ISSUE_TEMPLATE/feature_request.yml633 B
- .github/release.yml183 B
- .github/workflows/check.yml831 B
- .gitignore372 B
- agents/openai.yaml366 B
- assets/workshop-lite-large.svg959 B
- assets/workshop-lite-small.svg481 B
- CHANGELOG.md122.1 KB
- data/abilities.tsv6.9 KB
- data/ability-damage.tsv3.4 KB
- data/ability-stats.tsv16.8 KB
- data/ability-values.tsv905.4 KB
- data/action-blocks.tsv128.0 KB
- data/action-tags.tsv11.9 KB
- data/arg-counts-from-corpus.tsv7.9 KB
- data/bare-ok.tsv14.7 KB
- data/behavior-notes.tsv3.1 KB
- data/buttons.tsv292 B
- data/defaults-full.tsv105.6 KB
- data/defaults.tsv31.2 KB
- data/dropdown-aliases.tsv122.7 KB
- data/dropdown-options.tsv27.6 KB
- data/dropdowns.tsv8.9 KB
- data/element-completeness.tsv90.2 KB
- data/element-docs.tsv56.0 KB
- data/element-kinds.tsv11.8 KB
- data/element-types.tsv14.9 KB
- data/enum-values.tsv25.1 KB
- data/enums.md6.0 KB
- data/errors-full.tsv50.7 KB
- data/errors.tsv10.6 KB
- data/event-param-words.tsv185 B
- data/event-params.tsv476 B
- data/events.tsv368 B
- data/extension-values.tsv17.2 KB
- data/extensions.tsv274 B
- data/format-spec-corpus.tsv64.1 KB
- data/global-passives.tsv618 B
- data/hero-dropdown-options.tsv207 B
- data/hero-official-keys.tsv108.5 KB
- data/hero-page-entries.tsv293.7 KB
- data/hero-pages.tsv165.1 KB
- data/hero-safe-keys.tsv952 B
- data/hero-schemas.tsv6.0 KB
- data/hero-setting-names.tsv112.5 KB
- data/hero-stats.tsv70.9 KB
- data/hero-visible-keys.tsv116.8 KB
- data/heroes.tsv1.3 KB
- data/importer-verified.tsv279 B
- data/key-map.tsv53.2 KB
- data/key-parent-layers.tsv636 B
- data/limits-mutex.tsv5.3 KB
- data/lobby-keys.tsv1.3 KB
- data/lobby-values.tsv1.4 KB
- data/map-codes-derived.tsv14.0 KB
- data/map-codes.tsv485 B
- data/map-known-bugs.tsv255 B
- data/map-not-in-editor.tsv488 B
- data/map-pools.tsv13.8 KB
- data/map-time-variants.tsv1.7 KB
- data/map-traits.tsv283 B
- data/map-variants-verified.tsv419 B
- data/map-variants.tsv14.0 KB
- data/maps.tsv13.2 KB
- data/meta.json177 B
- data/mode-list.tsv1.4 KB
- data/mode-names.tsv474 B
- data/mode-pages.tsv115.8 KB
- data/mode-schemas.tsv7.7 KB
- data/panel-calibration.tsv628 B
- data/param-docs.tsv115.0 KB
- data/param-exceptions.tsv2.4 KB
- data/param-options.tsv42.9 KB
- data/schema-keys.tsv22.6 KB
- data/setting-aliases.tsv922 B
- data/setting-compat.tsv447 B
- data/setting-keys.tsv31.0 KB
- data/setting-ranges-lobby.tsv587 B
- data/setting-ranges.tsv17.2 KB
- data/setting-schemas.tsv23.0 KB
- data/setting-values.tsv2.3 KB
- data/settings-blocks/bounty_hunter.ow419 B
- data/settings-blocks/control_occupation.ow469 B
- data/settings-blocks/deathmatch.ow618 B
- data/settings-blocks/escort.ow469 B
- data/settings-blocks/hall.ow680 B
- data/settings-blocks/hero_level.ow97 B
- data/settings-blocks/push.ow469 B
- data/settings-blocks/README.md1.4 KB
- data/settings-blocks/team.ow571 B
- data/settings-page-entries.tsv705.7 KB
- data/settings-pages.tsv57.6 KB
- data/settings-sections.tsv1.6 KB
- data/settings.tsv18.1 KB
- data/signatures.md24.2 KB
- data/strings.md6.0 KB
- data/value-words.tsv46.5 KB
- data/var-registry.tsv163.2 KB
- data/verified-keys.tsv935 B
- data/word-lists.tsv4.4 KB
- docs/acceptance-flow.md10.2 KB
- docs/basics.md3.5 KB
- docs/cost-patterns.md5.4 KB
- docs/diagnostics.md7.4 KB
- docs/ecosystem.md5.4 KB
- docs/element-count.md24.8 KB
- docs/errors.md60.7 KB
- docs/extensions.md5.6 KB
- docs/format-spec.md23.9 KB
- docs/hero-quickref.md3.5 KB
- docs/hero-stats.md11.7 KB
- docs/INDEX.md8.0 KB
- docs/limits.md19.7 KB
- docs/patterns.md9.0 KB
- docs/pitfalls-export.md8.6 KB
- docs/pitfalls-map.md12.8 KB
- docs/pitfalls-runtime.md35.1 KB
- docs/pitfalls-syntax.md7.4 KB
- docs/pitfalls.md11.4 KB
- docs/probe-spec.md11.6 KB
- docs/quickstart.md4.2 KB
- docs/reverse-notes.md10.9 KB
- docs/rules.tsv24.6 KB
- docs/samples.md4.2 KB
- docs/settings-map.md16.4 KB
- docs/sources.md4.2 KB
- docs/syntax.md10.8 KB
- docs/ui-notes.md1.4 KB
- docs/ui-workflow.md3.8 KB
- docs/validator-coverage.md51.4 KB
- LICENSE1.0 KB
- README.md21.1 KB
- tools/anchors.py12.2 KB
- tools/audit_rules.py11.0 KB
- tools/audit_stringscan.py15.8 KB
- tools/bump.py2.1 KB
- tools/console.py1.9 KB
- tools/core.py259.5 KB
- tools/corpus_check.py7.1 KB
- tools/data_diff.py4.6 KB
- tools/element_count.py6.6 KB
- tools/element_count2.py19.8 KB
- tools/element_verify.py3.6 KB
- tools/enrich.py7.7 KB
- tools/export_data.py2.5 KB
- tools/extract_docs.py5.7 KB
- tools/facts.py5.6 KB
- tools/fuzz_check.py13.1 KB
- tools/gen_action_blocks.py26.5 KB
- tools/gen_argcounts.py3.6 KB
- tools/gen_data.py10.4 KB
- tools/gen_element_facts.py34.5 KB
- tools/gen_errors.py47.1 KB
- tools/gen_extensions.py1.6 KB
- tools/gen_map_variants.py1.7 KB
- tools/gen_meta.py3.3 KB
- tools/gen_name_tables.py4.6 KB
- tools/gen_param_options.py2.1 KB
- tools/gen_probe.py18.7 KB
- tools/gen_setting_schemas.py2.3 KB
- tools/gen_setting_values.py4.5 KB
- tools/gen_word_lists.py4.7 KB
- tools/intake.py11.3 KB
- tools/know.py61.0 KB
- tools/local_paths.py1.7 KB
- tools/locate_selftest.py3.1 KB
- tools/locate.py17.9 KB
- tools/logread.py21.8 KB
- tools/name_lists.py9.8 KB
- tools/name-list-scopes.tsv875 B
- tools/name-list-whitelist.tsv1.6 KB
- tools/normalize.py8.4 KB
- tools/obfuscate_values.py6.2 KB
- tools/probes/_setup_template.txt619 B
- tools/probes/batch1.ow2.1 KB
- tools/probes/batch2.ow2.0 KB
- tools/probes/batch3.ow1.2 KB
- tools/probes/block-comment-rule-name.ow731 B
- tools/probes/calib/C01_基准_一条空动作.ow664 B
- tools/probes/calib/C02_加一条动作.ow691 B
- tools/probes/calib/C03_数字改1.ow664 B
- tools/probes/calib/C04_数字改长.ow670 B
- tools/probes/calib/C05_一条条件.ow693 B
- tools/probes/calib/C06_两条条件.ow707 B
- tools/probes/calib/C07_嵌套值一层.ow698 B
- tools/probes/calib/C08_数组一项.ow673 B
- tools/probes/calib/C09_数组三项.ow679 B
- tools/probes/calib/C10_字符串.ow685 B
- tools/probes/calib/C11_字符串一插值.ow686 B
- tools/probes/calib/C12_子程序调用.ow692 B
- tools/probes/calib/D01_变量作目标.ow672 B
- tools/probes/calib/D02_变量作值.ow679 B
- tools/probes/calib/D03_变量进数组.ow687 B
- tools/probes/calib/D04_换变量名.ow705 B
- tools/probes/calib/D05_两条同动作.ow700 B
- tools/probes/calib/E01_嵌套常量.ow697 B
SKILL.md (original)
Review the instructions the agent will receive before you install.
Overwatch Workshop Lite
① 定位
用户是产品经理,agent 是实现者:玩法好不好玩归用户,本技能只管实现质量—— 能不能导入、跑起来对不对、元素够不够省。不给创意建议,不替用户判断玩感。 用户只做三件事:导入、试玩、提需求。语法、参数、上限、混淆、读数由本技能兜底, 不要让用户盯屏幕、复制日志、自己改代码。
② 入口命令(就这五个,其余 python tools/ws.py --help)
| 命令 | 干什么 |
|---|---|
ws.py intake "<用户原话>" | 路由:任务类型 / 该跑什么 / 该读什么 / 该查什么 / 别做什么;命中不了退回「其他」 |
ws.py check 模式.ow | 交付前必跑,必须 0 error;--strict 会跑未验证检查、有误报 |
ws.py locate "游戏报错原文" [--file 模式.ow] | 报错 → 模板 → 第几行 → 改法(离线,一次到行) |
ws.py deliver 模式.ow | 交付固定三行:文件 / 怎么跑 / 看哪里;有必改就不打印,先修 |
ws.py devcheck [--corpus] | 一条命令跑完全部回归,输出 ≤5 行;发版前必须全绿 |
文档按「你在做什么」查 docs/INDEX.md。不要直接读 data/ 里的表——那是工具的数据源,用命令查。
实测只走 记入查看器 + ws.py readlog:记录会自动落盘,跑完直接读最新那个文件;--watch 可以边跑边等。
前提是游戏里这个开关开着:设置 → 游戏 → 综合 → 自定游戏-地图工坊 →「启用地图工坊查看器日志文件」(同页「启用地图工坊查看器」也开)。
关掉时一局也不会生成文件(2026-10-24 之后连续几天没文件,最后查出来就是它被关了)。
拿不到文件时,再让用户点查看器底部「复制记录到剪贴板」,存成 records.txt 用 --file 判读。
开工前 ws.py upgrade --check 看版本;升级前先发版本地改动,否则 tools/ 被远端覆盖。
③ 事实优先级
实机读数 > data/ 表 > docs/ > 逆向推断。
冲突以实机读数为准,并且必须回来改表——只改结论不改表,下一轮还会错在同一个地方。
④ 证据档位
报错表 data/errors-full.tsv 每条带档:A 档(解析器级,exe 里有引用点)/
B 档(导入界面提示,exe 无引用点)/ C 档(补录的界面文案)。
B/C 档只做报错翻译,不做判据;检查规则只许引用 A 档(gen_errors.py 已断言)。
断言表 docs/rules.tsv 每条带 L0~L3:只有 L2/L3(实机导入成功 / 行为有读数)能当结论,
L0/L1 只能说「未验证」。查表用 ws.py rule <关键词>,别凭记忆写——散文里可能有过期说法。
⑤ 改一条事实的链路
- 改种子或生成器(
tools/*-src.tsv、tools/gen_*.py)——不许手改data/;整库数据更新走workshop-data-update技能 - 重生成:
python tools/gen_<表>.py(整库重建用ws.py gen) - 回归:
python tools/ws.py devcheck,必须全绿、生成器无漂移 - 文档同步:
docs/rules.tsv那一行 + 对应docs/篇目 +CHANGELOG.md - 发版:
VERSION/SKILL.md/CHANGELOG.md三处版本号对齐,公开仓与私有仓同版本
⑥ 六条铁律
- 执行模型:规则只在「条件由假变真」那一刻跑一次;要持续做事必须
While(真)+等待。 事件规则同一时刻只有一份在执行,期间同类事件被丢弃 → 事件里只记标记,循环放另一条持续 - 全局。 - 条件块不写整行
!(A && B):改写(...) == 真/!= 真,或拆成多条。 - 混淆不许手工改:只走
ws.py publish 模式.ow --outdir out --obf all;字符串混淆交 VS Code 插件。 - 交付前
check必须 0 error,一次粘贴导入成功才算交付;报元素成本要说清省在哪、并声明是估算(真实模式偏低 4%~19%)。 data/禁止手改:只由生成器产出;docs/才是手写知识。- 每次交付后记一行:把模式交给用户导入的结果(一次成功 / 游戏报错原话)追加到
workshop-lite-re/import-log.tsv,用python tools-maintainer/import_rate.py看首次导入成功率。 这是本技能唯一的成熟度指标——≥95% 且连续三轮不掉才算成熟。check全绿不算数:v17 实测 9 个文件全绿、游戏全拒(E-94)。
Reviews
No reviews yet. Tell others what you thought.
Comments
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.