harness

Installation
SKILL.md

Harness

pstack skills are written against a small set of neutral operations. They do not name tools or paths. This skill maps the operations onto the harness you are in right now. Every other pstack skill defers here.

Detect once per session

Run this before the first pstack operation, then keep the answer for the session. Do not re-detect per skill.

  1. Environment variables first. COPILOT_CLI=1 means GitHub Copilot CLI, adapter copilot-cli. CLAUDECODE=1 means Claude Code. OPENCODE=1 or OPENCODE_PID set means opencode. AI_AGENT=pi or PI_CODING_AGENT=true means pi. CODEX_SANDBOX set means Codex CLI, a weak signal because it only appears under sandboxing.
  2. Tool fingerprints next. AskUserQuestion plus an Agent tool means Claude Code. request_user_input plus update_plan means Codex CLI. ask_user plus write_todos means Gemini CLI. A task tool with subagent_type plus todowrite means opencode. AskUser plus TaskOutput means Factory Droid. delegate plus load means Goose. A read-only agent tool plus crush_info means Crush. Built-in specialists named Review, Search, or Oracle with no markdown persona support means Amp. AskQuestion plus a Task tool means Cursor. A task tool plus read_agent, list_agents, and write_agent means GitHub Copilot CLI, adapter copilot-cli.
  3. Still unknown after both checks: ask the user once which harness this is, then remember it.

After detection, read references/<harness>.md from this skill and apply it for the rest of the session.

Neutral operations

Installs
1
First Seen
Today
harness — theoklitosbam7/pstack-portable