Skills
actana ships two skills of its own and writes both into the global skills directory of every Harness already on this machine. Claude Code gets ~/.claude/skills/. Codex, Cursor CLI, and OpenCode get ~/.agents/skills/. The Panel never writes into those directories. Only this CLI does, and only these two folders.
A Harness you do not use here costs you no directory: copies land only where the Harness itself already created a home.
The two skills
actana-sessions/teaches a coding CLI how to drive Cores and sessions with these verbs, and how to collect what a session it started produced. It is invoke-only: it sits installed and waits to be asked.actana-subagent/is the other half of the same round. It teaches a session that was woken as somebody else's sub-agent how to hand work back — a report file, ending in a marker line, at the path its prompt named — and forbids it starting sessions of its own. It is eager: it triggers on a prompt that already declared the session a sub-agent.
The two are deliberately asymmetric. A skill is a folder, not a single file. actana-sessions/ is SKILL.md beside await.sh (a watcher that waits on several sessions' report files). actana-subagent/ is SKILL.md alone. Run the watcher with bash await.sh — it is installed without an executable bit, so installing a skill stays a filesystem write.
Writing and repairing
actana harness skills
actana harness skills --json
The same write also runs quietly in front of every other actana command, because this package has no npm install hook. The skills are there one command after npm i -g @actana/cli. harness skills is the verb that reports what happened.
A copy is replaced when it differs from the shipped one, edits included. To keep your own version, delete the x-actana-managed: true line — from SKILL.md frontmatter, or from the comment on the second line of await.sh. That file is then yours and is never written again. The hatch is per file: keeping your await.sh does not stop actana-sessions/SKILL.md from updating. harness skills reports the folder as skipped and names the file.