Empezar aquí
Cómo instalar el repo, qué hace cada pieza y qué ejecutar en cada momento: desde el primer
bun setup hasta el veredicto de regresión de un release.
La idea en dos minutos
Este repositorio es una máquina de QA que trabaja con un agente de IA. Tú traes el proyecto bajo prueba (el target: un frontend, un backend o ambos) y el boilerplate pone las instrucciones, la capa de conocimiento y las herramientas que el agente usa para planificar pruebas, ejecutarlas, reportar bugs, automatizar y emitir un veredicto de release. Entre cada etapa hay un checkpoint humano: el agente propone y tú apruebas.
Todo lo que puedes invocar pertenece a una de tres categorías:
| Tipo | Qué es | Dónde vive | Quién lo invoca |
|---|---|---|---|
| Skill | Instrucciones en markdown que guían al agente por tareas largas de varias fases (subagentes, decisiones, referencias). |
.agents/skills/<nombre>/SKILL.md + references/
|
El agente la activa cuando tu mensaje coincide con sus triggers. También puedes
forzarla con /nombre-del-skill.
|
| Modo |
Una variante de un skill que tiene varias (por ejemplo data en
project-context). No es un archivo aparte: no hay archivos de comando.
|
La sección de modos del SKILL.md de ese skill |
Tú, con /<skill> <modo> en Claude Code, o nombrando skill y
modo en prosa en OpenCode y Codex. Sin modo reconocible, el skill pregunta.
|
| Script | CLI en TypeScript que corre en la terminal. |
scripts/*.ts y cli/*.ts, declarados en
package.json
|
Tú, con bun run <script>. |
Las tres comparten el mismo combustible: las variables de .agents/project.yaml
(nombre del proyecto, URLs por entorno, clave de Jira) y los catálogos de Jira en
.agents/. El agente los lee al empezar la sesión y resuelve los placeholders
{{VAR}} antes de actuar.
El agente tiene una personalidad definida: un QA senior que reporta a un Project Manager, escueto, con respuestas que empiezan por el valor y un menú de temas para profundizar. Si algo de su estilo te sorprende, lee Personalidad.
Instalación
Prerequisitos
El instalador se diagnostica solo y te dice qué falta, pero ahorras una vuelta si instalas antes lo que bloquea.
| Herramienta | Versión | Si falta |
|---|---|---|
| Bun | la mínima que exige el preflight de bun setup |
Bloquea. El preflight de bun setup se detiene antes de escribir nada.
|
| Un agente: Claude Code, OpenCode o Codex (CLI o Desktop) | última | Bloquea. Sin ninguno de los tres, el preflight se detiene antes de escribir nada. |
git y tar |
cualquiera |
Bloquea el scaffolder (git init, extraer el tarball) y los hooks.
|
node |
la mínima que exige el preflight (cli/preflight.ts) |
Los hooks ejecutan node .agents/hooks/personality-reinject.mjs. Lo
comprueban el doctor del scaffolder y el preflight de bun setup.
|
| engram |
la mínima que exige bun setup (MIN_ENGRAM_VERSION en
cli/install.ts)
|
Aviso. Sin él no se instala Engram (memoria entre sesiones); el resto funciona. |
gh, acli, playwright-cli, jq,
resend, rg
|
cualquiera | Aviso. Cada uno lo necesita un skill concreto; puedes instalarlos cuando ese skill te lo pida. |
En Windows funcionan PowerShell y cmd sin WSL. Instala Bun con
powershell -c "irm bun.sh/install.ps1 | iex", no con npm i -g bun.
Tres formas de empezar
Scaffolder de npm
bunx create-agentic-qa@latest <nombre-del-repo> descarga el último
main sin historial, renombra el proyecto, hace git init, corre
bun install y te pasa a bun setup.
"Use this template"
Creas el repo desde la web de GitHub, lo clonas y ejecutas
bun install y bun setup. Hereda el historial del boilerplate y
el renombrado lo haces a mano.
Clon manual
Para trabajar en el boilerplate mismo (skills, instalador, scripts). Si vas a probar tu propio producto, usa el scaffolder.
# Camino recomendado
bunx create-agentic-qa@latest mi-proyecto-qa
cd mi-proyecto-qa
# Camino "Use this template" (después de crear el repo en GitHub)
git clone https://github.com/<tu-org>/<tu-repo>.git
cd <tu-repo>
bun install
bun setup
Si usas la plantilla de GitHub, renombra el proyecto en
package.json (name) y en .agents/project.yaml
(project.project_name).
Qué hace bun setup
Si tu terminal tiene pantalla, la corrida se ve en una página local que se abre sola (dentro
de Orca, como una pestaña de su navegador). Cada pregunta es una tarjeta, y la terminal
sigue mostrando el log completo. Con bun setup --headless todo pasa en la
terminal, igual que en CI, sin TTY, cuando la lanza un agente o por SSH sin pantalla;
--ui abre la página aunque esas reglas digan terminal. Si ninguna página se
conecta a los pocos segundos, las preguntas vuelven a la terminal. Los flags y las reglas
completas están en bun setup --help.
Es idempotente: cada paso guarda una marca en .template/installer.state.json en
cuanto termina, así que una corrida interrumpida sigue donde quedó y una segunda ejecución
salta lo que ya terminó. Con --non-interactive (o sin TTY) cada pregunta toma
su valor por defecto.
-
Preflight
Antes de preguntar o escribir nada revisa la máquina: las herramientas, que haya al menos un agente, la carpeta del proyecto, la red y el disco. Cada fila sale como ok, aviso o bloqueo. Un bloqueo frena la corrida sin tocar nada (en la página, con un botón "Volver a comprobar"); que falte
aclioengrames solo un aviso. Si faltan las dependencias, correbun installpor su cuenta. Cierra con una única confirmación para empezar. -
Tu equipo
Qué agentes soporta el proyecto: Claude Code, OpenCode o Codex. Tu elección queda en
harnesses:(.agents/project.yaml) y te ofrece borrar los archivos de los que dejaste fuera (por defecto los conserva). Aquí eliges también los skills de nivel usuario, una casilla por skill: el que desmarcas queda registrado como rechazado y no se vuelve a ofrecer. También pregunta si conectar el plugin de Engram. -
Instalación en segundo plano
Arranca en cuanto respondes Tu equipo: dependencias, los navegadores de Playwright, Engram con
engram setupen cada agente elegido, los skills de la comunidad y la reparación de compatibilidad. No pregunta nada; las fases siguientes se responden mientras descarga. -
Tu proyecto
La identidad y los entornos de
.agents/project.yaml(lo que hacíaagents:setup). El ejemplo aparece como pista dentro del campo y nunca se escribe como valor. -
Credenciales
Dónde viven los secretos:
.env(por defecto) o un gestor (1Password, opción avanzada). Luego las variables que usan los MCPs y las credenciales de Atlassian. Un secreto que escribes en la página va enmascarado y solo llega a.env. -
Jira
Autentica
acli, sincroniza los catálogos (tu workspace, el estándar de UPEX-Galaxy o saltarlo), te deja elegir los estados y transiciones del workflow que no se resuelven solos y valida conjira:check. Si el login falla, una tarjeta dice qué pasó y te deja reintentar. -
GitHub
Opcional: crea el repo con
ghy hace el push cuando termina la instalación en segundo plano. -
Verificación
Una tabla con los CLIs externos, solo informativa: cuáles están y cómo instalar los que faltan. Además retira las copias en texto plano de credenciales MCP que dejó una versión anterior (ver la sección siguiente).
-
Listo
Una tarjeta de reporte con lo hecho, lo saltado o con aviso, los errores y el tiempo, y debajo los próximos pasos: abrir tu agente,
/agentic-qa-onboard,/project-discoveryy lo que quedó pendiente. Al terminar se guarda una copia estática en.session/runs/(ignorada por git) y la página te muestra la ruta.
Comprueba el resultado en cualquier momento con bun run setup:doctor (añade
--json si lo va a leer un agente). Lista las variables pendientes con la URL
donde se genera cada token.
El scaffold trae solo-main como estrategia por defecto, marcada como
heredada. Pídele al agente "set up our git strategy" para que
/git-flow-master la defina contigo: mientras siga heredada, el agente te lo
ofrece una vez por sesión. El hook pre-push (vía
bun run git:policy verify) solo te frena con ese mensaje si el bloque
git_strategy: de .agents/project.yaml falta o no tiene
estrategia. Con el bloque presente reporta la diferencia entre la política declarada y la
que aplica GitHub: mientras la estrategia siga heredada (o no haya un origin en GitHub) la
muestra como aviso y deja pasar el push; una vez elegida, esa diferencia frena el push.
Las conexiones con datos reales (Jira y Xray, la base de datos, la API) tienen su propia guía en Setup.
Credenciales y arranque del agente
Copia .env.example a .env (el instalador lo hace por ti) y rellena
lo que tu trabajo necesite. .env está en .gitignore y es la fuente
por defecto de los secretos (o el gestor de secretos, ver Variables de entorno). Nada de lo
que falte bloquea la instalación ni el doctor: cada variable tiene un alcance (framework,
tooling o proyecto bajo prueba) y la valida el código que la lee, con un error que la
nombra. Qué variable es de quién, qué valida varlock y qué se conecta fuera de
.env está en Variables de entorno. Hay
dos archivos que se parecen y no hacen lo mismo:
.env |
.agents/project.yaml |
|
|---|---|---|
| Contiene | Secretos y configuración del runtime de tests y de los MCPs. | Identidad del proyecto y variables {{VAR}} para el agente. |
| Ejemplos |
ATLASSIAN_API_TOKEN, XRAY_CLIENT_SECRET,
DBHUB_PASSWORD; por ejemplo LOCAL_USER_EMAIL (nombre de
ejemplo del proyecto bajo prueba)
|
project.project_name, URLs por entorno,
issue_tracker.atlassian_url
|
| Secretos? | Sí | No, debe poder commitearse |
| En git? | No. Se versiona la plantilla .env.example. |
Sí |
La URL del sitio de Atlassian no va en .env: vive solo en
.agents/project.yaml y se lee con bun run --silent jira:url. Una
copia vieja en el entorno reconstruía la caché desde un Jira muerto sin avisar, por eso se
sacó de ahí.
Cómo llega cada credencial a cada harness
Un harness lee su configuración y arranca los servidores MCP antes de que corra cualquier
hook, y una app de escritorio (Claude Desktop, Codex Desktop, OpenCode desktop) o un worker
lanzado de forma nativa no trae ninguna variable en su entorno. Por eso ningún MCP depende
del entorno del harness: cada servidor que necesita valores de .env arranca a
través del mismo loader, igual en los tres hosts (.mcp.json,
opencode.jsonc y .codex/config.toml):
bunx -p varlock@<pin> varlock run --no-redact-stdout --inject vars --filter A,B -- <servidor>
El loader lee el esquema de varlock y .env / .env.local (o el
gestor de secretos que nombre el esquema) desde la raíz del proyecto en el momento en que
arranca el servidor, y le pasa solo las variables de su --filter. No se escribe
ninguna copia en texto plano en ningún sitio. Solo hace falta bun install una
vez.
Las versiones anteriores de bun run harness:env copiaban las credenciales al
bloque env de .claude/settings.local.json y a
.auth/opencode/. Ese comando las retira: borra la copia que coincide con
.env, mueve a .auth/harness-env-backup/ la que
.env no reproduce (pones el valor correcto en .env y borras esa
carpeta) y nunca imprime valores. bun run harness:env:check falla mientras
quede una copia, y bun run setup:doctor lo reporta también.
-
Rellena
.envCon los valores que te pidió el instalador o los que faltan según
setup:doctor. -
Reinicia el agente
El loader lee
.envcuando arrancan los servidores MCP. Una sesión abierta no ve los cambios.
claude # Claude Code
opencode # OpenCode
codex # Codex CLI (Codex Desktop usa la misma config del repo)
Abre el harness tal cual en la carpeta del repo, o con su app de escritorio: no hace falta
ningún script. Cada servidor MCP lee .env por su cuenta con el loader filtrado
de varlock, abras como abras el harness, y nada exporta .env a tu shell. Lo que
sí puede tapar el archivo es una variable del proyecto que hayas exportado tú en el perfil
de tu shell: gana sobre .env en todo lo que arranques desde esa shell.
bun run vars:env:check la nombra (solo el nombre y el largo, nunca el valor);
quítala del perfil o abre una terminal limpia.
Si falta una variable, ningún harness falla al arrancar: el MCP muere en su primera
llamada autenticada y parece una herramienta rota. Un valor que no pasa el esquema (una
URL o un puerto mal escritos) frena solo al servidor que lo filtra, y
bunx varlock load --agent dice cuál sin mostrar el valor. Ante un 401/403 o
un fallo raro de un MCP: arregla .env y reinicia la sesión.
El ciclo de vida: cinco fases
Cada fase tiene un disparador, un resultado concreto y una frecuencia. Avanzas cuando existe el resultado de la anterior, y vuelves a Mantenimiento cuando la documentación se aleja de la realidad.
una vez por repo una vez por target continuo cuando hay drift
+-----------------+ +---------------+ +-----------+ +-------------+ +---------------+
| 0 Bootstrap |-->| 1 Discovery |-->| 2 Adapt |-->| 3 QA diario |<--| 4 Mantenim. |
| bun setup | | /project- | | /test- | | stages IQL |-->| sync + maps |
| | | discovery | | framework-| | con skill | | |
| | | | | adaptation| | | | |
+-----------------+ +---------------+ +-----------+ +-------------+ +---------------+
| Fase | Disparador | Produce | Cuándo repetir |
|---|---|---|---|
| 0 · Bootstrap | bun setup, luego .env y reiniciar el agente |
Dependencias, Engram, skills de la comunidad, MCPs cableados,
.agents/project.yaml relleno y los catálogos de Jira
(jira-fields.json, jira-workflows.json).
|
Clon nuevo o entorno reseteado. |
| 1 · Discovery |
/project-discovery con la ruta del repo target o la descripción del
stack
|
el mapa de dominio (business-domain-context: modelo de negocio y
glosario), el mapa de infraestructura (infra-context) y
.context/project-config.md; después, con project-context,
los mapas de negocio (dentro de sus context skills) y el master test plan. Cuatro
fases: Constitution, Architecture, Infrastructure, Specification.
|
Target nuevo o cambio grande de arquitectura. |
| 2 · Adapt | /test-framework-adaptation, siempre después de Discovery |
tests/components/, fixtures, config/variables.ts y
api/schemas/ adaptados al stack y al modelo de auth del target.
|
Cambio de auth o de stack. Es idempotente: solo retoca lo que sigue genérico. |
| 3 · QA diario | El skill dueño del stage en el que estás (tabla siguiente) | ATP, ATR, ATS, bugs, test cases en el TMS, tests automatizados, veredictos de regresión. | Cada sprint, cada ticket. |
| 4 · Mantenimiento |
.context/, AGENTS.md o .agents/ ya no
reflejan el producto
|
Docs al día (bun run docs:check y el cierre de cada skill), mapas
regenerados (project-context modos data /
e2e / api y test-plan), catálogos de Jira al
día (jira:sync-*, jira:check, vars:check) y
el framework actualizado con bun sync.
|
Cuando aparece el drift. Trátalo como un warning del compilador. |
La fase 3 son los stages del IQL
El QA diario sigue los stages del IQL (Integrated Quality Lifecycle). Cada uno tiene un skill que lo ejecuta, salvo Observation, que está declarado sin skill. La metodología completa está en IQL y cómo la implementa este repo, en El IQL en este repo.
| Stage | Momento | Skill | Resultado |
|---|---|---|---|
| Shift-Left | antes del sprint (en lote) | /shift-left-testing |
ACs refinados y ATP previo al sprint en el campo de la historia |
| Planning | en el sprint | /sprint-testing |
ATP (Test Plan), ATS y test cases |
| Execution | en el sprint | Exploración UI · API · DB | |
| Reporting | en el sprint | ATR, comentario de QA y bugs | |
| Execution sin ticket | a demanda, en el sprint o después | /exploratory-testing |
Escenarios candidatos ejecutados en vivo, marcados NEW, WEAK o COVERED contra la cobertura que ya existe |
| Documentation | después del sprint | /test-documentation |
Test cases en el TMS con veredicto de ROI: Candidate, Manual o Deferred |
| Automation | después del sprint | /test-automation |
Tests KATA con Plan, Code y Review |
| Regression | después del sprint | /regression-testing |
Fallos clasificados y veredicto GO, CAUTION o NO-GO |
| Observation | producción | ninguno todavía | Declarado, no implementado |
Elige tu camino
En la vida de un proyecto pasas por todos, en orden, a medida que una feature madura. En una sesión concreta eliges uno y dejas que el skill conduzca.
/shift-left-testing
Historias en Backlog con ACs flojos. Refina en lote, deja preguntas para PO y Dev,
escribe el ATP en el campo de la historia y mueve el estado
backlog → shift_left_qa → estimation. La feature aún no existe: no hay
ejecución.
/sprint-testing
Ticket en "Ready For QA" o un retest de bug. Planifica, explora UI, API y DB, y reporta
ATP, ATR, ATS y bugs en el TMS. Si la historia pasó por Shift-Left dentro de la ventana
que declara /sprint-testing, se salta parte de la planificación.
/exploratory-testing
Un módulo, un flujo o la app entera, sin historia de por medio. Arma un charter, reparte el reconocimiento entre varios agentes, intenta refutar cada hallazgo y te pregunta si lo observado es lo esperado. Solo pasa a documentación lo que no estaba cubierto.
/sprint-conductor
El sprint entero corrido por varios testers a la vez, uno por ticket, y el owner mirando todo desde el Sprint Board. El conductor no prueba: arranca, vigila el entorno de pruebas, cierra cada worker verificando sus artefactos y retoma la flota después de un reinicio. Necesita Orca.
/test-documentation, luego /test-automation
El test case pasó el filtro de ROI, el AC es estable y la automatización llega a la superficie. Se documenta en el TMS y se convierte en un test KATA de la suite de regresión.
/regression-testing
Corrida nocturna o previa a un release sobre la suite existente. Clasifica cada fallo en
una de las clases que define el skill (su SKILL.md es la lista) y emite el
veredicto GO, CAUTION o NO-GO.
Cambios en las bases KATA, fixtures, cli/, scripts/ o
api/schemas/ van por /framework-development, que tiene su propio
Plan, Code, Verify y Archive. Nunca por los skills de testing.
Tres piezas que se confunden
Tienen nombres parecidos y verbos que se solapan ("adaptar", "sincronizar", "refrescar").
| Pieza | Cuándo | Qué toca |
|---|---|---|
/test-framework-adaptation |
Una vez por target, después de /project-discovery. |
El código de tests de este repo (tests/components/,
config/, api/schemas/). Nunca el target. Analiza sin
escribir, presenta un plan y espera tu aprobación.
|
bun run docs:check |
En cada commit (pre-commit y bun run repo:check). |
Falla si un skill del repo falta en el router de
.agents/instructions/agent-skills-and-mcps.md (o, si lo creó tu
proyecto, en la tabla Project context skills de
.agents/instructions/agent-project.md) o si un doc cita un
bun run que package.json no tiene. Lo que pide criterio lo
cierra /framework-development en el boilerplate y la fase 9.3 de
/test-framework-adaptation en tu proyecto.
|
project-context (modos data, e2e,
api y test-plan)
|
Cuando el producto cambia: entidades, features, endpoints, riesgos. |
Los mapas HTML dentro de business-data-context,
business-api-context y business-e2e-context, y el Master
Test Plan, que se escribe en el Epic QA Master Test Plan de Jira. En
modo UPDATE rehace solo las secciones desactualizadas, muestra el diff y espera
aprobación. Tú abres un mapa en el navegador (carpeta "Mapas de contexto" de este
sitio); el agente lo lee con bun run context:map <slug> (--section <id>
para una sola sección, --list para el índice), nunca el HTML crudo.
|
agentic-qa-core tiene un papel pasivo: guarda la doctrina compartida (plantilla
de briefing, patrones de dispatch, test design, gestión de defectos) que los skills de
workflow cargan cuando la necesitan. Nunca lo invocas tú.
Cómo se conecta todo: tres circuitos
Circuito 1: variables
bun run agents:setup --escribe--> .agents/project.yaml
|
| el agente lo lee una vez por sesión
v
skills y plantillas con {{PROJECT_KEY}}, {{WEB_URL}}, {{jira.*}}
|
v
valores reales antes de cada llamada a una herramienta
{{VAR_NAME}}- Variable estática de
.agents/project.yaml, global o por entorno. <<VAR_NAME>>-
Variable de sesión que calcula el skill en tiempo de ejecución (por ejemplo
<<ISSUE_KEY>>a partir de la rama de git). Nunca se guarda. {{jira.<slug>}}-
Custom field portable de Jira. Se resuelve con
.agents/jira-required.yamly el catálogo.agents/jira-fields.json. -
{{jira.work_type.*}},{{jira.status.*}},{{jira.transition.*}} -
Referencias portables a tipos de issue, estados y transiciones, contra
.agents/jira-workflows.json.
bun run vars:check comprueba que todos los placeholders siguen resolviendo. El
contrato completo está en .agents/README.md.
Circuito 2: orquestación con subagentes
skill de workflow (/sprint-testing, /regression-testing, ...)
| escribe un briefing de 7 componentes
v
subagente (contexto limpio)
| carga el skill de la herramienta
v
/acli · /xray-cli · /playwright-cli · MCPs --> ejecuta y reporta
La conversación principal coordina y los subagentes hacen la lectura pesada. Cada briefing
lleva siete partes: objetivo, docs de contexto, estándares del proyecto, skills a cargar,
instrucciones exactas, formato del reporte y reglas. Los estándares salen ya resumidos de
.agents/skills/REGISTRY.md (lo genera bun run skills:registry),
así el subagente no relee cada SKILL.md. La plantilla está en
.agents/skills/agentic-qa-core/references/briefing-template.md.
Antes de trabajar, los skills de testing y /framework-development pasan un
chequeo de preparación: herramientas que faltan, MCPs caídos, tokens vencidos o un framework
sin adaptar se detectan al principio y no a mitad de la corrida
(.agents/skills/agentic-qa-core/references/preflight-gate.md).
Existe un segundo ejecutor opcional, el worker supervisado: una sesión persistente con la
que sigues hablando, coordinada por /orca-orchestration. Solo aparece si el
binario orca está instalado y su runtime responde.
Circuito 3: auto-carga de skills por CLI
Antes de ejecutar un binario, el agente carga el skill que sabe usarlo (flags, auth,
paginación, errores). La tabla binario → skill vive en
.agents/instructions/agent-tool-resolution.md (§6.5).
Los MCPs del repo
Los declara .mcp.json y existen igual en opencode.jsonc y
.codex/config.toml. Solo viven ahí servers locales: los que leen valores de
.env (la base de datos, la API, el bot de Slack) y el de documentación, que no
necesita clave. El navegador no es un MCP: es /playwright-cli. La regla
general: primero el CLI (gasta menos tokens) y el MCP como respaldo, salvo donde el MCP es
la herramienta principal.
Qué hace cada uno y cuándo se usa está en la tabla de MCPs de
.agents/instructions/agent-skills-and-mcps.md; las variables que cada server
necesita en .env las lista bun run setup:doctor (y
.env.example las comenta). Las guías de DBHub y
OpenAPI explican los que leen valores del proyecto.
La búsqueda web y Postman no están en .mcp.json a propósito: son servers
remotos cuyo único contenido del lado del proyecto era una API key, así que se conectan una
vez por máquina a nivel del harness (un conector de claude.ai o un server de usuario en
Claude Code, la config global de OpenCode, codex mcp add en Codex) y los skills
los resuelven por capacidad, sea cual sea el prefijo. Cómo conectarlos por harness:
Variables de entorno. El MCP de Atlassian
tampoco está: es opt-in y se documenta en
.agents/skills/agentic-qa-core/references/mcp-atlassian-optin.md. Jira y Xray
se manejan con acli y bun xray (guía).
Engram: memoria entre sesiones
Engram es un servidor MCP que guarda memoria estructurada y sobrevive a sesiones y
compactaciones. bun setup lo conecta a cada harness con
engram setup, a nivel de usuario, fuera del repo. Ese comando registra el
servidor de memoria y nada más. En Claude Code, además, ofrece instalar el plugin de Engram
(claude plugin install engram@engram), que trae los hooks de sesión. El
boilerplate no usa la capa de workflow de gentle-ai: los skills de workflow ya cubren Plan,
Code y Verify.
Dos cosas conviene saber. El agente guarda solo cuando él llama a mem_save;
nada se guarda solo. Y la búsqueda compara palabras, no significado: dos o tres palabras
clave del título de la memoria encuentran más que la pregunta entera.
| Qué hace el agente | Cuándo |
|---|---|
Guarda (mem_save) |
Sin que se lo pidas, tras una decisión de diseño, un bug resuelto (con su causa raíz), una convención nueva o una sorpresa del proyecto. |
Busca (mem_search) |
Cuando dices "recuerda", "qué hicimos", "cómo resolvimos", o mencionas trabajo anterior, en cualquier idioma. |
Resume (mem_session_summary) |
Al cerrar la sesión: objetivo, hallazgos, lo hecho, próximos pasos y archivos. Es la semilla de la siguiente sesión. |
Si saltas Engram, todo sigue funcionando, pero cada sesión empieza sin memoria.
Chuleta: quiero X, ejecuto Y
Todo lo de esta tabla existe como skill (con su modo, si tiene varios) o script de
package.json. Los skills se muestran en la forma de Claude Code (/<skill> <modo>); en OpenCode y Codex se piden en prosa ("cargá la skill <skill>, modo
<modo>"), como explica Skill y modo.
| Quiero... | Ejecuto... |
|---|---|
| Un tour guiado del repo | /agentic-qa-onboard |
| Abrir este portal de documentación | bun run docs |
| Abrir esta página directamente | bun run onboarding |
| Instalar o reparar la instalación | bun setup |
| Saber qué falta configurar | bun run setup:doctor |
Poner credenciales en .env o subirlas a GitHub Actions (al terminar
solo te recuerda reiniciar el agente)
|
bun setup --variables |
Escribir un valor NO secreto en .env (lo hace la IA si se lo pides)
|
bun run env:set CLAVE=valor |
Aplicar a los MCP un cambio de .env |
Reiniciar el agente (el loader de cada MCP lee .env al arrancar) |
Rellenar .agents/project.yaml |
bun run agents:setup |
| Empezar con un target nuevo |
/project-discovery, luego /test-framework-adaptation
|
| Refinar historias del backlog | /shift-left-testing |
| Probar un ticket o todo un sprint | /sprint-testing con la clave o el número de sprint |
| Explorar un módulo, un flujo o la app sin ticket | /exploratory-testing |
| Correr el sprint en flota y mirarlo desde el Sprint Board | /sprint-conductor |
| Documentar tests en Jira/Xray con ROI | /test-documentation |
| Escribir un test E2E o de API | /test-automation |
| Correr regresión y decidir el release | /regression-testing |
| Anotar una captura de un bug visual | "anota este bug" (bug-screenshot-annotation) |
| Armar y publicar la página de evidencia de un ticket o un bug | "publica la evidencia" (evidence-artifact) |
| Traer un issue de Jira con todos sus campos | bun run jira:sync-issues get <KEY> --include-comments |
| Reconstruir la caché local de Jira | bun run context:hydrate |
| Ver el mapa de cobertura y los huecos | bun run tests:map |
| Catalogar campos, workflows o tipos de link de Jira |
bun run jira:sync-fields · jira:sync-workflows ·
jira:sync-link-types
|
| Verificar Jira contra el manifiesto | bun run jira:check |
Validar los placeholders {{VAR}} y {{jira.*}} |
bun run vars:check |
Validar .env para el TEST_ENV activo |
bun run test:env:check |
| Traer los tipos de la API desde OpenAPI | bun run api:sync |
| Obtener un token para probar la API con curl | bun run api:login |
| Refrescar los mapas de negocio o el master test plan |
/project-context data · /project-context e2e ·
/project-context api · /project-context test-plan
|
| Leer un mapa de contexto desde la terminal, como lo lee el agente |
bun run context:map <slug> (--list ·
--section <id>)
|
| Sincronizar los Components de Jira o repuntar el repo a otra instancia |
/jira-administration components ·
/jira-administration instance-migration
|
| Sincronizar los docs de la IA tras un cambio | bun run docs:check |
| Medir si el agente lee las secciones ruteadas | bun run instructions:audit |
| Reparar la trazabilidad US, ATP, ATR y TC | /test-documentation repair-traceability |
| Pasar a AUTOMATED los TCs cuyo código ya está en la rama de producción | /test-documentation post-promotion |
| Explicar en lenguaje llano qué hacen los tests, en una página HTML | /test-automation explain <target> |
| Commit, push, PR o resolver un conflicto | /git-flow-master (se activa solo) |
| Revisar un PR de automatización | "revisa este PR" (pr-review-lead) |
| Una revisión adversarial con dos jueces | /judgment-day |
| Pasar la sesión a otra nueva porque el contexto se llena | /session-handoff |
| Paralelizar el sprint en varias sesiones | /orca-orchestration |
| Preparar un worktree nuevo (o revisar uno antes de borrarlo) |
bun run worktree:provision ·
bun run worktree:audit --rescue (ver
Worktrees)
|
| Traer las novedades del boilerplate | bun sync (en el checkout principal: en un worktree se niega) |
| Pasar todos los chequeos del repo | bun run repo:check |
Catálogo de skills
El catálogo es .agents/skills/REGISTRY.md (generado por
bun run skills:registry).
.agents/instructions/agent-skills-and-mcps.md es otra cosa: el router de frases
disparadoras que usa el agente para elegir skill, no el inventario. Hay tres tipos: propios
del repo, vendorizados (como judgment-day, de gentle-ai) y de la comunidad, que
instala bun setup a nivel de proyecto. Además hay skills de usuario (la lista
USER_LEVEL_SKILLS de cli/install.ts): el agente carga sin
preguntar las que una regla del repo o tus propias instrucciones nombran para un momento
concreto (por ejemplo mkd cuando hay una decisión pesada, con tradeoffs reales)
y te pide permiso para cualquier otra.
Workflow: los stages del pipeline
shift-left-testing
Refinamiento previo al sprint sobre un lote de historias: ACs, huecos, ATP temprano y
etiqueta shift-left-reviewed.
sprint-testing
QA manual por issue o por sprint entero. Produce ATP, ATS, ATR, comentario de QA y bugs.
exploratory-testing
Exploración por módulo, flujo o barrido completo. Produce hallazgos verificados y escenarios candidatos con su marca de cobertura.
sprint-conductor
Conduce una flota de workers de sprint-testing desde el Sprint Board: arranque, vigilancia del entorno, cierre verificado y retoma. Requiere Orca.
test-documentation
Test cases en el TMS con puntuación de ROI y veredicto Candidate, Manual o Deferred.
test-automation
Plan, Code y Review sobre KATA, Playwright y TypeScript.
regression-testing
Regresión, smoke o sanity por CI, clasificación de fallos y veredicto GO, CAUTION o NO-GO.
framework-development
Evolución del boilerplate: bases KATA, fixtures, cli/,
scripts/. No es para tickets.
Setup, contexto, herramientas y soporte
El resto (onboarding, discovery, adaptación del framework, mapas de contexto, git,
administración de Jira, orquestación, revisión y los wrappers de CLI) son skills de soporte:
su fila en .agents/skills/REGISTRY.md dice cuándo se cargan y qué hacen. Las de
la comunidad las instala bun setup (listas PROJECT_LEVEL_SKILLS y
USER_LEVEL_SKILLS en cli/install.ts).
Comandos y scripts
Skill y modo
No hay archivos de comando. Un skill se invoca por su nombre más un modo: en Claude Code,
/project-context data; en OpenCode y Codex, en prosa ("carga
project-context, modo data"). El primer token de tus argumentos
que coincide con un modo es el modo; el resto se le pasa al skill. Si ninguno coincide, el
skill pregunta.
Una fila de ejemplo; los modos de cada skill están en su SKILL.md y el catálogo
en .agents/skills/REGISTRY.md.
| Invocación | Skill y modo | Qué hace |
|---|---|---|
/project-context data |
project-context · data |
Genera el mapa de datos dentro de business-data-context (HTML; lo ves
en bun run docs, carpeta Mapas de contexto) y, si ya existe, rehace
solo las secciones desactualizadas.
|
Scripts de package.json
Se ejecutan con bun run <nombre>. La lista vive en
package.json (regla 11 de AGENTS.md: se lee ahí, nunca de una
copia). Se reconocen por prefijo: instalación, entorno y agentes (setup,
agents:*, harness:env (retira copias viejas),
env:set), instrucciones del agente (instructions:*), worktrees
(worktree:*), documentación (docs*), Jira, Xray y caché local
(jira:*, xray, context:*, tests:map),
tests y reportes (test*, allure:*), API y KATA
(api:*, kata:*), navegador (browser:profiles) y
calidad del repo (lint:*, format:*, types:check,
vars:*, skills:*, repo:*, git:policy).
La lista por prefijo no es exhaustiva: hay scripts sueltos, como sync y
pw:install.
Además está prepare, que instala los hooks de Husky al hacer
bun install. No hay un script env porque nada necesita
.env exportado en tu shell: cada proceso lo carga por su cuenta (los MCP con el
loader de .env, los scripts de Bun con su propio autoload).
Decks visuales
Presentaciones en español (términos técnicos en inglés) que recorren cada skill paso a paso.
Están publicadas en GitHub Pages porque los proyectos creados con el scaffolder no traen los
archivos. /agentic-qa-onboard puede abrirte el que corresponda.
shift-left-testing
El refinamiento previo al sprint, paso a paso.
Sprintsprint-testing
QA manual por ticket, de punta a punta.
Exploraciónexploratory-testing
La exploración sin ticket, del charter al handoff.
Flotasprint-conductor
Un sprint en flota, mirado desde el Sprint Board.
Documentationtest-documentation
Test cases en el TMS y priorización por ROI.
Automationtest-automation
KATA y Playwright: Plan, Code y Review.
Regressionregression-testing
Suites en CI y el veredicto GO, CAUTION o NO-GO.
TMSxray-cli
El workflow de Xray: Test, Plan, Execution e importaciones.
Orquestaciónorca-orchestration
Un conductor y una flota de workers supervisados.
TransversalEntradas y salidas de cada skill
Qué lee, qué carga y qué produce cada fase del pipeline.
TransversalConvenciones de nombres
Cómo se nombran artefactos, tests, ramas e IDs.
El catálogo completo, con los decks de oficio de cada skill y la KATA Academy, está en la portada del sitio.
Siguientes pasos
Variables de entorno
Los tres alcances, qué valida varlock, qué lee cada harness y qué va fuera de .env.
MetodologíaEl IQL
Las fases, los stages y los artefactos que conectan el trabajo de QA.
ExploraciónExplorar UI, API y base de datos
Técnicas y recetas para la fase de Execution.
AgentePersonalidad
Cómo habla el agente y cómo cambiar su registro.