propose_wikilinks
Scan Obsidian vault pages for entity-like phrases and suggest wikilinks to matching pages. Works on a single page or across a folder scope with optional auto-apply.
Instructions
Scan vault pages for entity-shaped phrases and propose wikilinks to other vault pages that share the same slug. Two modes:
(1) single-page — pass path, get a ranked list of {phrase, wikilink, occurrences} for that one page.
(2) scope — pass scope (glob/folder), scan every matching page using one shared slug index (much faster than calling repeatedly), get aggregated suggestions across pages.
With apply: true in scope mode, Margins stages one rewritten page per scanned page (a propose_page proposal that replaces every candidate phrase with its wikilink). Apply mode preserves the proposal-review contract — nothing lands until resolve_proposal accepts.
Useful for A3/B3 personas (many files, few wikilinks): scope across a folder finds entity references that already have target pages.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Page path for single-page mode, e.g. 'wiki/career/career.md'. Mutually exclusive with scope. | |
| apply | No | Only meaningful in scope mode. When true, stage a rewritten page per scanned page with all wikilink suggestions applied (one propose_page per page, NOT per phrase). Review/accept via list_proposals + resolve_proposal. Default false (suggest only). | |
| scope | No | Glob for bulk-scope mode, e.g. 'wiki/sources/**' or 'Anatomy/*.md'. Mutually exclusive with path. | |
| maxPages | No | Cap on pages scanned in scope mode. Default 50. | |
| maxSuggestions | No | Cap on suggestions per page. Default 15. |