MCPcopy Index your code
hub / github.com/eljulians/skillfile

github.com/eljulians/skillfile @v1.7.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.7.1 ↗ · + Follow
2,035 symbols 7,428 edges 55 files 243 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

skillfile

CI Crates.io Coverage

Track AI skills and agents declaratively, like dependencies. Pin them. Patch them. Deploy everywhere.

Fetch from GitHub, GitLab, local files, or direct URLs. Lock to exact revisions. Deploy to Claude Code, Codex, Cursor, Copilot, Factory, Gemini CLI, Junie, Opencode, Windsurf, and Antigravity.

skillfile is a file manager, not a framework. It keeps your installed prompts reproducible and lets you carry local edits forward with patch files.

demo

Install

curl -fsSL https://github.com/eljulians/skillfile/releases/latest/download/install.sh | sh

Or:

cargo install skillfile

Prebuilt binaries are published on GitHub Releases.

Quick start

skillfile init
skillfile add github skill anthropics/skills skills/
skillfile install

The same flow works for GitLab:

skillfile add gitlab skill my-group/my-project skills/
skillfile install

Skillfile.lock pins upstream content to exact SHAs or refs so another machine gets the same files.

What it manages

Sources:

  • github
  • gitlab
  • local
  • url

Entities:

  • skill
  • agent

GitLab project paths may include subgroups. Self-hosted GitLab is supported through GITLAB_HOST.

Example Skillfile

install  claude-code  global
install  codex        global

github  skill  anthropics/skills  skills/slack-gif-creator
gitlab  skill  my-group/platform-skills  skills/release
local   skill  skills/team/reviewer/SKILL.md
url     agent  triager  https://example.com/agents/triager.md

Format details live in SPEC.md.

Common commands

skillfile init
skillfile add
skillfile install
skillfile install --update
skillfile status
skillfile diff <name>
skillfile pin <name>
skillfile resolve <name>

Run skillfile add with no arguments for the interactive picker, or use explicit subcommands such as:

skillfile add github skill owner/repo skills/SKILL.md
skillfile add gitlab skill group/project skills/SKILL.md
skillfile add local skill skills/my-skill/SKILL.md
skillfile add url agent https://example.com/agent.md --name my-agent

Patches

Edit an installed file, then pin it:

skillfile pin browser
skillfile install --update

Pinned changes are stored in .skillfile/patches/. If upstream changes conflict, use skillfile diff and skillfile resolve.

Auth

GitHub:

  • GITHUB_TOKEN
  • GH_TOKEN

GitLab:

  • GITLAB_TOKEN
  • GITLAB_PRIVATE_TOKEN
  • GITLAB_HOST for self-hosted instances

skillfile init can also save token settings in user config.

Platforms

Supported install targets:

  • claude-code
  • codex
  • cursor
  • copilot
  • factory
  • gemini-cli
  • junie
  • opencode
  • windsurf
  • antigravity

Some platforms support skills only; see skillfile init or skillfile --help for the exact target behavior.

Notes

[!IMPORTANT] skillfile downloads markdown and installs it where your AI tools expect it. It does not sandbox or verify the content.

Shell completions are available via skillfile completions <bash|zsh|fish|powershell|elvish>.

Extension points exported contracts — how you extend this code

HttpClient (Interface)
Contract for HTTP GET requests used by the fetcher/resolver layer. Implementations are responsible for: - Setting stand [6 …
crates/sources/src/http.rs
PlatformAdapter (Interface)
Contract for deploying skill/agent files to a specific AI tool's directory. Each AI tool (Claude Code, Gemini CLI, Code [1 …
crates/deploy/src/adapter.rs
Registry (Interface)
(no doc) [3 implementers]
crates/sources/src/registry/mod.rs

Core symbols most depended-on inside this repo

get
called by 129
crates/deploy/src/adapter.rs
sf
called by 66
tests/src/lib.rs
adapters
called by 60
crates/deploy/src/adapter.rs
add_json
called by 59
crates/sources/src/resolver.rs
parse_manifest
called by 57
crates/core/src/parser.rs
sample_items
called by 50
crates/cli/src/commands/add_tui.rs
tree_url
called by 43
crates/sources/src/resolver.rs
sample_items
called by 40
crates/cli/src/commands/search_tui.rs

Shape

Function 1,758
Method 128
Class 125
Enum 21
Interface 3

Languages

Rust100%

Modules by API surface

crates/sources/src/resolver.rs197 symbols
crates/deploy/src/install.rs142 symbols
crates/sources/src/sync.rs127 symbols
crates/cli/src/commands/add_tui.rs109 symbols
crates/deploy/src/adapter.rs99 symbols
crates/cli/src/commands/search_tui.rs88 symbols
crates/cli/src/commands/search.rs78 symbols
crates/core/src/parser.rs75 symbols
crates/cli/src/commands/status.rs68 symbols
crates/cli/src/commands/add.rs67 symbols
crates/sources/src/http.rs65 symbols
crates/core/src/patch.rs65 symbols

For agents

$ claude mcp add skillfile \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact