Borrowing it
Nothing to install: this file belongs to shyamsridhar123/Skills-Registry-CLI. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/shyamsridhar123/Skills-Registry-CLI/main/.github/skills/github-repo-fetcher/SKILL.mdgit clone --depth 1 https://github.com/shyamsridhar123/Skills-Registry-CLIWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shyamsridhar123/skills-registry-cli/github-repo-fetcher)<a href="https://agentmods.dev/skills/shyamsridhar123/skills-registry-cli/github-repo-fetcher"><img src="https://agentmods.dev/badge/skills/shyamsridhar123/skills-registry-cli/github-repo-fetcher/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shyamsridhar123/skills-registry-cli/github-repo-fetcher"><img src="https://agentmods.dev/badge/skills/shyamsridhar123/skills-registry-cli/github-repo-fetcher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.01278 |
| Opus 5.5 | $0.00017 | $0.00511 |
| Sonnet 5.5 | $0.00008 | $0.00256 |
| Haiku 4.5 | $0.00004 | $0.00128 |
Grade A, and why
github-repo-fetcher scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
const response = await fetch(url); Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
import { execSync } from 'child_process'; How it starts
The opening of the file, as written. The whole thing — 206 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GitHub Repository Fetcher Skill
This skill provides guidance for fetching and parsing content from GitHub repositories.
Fetching Strategies
Strategy 1: Git Clone (Recommended for Full Repos)
# Shallow clone for efficiency
git clone --depth 1 https://github.com/<owner>/<repo>.git /tmp/<repo>
# Clone specific branch
git clone --depth 1 --branch <branch> https://github.com/<owner>/<repo>.git /tmp/<repo>
Strategy 2: Raw Content URL (For Single Files)
https://raw.githubusercontent.com/<owner>/<repo>/<branch>/<path>
Example:
https://raw.githubusercontent.com/anthropics/skills/main/skills/skill-creator/SKILL.md
Strategy 3: GitHub API (For Metadata)
https://api.github.com/repos/<owner>/<repo>/contents/<path>
Node.js Implementation
Repository Fetcher Class
import { execSync } from 'child_process';
import { existsSync, rmSync } from 'fs';
import { readdir, readFile } from 'fs/promises';
import { join } from 'path';
export class RepoFetcher {
constructor(tempDir = '/tmp/skills-source') {
this.tempDir = tempDir;
}
async clone(repo, branch = 'main') {
if (existsSync(this.tempDir)) {
rmSync(this.tempDir, { recursive: true });
}
const url = `https://github.com/${repo}.git`;
execSync(`git clone --depth 1 --branch ${branch} ${url} ${this.tempDir}`, {
stdio: 'pipe'
});
return this.tempDir;
}
async listSkills(skillsDir = 'skills') {
const dir = join(this.tempDir, skillsDir);
const entries = await readdir(dir, { withFileTypes: true });
const skills = [];
for (const entry of entries) {
if (entry.isDirectory()) {
const skillMd = join(dir, entry.name, 'SKILL.md');
if (existsSync(skillMd)) {
const content = await readFile(skillMd, 'utf-8');
const metadata = this.parseSkillMd(content);
skills.push({
name: metadata.name || entry.name,
description: metadata.description,
path: join(skillsDir, entry.name)
});
}
}
}
return skills;
}
parseSkillMd(content) {
if (!content.startsWith('---')) {
return {};
}
const endIndex = content.indexOf('---', 3);
if (endIndex === -1) {
return {};
}
const frontmatter = content.slice(4, endIndex).trim();
const result = {};
for (const line of frontmatter.split('\n')) {
const colonIndex = line.indexOf(':');
if (colonIndex > 0) {
const key = line.slice(0, colonIndex).trim();
const value = line.slice(colonIndex + 1).trim();
result[key] = value;
}
}
return result;
}
cleanup() {
if (existsSync(this.tempDir)) {
rmSync(this.tempDir, { recursive: true });
}
}
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 206 lines · 42 tokens per session scan A ec69cfd42e3d
github-repo-fetcher is a skill published in the GitHub repository shyamsridhar123/Skills-Registry-CLI (3 stars, last pushed 9mo ago), licensed MIT. It adds 42 tokens to every session and 1,278 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
github-repo-fetcher compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| github-repo-fetchershyamsridhar123/Skills-Registry-CLI | Skill | 3 | 9mo ago | MIT | A | 42 | Claude Code, Codex |
| uvcs-version-controlProAnima/unity-version-control-mcp | Skill | 18 | 11d ago | MIT | A | 101 | Codex |
| create-prprisma/orm | Skill | 48k | yesterday | Apache-2.0 | A | 48 | Claude Code, Codex |
| review-implement-phaseprisma/orm | Skill | 48k | yesterday | Apache-2.0 | A | 38 | Claude Code |
| rea-changelog-updatemorluto/rea | Skill | 435k | yesterday | MIT | A | 33 | Claude Code |
| repo-hygieneQwenLM/qwen-code | Skill | 29k | yesterday | Apache-2.0 | A | 48 | Claude Code, Codex |
| gh-skillcli/cli | Skill | 47k | yesterday | MIT | A | 41 | Claude Code, Codex |