[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MXFAMHW3RTZP77DP0MGBYG":3,"skill-same:01M6MXFAMHW3RTZP77DP0MGBYG":45},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M6MXFAMHW3RTZP77DP0MGBYG","brownfield-adopter",null,"miniidealab\u002Fopenlogos","miniidealab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4251156?v=4","01M6MX6BM454XESZCRPBQQHKRT","FredHuang","01M6MX6BR4417H4QA658D4GW9X",581,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Flogos\u002Fchanges\u002Farchive\u002F20260829-2333-release-0-14-1-local\u002Fdeployment-artifacts-20260830T0554Z\u002Fcandidate-unpack\u002Fpackage\u002Fskills\u002Fbrownfield-adopter\u002FSKILL.md",[],[18,19],"brownfield","brownfield adopter","2026-11-10 10:12:30",false,"# Skill: Brownfield Adopter（存量项目逆向建基线）\n\n> **显式可选**的存量项目 eager seed 加速器：用户或宿主明确要求预扫全库时，由 AI 会话\u002Fdriver 逆向扫描可验证代码事实，经 `openlogos baseline-seed` 两阶段事务落盘。它不是 `openlogos adopt` 后的默认下一步，不决定项目能否创建 change；完全跳过本 Skill 时，change-writer 仍按 S39 在每次变更中补齐触达场景的正式规格。\n\n## 触发条件\n\n- 用户明确要求「建立现状 seed」「预扫全库」「运行 baseline-seed」；或宿主明确选择 eager seed 作为扫描优化。\n- 用户对安全的 open run \u002F 未提交 staging 明确要求续做或重扫。\n- **不得触发**：仅因 `openlogos adopt` 完成、`baseline_seed_state: required|partial`、`next`\u002F`status` 展示 seed 状态而自动派发。三态均不构成 change\u002Fplan\u002Fdelta\u002Fmerge\u002Fverify 前置。\n\n## 前置依赖\n\n1. `logos\u002Flogos.config.json` 存在，目标模块可解析；通常为 `bootstrap: adopted`，但显式重扫不以 bootstrap 值替代用户意图。\n2. 具备用户\u002Fdriver 授权的代码库读取能力。\n3. CLI 支持 `openlogos baseline-seed begin|commit|status`。\n4. 任一资源\u002F索引读取前，先在模块锁内检查并恢复未终结 commit journal；无法恢复立即报 `baseline_commit_in_progress`，不得开始扫描或读取半新 resources。\n\n## 核心原则（不可违反）\n\n1. **只写可从代码忠实验证的事实**：system-map（模块图\u002F入口\u002F依赖）+ 场景候选清单；绝不写 PRD\u002F历史 Why。\n2. **`verified:false` 冻结**：不存在确认升级、`verified:true`、confirmed_*、JIT advisory 或 baseline warning。\n3. **只写 run 私有 staging**：不得直接改 `logos-project.yaml` 或目标 `logos\u002Fresources\u002F`；唯一提交者是 baseline-seed CLI。\n4. **能力缺失不伪造且不阻断 change**：显式 seed 失败可重试；用户仍可直接创建 change。\n5. **安全 partial 与未终结事务分流**：open run\u002F未提交 staging 可排除后继续；`prepared|committing` journal 必须恢复，失败是硬操作错误，不能降级为“seed 证据不可用”。\n6. **存量代码 grandfather 边界不变**：seed 是未确认事实快照，方法论硬门只约束新意图；候选按 active\u002Ftombstone\u002Falias 维护。\n\n## 执行步骤\n\n### Step 1: 确认显式意图与恢复门\n\n确认当前请求确实要求 eager seed，而非普通 adopt→change。随后在项目根调用 seed status\u002F恢复入口；读取目标、索引或 coverage 必须位于「取模块锁 → 检查\u002F恢复 journal → 读取」同一锁区间。若返回 `baseline_commit_in_progress`，停止本 Skill，不得以代码重扫绕过可能半新的标准 resources。\n\n### Step 2: 逆向扫描并规划逻辑 manifest\n\n仅在恢复门通过后扫描代码库，规划无内容 hash 的逻辑产物计划；必需 kind 至少含 `system-map` 与 `scenario-candidates`：\n\n```json\n{\n  \"module\": \"core\",\n  \"expected\": [\n    { \"kind\": \"system-map\", \"target_path\": \"logos\u002Fresources\u002Fprd\u002F3-technical-plan\u002F1-architecture\u002Fcore-system-map.md\", \"candidate_keys\": [\"core::\u003Chash>\"] },\n    { \"kind\": \"scenario-candidates\", \"target_path\": \"logos\u002Fresources\u002Fprd\u002F3-technical-plan\u002F2-scenario-implementation\u002Fcore-scenario-candidates.md\", \"candidate_keys\": [\"core::\u003Chash>\"] }\n  ]\n}\n```\n\n- candidate key = `\u003Cmodule>::\u003Csha256(normalize(anchor))[:12]>`，anchor 取 CLI 命令\u002F导出入口\u002F路由等语义标识。\n- target_path 必须项目根相对、位于允许的 `logos\u002Fresources\u002F` 基线目标内；拒绝绝对路径、`..`、symlink escape 与重复。\n\n### Step 3: `baseline-seed begin`\n\n```bash\nopenlogos baseline-seed begin --module core --manifest .logos-seed-plan.json --format json\n```\n\nCLI 校验必需 kind、路径和签发账本后创建 run 私有 staging、持久化 run 记录并返回 `run_id`。begin 不下调既有状态；安全 partial 保持至新 run 首次有效 commit。\n\n### Step 4: 生成产物写入 staging\n\n把产物写入 `staging\u002F\u003Ctarget_path>`。每份文档含 `## 逆向基线来源` 与 fenced YAML `candidates[]`：\n\n````markdown\n## 逆向基线来源\n```yaml\ncandidates:\n  - key: \"core::9f2a4c7b1e83\"\n    anchor: \"cli:adopt\"\n    display: \"adopt 命令\"\n    state: active\n    verified: false\n    aliases: []\n    superseded_by: []\n```\n````\n\nstaged candidates key 集合必须与 manifest 对应 `candidate_keys` 全集合相等；只写 active\u002Fverified:false 候选，不写 PRD。\n\n## 逆向基线来源\n\n- 代码入口、路由、依赖清单、配置与测试是可重算事实来源。\n- 注释、README 与文档示例只能作线索；candidate key 必须由 anchor\u002Falias 规范重算匹配后才采信。\n- seed 不能证明历史业务动机、优先级、未来验收或正式场景闭包。\n\n### Step 5: `baseline-seed commit`\n\n```bash\nopenlogos baseline-seed commit --module core --run-id \u003Crun_id> --format json\n```\n\nCLI 校验 staged 实际字节 hash、schema、candidate key 与路径：\n\n- 必需 kind 齐且全部 expected 合法 → 经 commit journal 原子提交目标+索引+`seeded`；\n- 至少一项合法但未齐，且尚未进入目标写事务 → 安全 `partial`，不提交不完整集合；\n- 0 项合法 → 保持当前状态；\n- 一旦 journal 进入 `prepared|committing`，后续任何消费者必须先恢复，全旧\u002F全新落定前不得读取标准资源。\n\n### Step 6: 交回控制（默认进入 change）\n\ncommit 成功或用户决定暂停 seed 后，主提示均为「可运行 `openlogos change \u003Cslug>`」。`seeded` 只说明后续证据定位可加速；安全 partial 可附重试命令。不得把 `required|partial|seeded` 任何一态写成 change 前置，也不得提示创建 `add-baseline-docs`。\n\nS39 消费已提交 seed 时只取入口、依赖与候选线索，并从代码\u002F测试重算；正式目标缺失仍 CREATE，candidate verified\u002Fprovenance 不升级。\n\n## 恢复 \u002F 重试\n\n- 扫描中断且未进入 commit journal → 安全 partial：补齐 staging 后重试 commit、重新 begin，或直接 change；staging 永不进入 effective view。\n- commit 崩溃 → baseline-seed\u002Fstatus\u002Fnext\u002Findex\u002Fsync\u002FS39 等入口在同一锁区间恢复：prepared 回滚全旧；committing 可前滚则全新，否则按 backup 回滚全旧。\n- 无法恢复 → 硬报 `baseline_commit_in_progress`，停止所有标准 resources\u002Findex\u002Fcoverage 读取与迁移写入；不得降级成非阻断 seed 诊断。\n- 恢复后才允许新 begin supersede 旧 run；锁回收必须做死 owner 身份仲裁与原子替换，禁止盲删活锁。\n\n## 降级（能力缺失）\n\nAI\u002F扫描能力不可用时，不派发、不伪造、不改目标。向用户说明可稍后重试显式 seed，**同时给出直接创建 change 的可复制命令**；兼容状态保留不构成阻塞。\n\n## 边界\n\n- 本 Skill 只产种子现状快照，不写 PRD、业务代码、前向设计或正式闭包。\n- 状态、索引与目标文件唯一写入者是 baseline-seed CLI；Skill 只写 staging。\n- provenance 权威载体是主文档 `## 逆向基线来源`；`baseline_index` 是派生索引。\n- 不恢复人工确认、JIT advisory、verified 升级、baseline warning、baseline task\u002Fgate\u002Fmarker。\n",{},"master","abf55fdedadaeb660f928aa7258b9ec35d4ab003","logos\u002Fchanges\u002Farchive\u002F20260829-2333-release-0-14-1-local\u002Fdeployment-artifacts-20260830T0554Z\u002Fcandidate-unpack\u002Fpackage\u002Fskills\u002Fbrownfield-adopter",10,"https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos","https:\u002F\u002Fgithub.com\u002Fminiidealab","2026-10-18 11:36:11",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add miniidealab\u002Fopenlogos --skill brownfield-adopter",{"tool":37,"command":38},"bunx","bunx skills add miniidealab\u002Fopenlogos --skill brownfield-adopter",{"tool":40,"command":41},"pnpm","pnpm dlx skills add miniidealab\u002Fopenlogos --skill brownfield-adopter","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Flogos\u002Fchanges\u002Farchive\u002F20260829-2333-release-0-14-1-local\u002Fdeployment-artifacts-20260830T0554Z\u002Fcandidate-unpack\u002Fpackage\u002Fskills\u002Fbrownfield-adopter\u002FSKILL.md",true,[],[46,92,104,113,121,130],{"skillNo":47,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":50,"categories":51,"keywords":71,"publishedAt":20},"01M6MXX45142DGRFD9ZYPT5YC9","ui-ux-pro-max","UI\u002FUX design intelligence. 67 styles, 96 palettes, 57 font pairings, 25 charts, 13 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn\u002Fui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI\u002FUX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn\u002Fui MCP for component search and examples.","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Fskills\u002Fui-ux-pro-max\u002FSKILL.md",[52,57,60,63,68],{"categoryNo":53,"categoryName":54,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":58,"categoryName":59,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":61,"categoryName":62,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":64,"categoryName":65,"taxonomyType":66,"taxonomyTypeDesc":67},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":69,"categoryName":70,"taxonomyType":66,"taxonomyTypeDesc":67},"01JBSEEDCAT000000000000033","数据分析师",[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"ui ux","pro","max","ui ux pro max","ui","ux","projects","mode","card","app","tsx","fix","improve","Tailwind","Charts","Animation","design","actions","MCP","search",{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":100,"publishedAt":20},"01M6MXWY8HJV93BBR8FPNJXAMV","test-writer","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-writer\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000008","测试与质量",[101,102,103],"writer","test writer","test",{"skillNo":105,"name":106,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":20},"01M6MXWSAMN9AD3T8F6N099ZGY","test-orchestrator","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-orchestrator\u002FSKILL.md",[109],{"categoryNo":98,"categoryName":99,"taxonomyType":55,"taxonomyTypeDesc":56},[111,112,103],"orchestrator","test orchestrator",{"skillNo":114,"name":115,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":20},"01M6MXWN29FY7K9ASMFRSPWQCN","slice-planner","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Fskills\u002Fslice-planner\u002FSKILL.md",[],[119,120],"slice planner","planner",{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":20},"01M6MXWFR1C1V66NSRTAM1FZPR","scenario-architect","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Fskills\u002Fscenario-architect\u002FSKILL.md",[],[127,128,129],"architect","scenario","scenario architect",{"skillNo":131,"name":132,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":20},"01M6MXWD6ZCGPT4FDT580S8K96","project-init","https:\u002F\u002Fgithub.com\u002Fminiidealab\u002Fopenlogos\u002Fblob\u002Fmaster\u002Fskills\u002Fproject-init\u002FSKILL.md",[],[136,137,138],"project init","init","project"]