| name | cross-link |
| description | Propose [[wikilink]] insertions for backtick-quoted paths and unquoted prose path mentions in a single markdown file. Read-only by default. Say "cross-link this file", "wikilink the references in", "convert backticks to wikilinks", or "retrofit links in". Use after a session edits a file that names other wiki nodes in prose. Companion to wiki-build - cross-link writes the edges, wiki-build extracts them.
|
| why | Turns flat path mentions into a connected wiki graph so query and lint can traverse what your files reference - backtick paths alone produce no graph edges. |
| enhance | Run after any session that adds path mentions to an operating file, then run wiki-build - cross-link writes the edges, wiki-build extracts them into the graph. |
| summary | Propose [[wikilink]] insertions for paths a file names in prose. |
| allowed-tools | ["Bash","Read","Edit"] |
| mcp_requirements | [] |
Cross-Link
Runs on: local-writes - creates or edits files in your OS folder; needs an agent with write access.
Propose wikilink insertions for one markdown file at a time. Deterministic regex over the filesystem index. No LLM call, no semantic guessing - free-tier accessible.
This skill must:
- Run end to end without writing unless the operator approves.
- Resolve every proposed target to an existing wiki file. Unresolvable mentions are skipped silently.
- Skip fenced code blocks, inline code spans containing non-paths, URLs, external absolute paths, and self-references.
- Produce a unified diff so the operator can read the change before approving.
- Be idempotent. Running twice in a row on a file with no new prose produces zero proposals.
Why this exists
Founder OS uses Obsidian-style [[wikilinks]] to connect wiki files. The wiki-build skill walks all markdown, extracts those links, and writes them as a graph in brain/relations.yaml. But wiki-build only extracts links that already exist. When you write context/decisions.md inside backticks instead of [[context/decisions]], no graph edge is created and lint cannot see the connection. Cross-link closes that gap: it proposes converting backtick paths and bare prose paths into wikilinks, one file at a time, with your approval.
When to use
Use after a live session edits a markdown file and the prose names another wiki node by path. Examples:
- After meeting prep edits a file under
clients/<slug>/ that references context/clients.md or another client's notes.
- After a new plan is written and references its predecessor or a context file.
- After a skill SKILL.md is edited and now calls another skill explicitly in prose.
- After a network entry mentions a client folder for the same person.
Do NOT use for:
- Bulk batch retrofits. Edges that no traversal exercises are noise. Use cross-link in the same session as the live edit, not as a cleanup pass over the back-catalog.
- Files in excluded paths (
brain/archive/, brain/rants/, node_modules/, .git/, .claude/commands/).
Pre-flight
If core/identity.md does not exist, stop with: Founder OS not set up here. Run /founder-os:setup first.