my-ctx
v1.2.3
Published
Install AI agent skills from private GitHub repos
Maintainers
Readme
my-ctx
A CLI tool to share and install internal AI agent skills across your team.
The Problem
AI coding agents like Claude Code, Codex, and OpenCode can be customized with skills — markdown files containing specialized instructions, prompts, or reference material.
But there's no good way to share company-specific skills with your team:
- Skills live in local folders (
~/.claude/skills/,~/.codex/skills/,~/.config/opencode/skills/) - No built-in sync or sharing mechanism
- Copy-pasting skills manually doesn't scale
The Solution
my-ctx lets you:
- Store your team's skills in a private GitHub repo
- Install any skill with a single command
- Choose destinations — install to all agent folders, specific ones, or custom paths
- Keep everyone's skills in sync
Quick Start
# 1. First-time setup (authenticate + set your skills repo)
npx my-ctx init
# 2. List available skills
npx my-ctx list
# 3. Install a skill
npx my-ctx install drafting-conventional-commitsWhat happens when you install?
$ npx my-ctx install drafting-conventional-commits
Fetching skill from your-org/skills-pack...
Skill contents:
SKILL.md
reference/
reference/examples.md
? Select destinations (space to toggle, enter to confirm):
❯ [x] ~/.claude/skills (Claude)
[x] ~/.codex/skills (Codex)
[x] ~/.config/opencode/skills (OpenCode)
[ ] + Add custom path...
This will install skill to:
1) ~/.claude/skills/drafting-conventional-commits
2) ~/.codex/skills/drafting-conventional-commits
3) ~/.config/opencode/skills/drafting-conventional-commits
? Proceed with install? Yes
✓ Installed to ~/.claude/skills/drafting-conventional-commits
✓ Installed to ~/.codex/skills/drafting-conventional-commits
✓ Installed to ~/.config/opencode/skills/drafting-conventional-commits
✓ Installed drafting-conventional-commitsFeatures
Interactive Destination Selection
Every install prompts you to choose destinations. Use space to toggle, enter to confirm:
- Pre-selects your last used destinations
- All defaults checked on first install
- Remembers your selections for next time
Custom Paths
Select "+ Add custom path..." to install to any location:
? Enter custom path (supports ~ and relative paths): ./my-project/skills
? Save this path for future installs? YesSupported formats:
- Absolute:
/Users/me/project/skills - Home directory:
~/my-project/skills - Relative:
./skills(relative to current directory)
Manage Custom Destinations
npx my-ctx config destinationsAdd or remove saved custom paths:
Manage skill destinations:
Default destinations:
- ~/.claude/skills (Claude)
- ~/.codex/skills (Codex)
- ~/.config/opencode/skills (OpenCode)
Custom destinations:
1. ~/my-project/skills
? What would you like to do?
❯ Add custom path
Remove custom path
DoneCommands
| Command | Description |
|---------|-------------|
| my-ctx init | Setup GitHub auth and configure your skills repo |
| my-ctx install <skill> | Install a skill to selected destinations |
| my-ctx list | List available skills |
| my-ctx config show | Show current configuration |
| my-ctx config set repo <owner/repo> | Change skills repo |
| my-ctx config set ref <branch/tag> | Change branch or tag |
| my-ctx config destinations | Manage custom skill destinations |
Setting Up Your Skills Repo
Create a private GitHub repo with this structure:
skills/
drafting-conventional-commits/
SKILL.md # Required - the main skill file
reference/ # Optional - additional files
examples.md
code-review-guidelines/
SKILL.md
internal-api-patterns/
SKILL.md
reference/
api-docs.mdEach skill folder must contain a SKILL.md file. Any additional files or folders will be copied along with it.
Requirements
- Node.js 18+
- GitHub CLI (
gh) — for authentication - Access to the private skills repository
Configuration
Config is stored at ~/.my-ctx/config.json:
{
"repo": "your-org/skills-pack",
"ref": "main",
"selectedDestinations": ["claude", "codex", "opencode"],
"customDestinations": [
{
"id": "custom-1",
"path": "~/my-project/skills",
"label": "~/my-project/skills",
"isCustom": true
}
]
}Environment Variables
For CI/automation, you can use environment variables instead of gh auth:
GITHUB_TOKEN— GitHub personal access tokenMY_CTX_TOKEN— Alternative token variable
License
MIT
