#956 by GitHub stars

tripleyak/SkillForge

A skill creator that proves its skills work. Evidence-driven skill creation for Claude Code and Codex: baseline-tested generation, per-skill regression evals, ecosystem doctor, cross-runtime compile, and an opt-in proactive advisor.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

4fc8bb486aa8 → 4fc8bb486aa8

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4fc8bb486aa8

No earlier version was observed for comparison.

Compare on GitHub

scripts/tests/fixtures/sample-skill/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

4fc8bb486aa8 → 4fc8bb486aa8

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4fc8bb486aa8

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4fc8bb486aa8edca12facbf02b53aa1ada76a4a9

916GitHub stars
2stars in 7 days
2skills in this repository
0commits in 30 days

Heat

2.2
  • Star growth, last 7 daysAhead of 51% of tracked repositories
  • Star growth, last 24 hoursAhead of 2% of tracked repositories
  • Rank movement, last 7 daysAhead of 11% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 3, 2026916

Individual skills in this repository

How it works

skillforge

When your agent uses it

Use when creating, improving, finding, or auditing agent skills - the user says 'create a skill', 'do I have a skill for X', 'improve the X skill', 'which skill should I use', asks whether a skill exists for a task, or wants to validate, test, evaluate, package, or health-check skills. Also use for skill ecosystem maintenance (duplicate detection, stale skills, trigger collisions) and advisor checkpoints.

What it loads into context

Frontmatter

177 tokens

Always available to the agent

SKILL.md

2,079 tokens

When the skill is activated

Reference documents

31,431 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Routing (Phase 0)
  2. Creation pipeline
  3. Frontmatter and platform facts
  4. Ecosystem maintenance
  5. Context Skill Advisor
  6. Script inventory
  7. Anti-patterns
  8. Verification checklist

Scripts executed separately

  • assets/templates/script-template.py
  • scripts/_constants.py
  • scripts/advisor_scoring.py
  • scripts/check_docs_safety.py
  • scripts/common.py
  • scripts/compile_skill.py
  • scripts/context_advisor.py
  • scripts/context_sources.py
  • scripts/discover_skills.py
  • scripts/frontmatter.py
  • scripts/hooks/session_start.py
  • scripts/hooks/user_prompt_submit.py
  • scripts/init_skill.py
  • scripts/install_skillforge.py
  • scripts/install_workshop.sh
  • scripts/mine_skill_friction.py
  • scripts/package_skill.py
  • scripts/quick_validate.py
  • scripts/run_skill_evals.py
  • scripts/skillforge_config.py
  • scripts/skillforge_doctor.py
  • scripts/tests/test_compile.py
  • scripts/tests/test_config_installer.py
  • scripts/tests/test_config_privacy.py
  • scripts/tests/test_context_advisor.py
  • scripts/tests/test_discovery.py
  • scripts/tests/test_doctor.py
  • scripts/tests/test_friction.py
  • scripts/tests/test_frontmatter.py
  • scripts/tests/test_hooks.py
  • scripts/tests/test_init_skill.py
  • scripts/tests/test_package_skill_ignore.py
  • scripts/tests/test_run_skill_evals.py
  • scripts/tests/test_triage.py
  • scripts/tests/test_validate_skill.py
  • scripts/triage_skill_request.py
  • scripts/validate-skill.py
  • scripts/validate_skill.py

Files

  • .gitignoreasset541 bytes
  • .skillignoreasset289 bytes
  • CONTEXT.mddoc8,829 bytes
  • LICENSEasset1,056 bytes
  • README.mddoc5,291 bytes
  • SKILL.mdcore9,162 bytes
  • SKILL.mdcore9,162 bytes
  • SKILL.mdcore9,162 bytes
  • SKILL.mdcore9,162 bytes
  • SKILLFORGE_AUDIT.mddoc22,450 bytes
  • assets/images/01-title.pngasset1,224,996 bytes
  • assets/images/02-quality-gap.pngasset1,226,842 bytes
  • assets/images/03-quality-built-in.pngasset1,340,304 bytes
  • assets/images/04-four-phase-architecture.pngasset996,482 bytes
  • assets/images/05-phase1-thinking-lenses.pngasset846,459 bytes
  • assets/images/06-phases-2-3.pngasset808,076 bytes
  • assets/images/07-phase4-synthesis.pngasset770,963 bytes
  • assets/images/08-evolution-mandate.pngasset883,769 bytes
  • assets/images/09-core-principles.pngasset921,768 bytes
  • assets/images/10-agentic-capabilities.pngasset1,086,684 bytes
  • assets/images/11-directory-structure.pngasset1,019,432 bytes
  • assets/images/12-installation.pngasset859,861 bytes
  • assets/images/13-closing.pngasset1,209,017 bytes
  • assets/templates/github-workflow-skill-ci.ymlasset4,366 bytes
  • assets/templates/script-template.pyruns8,813 bytes
  • assets/templates/skill-md-template.mddoc1,419 bytes
  • commands/skillforge.mddoc1,389 bytes
  • docs/adr/0001-proactive-context-skill-advisor.mddoc2,297 bytes
  • docs/adr/0002-hooks-based-advisor.mddoc5,700 bytes
  • index.htmlasset71,304 bytes
  • references/claude-code-frontmatter.mddoc3,294 bytes
  • references/degrees-of-freedom.mddoc4,284 bytes
  • references/evolution-scoring.mddoc9,037 bytes
  • references/iteration-guide.mddoc3,745 bytes
  • references/multi-lens-framework.mddoc10,590 bytes
  • references/regression-questions.mddoc11,410 bytes
  • references/script-integration-framework.mddoc17,416 bytes
  • references/script-patterns-catalog.mddoc21,550 bytes
  • references/specification-template.mddoc2,769 bytes
  • references/synthesis-protocol.mddoc3,664 bytes
  • references/testing-and-evals.mddoc5,583 bytes
  • scripts/_constants.pyruns8,516 bytes
  • scripts/advisor_scoring.pyruns17,845 bytes
  • scripts/check_docs_safety.pyruns2,597 bytes
  • scripts/common.pyruns1,763 bytes
  • scripts/compile_skill.pyruns11,541 bytes
  • scripts/context_advisor.pyruns13,510 bytes
  • scripts/context_sources.pyruns11,620 bytes
  • scripts/discover_skills.pyruns15,177 bytes
  • scripts/frontmatter.pyruns15,811 bytes
  • scripts/hooks/session_start.pyruns4,510 bytes
  • scripts/hooks/user_prompt_submit.pyruns6,442 bytes
  • scripts/init_skill.pyruns12,816 bytes
  • scripts/install_skillforge.pyruns14,641 bytes
  • scripts/install_workshop.shruns6,074 bytes
  • scripts/mine_skill_friction.pyruns16,027 bytes
  • scripts/package_skill.pyruns7,035 bytes
  • scripts/quick_validate.pyruns3,277 bytes
  • scripts/run_skill_evals.pyruns25,443 bytes
  • scripts/skillforge_config.pyruns7,361 bytes
  • scripts/skillforge_doctor.pyruns16,775 bytes
  • scripts/tests/test_compile.pyruns9,874 bytes
  • scripts/tests/test_config_installer.pyruns7,536 bytes
  • scripts/tests/test_config_privacy.pyruns7,254 bytes
  • scripts/tests/test_context_advisor.pyruns19,828 bytes
  • scripts/tests/test_discovery.pyruns8,730 bytes
  • scripts/tests/test_doctor.pyruns12,075 bytes
  • scripts/tests/test_friction.pyruns13,116 bytes
  • scripts/tests/test_frontmatter.pyruns11,696 bytes
  • scripts/tests/test_hooks.pyruns13,011 bytes
  • scripts/tests/test_init_skill.pyruns5,305 bytes
  • scripts/tests/test_package_skill_ignore.pyruns4,436 bytes
  • scripts/tests/test_run_skill_evals.pyruns17,093 bytes
  • scripts/tests/test_triage.pyruns8,627 bytes
  • scripts/tests/test_validate_skill.pyruns10,274 bytes
  • scripts/triage_skill_request.pyruns28,691 bytes
  • scripts/validate-skill.pyruns657 bytes
  • scripts/validate_skill.pyruns31,471 bytes
Read SKILL.md

# SkillForge 6 - Skill Router, Creator & Ecosystem Maintainer

Routes any skill-related request to the right action (use, improve, create, compose), creates new skills through an evidence-driven pipeline, and maintains the health of the whole skill ecosystem. Core principle: **skill quality is a property of behavior, not documents - a skill is done when a fresh agent demonstrably does better with it than without it.**

## Routing (Phase 0)

Always triage before creating anything:

```bash
python3 scripts/discover_skills.py            # refresh index (auto-refreshes if >24h old)
python3 scripts/triage_skill_request.py "<the user's request>" --json
```

| Triage result | Action |
View the complete source on GitHub

Skills included

  • skillforge
  • sample-skill

Repository facts

License
MIT
Created
Dec 30, 2025
Last pushed
Jul 29, 2026
Forks
93
Open issues
0
Project activity
Slowing

Rank over the last 12 weeks

Now #956 · best #635 · down 265 in 30 days

  1. #938 on Nov 1
  2. #944 on Nov 2
  3. #949 on Nov 3
  4. #950 from Nov 4 to Nov 5
  5. #951 on Nov 6
  6. #956 since Nov 7
39 earlier periods
  1. #610 on Aug 2
  2. #599 on Aug 8
  3. #652 on Aug 18
  4. #637 on Aug 19
  5. #635 on Aug 20
  6. #657 on Aug 24
  7. #664 on Aug 25
  8. #650 on Aug 26
  9. #657 on Aug 27
  10. #679 on Aug 28
  11. #649 on Sep 4
  12. #659 on Sep 6
  13. #674 on Sep 7
  14. #697 on Sep 8
  15. #685 on Sep 10
  16. #674 from Sep 12 to Sep 13
  17. #691 on Sep 15
  18. #704 on Sep 16
  19. #705 on Sep 17
  20. #689 on Sep 20
  21. #707 on Sep 21
  22. #726 on Sep 22
  23. #716 on Sep 23
  24. #717 on Sep 28
  25. #732 on Sep 30
  26. #691 on Oct 1
  27. #753 on Oct 9
  28. #739 on Oct 11
  29. #756 on Oct 12
  30. #770 on Oct 15
  31. #741 on Oct 18
  32. #794 on Oct 20
  33. #805 on Oct 21
  34. #785 on Oct 22
  35. #912 on Oct 25
  36. #926 on Oct 28
  37. #930 on Oct 29
  38. #934 on Oct 30
  39. #937 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 3 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 116 signals by file

README.md

  • Network accessline 47
    git clone https://github.com/tripleyak/SkillForge.git /tmp/skillforge
  • Dangerous shell operationline 49
    cd ~/.claude/skills/skillforge && rm -rf README.md LICENSE CONTEXT.md docs .git .gitignore .skillignore index.html assets/images scripts/tests SKILLFORGE_AUDIT.md
  • Network accessline 79
    Version history and detailed release notes live on the [releases page](https://github.com/tripleyak/SkillForge/releases). v6.0.0 is a ground-up rework; the audit that drove it ships in-repo as [SKILLFORGE_AUDIT.md](SKILLFORGE_AUDIT.md).

SKILL.md

SKILLFORGE_AUDIT.md

  • Network accessline 84
    - `DEFAULT_CONFIG` hardcodes `"owner_limit": ["tripleyak", "jackatlasov"]` - personal GitHub handles shipped to every installer, causing `gh repo list` network calls on every checkpoint for anyone who installs. - 700-char excerpts from pers
  • Network accessline 85
    - 700-char excerpts from personal files are persisted in plaintext to `~/.local/share/skillforge/advice.jsonl`. Exclusions are pattern-based only; a loose `passwords.txt` in a scanned directory is fair game for excerpting. - The README's re
  • Dangerous shell operationline 86
    - The README's recommended install is `curl | bash` from an unpinned main branch, and the installer appends to global `~/.claude/CLAUDE.md`, loads a LaunchAgent, and runs the first personal-directory scan at install time, all without prompt
  • Network accessline 86
    - The README's recommended install is `curl | bash` from an unpinned main branch, and the installer appends to global `~/.claude/CLAUDE.md`, loads a LaunchAgent, and runs the first personal-directory scan at install time, all without prompt
  • Network accessline 125
    14. **Replace launchd with Claude Code hooks.** The advisor's entire delivery problem dissolves if it runs where the agent already is: a `SessionStart` hook surfaces queued suggestions at session open; a `UserPromptSubmit` hook does the che
  • Dangerous shell operationline 126
    15. **Privacy: flip to opt-in.** Personal paths and GitHub owners empty by default, chosen at install; consent-before-read, not sensitivity-notes-after; encrypt or at least scope the advice queue; drop `curl | bash` for a pinned-release ins
  • Network accessline 126
    15. **Privacy: flip to opt-in.** Personal paths and GitHub owners empty by default, chosen at install; consent-before-read, not sensitivity-notes-after; encrypt or at least scope the advice queue; drop `curl | bash` for a pinned-release ins

assets/templates/github-workflow-skill-ci.yml

  • Network accessline 24
    # Point this at your fork (or a vendored copy) and pin a ref you trust. env:   SKILLFORGE_REPO: https://github.com/tripleyak/SkillForge.git
  • Network accessline 25
    env:   SKILLFORGE_REPO: https://github.com/tripleyak/SkillForge.git   SKILLFORGE_REF: main
  • Network accessline 26
    SKILLFORGE_REPO: https://github.com/tripleyak/SkillForge.git

assets/templates/script-template.py

  • Executable scriptline 1
    #!/usr/bin/env python3

index.html

  • Network accessline 5
    <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>SkillForge — From Art to Engineering</title> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 6
    <title>SkillForge — From Art to Engineering</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 7
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 8
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 9
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Fraunces:opsz,wght@9..144,400;9..144,600&display=swap" rel="stylesheet">
  • Network accessline 34
    body::before{     content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;mix-blend-mode:overlay;     background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filte
  • Network accessline 35
    content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;mix-blend-mode:overlay;     background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbul
  • Network accessline 36
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='1
  • Network accessline 553
    Forge your first skill       </a>       <a href="https://github.com/tripleyak/SkillForge" target="_blank" class="btn ghost">
  • Network accessline 554
    </a>       <a href="https://github.com/tripleyak/SkillForge" target="_blank" class="btn ghost">         <svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 .5C5.7.5.5 5.7.5 12c0 5.1 3.3 9.4 7.8 10.9.6.1.8-.2.8-.5v-2c-3.2.7-3.9-1.4-3.9
  • Network accessline 555
    <a href="https://github.com/tripleyak/SkillForge" target="_blank" class="btn ghost">
  • Network accessline 850
    </div>       <div style="margin-top:36px">         <a href="https://github.com/tripleyak/SkillForge" target="_blank" class="btn primary">
  • Network accessline 851
    <div style="margin-top:36px">         <a href="https://github.com/tripleyak/SkillForge" target="_blank" class="btn primary">           <svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 .5C5.7.5.5 5.7.5 12c0 5.1 3.3 9.4 7.8 10.9.6.1.
  • Network accessline 852
    <a href="https://github.com/tripleyak/SkillForge" target="_blank" class="btn primary">
  • Network accessline 865
    <div class="term-body" id="term">         <span class="line"><span class="cm"># clone</span></span>         <span class="line"><span class="pr">$</span> git clone <span class="k">https://github.com/tripleyak/SkillForge.git</span> /tmp/skill
  • Network accessline 866
    <span class="line"><span class="cm"># clone</span></span>         <span class="line"><span class="pr">$</span> git clone <span class="k">https://github.com/tripleyak/SkillForge.git</span> /tmp/skillforge</span>         <span class="line"><s
  • Network accessline 867
    <span class="line"><span class="pr">$</span> git clone <span class="k">https://github.com/tripleyak/SkillForge.git</span> /tmp/skillforge</span>
  • Network accessline 887
    <div class="mono">SKILLFORGE · v5.1.0 · MIT LICENSE · © 2026 TRIPLEYAK</div>     <div class="foot-links mono">       <a href="https://github.com/tripleyak/SkillForge" target="_blank">GITHUB</a>
  • Network accessline 888
    <div class="foot-links mono">       <a href="https://github.com/tripleyak/SkillForge" target="_blank">GITHUB</a>       <a href="https://github.com/tripleyak/SkillForge/blob/main/SKILL.md" target="_blank">SKILL.MD</a>
  • Network accessline 889
    <a href="https://github.com/tripleyak/SkillForge" target="_blank">GITHUB</a>
  • Network accessline 890
    <a href="https://github.com/tripleyak/SkillForge/blob/main/SKILL.md" target="_blank">SKILL.MD</a>
  • Network accessline 891
    <a href="https://github.com/tripleyak/SkillForge/releases" target="_blank">RELEASES</a>
  • Network accessline 892
    <a href="https://github.com/tripleyak/SkillForge/blob/main/LICENSE" target="_blank">LICENSE</a>
  • Network accessline 1498
    const xL = Math.cos(a)*R2, yL = Math.sin(a)*R2;     // spoke     const ln = document.createElementNS('http://www.w3.org/2000/svg','line');
  • Network accessline 1499
    // spoke     const ln = document.createElementNS('http://www.w3.org/2000/svg','line');     ln.setAttribute('x1',0);ln.setAttribute('y1',0);ln.setAttribute('x2',x);ln.setAttribute('y2',y);
  • Network accessline 1500
    const ln = document.createElementNS('http://www.w3.org/2000/svg','line');
  • Network accessline 1502
    spokes.appendChild(ln);     // dot     const c = document.createElementNS('http://www.w3.org/2000/svg','circle');
  • Network accessline 1503
    // dot     const c = document.createElementNS('http://www.w3.org/2000/svg','circle');     c.setAttribute('cx',x);c.setAttribute('cy',y);c.setAttribute('r',5);
  • Network accessline 1504
    const c = document.createElementNS('http://www.w3.org/2000/svg','circle');
  • Network accessline 1507
    c.setAttribute('data-i',i);     dots.appendChild(c);     const pulse = document.createElementNS('http://www.w3.org/2000/svg','circle');
  • Network accessline 1508
    dots.appendChild(c);     const pulse = document.createElementNS('http://www.w3.org/2000/svg','circle');     pulse.setAttribute('cx',x);pulse.setAttribute('cy',y);pulse.setAttribute('r',10);
  • Network accessline 1509
    const pulse = document.createElementNS('http://www.w3.org/2000/svg','circle');
  • Network accessline 1512
    dots.appendChild(pulse);     // label     const t = document.createElementNS('http://www.w3.org/2000/svg','text');
  • Network accessline 1513
    // label     const t = document.createElementNS('http://www.w3.org/2000/svg','text');     t.setAttribute('x',xL);t.setAttribute('y',yL+4);
  • Network accessline 1514
    const t = document.createElementNS('http://www.w3.org/2000/svg','text');

references/script-patterns-catalog.md

  • Access to secretsline 323
    [Credential-related source omitted]

scripts/_constants.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/advisor_scoring.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/check_docs_safety.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/common.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/compile_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/context_advisor.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/context_sources.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/discover_skills.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/frontmatter.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 131
    # A mapping entry looks like `key:` or `key: value` where the colon is # followed by whitespace or end of line (so `https://x` is not a key).
  • Network accessline 132
    # followed by whitespace or end of line (so `https://x` is not a key).

scripts/hooks/session_start.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/hooks/user_prompt_submit.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/init_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/install_skillforge.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/install_workshop.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 12
    #   - prints a post-install summary of exactly what was touched # # Works non-interactively when piped (curl | bash): defaults to safe choices,
  • Network accessline 13
    # # Works non-interactively when piped (curl | bash): defaults to safe choices, # meaning no hooks, no personal context, and no overwrite of an existing
  • Dangerous shell operationline 14
    # Works non-interactively when piped (curl | bash): defaults to safe choices,
  • Network accessline 14
    # Works non-interactively when piped (curl | bash): defaults to safe choices,
  • Network accessline 18
    REPO_URL="https://github.com/tripleyak/SkillForge.git"
  • Dangerous shell operationline 104
    rm -rf "$TMP_DIR"
  • Network accessline 111
    SOURCE_DIR="$TMP_DIR/SkillForge"   echo "Downloading SkillForge..."   git clone --depth 1 "$REPO_URL" "$SOURCE_DIR" >/dev/null
  • Network accessline 112
    echo "Downloading SkillForge..."   git clone --depth 1 "$REPO_URL" "$SOURCE_DIR" >/dev/null else
  • Network accessline 113
    git clone --depth 1 "$REPO_URL" "$SOURCE_DIR" >/dev/null
  • Dangerous shell operationline 151
    rm -rf "$dest"

scripts/mine_skill_friction.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 92
    "ls cat echo pwd cd head tail grep egrep fgrep find mkdir rm cp mv which "
  • Network accessline 92
    "ls cat echo pwd cd head tail grep egrep fgrep find mkdir rm cp mv which "     "touch sed awk wc sort uniq tr cut true false test date open chmod chown "     "export env printf sleep kill ps df du tar unzip zip curl wget man less "
  • Network accessline 93
    "touch sed awk wc sort uniq tr cut true false test date open chmod chown "     "export env printf sleep kill ps df du tar unzip zip curl wget man less "     "more diff tee xargs basename dirname readlink realpath".split()
  • Network accessline 94
    "export env printf sleep kill ps df du tar unzip zip curl wget man less "

scripts/package_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/quick_validate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/run_skill_evals.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 320
    To install: https://code.claude.com/docs (npm install -g @anthropic-ai/claude-code)

scripts/skillforge_config.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 154
    [Credential-related source omitted]

scripts/skillforge_doctor.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/fixtures/sample-skill/SKILL.md

scripts/tests/test_compile.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_config_installer.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 113
    [Credential-related source omitted]

scripts/tests/test_config_privacy.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 161
    [Credential-related source omitted]
  • Access to secretsline 164
    [Credential-related source omitted]

scripts/tests/test_context_advisor.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_discovery.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_doctor.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_friction.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 227
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]

scripts/tests/test_frontmatter.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 116
    def test_url_value_not_treated_as_comment(self) -> None:         parsed = _vendored_parse("homepage: https://example.com/path")
  • Network accessline 117
    parsed = _vendored_parse("homepage: https://example.com/path")
  • Network accessline 118
    self.assertEqual(parsed["homepage"], "https://example.com/path")

scripts/tests/test_hooks.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 54
    [Credential-related source omitted]

scripts/tests/test_init_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_package_skill_ignore.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_run_skill_evals.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_triage.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/tests/test_validate_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/triage_skill_request.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/validate-skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/validate_skill.py

  • Executable scriptline 1
    #!/usr/bin/env python3

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 3 facts
  • Network access in code of documentationREADME.md:47Low confidence
  • Dangerous shell operation in code of documentationREADME.md:49Low confidence
  • Broad permissions in the frontmatter of the SKILL.mdSKILL.md:10High confidence

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeFrontmatter field user-invocable in SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

tripleyak/SkillForge: #956 on hotskills, 916 stars

[![tripleyak/SkillForge on hotskills](https://hotskills.dev/badge/tripleyak-skillforge.svg)](https://hotskills.dev/skill/tripleyak-skillforge/)