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#

ParameterTypeDescription
ownerstringGitHub username or organization
repostringRepository name

Query Parameters#

ParameterTypeDescription
pathstringOptional. 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 with owner, repo, commit_sha, a skills array of info objects (up to 50), and truncated.
  • With path — returns a single info object with name, description, raw_frontmatter, body_preview (first 500 chars), has_scripts, has_references, has_assets, estimated_tokens, and parse_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#

StatusCause
404Repository or skill path not found
429GitHub 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_tokens
python
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"