‹ 首页

formax-config-settings-workflow

@yusifeng · 收录于 5 天前 · 上游提交 3 周前

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作者撰写 · MIT · 5a48573

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.md
  • docs/environment-variables.md
  • docs/contracts/prompt-tool-exposure-contract.md when 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 + sources mapping)
  • 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 (load config.json patches)
  • packages/core/src/config/config.ts (final RuntimeConfig shape 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.tsx
  • packages/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.tspackages/core/src/streaming/**
  • UI-only flags: packages/core/src/screens/REPL.tsx and small helpers under packages/core/src/screens/repl/*
  • Current /config subset
  • packages/core/src/features/commands/configDialogService.ts currently owns outputStyle, 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:
  • /config saves 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
  1. Classify the setting first: prompt-affecting, request-parameter, or UI-only.
  2. Update the config settings contract first; if env names or classification changed, also update docs/environment-variables.md.
  3. Change schema / resolve / persist before changing dialog wiring or runtime effects.
  4. Preserve sparse writes and immediate in-process reload behavior.
  5. Only output-style style changes may inject next-turn local command blocks; non prompt-affecting settings must stay out of model context.
  6. 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.ts
  • bun run test -- packages/core/src/features/commands/configDialogService.test.ts
  • bun run test -- packages/core/src/tui/config/ConfigDialog.test.tsx when dialog UI changes
  • bun run test -- packages/core/src/features/repl/controller/session/localCommandInjection.test.ts packages/core/src/features/repl/controller/send/sendMainTurn.test.ts when prompt-affecting config changes
  • bun run test -- packages/core/src/screens/repl/thinkingBlock.test.tsx when UI-only thinking visibility changes
  • bun run type-check when 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.md and 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 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。