name: ll-dev-feat-to-surface-map description: Governed workflow skill for transforming one frozen FEAT inside a feat_freeze_package into a surface_map_package that binds design ownership before downstream tech, proto, ui, and impl derivation.
LL Dev FEAT to Surface Map
This skill turns one selected frozen FEAT into one governed surface_map_package.
It is the mandatory归属 layer between FEAT and shared design assets.
Canonical Authority
- Upstream handoff:
ll-product-epic-to-feat - Downstream consumers:
ll-dev-feat-to-tech,ll-dev-feat-to-proto,ll-dev-proto-to-ui,ll-dev-tech-to-impl - Primary runtime command:
python scripts/feat_to_surface_map.py run --input <feat-package-dir> --feat-ref <feat-ref> --repo-root <repo-root>
Runtime Boundary Baseline
- Classify this capability under
E:\ai\LEE-Lite-skill-first\ssot\adr\ADR-042-FEAT 与 ARCH-UI-PROTOTYPE 解耦并引入 Surface Map 归属层基线.MD. - This skill is a governed
SkillandWorkflowauthority for FEAT to surface-map derivation. - Its scripts and package files are carriers, not independent runtime authorities.
Required Read Order
ll.contract.yamlinput/contract.yamloutput/contract.yamlagents/executor.mdagents/supervisor.mdinput/semantic-checklist.mdoutput/semantic-checklist.md
Execution Protocol
- Accept only one freeze-ready
feat_freeze_packageplus one explicitfeat_ref. - Validate the selected FEAT before any design-ownership work.
- Resolve whether the FEAT is
design_impact_required. - Produce a
surface_map_packagewith explicitowner,action,scope, andreasonfor each impacted surface. - Use
updatewhen an existing owner is already known; usecreateonly when a new long-lived responsibility boundary is justified. - If the FEAT is not design-impacting, emit a bypass package with an explicit rationale instead of silently inventing downstream design work.
- Record execution evidence, review evidence, and a freeze gate.
- Freeze only after
python scripts/feat_to_surface_map.py freeze-guard --artifacts-dir <surface-map-package-dir>returns success.
Workflow Boundary
- Input: one
feat_freeze_packageplus one selectedfeat_ref - Output: one
surface_map_package - Out of scope: drafting TECH / PROTO / UI / IMPL packages directly
Non-Negotiable Rules
- Do not accept raw requirements, SRC candidates, EPIC packages, or standalone FEAT markdown outside a governed
feat_freeze_package. - Do not let downstream design derivations skip
surface-mapwhendesign_impact_required=true. - Do not let
createescape without a justification and a long-lived boundary reason. - Do not let
ownervalues drift between the surface-map package and downstream consumers. - Do not self-approve a review failure by editing the freeze gate by hand.