Metadata-Version: 2.4
Name: pantoqacli
Version: 0.0.1
Summary: Panto QA Bridge
Author-email: Ritwick Dey <ritwick@getpanto.ai>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.14.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: build>=1.3.0; extra == "dev"
Requires-Dist: pre_commit>=4.5.1; extra == "dev"
Requires-Dist: mypy>=1.19.1; extra == "dev"
Dynamic: license-file

# pantoqa-agent-skills

Claude Skills for driving PantoQA — automated mobile QA/testing on Android and iOS via natural-language prompts.

## Structure

```
pantoqa-agent-skills/
├── README.md
├── LICENSE
└── skills/
    └── pantoqa-agent/
        ├── SKILL.md          # the skill definition (name, description, instructions)
        └── scripts/
            └── pantoqacli.py  # the CLI Claude calls
```

Each skill lives in its own folder under `skills/`, named to match its `name:` field in `SKILL.md`. The repo name itself doesn't need to match — this layout leaves room to add more skills later (e.g. `skills/pantoqa-android/`, `skills/pantoqa-ios/`) without renaming anything that already works.

## Installing `pantoqa-agent`

### Claude Code

Copy just the skill folder (not the whole repo) into your skills directory:

```bash
git clone https://github.com/<you>/pantoqa-agent-skills.git
cp -r pantoqa-agent-skills/skills/pantoqa-agent ~/.claude/skills/pantoqa-agent
```

Use a project's `.claude/skills/pantoqa-agent` instead of `~/.claude/skills/` if you only want it available in that project. Start a new Claude Code session afterward — skills load at session start.

To remove: `rm -rf ~/.claude/skills/pantoqa-agent`.

### Claude.ai / Claude API

Zip the contents of `skills/pantoqa-agent/` (SKILL.md + scripts/) into a `.skill` file and upload it as a custom skill — no cloning needed. See [Using skills in Claude](https://support.claude.com) for the current upload flow, since exact steps can change.

### Other agents (Codex, Cursor, Gemini CLI, Copilot, OpenCode, etc.)

`SKILL.md` is an open, cross-platform format — this skill isn't Claude-specific. Most other agents that support it look for skills in their own tool-specific folder (`.codex/skills/`, `.cursor/skills/`, `.gemini/skills/`, `.github/skills/`, `.opencode/`, and so on), following the same `<name>/SKILL.md` layout as above.

If your agent supports the emerging **`.agents/skills/`** convention — a shared location several tools now scan so a skill installed once is visible to all of them — you can install it there instead of duplicating it per tool:

```bash
cp -r pantoqa-agent-skills/skills/pantoqa-agent ~/.agents/skills/pantoqa-agent
# or, project-local:
cp -r pantoqa-agent-skills/skills/pantoqa-agent .agents/skills/pantoqa-agent
```

Check your specific agent's docs to confirm which locations it scans (some check `.agents/skills/` first, others fall back to it, others don't support it yet).

## Requirements

- Python 3.8+
- `aiohttp` (listed in `skills/pantoqa-agent/scripts/requirements.txt`; install with `pip install -r requirements.txt` from that folder, or let the agent install it automatically per the Setup step in `SKILL.md`)
- A running PantoQA bridge (default `http://0.0.0.0:6565`) with a connected Android/iOS device or emulator
- A valid PantoQA auth token

## License

[MIT](./LICENSE).
