K0lmenIA documentation

QA agents for Claude Code: test design, automation with k0lmena and integration with Xray, QMetry, AIO Tests and Azure DevOps.

Full reference: this page covers the essentials. The complete technical documentation, with every guide and command, is at underc0delabs.github.io/k0lmenIA · PDF · GitHub

What is K0lmenIA

A team of QA-specialized agents for Claude Code, designed for manual testers: no coding needed, you work by chatting inside VS Code.

You provide an input (a story, a bug observation, an API contract, a Jira key or a Figma link), ask for what you need in plain language and the right agent produces the result: analysis, plans, cases in Excel or Gherkin, data, bugs, HTML reports, automation and upload to the test management tool.

StageWhat it doesWhere it goes
DesignAnalyze stories, plan, write manual, BDD and API cases, generate data and write bugs.output/
AutomationMapper agents write the automation once; then it runs with npm, with zero tokens.herramientas/k0lmena/
ManagementCases, cycles and results with evidence in Xray, QMetry or AIO Tests (cases also in Azure DevOps) and the closing report.Your tool + output/

Architecture

K0lmenIA architecture diagram
K0lmenIA architecture. Click to view full size.
PieceWhat it isWhere
Claude CodeOrchestrator: interprets the request, picks the agent and applies project standards.CLAUDE.md
AgentsThe "who": one specialist per task..claude/agents/
SkillsThe "how": design techniques, E2E and API execution, k0lmena conventions..claude/skills/
Templates and scriptsOutput format and deterministic HTML reports.plantillas/ · scripts/
Management integrationgestion.py with adapters for Xray Cloud, Xray Server/DC, QTM4J and AIO Tests.scripts/gestion/
MCP connectorsPlaywright and Atlassian active; Azure DevOps, Figma, Appium, QMetry, AIO Tests and k0lmenaTMT ready to enable..mcp.json
ToolsNewman for Postman and k0lmena for web, API, mobile and performance.herramientas/

How to use it

K0lmenIA three-stage usage flow
End-to-end flow.
  1. Add your inputs in input/, or pass a Jira key, a Confluence page or a Figma link with the connector enabled.
  2. Ask in plain language. Claude Code picks the agent; you can also name it.
  3. Review the result in output/ or herramientas/k0lmena/.
  4. Automate what repeats and run it with npm test as often as you like, with zero tokens.

See the catalog of all 28 agents

Requirements

Install only what you'll use.

For…You need
Using the agentsClaude Code and a Claude account (Pro, Max, Team or Enterprise) or Anthropic API access. VS Code recommended.
Cases, reports and managementPython 3 with openpyxl, tabulate and requests.
Live E2E runsNode.js 18+ and Playwright browsers.
Postman collectionsNewman
Automating with k0lmenaNode.js 20+
Mobile automationNode.js 22+, JDK and Android SDK, or macOS with Xcode for iOS; or a BrowserStack account.

Installation

1. Install Claude Code

curl -fsSL https://claude.ai/install.sh | bash    # macOS / Linux
npm install -g @anthropic-ai/claude-code          # alternative
claude --version

On Windows, follow the official guide.

2. Clone the repository

git clone https://github.com/underc0delabs/k0lmenIA.git
cd k0lmenIA
pip install -r requirements.txt     # Mac/Linux: pip3
npm install                         # k0lmena
cp .env.example .env                # and fill it in (PowerShell: copy)

3. Check everything is ready

npm run doctor    # tells you what's missing and how to fix it

4. Open VS Code and launch Claude Code

code .
claude      # asks you to sign in the first time

5. Add optional pieces

npx playwright install              # live E2E runs
npm install -g newman               # Postman
cd herramientas/k0lmena
npx playwright install chromium     # + firefox webkit (cross-browser)
npm run bootstrap:k6                # k6
npm run bootstrap:jmeter            # JMeter (Java 8+)
K0lmenIA setup: installation, .env tokens and example requests
Setup: installation, .env tokens and example requests.

Configuration: the .env file

There is a single .env at the repo root, used by the agents, k0lmena and the management scripts. It is in .gitignore and the commented template is .env.example.

GroupVariablesPurpose
App under testAPP_URL APP_USER APP_PASSWORDE2E runs and logins
APIAPI_TOKEN API_BASEURLNewman, API suite and k6
WebBASEURL BROWSER HEADLESS VIEWPORT_WIDTH VIEWPORT_HEIGHT LOCALE TIMEZONEWeb suite browser
ExecutionTAGS PARALLELWhich scenarios and how they run
EvidenceEVIDENCE VIDEO TRACEWhat gets attached to the report
Auto-healingK0LMENA_AUTO_HEALINGRecover broken locators
MobileMOBILE_TARGET MOBILE_PLATFORM MOBILE_DEVICE_NAME MOBILE_APP MOBILE_UDID BROWSERSTACK_*Where the mobile suite runs
PerformancePERF_VUS PERF_DURACIONOverride k6 script load
DatabasesDB_CONEXIONES + DB_<NOMBRE>_*Database verification
ManagementGESTION_HERRAMIENTA GESTION_PROYECTOXray, QMetry and AIO Tests
Azure DevOpsADO_ORGANIZACION ADO_PAT ADO_PROYECTOBoards, Wiki and Test Plans
Security: use test environment credentials, never production ones. Never paste a token in the chat or write it in a committed file.

Context research and "missing information"

Before analyzing, planning, writing cases or automating, agents research the story's full context: Jira description and criteria, every comment, subtasks, epic, linked issues, Confluence, Figma, contracts and the input/ folder. The result is a reusable context sheet in output/contexto/.

Every value not found in any source gets an ID (FI-01) with what's missing, where it was searched, what it affects and the question for the PO. The same ID travels to the case spreadsheet, the .feature files (@falta-info @FI-01 tags), reports and the closing report. The application is never used as a source of requirements.

Automation with k0lmena

The framework ships in herramientas/k0lmena/. A mapper agent walks through the app once and writes the automation; from then on the suite runs with npm, without agents and with zero tokens.

TypeEngineMapper
WebPlaywright + Cucumber, video, trace, GIF and auto-healingweb-mapper
APIaxios + Cucumber with generic stepsapi-mapper
MobileWebdriverIO + Appium on device, emulator or BrowserStackmobile-mapper
Performancek6 for APIs, Artillery + Playwright for web flows, JMeterperformance-mapper
cd herramientas/k0lmena
npm test                       # web + API
npm run test:web               # also: test:api · test:mobile · test:all
TAGS=@HU-001 npm test          # filter by tag
npm run report:web             # also: report:api · report:mobile

If a step can't be executed, the scenario is tagged @bloqueado with the reason and won't run until it's resolved.

Performance

The performance-mapper builds load, stress, soak and spike tests. It never uses defaults: it walks you through goal, tool, environment, users, ramp-up, duration and thresholds, and asks for confirmation before every loaded run.

npm run perf                             # lists scripts
npm run perf -- <script> smoke           # validates with minimal load
npm run perf -- <script> load            # target load (asks to confirm)
npm run perf -- <script> stress --confirmar
ProfileWhat it does
smokeMinimal load to validate the script.
loadRamps to target load, holds and ramps down.
stress1x, 2x and 3x: finds the breaking point.
soakSustained load: leaks and degradation.
spikeSudden spike and recovery.

Xray, QMetry, AIO Tests and Azure DevOps

gestor-pruebas and publicador-resultados work with Xray Cloud, Xray Server/Data Center, QMetry for Jira (QTM4J) and AIO Tests using the same commands. Configure it in .env with GESTION_HERRAMIENTA (xray-cloud, xray-dc, qtm4j or aio) and GESTION_PROYECTO.

ConceptXrayQTM4JAIO Tests
CaseIssue Test (Manual / Cucumber)Test caseClassic / BDD
CycleTest ExecutionTest cycleTest cycle
Case ↔ storyLink "Test"Requirement linkjiraRequirementIDs
Cycle ↔ storyLink "Relates"Requirement linkjiraTaskIDs
python scripts/gestion/gestion.py --dry-run carpeta --ruta "HU-001 Registro"
python scripts/gestion/gestion.py subir-casos --origen <casos.xlsx> --carpeta "HU-001 Registro" --historia PROJ-12 --traza HU-001
python scripts/gestion/gestion.py crear-ciclo --nombre "Sprint 5" --historia PROJ-12 --traza HU-001
python scripts/gestion/gestion.py publicar-resultados --ciclo PROJ-60 --resultados <resultados.json> --traza HU-001

Azure DevOps Test Plans integrates through its official MCP connector using ADO_ORGANIZACION, ADO_PAT and ADO_PROYECTO: agents read stories and the Wiki, and create Test Cases linked to a suite.

Database verification

The verificador-datos checks what was stored, in which state and with which values, in PostgreSQL, MySQL / MariaDB, SQL Server and MongoDB, with several named connections. It is read-only by default, masks sensitive data and requires explicit enabling and confirmation to write.

DB_CONEXIONES=principal,pagos
DB_PRINCIPAL_MOTOR=postgres        # postgres | mysql | mariadb | sqlserver | mongodb
DB_PRINCIPAL_HOST=localhost
DB_PRINCIPAL_PUERTO=5432
DB_PRINCIPAL_BASE=tienda
DB_PRINCIPAL_USUARIO=qa_lectura
DB_PRINCIPAL_ESCRITURA=no
DB_PRINCIPAL_PRODUCCION=no

Web quality: exploratory, accessibility, performance, visual, cross-browser and security

AgentWhat it checksAgent-free command
explorador-webBroken links and images, JS and console errors, responsive at 5 resolutions and load times.npm run explorar
analista-accesibilidadWCAG 2.2 with axe-core, keyboard, focus and 320px reflow.npm run accesibilidad
auditor-rendimiento-webLighthouse mobile and desktop, Core Web Vitals and opportunities.npm run rendimiento
pixel-perfectVisual regression against a baseline or Figma design.npm run pixel-perfect
cross-browserChromium, Firefox and WebKit side by side.npm run cross-browser
analista-seguridadPassive OWASP ZAP scan (authorized sites only).python herramientas/zap/escanear.py

MCP connectors

ConnectorPurposeAuth
playwrightBrowser for the E2E runner and web-mapper.Active
atlassianJira and Confluence.Active · OAuth or API token
figmaCopy, states and components from a link.OAuth
appium-mcpUsed by the mobile-mapper.ANDROID_HOME
qmetry · qtm4jQuery QMetry from the chat.API key
aio-testsQuery AIO Tests from the chat.Token
azure-devopsStories, Wiki and Test Plans.PAT
k0lmena-tmtLoad and query cases in k0lmena TMT.Personal token
npm run conector                          # lists available connectors
npm run conector -- activar azure-devops  # enables one (just for you)

Then restart Claude Code and check the connection with /mcp.

Conventions

ItemFormat
StoriesHU-001
Acceptance criteriaCA1 · CA2
Manual casesCP-001
API casesCP-API-001
BugsBUG-001
Missing informationFI-01 · @falta-info @FI-01
WhereTags
Feature@HU-001 @web · @api · @mobile
Scenario@CP-001, @CP-API-001 and @smoke if critical
Exclude@bloqueado

Troubleshooting

I don't know what's missing

Run npm run doctor: it checks Python, Node, k0lmena, Playwright, Newman, Java, Docker, .env and connectors, and tells you how to fix what's missing.

An agent replies "I need you to confirm"

It's by design: subagents can't ask mid-task. Answer and Claude resumes with the same agent.

npm test runs 0 scenarios

You haven't automated anything yet (folders start empty) or the TAGS filter matches no scenario.

An MCP connector won't connect

Variables must be in the environment where you launch claude. Atlassian and Figma are authorized from /mcp.

See all troubleshooting entries in the full documentation

Extending the project

  • Agent: a .claude/agents/my-agent.md file with name and description; Claude Code uses the description to decide when to call it.
  • Skill: a folder in .claude/skills/ with its SKILL.md.
  • MCP connector: an entry in .mcp.json, with no secrets.
  • Tool: a subfolder in herramientas/ with its README.

License

K0lmenIA is open source under the MIT license. Built by the QARMY and Underc0de community.

Want it in your team?

We install it, connect it to your tools and train your team.

Talk to us on WhatsApp