formax-config-settings-workflow
Use when implementing or extending /config (storage, prompt injection, request params, UI-only toggles) with tests and strict UI parity.
适合你,如果正在实现或扩展应用的 /config 功能
/ 通过 npx 安装 校验哈希
npx oh-my-skill add yusifeng/formax/formax-config-settings-workflow/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- yusifeng/formax/formax-config-settings-workflow/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify yusifeng/formax/formax-config-settings-workflow安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
192GitHub stars
~1K上下文体积 · 单文件
索引托管
怎么用
商店整理自技能原文 · 版本 5a48573 · 表述以原文为准它做什么
装了这个技能,当你要求Claude修改或扩展/config里的配置项(比如存储、提示注入、请求参数、UI开关)时,它会按照规范更新相关文档和代码,并运行测试确保正确。
什么时候触发
当你让Claude实现或扩展/config功能,例如添加新设置、修改持久化方式或更新UI配置时触发。
装好后可以这样说
Claude会按工作流添加并确保测试通过。
Claude会更新schema和持久化逻辑。
Claude会分类为UI-only并避免影响模型上下文。
技能原文 SKILL.md
formax-config-settings-workflow
Goal
Use this skill when changing runtime config merge semantics, /config persistence, or the current settings exposed by the config dialog.
Read First
docs/contracts/config-settings-contract.mddocs/environment-variables.mddocs/contracts/prompt-tool-exposure-contract.mdwhen a setting affects prompt injection or request composition
These docs are canonical. If stable behavior changes, update them before or with code.
Code Map
- Config schema + merge semantics
packages/core/src/config/settings/schema.ts(add fields + defaults; validate values)packages/core/src/config/settings/resolve.ts(merge precedence +sourcesmapping)packages/core/src/config/settings/persist.ts(patch read/write +stripDefaultsFromPatch)- Disk locations
packages/core/src/adapters/fs/configPaths.ts(project/global config dirs)packages/core/src/adapters/fs/configFiles.ts(loadconfig.jsonpatches)packages/core/src/config/config.ts(finalRuntimeConfigshape used by UI/runtime)- /config UI overlay
packages/core/src/tui/config/ConfigDialog.tsx(reads effective config + writes patches)packages/core/src/tui/config/constants.ts/packages/core/src/tui/config/reducer.ts/packages/core/src/tui/config/ui.tsxpackages/core/src/screens/REPL.tsx(mount overlay + reload runtime config on exit)- Runtime wiring (effects)
- Prompt injection:
packages/core/src/features/repl/controller/send/sendMainTurn.ts+packages/core/src/features/repl/controller/session/localCommandInjection.ts+packages/core/src/prompts/reminders/* - Request parameters:
packages/core/src/chat/engine.ts→packages/core/src/streaming/** - UI-only flags:
packages/core/src/screens/REPL.tsxand small helpers underpackages/core/src/screens/repl/* - Current
/configsubset packages/core/src/features/commands/configDialogService.tscurrently ownsoutputStyle,thinkingMode,verboseOutput
Current Behavior Checkpoints
- Classify each setting before coding:
- prompt-affecting
- request-parameter
- UI-only
- Storage rule:
- User scope ->
$FORMAX_CONFIG_DIR/config.json - Project scope ->
<repo>/.formax/config.json - Prefer sparse writes; do not persist defaults just because a dialog touched them
- Immediate effect:
/configsaves are expected to reload effective runtime config in-process- avoid "restart required" behavior unless that is an explicit change
- Exit-message contract:
- unchanged dialog ->
Status dialog dismissed - changed setting ->
Set <field> to <value>style subline
Minimal Workflow
- Classify the setting first: prompt-affecting, request-parameter, or UI-only.
- Update the config settings contract first; if env names or classification changed, also update
docs/environment-variables.md. - Change schema / resolve / persist before changing dialog wiring or runtime effects.
- Preserve sparse writes and immediate in-process reload behavior.
- Only output-style style changes may inject next-turn local command blocks; non prompt-affecting settings must stay out of model context.
- Run the minimum regression set below before review.
Minimum Regression
bun run test -- packages/core/src/config/settings/schema.test.ts packages/core/src/config/settings/resolve.test.ts packages/core/src/config/settings/persist.test.tsbun run test -- packages/core/src/features/commands/configDialogService.test.tsbun run test -- packages/core/src/tui/config/ConfigDialog.test.tsxwhen dialog UI changesbun run test -- packages/core/src/features/repl/controller/session/localCommandInjection.test.ts packages/core/src/features/repl/controller/send/sendMainTurn.test.tswhen prompt-affecting config changesbun run test -- packages/core/src/screens/repl/thinkingBlock.test.tsxwhen UI-only thinking visibility changesbun run type-checkwhen config shape or runtime wiring changes
Guardrails
- Do not add new config scopes or extra config files (
cache.json,runtime.json, etc.) without an explicit decision. - Do not inject next-turn prompt blocks for UI-only or request-only settings.
- Do not let
docs/environment-variables.mdand config behavior drift into two separate truths; names live there, merge/persist semantics live in the contract. - Do not change dialog copy/spacing/colors unless explicitly requested.
- Add/extend targeted tests before refactoring config wiring; tests are not the whole spec, but they should lock current persistence semantics first.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →
评论
登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。
…