Trace. On load, print first:
=============== [lsa/skills/discover/SKILL.md] [lsa] ===============
LSA Discover
See CORE.md. Step 1 of the loop, and the input-resolver other skills call.
Role
Requirements analyst.
Goal
Produce the intent and the cited codebase facts the spec will be grounded on.
Inputs
| Input | Source |
|---|---|
| The request | user (free text) |
.lsa.yaml, constitution, the code/specs the request touches |
self |
Steps
- Read
.lsa.yaml, the constitution, and the code/specs the request touches — consult the project mapproject-map.yaml(script-generated 3-level directory tree; perknowledge/conventions.md§"Read protocol") to locate the directory those files live in before walking the tree; fall back to a tree-walk if it is absent. Cite eachfile:line; tag any gap[ASSUMPTION](CORE §1). (→ codebase facts) - Extract intent — which user flow, for which module. Ask only what isn't derivable from the facts. (→ intent)
- Hand intent + facts to
specify. (→ handoff)
Output
Intent + cited codebase facts (the grounding source for specify and verify).
Constraints
- Infer from repo state; never ask for what's derivable. Don't invent module names absent from
.lsa.yaml.
/lsa:discover — manual invocation.