Quick Start¶
Clone the repository and run commands from its root:
git clone https://github.com/quokkify/skills.git
cd skills
Claude Code¶
Install the portable skills and Claude adapter:
./scripts/bootstrap.sh --provider claude --install-skills
The installer merges genericized templates into the selected runtime home, backs up changed files with a timestamp, and preserves foreign managed blocks. Add --overlay /path/to/private-overlay to layer private files after the public base. The overlay is read in place and is never copied into the checkout.
Your own employer conventions, project trust lists, credentialed MCP servers, private skills, and machine paths stay in your private overlay, outside this repository. See ADR-0001.
Codex¶
Install the portable skills and Codex adapter:
./scripts/bootstrap.sh --provider codex --install-skills
The global Codex instruction file is a symlink to the checkout's shared base. After installation, open the Codex TUI and run /hooks to approve command hooks. For project-specific instructions, copy adapters/codex/AGENTS.md into a target project:
./scripts/install-codex-agents.sh /path/to/your/project
Codex discovers project-local skills from .agents/skills, not .codex/skills.
For a manual installation of the full Codex adapter (including hooks, configuration, and agent definitions):
- Set $CODEX_HOME (defaults to
$HOME/.codex). Export it so it stays set across each of the following commands, even if you run them as separate shell invocations:export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}" - Create necessary directories:
mkdir -p "$CODEX_HOME/agents" "$CODEX_HOME/hooks" - Copy shared hook scripts (required for hooks in hooks.json to function), backing up any file already there:
for f in sessionstart-repo-context.sh pretooluse-bash-guard.sh completion-gate.sh hook-lib.sh; do [ -e "$CODEX_HOME/hooks/$f" ] && cp "$CODEX_HOME/hooks/$f" "$CODEX_HOME/hooks/$f.bak" cp "adapters/shared/hooks/$f" "$CODEX_HOME/hooks/" done - Copy Codex-specific configuration and agent definitions, backing up any file already there:
# Base config — do not overwrite an existing config.toml if [ ! -f "$CODEX_HOME/config.toml" ]; then cp adapters/codex/config.template.toml "$CODEX_HOME/config.toml" else echo "Warning: $CODEX_HOME/config.toml exists, skipping copy. Merge manually if needed." fi [ -e "$CODEX_HOME/hooks.json" ] && cp "$CODEX_HOME/hooks.json" "$CODEX_HOME/hooks.json.bak" cp adapters/codex/hooks.json "$CODEX_HOME/hooks.json" for f in adapters/codex/agents/*.toml; do base="$(basename "$f")" [ -e "$CODEX_HOME/agents/$base" ] && cp "$CODEX_HOME/agents/$base" "$CODEX_HOME/agents/$base.bak" cp "$f" "$CODEX_HOME/agents/" done - In the Codex TUI, run
/hooksand approve the hook entries.
Note: The current hook set includes SessionStart, PreToolUse (bash-guard), and Stop. Other runtime events are not covered by the shipped hook scripts; you may add additional hooks as needed.
Hermes¶
Add the canonical skill directory—not the repository root—to the Hermes configuration:
skills:
external_dirs:
- /absolute/path/to/skills/skills
Start a new Hermes session after changing the discovery path. Keep shared edits on an isolated Git branch or worktree; an external directory is not a write-protection boundary.
Claude Code and Codex Together¶
./scripts/bootstrap.sh --install-skills
The default provider is all. Use --dry-run to inspect the complete operation list safely.
Update the Shared Checkout¶
From its clean main branch:
./scripts/sync-shared-skills.sh
The sync helper updates the Git checkout. Rerun the Codex adapter installer when its copied AGENTS.md changes.