--- name: linkify description: 섹션 딥링크 — 어떤 웹사이트든 페이지의 단원·챕터·소제목·단락을 누르면 주소가 `…/page#anchor` 로 바뀌고 그 주소가 클립보드에 자동 복사되게 만든다. 붙여 넣은 링크를 열면 그 자리로 스크롤되고(고정 머리 막대 아래로, 닫힌 details·숨은 탭도 열어서) 잠깐 빛난다. Add copyable deep links (#anchors) to every heading, chapter and paragraph of a site — a drop-in linkify.js/css with no build step, stable ids, a "Link copied" toast, landing below sticky headers, hidden tabs and closed details opened on arrival, RTL, touch and keyboard, plus an audit that finds headings without stable ids. Use it whenever the user wants section links, anchor links, permalinks, heading links, "copy link to this section", "share this part of the page", jump-to-section URLs, hash links that scroll to a place, or "/linkify …" — e.g. "각 단원에 링크 복사", "제목 누르면 주소 복사", "이 위치로 바로 가는 링크", "#앵커 링크 달아 줘", "add anchor links to headings", "make sections linkable". In SONUB (sonub.com) read references/projects/sonub.md first. license: MIT compatibility: The kit is plain JavaScript and CSS for any modern browser (no framework, no build). scripts/linkify.py needs Python 3.8+ (standard library only). --- # linkify — a link to every place on the page A reader finds the one paragraph they need in a long page and wants to send exactly that place to someone. This skill makes every section linkable: ``` ## Install 🔗 ← hover (or tap) a heading: a link button appears click the heading or 🔗 → address bar: https://site.com/docs/setup#install (no reload, no jump) → clipboard: the same address [ Link copied ] ← toast open that address later → the page scrolls to "Install", below the sticky header, and flashes it ``` **Talk in the user's language.** References are in English (the SONUB profile is in Korean). Keep code, paths and attribute names as they are. ## 🛑 Rules 1. **Look for the project's own system first.** Search for heading anchors that already exist (`grep -rIl "scrollIntoView\|hashchange\|location.hash\|anchor" --include=*.js --include=*.ts --include=*.vue --include=*.svelte .`), doc generators that add them (MkDocs, Docusaurus, VitePress, GitHub Markdown), and read AGENTS.md / CLAUDE.md. Extend what exists — never add a second anchor system next to it. **SONUB** (repo has `SONUB-SSOT.md`): stop here and follow [references/projects/sonub.md](references/projects/sonub.md). 2. **Ids are addresses — keep them stable.** A copied link lives forever in chats and docs. Never rename an id that shipped. Prefer fixed ids written in the markup (`