Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ai_skills

Personal collection of Agent Skills — self-contained SKILL.md capability packages that Claude Code, opencode, pi, and other compatible agents load on demand. Each skill lives in its own directory under skills/.

Skills

Skill Description
gnhf Launch a bounded, low-supervision overnight coding agent run against one well-specced task, in an isolated worktree.
macos-sandbox Spin up the smallest usable macOS VM with Tart and wire osascript-mcp's desktop automation into it over SSH, sandboxed away from the host desktop.

Install

The skills CLI is the easiest path — it detects installed agents and symlinks the skill into each one:

npx skills add pythoninthegrass/ai_skills

Useful flags: -g installs user-level instead of project-level, -a claude-code,opencode,pi targets specific agents, -s <name> installs one skill by name (e.g. -s gnhf or -s macos-sandbox — this repo has both), -y skips confirmation prompts, --copy copies files instead of symlinking. npx skills list, npx skills update, and npx skills remove manage what's installed.

To try a skill without installing it:

npx skills use pythoninthegrass/ai_skills@gnhf | claude
npx skills use pythoninthegrass/ai_skills@macos-sandbox | claude

Update

npx skills update

Checks every installed skill's lock-file hash against its source and refreshes only the ones that changed upstream, reporting N skills already up to date otherwise. This is the intended way to pull in new commits from this repo — npx skills add also overwrites an already-installed skill (flagged as overwrites: in its install summary) if you re-run it, but it re-runs the full interactive install flow each time rather than just refreshing what changed.

If you installed manually (below), git pull in your checkout is enough — the symlink always points at the working tree.

Manual install

skills add installs a pinned snapshot (refreshed via npx skills update), not a live link to a working checkout. For local development, or on a machine without npx, clone the repo and symlink directly — pi and opencode both auto-load ~/.agents/skills/, and opencode also auto-loads ~/.claude/skills/, so two symlinks cover all three agents:

git clone https://github.com/pythoninthegrass/ai_skills.git ~/git/ai_skills
mkdir -p ~/.agents/skills ~/.claude/skills
for skill in gnhf macos-sandbox; do
  ln -s ~/git/ai_skills/skills/$skill ~/.agents/skills/$skill   # pi, opencode
  ln -s ~/git/ai_skills/skills/$skill ~/.claude/skills/$skill   # Claude Code
done

Symlink just one skill by dropping the loop and naming it directly, e.g. ln -s ~/git/ai_skills/skills/macos-sandbox ~/.claude/skills/macos-sandbox.

Documented discovery locations, per agent (see each agent's own docs for the current, authoritative list — these locations are more stable than any CLI flags):

Agent Personal Project Declare extra dirs
Claude Code ~/.claude/skills/<name>/ .claude/skills/<name>/ —
opencode ~/.config/opencode/skill(s)/<name>/ .opencode/skill(s)/<name>/ skills.paths in opencode.json
pi ~/.pi/agent/skills/, ~/.agents/skills/ .pi/skills/, .agents/skills/ skills array in ~/.pi/agent/settings.json, or pi --skill <path>

Verify it loaded

Skills are scanned at startup — restart the agent (or start a new session) after installing. Then:

  • Claude Code: run /gnhf or /macos-sandbox
  • pi: run /skill:gnhf or /skill:macos-sandbox
  • opencode: mention what you want done; opencode picks the skill up from its description
  • Either way: npx skills list -g shows what the CLI has installed

Repo layout

skills/
├── gnhf/
│   ├── SKILL.md
│   ├── README.md
│   ├── .env.example
│   └── scripts/
│       ├── gnhf.py
│       └── test_gnhf.py
└── macos-sandbox/
    ├── SKILL.md
    ├── README.md
    ├── .env.example
    ├── playbook.example.yml
    └── scripts/
        ├── tart_macos.py
        ├── test_tart_macos.py
        ├── grant-tcc.sh
        ├── run.py
        └── test_run.py

To add a new skill, create a directory under skills/ with a SKILL.md carrying name and description frontmatter (npx skills init <name> scaffolds one), then install/symlink it the same way as above.

Security

A skill's SKILL.md is instructions the model reads and follows, and any bundled scripts are code the model can execute. Review both before installing a skill from anywhere, including this repo. gnhf bundles scripts/gnhf.py; macos-sandbox bundles scripts/tart_macos.py, scripts/grant-tcc.sh (writes directly to the guest VM's TCC database over SSH), and the optional scripts/run.py (runs an Ansible playbook against the guest in-process).

Prior art

  • kunchenguid/gnhf — an unrelated npm package that shares this skill's name. This gnhf skill was written from scratch for how this author runs unattended agents (manual git worktree, a plain background process, timeout for the wall-clock bound), but that project's README was useful reference material while naming and scoping this one.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages