with one click
playralph
PlayRalph - Playwright diagnostic loop for sites/apps
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
PlayRalph - Playwright diagnostic loop for sites/apps
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
GitHub — repos, issues, PRs, gists, Pages, branches via API
Gmail orchestrator — triage inbox, search, draft replies in-thread
Session closing (log, commit, push)
Mid-session checkpoint (log, database, commit, push) without closing
Brain package manager — install, update, list skills from registries
AI email auto-responder — monitors inbox, drafts context-aware replies, never sends without approval
| name | playralph |
| description | PlayRalph - Playwright diagnostic loop for sites/apps |
| user-invocable | true |
| argument-hint | [project|URL] [context] |
| requires | {"capabilities":["playwright"]} |
PlayRalph - Diagnostic loop with Playwright
Nota: Per report client-facing, usa /radar (evoluzione di PlayRalph con report ELI5).
| Scenario | Cosa fa | Iterazioni |
|---|---|---|
| Bug fix | Issue/bug → branch → fix → verify loop | max 5 |
| Bug verification | Screenshot e documentazione del bug | 1-2 |
| Post-fix validation | Fix gia pushato, verifico che funzioni | 1-2 |
| Post-deploy check | Check generale post-deploy | 1-3 |
| Crisis | Rotto ORA, trova e fixa | max 5 |
args = "$ARGUMENTS".strip()
# Se inizia con http → URL diretto, risolvi progetto dal dominio
# Altrimenti → prima parola = progetto, resto = contesto
# Carica wiki/projects/{nome}/index.md
# Leggi: domain_dev, server_dev, server_dev_path, repo, github_token_env
# Leggi sezione PlayRalph: test_user, test_password, auth_type
context_lower = context.lower()
if any(w in context_lower for w in ["non funziona", "rotto", "errore", "500", "bug", "fix"]):
scenario = "bugfix"
elif any(w in context_lower for w in ["verifica bug", "documenta", "screenshot del bug"]):
scenario = "verification"
elif any(w in context_lower for w in ["post-fix", "ho fixato", "ho pushato"]):
scenario = "postfix"
elif any(w in context_lower for w in ["deploy", "post-deploy"]):
scenario = "postdeploy"
elif any(w in context_lower for w in ["down", "crash", "urgente", "crisis"]):
scenario = "crisis"
else:
scenario = None # → questionario con AskUserQuestion
Ordine: radar_auth_cmd → credenziali esplicite → artisan tinker → wp-cli → DB diretto → chiedi a Giobi
ssh {server} "cd {path} && php artisan tinker --execute=\"...magic link...\""
ssh {server} "cd {path} && wp user update {email} --user_pass=RadarTemp$(date +%s)!"
domcontentloaded (non networkidle)asyncio.sleep(3) dopo ogni navigazione# Laravel
ssh {server} "grep 'local.ERROR' {path}/storage/logs/laravel-$(date +%Y-%m-%d).log | tail -5"
# WordPress
ssh {server} "tail -20 {path}/wp-content/debug.log"
Report HTML su public/playralph/{project}/{slug}/
Discord notifiche start/end.
Se dopo 2 tentativi non si risolve → proponi PlayRalph in background (max 20 iterazioni).
$ARGUMENTS