# ink-skills Ink-native skills: small on-demand behavior patches for operating Ink, defining subagents, and creating permission-bearing external tools. This repository owns reusable Ink judgment. Ink owns runtime enforcement and policy. [`toolset`](https://git.tmk241.com/tmk241/toolset) owns compiled external executables. Skills never grant authority by themselves. ## Install Clone once, then symlink the skills you want: ```sh git clone git@git.tmk241.com:tmk241/ink-skills.git ink-skills/bin/ink-skills install ``` If the repository is already under `/opt/repositories`: ```sh /opt/repositories/ink-skills/bin/ink-skills install ``` Install selected skills only: ```sh ink-skills install ink-cli configure-ink-agent ``` Install into one project instead of the user catalogue: ```sh ink-skills install --project /path/to/project configure-ink-agent ``` The installer is intentionally smaller than `npx skills`: no registry, package manager, network access, copies, prompts, lockfile, or hidden state. It creates absolute symlinks from `$HOME/.ink/skills` (or `$INK_SKILLS_HOME`) to this checkout. Pulling the repository updates installed skills; restarting Ink freezes the new bytes into the next startup snapshot. `ink-skills list` emits TSV. `ink-skills --help` is the complete command manual. Existing paths and foreign symlinks are refused rather than overwritten. ## Skills | Skill | Job | |---|---| | `ink-cli` | Audit and explain the Ink host without crossing the host/guest boundary. | | `configure-ink-agent` | Create or audit one Ink agent definition, access class, and relative policy conjunct. | | `create-ink-agent-cli-tool` | Build one inspectable permission-bearing executable suitable for Ink policy admission. | ## Agent definitions and policy Agent definitions live in `$INK_AGENT_HOME` (default `$HOME/.ink/agents`) or project `.ink/agents` directories: ```text name: Frontend specialist model: design access: write policy: frontend.policy Implement the bounded frontend task and return proof. ``` The policy path is relative to the definition. It is a normal Ink policy file and narrows the frozen parent snapshot conjunctively. `access: read|write` selects reader/writer scheduling; it does not grant commands or tools. Definitions and policy files are frozen at startup, so restart Ink after changing either. Use the `configure-ink-agent` skill for the complete decision boundary. ## Verify ```sh sh -n bin/ink-skills sh test/install-smoke.sh ``` ## Refusals - No npm package merely to create symlinks. - No skill registry or update daemon. - No policy mutation during installation. - No bundled binaries; those belong in `toolset`. - No automatic installation by Ink itself.