{
  "markdown": "# AWT — Eyes and Hands for Your AI Coding Tool\n\n**Your AI coding tool is smart. But it can't see or click a web page.** AWT gives it a real browser — so it can test, find bugs, and fix them without you lifting a finger.\n\n[![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE)\n[![Agent Skills](https://img.shields.io/badge/Agent_Skills-Compatible-brightgreen.svg)](https://agentskills.io)\n\n> **Works without AI API** — write YAML scenarios manually and run `aat run`. No API key needed. AI coding tools make it easier, but are not required.\n\n---\n\n## What is AWT?\n\nAWT is the **execution engine** for AI-powered E2E testing. Your AI coding tool designs the tests; AWT runs them in a real browser with Playwright.\n\n**How it works in Skill Mode (no extra AI API key needed):**\n\n```\nYou: \"Test the login flow on https://mysite.com\"\n\nYour AI coding tool:\n  → Writes 5 YAML scenarios (30 steps)\n  → Runs: aat run scenarios/\n  → Reads failure: \"Step 4: Dashboard text not visible\"\n  → Reads screenshot + source code\n  → Fixes src/pages/login.js:23\n  → Re-runs: aat run scenarios/\n  → All 5 scenarios pass ✓\n```\n\n**Key capabilities:**\n- **Execute** tests in a real browser with human-like mouse/keyboard interaction\n- **See** — take screenshots, detect elements via OCR and image matching\n- **Report** — step-by-step pass/fail with error details and screenshots\n- **Self-heal** (CLI mode) — `aat loop` auto-fixes failures with its own AI\n- **Learn** — successful matches stored in SQLite, getting faster over time\n\n## Installation\n\n### One-line install (recommended)\n\n```bash\nnpx skills add ksgisang/awt-skill --skill awt -g\n```\n\n### Manual Installation\n\n```bash\ngit clone https://github.com/ksgisang/awt-skill.git /tmp/awt-skill\ncp -r /tmp/awt-skill/awt ~/.claude/skills/awt\nrm -rf /tmp/awt-skill\n```\n\n### Per-Project Installation\n\n```bash\ngit clone https://github.com/ksgisang/awt-skill.git /tmp/awt-skill\ncp -r /tmp/awt-skill/awt .claude/skills/awt\nrm -rf /tmp/awt-skill\n```\n\nAfter installation, the skill auto-triggers on testing-related prompts.\n\n### Updating\n\n```bash\n# Re-run the same install command to get the latest version\nnpx skills add ksgisang/awt-skill --skill awt -g -y\n```\n\nFor manual installations: `cd ~/.claude/skills/awt && git pull`\n\n## Comparison with Other Testing Skills\n\n| Feature | webapp-testing | playwright-skill | **AWT** |\n|---------|---------------|-----------------|---------|\n| Scenario format | Python scripts | Python scripts | **Declarative YAML** |\n| No-code test creation | No | No | **Yes** |\n| Natural language → test | No | No | **Yes** |\n| Self-healing loop | No | No | **Yes (DevQA Loop)** |\n| Auto-fix on failure | No | No | **Yes (AI → PR)** |\n| Visual matching (OpenCV + OCR) | No | No | **Yes (OpenCV + OCR)** |\n| Pattern learning | No | No | **Yes (SQLite)** |\n| Server lifecycle mgmt | Yes | Yes | **Yes (aat dashboard)** |\n| Multiple AI providers | No | No | **Yes (5 providers)** |\n| Human-like interaction | No | No | **Yes (Bezier mouse)** |\n| Approval modes | No | No | **Yes (manual/branch/auto)** |\n| Cost optimization | N/A | N/A | **$0.02–0.05/test** |\n| Live screenshots | No | Screenshot only | **Yes (WebSocket stream)** |\n| Multi-language OCR | No | No | **Yes (10+ languages)** |\n| Offline support | No | No | **Yes (Ollama)** |\n| Cost tracking | No | No | **Yes (per-call logging + aat cost)** |\n| Source code analysis | No | No | **Yes (Skill-exclusive)** |\n| Scenario caching | No | No | **Yes (same spec = no re-call)** |\n| Browser test overlay | No | No | **Yes (live step progress)** |\n| Dependency ordering | No | No | **Yes (depends_on field)** |\n| **Skill Mode (no extra AI cost)** | No | No | **Yes** |\n| Canvas/Flutter OCR fallback | No | No | **Yes (auto)** |\n| Platform auto-detection | No | No | **Yes (7 frameworks)** |\n| Structured failure diagnosis | No | No | **Yes (AI-independent)** |\n| Multi-document YAML | No | No | **Yes (--- separator)** |\n| Strict validation | No | No | **Yes (aat validate --strict)** |\n\n### When to use each:\n- **webapp-testing** — Quick one-off Playwright scripts for simple page checks\n- **playwright-skill** — When you need fine-grained Playwright API control\n- **AWT Skill Mode** — Your AI coding tool designs tests, AWT executes them. **No extra AI API key needed.**\n- **AWT CLI Mode** — Standalone automated testing with `aat generate` + `aat loop` for CI/CD\n\n## Supported AI Coding Tools\n\nAWT follows the [Agent Skills open standard](https://agentskills.io) and works with:\n\n| Tool | Status |\n|------|--------|\n| Claude Code | Supported |\n| Cursor | Compatible |\n| Codex | Compatible |\n| Gemini CLI | Compatible |\n| Amp | Compatible |\n| Cline | Compatible |\n| Aider | Compatible |\n| Windsurf | Compatible |\n| Roo Code | Compatible |\n| PearAI | Compatible |\n| Antigravity | Supported |\n\n## Quick Example\n\n### YAML Scenario\n\n```yaml\nid: \"SC-001\"\nname: \"User Login\"\ntags: [\"auth\", \"login\"]\ndepends_on: [\"SC-000\"]\nsteps:\n  - step: 1\n    action: navigate\n    value: \"{{url}}/login\"\n    description: \"Go to login page\"\n\n  - step: 2\n    action: find_and_type\n    target:\n      text: \"Email\"\n      match_method: ocr\n    value: \"test@example.com\"\n    humanize: true\n    description: \"Enter email\"\n\n  - step: 3\n    action: find_and_click\n    target:\n      text: \"Login\"\n    description: \"Click login button\"\n\n  - step: 4\n    action: assert\n    assert_type: text_visible\n    expected:\n      - type: text_visible\n        value: \"Welcome back\"\n    description: \"Verify login success\"\n```\n\n### Natural Language (in Claude Code)\n\n> \"Login to mysite.com with test@example.com, then check if the dashboard loads\"\n\nAWT converts this to a YAML scenario and executes it automatically.\n\n## 5-Step DevQA Workflow\n\n```\nScan → Plan → Review → Execute → Heal\n  ↑                                 |\n  └─── Loop back on failure ────────┘\n```\n\n1. **Scan** — Crawl site, analyze DOM, detect features\n2. **Plan** — AI generates YAML test scenarios\n3. **Review** — User reviews/edits before execution\n4. **Execute** — Playwright runs with live screenshots\n5. **Heal** — AI analyzes failure → suggests fix → re-tests\n\n## AI Providers\n\n| Provider | Vision | Cost | Offline |\n|----------|--------|------|---------|\n| Claude (default) | Yes | Medium | No |\n| OpenAI (GPT-4o) | Yes | Higher | No |\n| Gemini (default: free) | Yes | Free tier | Yes |\n| DeepSeek | No | Low | No |\n| Ollama | No | Free | Yes |\n\n## Project Structure\n\n```\nawt-skill/\n├── awt/                        # ← Skill content (installed by npx skills)\n│   ├── SKILL.md                # Main skill definition\n│   ├── references/\n│   │   ├── scenario-schema.md  # Full YAML schema reference\n│   │   ├── cli-reference.md    # CLI command reference\n│   │   └── config-reference.md # Configuration options\n│   └── templates/\n│       ├── scenario-template.yaml\n│       └── config-template.yaml\n├── README.md\n├── LICENSE\n├── CONTRIBUTING.md\n└── package.json\n```\n\n## Key CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `aat doctor` | Check environment (Python, Playwright, Tesseract, AI) |\n| `aat init` | Initialize project + AI setup + environment check |\n| `aat setup` | Configure AI provider and API key |\n| `aat generate` | AI-generate scenarios (with cost estimate + caching) |\n| `aat run --learn` | Execute tests + learn from fixes (always use --learn) |\n| `aat loop` | Self-healing DevQA loop |\n| `aat cost` | View AI API usage costs |\n| `aat validate --strict` | Validate YAML + quality checks |\n| `aat learn platform -p <key> -t <tip>` | Add platform-specific tip |\n\n## System Dependencies\n\n**macOS:**\n```bash\nbrew install python@3.12 tesseract\npipx install aat-devqa\nplaywright install chromium\n```\n\n**Linux (Ubuntu/Debian):**\n```bash\nsudo apt install python3.12 python3.12-venv tesseract-ocr\npipx install aat-devqa\nplaywright install chromium\n```\n\n**Windows:**\n```bash\nwinget install Python.Python.3.12\nchoco install tesseract\npip install aat-devqa\nplaywright install chromium\n```\n\nAfter install, run `aat doctor` to verify everything works.\n\n## Links\n\n- **Main Repository:** [github.com/ksgisang/AI-Watch-Tester](https://github.com/ksgisang/AI-Watch-Tester)\n- **Cloud Demo:** [ai-watch-tester.vercel.app](https://ai-watch-tester.vercel.app)\n- **Agent Skills Standard:** [agentskills.io](https://agentskills.io)\n\n## License\n\n[AGPL-3.0](LICENSE) — see LICENSE file for full text.\n\nBuilt by [AILoopLab](https://github.com/ksgisang).\n",
  "bytes": 8428,
  "sha": "2b9b806c7a0a1d1aee1782a07178aba634190523ef05d0f804c8d4681d1876fe",
  "repo_slug": "ksgisang/awt-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ksgisang_awt_8cc9f7d0/readme"
}