一键导入
web-archeologist
Trace any clause, element, algorithm, or GitHub issue/PR in Web Standards (WHATWG, W3C, WICG, IETF) back to its historical origins.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Trace any clause, element, algorithm, or GitHub issue/PR in Web Standards (WHATWG, W3C, WICG, IETF) back to its historical origins.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | web-archeologist |
| description | Trace any clause, element, algorithm, or GitHub issue/PR in Web Standards (WHATWG, W3C, WICG, IETF) back to its historical origins. |
This skill enables the agent to trace any clause, element, algorithm, or GitHub issue/PR in Web Standards (WHATWG, W3C, WICG, IETF) back to its historical origins.
Before cloning repositories, use these tools to find the canonical definition and its impact across the web platform.
If you only have a term (e.g., "fetch timing info") but no URL, use the ReSpec Xref API:
# Search for a term across all known specifications
curl -s -X POST "https://respec.org/xref" \
-H "Content-Type: application/json" \
-d '{"keys": [{"term": "fetch timing info"}]}' | jq '.result[][1][0].uri'
To see which other specs depend on a definition, use WebDex (by @dontcallmedom). This helps identify the "Why" by seeing who consumes the logic:
http://dontcallmedom.github.io/webdex/For a comprehensive search across all modern and historical web specifications:
cargo binstall webspec-index. This tool provides full-text search, cross-reference tracking, and graph traversal across HTML, DOM, URL, CSS, ECMAScript, and 70+ other specifications. Use this to find where terms are defined if ReSpec Xref fails or if you need to build a cross-reference graph.If a term is ambiguous or the spec definition is too low-level to understand the intent:
Search API (Recommended):
curl -s "https://developer.mozilla.org/api/v1/search?q=term" | jq '.documents[0].mdn_url'
Usage: MDN often bridges the gap between the "What" (spec) and the "How" (usage). Use it to identify which specification is the current "canonical" one for a feature, as it often links directly to the normative spec sections.
Disambiguation: If Xref returns multiple results (e.g., for "Image"), MDN can help you identify if the user is likely referring to the HTMLImageElement, a CSS <image> type, or a Canvas 2D image source.
Before diving into spec prose, always look for the Explainer:
explainer.md or a dedicated repository (often in WICG/).site:github.com "WICG" "term" "explainer"Always use ~/.gemini/cache/specs for local clones.
| Domain | GitHub Repository |
|---|---|
html.spec.whatwg.org | whatwg/html (File: source) |
dom.spec.whatwg.org | whatwg/dom (File: dom.bs) |
fetch.spec.whatwg.org | whatwg/fetch (File: fetch.bs) |
*.spec.whatwg.org | whatwg/<name> (File: <name>.bs) |
drafts.csswg.org | w3c/csswg-drafts (Search **/*.bs) |
httpwg.org | httpwg/http-extensions |
wicg.github.io | WICG/<name> |
source.chromium.org | chromium/chromium |
webkit.org | WebKit/WebKit |
searchfox.org | mozilla/gecko-dev |
krijnhoetmer.nl/irc-logs | KrijnHoetmer/irc-logs |
Action: Clone with --depth 1000. Use git fetch --unshallow if history is cut off.
Warning: A shallow clone (
--depth) can lead to hallucinations where the oldest commit in the shallow history is incorrectly identified as the origin of a line. Alwaysgit fetch --unshallowbefore performing a deep history trace orgit log -L.
Given a fragment ID (e.g., #main-fetch), find the exact line. The true definition is the <dfn> or structural block defining the term.
grep -rlE "<dfn[^>]*.*fragment" . --include=*.bs --include=source --include=*.md
Search for the fragment name using these patterns in order:
(concept-|rel-|attr-|dom-)?grep -nE '<dfn[^>]* (id|data-x)=["'\'']prefix?fragment["'\'']' <file>grep -nE 'data-x="fragment"' then scan back 5 lines with sed to find the opening <dfn.grep -nE "Name:\s*fragment" <file> (Inside a propdef block).If given a link to source.chromium.org, WebKit's GitHub, or Mozilla Searchfox:
source.chromium.org/chromium/chromium/src/+/main:) to isolate the file path.github.com/WebKit/WebKit/blob/main/) to isolate the file path.searchfox.org/mozilla-central/source/) to isolate the file path.FetchManager::Loader::Start), use grep -rn "SymbolName" . to find the implementation.... (Strategies omitted for brevity) ...
When GitHub issues or Bugzilla reports reference a "discussion on IRC" or when you need to find the real-time debate behind a 2006-2016 era change:
KrijnHoetmer/irc-logs and use grep to search across channels and dates.
grep -rEi "createContextualFragment" ~/.gemini/cache/specs/irc-logs/whatwgsite:krijnhoetmer.nl/irc-logs/whatwg "term".Use this protocol to build a tree of callers and callees for a specific algorithm or concept, annotating the relationships with spec links and rationale.
<div algorithm> or structural block.<a> tags or terms in [= ... =] or {{ ... }} brackets within the block.grep the current specification for the term's id or lt (link text).http://dontcallmedom.github.io/webdex/) to find which other specifications reference this definition.Present the graph as a nested Markdown list with the following structure:
Algorithm Name [Spec Link] - "Short description of the algorithm's purpose."
Child Algorithm [Spec Link] - "Relationship: [How it's used]"Parent Algorithm [Spec Link] - "Relationship: [Why it calls this]"Example:
Main Fetch [fetch/#main-fetch] - "The entry point for all network requests."
HTTP-network-or-cache fetch [fetch/#http-network-or-cache-fetch] - "Relationship: Invoked for HTTP(S) schemes."HTML Navigation [html/#navigate] - "Relationship: Used to fetch the document resource."