Skill Info#
GET/v1/repos/{owner}/{repo}/info
Returns parsed metadata and token estimates without running the full evaluation. Omit path to get info for every SKILL.md in the repo. Provide path to get info for a single skill. Lighter weight than evaluate — useful for discovery and cataloging.
Path Parameters#
| Parameter | Type | Description |
|---|---|---|
| owner | string | GitHub username or organization |
| repo | string | Repository name |
Query Parameters#
| Parameter | Type | Description |
|---|---|---|
| path | string | Optional. Path to a specific skill — omit to evaluate all skills in the repo |
Response#
The response shape depends on whether path is provided.
- Without
path— returns an object withowner,repo,commit_sha, askillsarray of info objects (up to 50), andtruncated. - With
path— returns a single info object withname,description,raw_frontmatter,body_preview(first 500 chars),has_scripts,has_references,has_assets,estimated_tokens, andparse_errors.
example response
{
"owner": "anthropics",
"repo": "claude-code",
"path": "skills/git-commit/SKILL.md",
"name": "git-commit",
"description": "Write conventional commit messages",
"raw_frontmatter": { "name": "git-commit", ... },
"body_preview": "# Git Commit\nGenerate conventional ...",
"has_scripts": false,
"has_references": true,
"has_assets": false,
"estimated_tokens": 1240,
"parse_errors": []
}
Errors#
| Status | Cause |
|---|---|
| 404 | Repository or skill path not found |
| 429 | GitHub API rate limit reached |
Examples#
Single skill:
bash
curl "https://api.skill-lab.dev/v1/repos/owner/repo/info?path=my-skill"javascript
const res = await fetch("https://api.skill-lab.dev/v1/repos/owner/repo/info?path=my-skill");
const data = await res.json();
// data.estimated_tokenspython
import httpx
res = httpx.get("https://api.skill-lab.dev/v1/repos/owner/repo/info?path=my-skill")
data = res.json()
# data['estimated_tokens']Whole repo:
bash
curl "https://api.skill-lab.dev/v1/repos/anthropics/claude-code/info"