c7 - Context7 Documentation Fetcher
Fetch-only skill. Does NOT read docs into context.
Usage
Fetch documentation
scripts/c7.sh <library-name> "<query>"
Example:
scripts/c7.sh nextjs "app router middleware"
List cached docs
scripts/c7.sh --list
Force re-fetch (bypass cache)
scripts/c7.sh --force <library-name> "<query>"
Workflow
-
Run
scripts/c7.sh <library> "<query>" -
Handle output:
CACHED: <path> (Xh old)→ Use AskUserQuestion: "Documentation for X is already cached (Y hours old). Use cached version or fetch fresh?"- If re-fetch → run with
--force - If use cached → inform user of location, done
- If re-fetch → run with
- Success (path printed) → inform user: "Documentation saved to <path>"
NOT_FOUND:→ Use AskUserQuestion: "Library not found in Context7. How should I proceed?" with options like retry with different name, skip, etc.RATE_LIMITED:→ inform user rate limit hit, stopAPI_ERROR:→ inform user of error, stop
-
Done. Do NOT read the file into context.
Exit Codes
| Code | Output | Action | |------|--------|--------| | 0 | filepath | Success - report location | | 0 | CACHED: path | Ask user: use cache or re-fetch? | | 1 | NOT_FOUND: | Ask user for alternatives | | 2 | RATE_LIMITED: | Inform user, stop | | 3 | API_ERROR: | Inform user, stop | | 4 | FUZZY_MATCH: | Ask user: "Context7 matched X instead of Y. Use this or try different name?" |