AC web-browser
Environment-aware browser operations. Detects wmux/cmux/tmux and routes to the right backend (wmux/cmux panel → user-visible, plain → Playwright MCP, chrome-devtools → reuse the user's real logged-in session). Topics: ui-test - snapshots, click/fill/verify, closed shadow DOM cascade diagnosis (cdp-trace) [ui-test.md, cdp-trace.md]. credential-issue - open service login via detected backend → wait for user sign-in → issue OR refresh an access key / token / secret / OAuth scope → hand off to follow-up automation (aws-cli, gh secret set, gh auth refresh, etc.) [credential-issue.md]. Covers both new issuance and existing-token scope expansion (PAT scope add, OAuth re-authorize, device-code). Use for: "UI check", "browser test", "screen verify", "Playwright test", "shadow DOM cascade", "::part not working", "CDP trace", "issue token", "service credential", "open login screen", "PAT refresh", "scope expansion", "device-code auth", "browser device-code".
Environment-aware browser operations.
As a process C 58/100 · Has gaps — weak spots: result and completion, inputs and preconditions, progress reporting
How to improve
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 1
✓ No critical or high findings
Medium and low: 1
-
low Exfiltration
read-dotenvcredential-issue.md:196Reads a .env file (detector / deny-list definition; documentation table row)| Anthropic / OpenAI API key | **Vault** or `.env` (chmod 600, gitignored) | `vault kv put secret/anthropic key=...` or `echo ANTHROPIC_API_KEY=... >> ~/.env` | `vault kv get` or `source ~/.env` |
detectortable
Files scanned: 8. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
✓ No remarks against the Agent Skills spec
Process rating: all ten parameters 58/100
- 0Result and completion. Does not say what the result is
- 0Inputs and preconditions. Does not say what the process needs to start
- 0Progress reporting. Says nothing while it works
- 50When it triggers. No condition that starts the skill
- 60Tools and files. Uses tools (bash, node) that frontmatter does not declare
- 85Steps. 23 steps, 2 vague phrases
- 100Failures and branches. 3 branches, has a failure section
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 3751 tokens
- 100Running it twice. Mutating operations check current state
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +4Description does not say when NOT to use the skill (false activations)
- +3Description length 961: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- -31 of 1 scripts are never mentioned in SKILL.md
- +2Single-language instructions
- +5Description quotes 14 example trigger phrases
- +4Structure: 17 headings
- +3Step-by-step instructions: 23 items
- +4Has examples (3 code blocks)
- +1License stated
Quality base 70; lint remarks subtract, signals add up to 100. Result: 84.