Landing Page Factory 编排器 是做什么的?
这是控制层。
当请求涉及以下内容时使用此技能:
- 构建完整的落地页流水线
- 创建一个或多个页面变体
- 编辑后重跑选定阶段
- 确定正确的操作顺序
- 页面包命名、制品检查、清理或内存日志的管理任务
不要替换阶段技能。 此技能负责路由和监督它们。
此技能拥有的职责
- 请求分类
- 阶段排序
- 制品预检检查
- 硬停止和降级强制执行
- 页面命名和变体命名
- 决定变更后必须重跑哪些阶段
- 在
memory/YYYY-MM-DD.md中进行内存日志记录
此技能不拥有的职责
- 提取逻辑
- 策略逻辑
- 文案逻辑
- 图像生成逻辑
- HTML 构建逻辑
- QA 评分本身
这些属于:
site-extractpage-strategybrand-profilepage-copypage-visualspage-buildpage-qa
请求分类
首先将每个请求路由到以下模式之一。
1. 完整流水线
示例:
- "为 https://example.com 构建一个落地页"
- "为这个品牌运行整个流程"
按顺序运行:
site-extractpage-strategybrand-profilepage-copypage-visualspage-buildpage-qa
2. 变体流水线
示例:
- "为企业买家创建一个版本"
- "构建三个角度变体"
如果可用,使用现有品牌制品。 为每个变体创建一个新的页面包并重跑:
page-strategypage-copypage-visualspage-buildpage-qa
仅在源事实发生变化或当前品牌制品缺失或薄弱时重跑 site-extract 或 brand-profile。
3. 阶段重跑
示例:
- "仅重建视觉"
- "再次运行 QA"
- "策略变更后更新文案"
仅重跑所需的最少下游阶段。
依赖规则:
- 策略变更 → 重跑文案、视觉、构建、QA
- 品牌简介变更 → 重跑文案、视觉、构建、QA
- 文案变更 → 重跑构建、QA
- 视觉变更 → 重跑构建、QA
- 构建变更 → 重跑 QA
4. 管理/检查
示例:
- "缺少哪些制品?"
- "我们应该按什么顺序运行?"
- "创建一个新的页面包"
检查、报告和准备。不要编造缺失的制品。
预检检查
在调用下游工作之前,验证所需的制品。
品牌级别:
workspace/brand/extract.mdworkspace/brand/extract.jsonworkspace/brand/profile.md(当文案、视觉或构建需要时)workspace/brand/palette.json(当视觉或构建需要时)
页面级别:
workspace/pages/[page-name]/strategy.jsonworkspace/pages/[page-name]/copy.mdworkspace/pages/[page-name]/visuals/workspace/pages/[page-name]/index.htmlworkspace/pages/[page-name]/meta.jsonworkspace/pages/[page-name]/qa.md
如果请求的阶段所需的制品缺失,则停止并路由到最早缺失的阶段。
硬停止
切勿越过以下情况继续:
- 文案、视觉或构建缺少
strategy.json - 未识别出独特机制
- 潜在客户生成或行动驱动型页面缺少 CTA 目标
- 用于提议的确定性级别的证据过于薄弱
- 预期使用 Firecrawl 进行提取但未配置或运行时受阻
- 预期使用 Bloom 进行视觉但未配置或运行时受阻,除非用户明确批准 Nano Banana 或手动素材
受阻时,说明:
- 缺少什么
- 接下来必须运行哪个阶段
- 哪些可以降级,哪些不能
降级
仅当阶段技能允许时,才能继续降级。
典型的降级:
- 证据薄弱 → 较温和的声明,仅草稿级别的 QA 目标
- 部分视觉 → 中性支持布局
- 精确产品图像失败 → 品牌环境或操作员素材
- 缺少 Bloom 品牌 → 为提供商上下文注册,但保持仓库品牌制品作为真相来源
命名规则
在 workspace/pages/ 下使用描述性的页面包名称。
模式:
- 基础运行:
[brand]-[core-angle] - 变体运行:
[brand]-[audience]-[angle]
良好示例:
ridge-wallet-proofstealads-enterprise-timenotion-agency-velocity
避免:
test-pagev2new-one
变体工作流
构建多个变体时:
- 在
workspace/brand/中保留一个共享的品牌真相来源 - 为每个变体创建单独的页面包
- 有意改变受众、角度、优惠框架、证据重点或视觉处理
- 为每个变体运行完整的页面级别下游阶段
- 跨变体比较 QA 裁决和审查标志
不要让变体静默地相互覆盖。
阶段排序规则
使用此确切逻辑:
-
如果用户仅提供 URL: 从
site-extract开始 -
如果品牌制品存在但页面包不存在: 从
page-strategy开始 -
如果
strategy.json存在且用户要求文案: 运行page-copy -
如果
copy.md和品牌制品存在且用户要求视觉: 运行page-visuals -
如果策略、文案和视觉都存在: 运行
page-build -
如果构建制品存在: 运行
page-qa
构建和视觉脚本入口点
对于 Cowork 和其他技能文件夹运行时,优先使用技能本地脚本:
skills/landing-page-factory-orchestrator/scripts/page-admin.pyskills/page-visuals/scripts/image-provider.shskills/page-build/scripts/resolve-visual-assets.pyskills/page-build/scripts/prepare-build-meta.pyskills/page-build/scripts/select-build-images.pyskills/page-build/scripts/html-image-context.pyskills/page-build/scripts/build-page.py
仓库根目录下的 scripts/ 入口点仅为本地包装器。
使用管理助手进行编排支持:
-
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py status --page-name [page-name]返回当前制品状态和最早缺失的阶段。 -
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py suggest-name --brand [brand] --audience [audience] --angle [angle]返回一个干净、无冲突的页面包名称。 -
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py compare-variants --page-name [page-a] --page-name [page-b]返回制品状态、就绪分数、就绪备注、标题、页面类型、CTA 目标、图像数量、审查标志和 QA 裁决(如果有)的并排 JSON 摘要。 -
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py compare-variants --prefix [brand-prefix] --format markdown返回一个可读的 Markdown 比较表,用于 Cowork 审查,按就绪程度排序。 -
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py compare-variants --prefix [brand-prefix] --format markdown --output workspace/pages/[report-name].md将比较报告写入磁盘。 -
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py compare-variants --prefix [brand-prefix]比较匹配前缀的所有页面包。 -
python3 skills/landing-page-factory-orchestrator/scripts/page-admin.py log-memory --title "[title]" --page-name [page-name] --stages "[stages]" --verdict "[verdict]"将简短的运行日志附加到memory/YYYY-MM-DD.md。
当你希望编排器实际执行流水线的脚本化部分时,使用运行器:
-
python3 skills/landing-page-factory-orchestrator/scripts/run-pipeline.py --url https://example.com --page-name example-proof --format markdown如果需要则运行提取,然后在下一个技能编写的阶段停止,并附上精确的交接说明。 -
python3 skills/landing-page-factory-orchestrator/scripts/run-pipeline.py --page-name example-proof --format markdown恢复现有的页面包,并在所需制品已存在时继续通过构建链。 -
python3 skills/landing-page-factory-orchestrator/scripts/run-pipeline.py --url https://example.com --brand Example --audience enterprise --angle time-saving --format markdown创建一个无冲突的变体页面名称,并运行直到下一个手动阶段。
运行器设计为混合型:
- 它直接执行脚本化阶段
- 当编写的制品仍缺失时,它在
page-strategy、brand-profile、page-copy和大多数page-visuals工作处干净地停止 - 一旦这些制品存在,它会自动恢复
提取策略:
- 当
FIRECRAWL_API_KEY可用时,优先自动使用 Firecrawl - 如果 Firecrawl 未配置,允许基本提取,但应视为降级
- 对于公开发布质量级别的运行,建议添加 Firecrawl,而不是默默假装提取质量等同
提供商强制执行:
- 不允许
site-extract在 Firecrawl 是预期路径时静默降级为 WebFetch/手动抓取 - 不允许
page-visuals在 Bloom 是预期路径时静默降级为默认内置图像生成 - 如果首选提供商被阻止、缺失或未配置,暂停并询问操作员接受哪个降级
- 仅在用户明确批准时继续降级
Cowork 特定行为:
- 如果 Cowork 阻止
api.firecrawl.dev,直接说明并建议将该域名加入白名单或运行本地提取预检 - 如果 Cowork 无法访问 Bloom,直接说明并询问是配置 Bloom、使用 Nano Banana 还是继续使用手动素材
- 不允许将“使用 WebFetch/默认图像基本可用”视为成功的提供商运行
不要声称那些仍然依赖于技能编写者判断的阶段实现了完全自动化。
内存日志
在任何有意义的运行之后,向 memory/YYYY-MM-DD.md 附加一条简短记录,包含:
- 品牌或页面名称
- 完成的阶段
- QA 裁决(如果有)
- 阻塞器或降级
- 显著的经验教训
保持简洁。每次运行一个简短部分即可。
输出期望
编排时,始终报告:
- 选择的模式:完整流水线、变体、阶段重跑或管理
- 页面包名称
- 运行的阶段或需要的下一个阶段
- 阻塞器、降级或审查标志
对于变体运行,包含一个扁平比较:
- 变体名称
- 受众/角度
- 当前制品状态
- QA 裁决(如果有)