Web Application Testing
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
Abrir y operar el companion visual de Selina para elegir una direccion de estilo en proyectos con interfaz.
$ npx skills add 686f6c61/alfred-dev --skill style-direction -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 686f6c61/alfred-dev style-direction --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/686f6c61/alfred-dev.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/style-direction .claude/skills/style-direction && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "style-direction" agent skill from https://github.com/686f6c61/alfred-dev/tree/main/skills/style-direction into .claude/skills/style-direction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "style-direction", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/686f6c61/alfred-dev/tree/main/skills/style-directionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add 686f6c61/alfred-dev --skill style-direction -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 686f6c61/alfred-dev style-direction --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/686f6c61/alfred-dev.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/style-direction .agents/skills/style-direction && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "style-direction" agent skill from https://github.com/686f6c61/alfred-dev/tree/main/skills/style-direction into .agents/skills/style-direction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "style-direction", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 686f6c61/alfred-dev --skill style-direction -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 686f6c61/alfred-dev style-direction --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/686f6c61/alfred-dev.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/style-direction .cursor/skills/style-direction && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "style-direction" agent skill from https://github.com/686f6c61/alfred-dev/tree/main/skills/style-direction into .cursor/skills/style-direction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "style-direction", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/686f6c61/alfred-dev.git --path skills/style-direction--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add 686f6c61/alfred-dev --skill style-direction -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 686f6c61/alfred-dev style-direction --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/686f6c61/alfred-dev.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/style-direction .gemini/skills/style-direction && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "style-direction" agent skill from https://github.com/686f6c61/alfred-dev/tree/main/skills/style-direction into .gemini/skills/style-direction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "style-direction", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install 686f6c61/alfred-dev style-directionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add 686f6c61/alfred-dev --skill style-direction -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/686f6c61/alfred-dev.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/style-direction .github/skills/style-direction && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "style-direction" agent skill from https://github.com/686f6c61/alfred-dev/tree/main/skills/style-direction into .github/skills/style-direction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "style-direction", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 686f6c61/alfred-dev --skill style-direction -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 686f6c61/alfred-dev style-direction --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/686f6c61/alfred-dev.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/style-direction .opencode/skills/style-direction && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "style-direction" agent skill from https://github.com/686f6c61/alfred-dev/tree/main/skills/style-direction into .opencode/skills/style-direction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "style-direction", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
style-directionAbrir y operar el companion visual de Selina para elegir una direccion de estilo en proyectos con interfaz.
Style Direction is an agent skill from 686f6c61/alfred-dev. Abrir y operar el companion visual de Selina para elegir una direccion de estilo en proyectos con interfaz. Skill manual: levanta un servidor local y escribe artefactos visuales.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA. It works with Python. The repository describes itself as: Tu equipo de desarrolladores en un plugin. 10 agentes, 11 skills planas, 18 comandos /alfred-dev:. Memoria persistente, quality gates con evidencia y MCP local. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit be0b51e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Style Direction loads about 2.5k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 824 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from 686f6c61/alfred-dev at commit be0b51e, republished under its MIT licence (© 686f6c61). 824 words, ~2,507 tokens.
.claude/skills/style-direction/SKILL.md (or your agent's skills folder).Servidor local en navegador para mostrar sistemas de diseño y opciones visuales durante la fase de dirección de estilo. Funciona como un visual companion para enseñar el catálogo base de Selina, dejar que el usuario fije familia + tipografía + gama de color y cerrar después una ronda final de tres columnas.
Siempre que Selina genere opciones de estilo. El servidor es la herramienta principal de Selina: sirve tanto para enseñar la galería de 10 sistemas de diseño base como para el nuevo flujo guiado de selección y la ronda final de 3 propuestas comparables.
visual/scripts/start-server.sh --project-dir /ruta/al/proyectoRespuesta JSON esperada:
{
"type": "server-started",
"port": 7432,
"url": "http://localhost:7432",
"screen_dir": "/ruta/al/proyecto/.alfred-dev/visual/<pid-timestamp>/content",
"state_dir": "/ruta/al/proyecto/.alfred-dev/visual/<pid-timestamp>/state",
"state": "ready"
}Guarda screen_dir (directorio donde escribir los HTML de opciones) y state_dir
(directorio donde leer eventos de clic y verificar estado del servidor).
El fichero state_dir/server-info contiene el mismo JSON emitido en el arranque.
Léelo para comprobar que el servidor sigue activo antes de cada operación.
Indica al usuario que abra la URL en el navegador.
STATE_DIR/server-info.python3 visual/scripts/write-style-demo-gallery.py --visual-path "$STATE_DIR".python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR" para elegir el sistema base.python3 visual/scripts/read-choice.py "$STATE_DIR".python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR" --style-id "<style_id>" para que el usuario elija tipografía + paleta.python3 visual/scripts/read-choice.py "$STATE_DIR".python3 visual/scripts/write-guided-style-options.py --visual-path "$STATE_DIR" para generar automáticamente la ronda final de 3 variantes a partir de esa selección.screen_dir/style-options.html con python3 visual/scripts/write-style-options.py --visual-path "$STATE_DIR". Si necesitas escribirlo a mano, usa la clase .style-grid.screen_dir/style-options.json para poder generar luego el artefacto final sin reinterpretar la pantalla.python3 visual/scripts/read-choice.py "$STATE_DIR" o, si lo prefieres, inspecciona STATE_DIR/events directamente.docs/style-direction.md con python3 visual/scripts/write-style-direction.py --project-dir "$PWD" --visual-path "$STATE_DIR" o, si necesitas control manual, escribe el artefacto tú misma usando el sidecar JSON.waiting.html en screen_dir para limpiar el navegador hasta la próxima acción.Para que el artefacto final salga con buen nivel, intenta que cada propuesta incluya al menos:
choicenameconcept o descriptionpalettetypographyspacing_density o layout_densitytone o moodsample_component o component_examplevisual_principles o design_principleslayout_grammar o composition_grammarsurface_treatment o materialityshape_languagemotion_languagesignature_elements o visual_motifsimplementation_guardrails o guardrailsprompt_seed o design_promptrationale o whynot_this_direction o anti_patternscontext_signals, audience o constraintsEl writer canónico tolera sidecars incompletos y alias razonables, pero cuanto más específica sea la propuesta, menos genérica será la dirección final.
Si el usuario ya ha fijado familia + tipografía + paleta, las tres variantes finales
deben seguir perteneciendo a ese mismo sistema. Lo que puede cambiar entre A / B / C
es la composición, la jerarquía o el grado de expresividad, pero no la gramática base
del sistema elegido.
Cuando generes sidecars manuales:
prompt_seed del sistema como semilla principalvisual_principles, layout_grammar y signature_elementsimplementation_guardrails para evitar que la variante se desvíe hacia otra familiaEl helper recomendado es:
python3 visual/scripts/write-style-options.py --visual-path "$STATE_DIR"Este script:
style-options.jsonSi necesitas personalizar el copy de cabecera, acepta --title y --subtitle.
Selina ya puede trabajar en tres pasos naturales:
python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR"python3 visual/scripts/write-style-selector.py --visual-path "$STATE_DIR" --style-id "<style_id>"python3 visual/scripts/write-guided-style-options.py --visual-path "$STATE_DIR"read-choice.py sigue siendo el lector canónico entre pasos. Si la elección
pertenece al flujo guiado, devolverá además parsed_choice con stage,
style_id, font_pairing_id y palette_mode.
El servidor ya envuelve fragmentos HTML en su frame propio e inyecta helper.js, así
que no hace falta escribir un documento completo ni enlazar assets extra. Este es el
formato recomendado:
<section class="style-screen">
<div class="style-screen-header">
<p class="style-screen-kicker">Selina propone</p>
<h1>Selecciona una dirección visual</h1>
<p class="style-screen-subtitle">Elige la propuesta que mejor encaja con el producto.</p>
</div>
<div class="style-grid">
<div class="style-option" data-choice="A">
<div class="style-preview" style="background:#1a1a2e;">
<span class="style-letter">A</span>
</div>
<div class="style-meta">
<h2>Oscuro espacial</h2>
<p>Contraste alto, tipografía sans-serif, sensación tecnológica.</p>
<div class="palette">
<span class="swatch" style="background:#1a1a2e;" title="#1a1a2e"></span>
<span class="swatch" style="background:#e94560;" title="#e94560"></span>
<span class="swatch" style="background:#ffffff;" title="#ffffff"></span>
</div>
</div>
</div>
<div class="style-option" data-choice="B">
<div class="style-preview" style="background:#f5f0e8;">
<span class="style-letter">B</span>
</div>
<div class="style-meta">
<h2>Editorial cálido</h2>
<p>Tonos crema, serif clásico, aire de revista de lujo.</p>
<div class="palette">
<span class="swatch" style="background:#f5f0e8;" title="#f5f0e8"></span>
<span class="swatch" style="background:#c8a96e;" title="#c8a96e"></span>
<span class="swatch" style="background:#2c2c2c;" title="#2c2c2c"></span>
</div>
</div>
</div>
<div class="style-option" data-choice="C">
<div class="style-preview" style="background:#0d7377;">
<span class="style-letter">C</span>
</div>
<div class="style-meta">
<h2>Minimalismo vibrante</h2>
<p>Verde azulado saturado, mucho espacio negativo, tipografía condensada.</p>
<div class="palette">
<span class="swatch" style="background:#0d7377;" title="#0d7377"></span>
<span class="swatch" style="background:#14ffec;" title="#14ffec"></span>
<span class="swatch" style="background:#f8f8f8;" title="#f8f8f8"></span>
</div>
</div>
</div>
</div>
</section>Cada .style-option debe incluir obligatoriamente data-choice con un identificador
único (letra, número o slug). El atributo es el que queda registrado en los eventos
al hacer clic.
El archivo STATE_DIR/events contiene una línea JSON por evento, en orden cronológico.
La forma canónica actual es:
{"source":"user-event","type":"click","choice":"A","label":"Oscuro espacial","element":".style-option","ts":"2026-03-31T10:14:02Z","timestamp":"2026-03-31T10:14:02Z"}
{"source":"user-event","type":"click","choice":"A","label":"Oscuro espacial","element":".style-option","ts":"2026-03-31T10:14:05Z","timestamp":"2026-03-31T10:14:05Z"}El lector canónico visual/scripts/read-choice.py también acepta el formato legacy anterior:
{"ts":"2026-03-31T10:14:02Z","type":"click","choice":"A","element":".style-option"}
{"ts":"2026-03-31T10:14:05Z","type":"click","choice":"A","element":".style-option"}El último clic con type: "click" sobre un .style-option se considera la elección
definitiva del usuario. Si hay varios clics sobre la misma opción, se interpreta como
confirmación. Si hay clics sobre opciones distintas, prevalece el más reciente.
visual/scripts/stop-server.sh <session_dir>session_dir es el directorio de sesión devuelto por start-server.sh, o bien el
padre común de screen_dir y state_dir. El script detiene el proceso y limpia los
archivos temporales de la sesión.
© 686f6c61, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/style-direction of 686f6c61/alfred-dev.
Open the folder on GitHubat commit be0b51e
Style Direction next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Style Direction this skill686f6c61/alfred-dev | 117 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| OpenHarness End-to-End EvalsHKUDS/OpenHarness | 16k | 1 repos | ~2.1k | Automated safety check: Notes | MIT | |
| Adk Verify Snippetsgoogle/adk-python | 22k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Apple Container Test RunnerRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT | |
| JSON Repair Docs Demo Local Testmangiucugna/json_repair | 5.1k | — | ~549 | Automated safety check: Pass | MIT |
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
HKUDS/OpenHarness
Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.
google/adk-python
Checks that every Python code block in a Markdown file actually compiles and runs, by extracting each block to a temporary file, executing it in an isolated subprocess, and writing a pass/fail…
RustPython/RustPython
Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.
mangiucugna/json_repair
Runs the json_repair docs demo against a local Flask API and static server, so changes to docs/app.py or the docs UI are checked end to end before publishing.
astral-sh/ruff
A skill your agent uses when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty…
686f6c61/alfred-dev
Protocolo de respuesta ante incidentes en produccion: triaje, mitigacion, causa raiz y postmortem.
686f6c61/alfred-dev
This skill should be used when the user asks to record a design decision, search past project decisions, inspect the Alfred memory timeline, or work with the alfred-memory MCP server.
686f6c61/alfred-dev
Crear pull requests completas con descripcion, labels y reviewers
686f6c61/alfred-dev
Levantar SonarQube con Docker, analizar el código y proponer mejoras.
686f6c61/alfred-dev
Usar para sincronizar la documentación viva del proyecto después de una fase.
686f6c61/alfred-dev
Usar para escribir o cerrar un Architecture Decision Record.
Works with
Categories
Abrir y operar el companion visual de Selina para elegir una direccion de estilo en proyectos con interfaz. Style Direction is an agent skill from 686f6c61/alfred-dev. Abrir y operar el companion visual de Selina para elegir una direccion de estilo en proyectos con interfaz.
Style Direction fits situations like: testing & QA work in your project.
Run `npx skills add 686f6c61/alfred-dev --skill style-direction -a claude-code`. Or copy the skill folder (skills/style-direction in 686f6c61/alfred-dev) into .claude/skills/style-direction in your project. Claude Code loads it when a task matches its description.
Run `npx skills add 686f6c61/alfred-dev --skill style-direction -a codex`. Or copy the skill folder (skills/style-direction in 686f6c61/alfred-dev) into .agents/skills/style-direction in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 686f6c61/alfred-dev --skill style-direction -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/style-direction, .gemini/skills/style-direction, .github/skills/style-direction and .opencode/skills/style-direction in your project.
Going by SKILL.md and its folder, Style Direction needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Style Direction is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Style Direction: Web Application Testing (anthropics/skills, 180k stars), OpenHarness End-to-End Evals (HKUDS/OpenHarness, 16k stars), Adk Verify Snippets (google/adk-python, 22k stars) and Apple Container Test Runner (RustPython/RustPython, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
686f6c61 (a GitHub user) maintains it in 686f6c61/alfred-dev, which has 117 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 15, 2026.
Source: 686f6c61/alfred-dev on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.