Before you start
Complete Install and Quickstart first. You need:- The
sightmapCLI andsightmap-authoringskill. - A running copy of the web app.
- A
.sightmap/directory in the project.
Run the edit-verify loop
The commands below are what the agent runs through thesightmap-authoring skill; you review the diff before it lands. The agent works through one route at a time.
1
Start a session
browser start, which launches Chrome and the corpus server. The server reloads the YAML whenever the agent changes it.2
Iterate a page
The agent runs Coverage assigns every interactive node a tier:
snapshot --coverage with the page URL:snapshot --coverage prints coverage and groups T3 nodes by a suggested selector, suppressing the full tree. Drop the --coverage flag for the full annotated tree, or use sightmap capture to save the page into its view set.3
Verify the suggested selector
The agent probes the suggested selector against the live page before adding it to YAML:
sel-probe reports the match count, key attributes, and parent chain for each match — the agent checks that the count and matched elements are what it intended.See Selector tools for live and offline checks, and Selectors for selector strategy.4
Name what's unnamed
The agent adds the component to the matching view:It validates after each edit:The running session picks up the change without a restart.See Components for the complete component format.
.sightmap/views/products.yaml
5
Repeat
The agent re-runs
snapshot --coverage and works through the remaining T3 clusters. A route reaches the baseline when coverage reports 0 orphaned T3 ✓. Then it reviews the T2 scopes.Review T2 scopes
Zero T3 means every interactive node has a named ancestor. It does not mean every node has enough identity. A T2-tight scope has one unnamed interactive child under a named component. Its role and accessible name may be enough to identify it. A T2-loose scope has several unnamed interactive children under the same component, which makes attribution ambiguous. The agent runssightmap snapshot --trace to inspect those scopes and adds child components where stable selectors exist. If a third-party widget or generated markup has no stable selector, it records that limitation in memory.
See Coverage for the complete T1, T2, and T3 model.
Promote shared components
After mapping several routes, use saved captures to find components that recur:components: collection when it should match every view, such as the site header or consent banner. Keep feature-specific components inside their view.
See Coverage for capture requirements and the full cross-view report.
Validate and maintain the corpus
Run the structural and style checks before committing:- Have your agent re-run
snapshot --coverageon affected pages. Coverage exposes new orphaned nodes while existing selectors andmemoryremain in the corpus. - Remove stale selectors and
memory. If you can fix a documented quirk in the app, fix it and delete the note. - Run
sightmap validateandsightmap lintin CI. - If you maintain saved view sets, refresh them with
sightmap capture --all, then runsightmap report.
Hand-authoring
You can write.sightmap/ as plain YAML without the CLI. The JSON Schema validates the files, and the spec defines each field. The CLI and authoring skill add live verification to that editing process.
Use the CLI reference for commands and flags, or read the full sightmap-authoring skill for the agent playbook.