Magic Fetch
Captures capability gaps in real-time. When Claude hits a wall, it logs exactly what was needed — not just "I can't" but "here's what tool/API/access would have solved this." Over time this builds a prioritized integration roadmap written by the agent itself.
Modes
This skill has two modes. Use whichever matches the user's intent.
Capture mode (default): activate at the start of a session to log gaps as they arise. See CAPTURE.md.
Review mode: summarize an existing log into a prioritized roadmap. See REVIEW.md.
Workflow — Capture mode
- Activate — confirm the log file path (default:
./magic-fetch.jsonl). Create it if it doesn't exist. Announce: "Magic fetch active. I'll log every capability gap to {path}."
- Proceed normally — carry out all tasks as usual. Do not change behavior except for the logging step below.
- On every capability gap — whenever Claude cannot perform a requested action due to missing tool, access, data, or permission, BEFORE or AFTER explaining the limitation to the user, append one JSON entry to the log. See CAPTURE.md for the schema and examples.
- Never skip a gap — if you said "I can't", "I don't have access", "I'm unable to", or "I don't know how to reach", a log entry is required. No exceptions.
- Confirm each log write — after writing, output a single line:
[gap logged: {need_summary}] so the user sees it in real-time.
Workflow — Review mode
- Read the log — load the JSONL file the user points to.
- Cluster by type — group gaps by
capability_type. See REVIEW.md.
- Score by frequency + impact — rank integration candidates. See REVIEW.md.
- Output the roadmap — produce a table of: rank, integration, frequency, example use cases, estimated complexity. See REVIEW.md.
Self-review checklist
Golden rules
- Log before you explain. Write the gap entry to the file before or alongside telling the user you can't do something. Never explain first and forget to log.
- Be specific about what's missing. "No internet access" is useless. "GitHub API access to list commits for repo X" is useful. Every entry must name the specific data, endpoint, or permission needed.
- Include the user's intent. The log must capture what the user was trying to accomplish, not just what Claude couldn't do. This is what makes the roadmap actionable.
- One entry per gap, not per turn. If a single turn has 3 capability walls, log 3 entries.
- Never suppress gaps out of politeness. If it would embarrass Claude to log it, that's exactly when to log it.
- Review produces a roadmap, not a list. Gaps must be clustered, ranked, and presented as integration candidates with concrete next steps — not a raw log dump.
Reference files
| File |
Contents |
| CAPTURE.md |
JSON schema for gap entries, detection patterns, examples |
| REVIEW.md |
Clustering strategy, scoring rubric, roadmap output format |
1---2name: magic-fetch3description: Logs capability gaps as they arise during a session — what Claude couldn't do and exactly what tool, access, or data would have made it possible. Use when the user wants to capture integration needs, track where Claude hits walls, build a roadmap from blocked requests, log capability gaps, or says "remember what you couldn't do". Auto-activates when Claude is about to say it cannot access, fetch, or perform something.4---56# Magic Fetch78Captures capability gaps in real-time. When Claude hits a wall, it logs exactly what was needed — not just "I can't" but "here's what tool/API/access would have solved this." Over time this builds a prioritized integration roadmap written by the agent itself.910## Modes1112This skill has two modes. Use whichever matches the user's intent.1314**Capture mode** (default): activate at the start of a session to log gaps as they arise. See [CAPTURE.md](CAPTURE.md).1516**Review mode**: summarize an existing log into a prioritized roadmap. See [REVIEW.md](REVIEW.md).1718## Workflow — Capture mode19201. **Activate** — confirm the log file path (default: `./magic-fetch.jsonl`). Create it if it doesn't exist. Announce: "Magic fetch active. I'll log every capability gap to `{path}`."212. **Proceed normally** — carry out all tasks as usual. Do not change behavior except for the logging step below.223. **On every capability gap** — whenever Claude cannot perform a requested action due to missing tool, access, data, or permission, BEFORE or AFTER explaining the limitation to the user, append one JSON entry to the log. See [CAPTURE.md](CAPTURE.md) for the schema and examples.234. **Never skip a gap** — if you said "I can't", "I don't have access", "I'm unable to", or "I don't know how to reach", a log entry is required. No exceptions.245. **Confirm each log write** — after writing, output a single line: `[gap logged: {need_summary}]` so the user sees it in real-time.2526## Workflow — Review mode27281. **Read the log** — load the JSONL file the user points to.292. **Cluster by type** — group gaps by `capability_type`. See [REVIEW.md](REVIEW.md).303. **Score by frequency + impact** — rank integration candidates. See [REVIEW.md](REVIEW.md).314. **Output the roadmap** — produce a table of: rank, integration, frequency, example use cases, estimated complexity. See [REVIEW.md](REVIEW.md).3233## Self-review checklist3435- [ ] Log file path was confirmed with the user or defaulted to `./magic-fetch.jsonl`36- [ ] Every gap entry contains: timestamp, task, what was requested, what was missing, what would help37- [ ] No gap was silently dropped — every "I can't" has a corresponding log entry38- [ ] `[gap logged: ...]` confirmation was shown for each entry39- [ ] Review mode produces a ranked table, not a raw dump4041## Golden rules42431. **Log before you explain.** Write the gap entry to the file before or alongside telling the user you can't do something. Never explain first and forget to log.442. **Be specific about what's missing.** "No internet access" is useless. "GitHub API access to list commits for repo X" is useful. Every entry must name the specific data, endpoint, or permission needed.453. **Include the user's intent.** The log must capture what the user was trying to accomplish, not just what Claude couldn't do. This is what makes the roadmap actionable.464. **One entry per gap, not per turn.** If a single turn has 3 capability walls, log 3 entries.475. **Never suppress gaps out of politeness.** If it would embarrass Claude to log it, that's exactly when to log it.486. **Review produces a roadmap, not a list.** Gaps must be clustered, ranked, and presented as integration candidates with concrete next steps — not a raw log dump.4950## Reference files5152| File | Contents |53|------|----------|54| [CAPTURE.md](CAPTURE.md) | JSON schema for gap entries, detection patterns, examples |55| [REVIEW.md](REVIEW.md) | Clustering strategy, scoring rubric, roadmap output format |