feat(skills): xray-capture — capture, frontier fan-out, scouting suggest (27 K.1/K.2)#181
Closed
bryanmatthewsimonson wants to merge 1 commit into
Closed
Conversation
…est (27 K.1/K.2)
Phase 27 slices K.1/K.2: a repo-level Claude skill that drives the
loaded extension through the claude-in-chrome connector. Zero
extension code changes — every step rides existing surfaces, verified
against the code:
- Capture by URL: navigate the article tab, then from the portal tab
chrome.tabs.query + tabs.sendMessage({type: xray:capture}) into the
content script; the reader auto-archives on open. PDFs take the
reader ?pdf= tabless path. Verification is a read-only xray-archive
IDB check with honest failure reporting (paywalls are reported as
uncapturable, never bypassed).
- Frontier fan-out: the seed record's article.links (non-internal,
minus already-captured), presented for the USER to pick before any
batch capture; links_truncated disclosed.
- Scouting suggest (K.2): the extension's own xray:llm:suggest — the
worker enforces flags/key/kinds server-side and the request cannot
override the user's stored kinds; the skill summarizes counts +
load-bearing claims in chat. Acceptance stays in the reader; the
double-spend of a reader re-run is stated, not hidden.
- Hard rules in the skill text: no auto-accept ever (the constitution
refusal of record), no publish paths, the API key stays in the SW,
sequential pacing, findings/baselines out of scouting scope until
the F-ladder fixes are proven (decision D8).
- .gitignore: .claude/ becomes .claude/* + !.claude/skills/ so the
skill ships while session state stays ignored.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner
Author
|
Landed on main via the #183 consolidation merge (the stacked-merge cascade closed/retargeted intermediates; every commit from this PR is in main). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase-27 slices K.1/K.2 — the Claude capture skill. Stacked on #180 (the tip of the Phase-26/27 chain). Zero extension code changes.
A repo-level skill (
.claude/skills/xray-capture/SKILL.md) a Claude session invokes to:xray:captureinto the content script from the portal tab (chrome.tabs.queryexposes URLs from extension pages because the manifest carries<all_urls>host permissions — verified), and the reader auto-archives. PDFs take the?pdf=tabless reader path. Verification is a read-only IDB check; paywalls are reported as uncapturable, never bypassed.links_truncateddisclosed).xray:llm:suggest(gates enforced worker-side; the request cannot override the user's stored suggestion kinds — verified againstrunSuggestionPass) and summarize what an article would yield. Acceptance stays in the reader; the cost of a reader re-run is stated plainly.Constitution posture
Hard rules bind every step: no auto-accept ever, no publish paths, the API key never leaves the service worker, sequential pacing, and findings/baselines excluded from scouting until the F-ladder attribution fixes are proven on real articles (decision D8). K.3 (a headless apply-accepted-proposals seam) stays deferred until real usage shows the friction.
.gitignore:.claude/→.claude/*+!.claude/skills/so the skill ships while session state stays ignored.Tests: 1,796 green (no src changes) · lint 0 errors.
🤖 Generated with Claude Code