From test-engineering
This document defines the shared response format, data structures, validation rules, and logging instructions used by all LLT skills. Each LLT skill SKILL.md references this file for these shared conventions.
npx claudepluginhub issacchaos/local-marketplace --plugin test-engineeringThis skill uses the workspace's default tool permissions.
This document defines the shared response format, data structures, validation rules, and logging instructions used by all LLT skills. Each LLT skill SKILL.md references this file for these shared conventions.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
This document defines the shared response format, data structures, validation rules, and logging instructions used by all LLT skills. Each LLT skill SKILL.md references this file for these shared conventions.
All LLT skill output MUST use this JSON envelope. Output the JSON to stdout with no surrounding text.
{
"skill": "<skill-name>",
"version": "<semver>",
"status": "success" | "partial_success" | "error",
"timestamp": "<ISO-8601 UTC, e.g. 2026-02-19T15:30:00Z>",
"data": { /* skill-specific payload */ },
"errors": [
{
"severity": "error",
"message": "<human-readable message>",
"code": "<optional error code>",
"context": { /* optional additional details */ }
}
],
"warnings": [
{
"severity": "warning",
"message": "<human-readable message>",
"code": "<optional warning code>",
"context": { /* optional additional details */ }
}
]
}
errors is empty.data and errors are populated.data is empty, errors has at least one entry.Every response MUST include: skill, version, status, timestamp, data, errors, warnings. Use empty objects/arrays ({}, []) for absent data, never omit the keys.
{
"skill": "llt-find",
"version": "1.0.0",
"status": "success",
"timestamp": "2026-02-19T15:30:00Z",
"data": {
"test_targets": [],
"total_tests": 42
},
"errors": [],
"warnings": []
}
{
"skill": "llt-build",
"version": "1.0.0",
"status": "error",
"timestamp": "2026-02-19T15:30:05Z",
"data": {},
"errors": [
{
"severity": "error",
"message": "Project root does not contain Engine/ or .uproject file",
"code": "INVALID_PROJECT_ROOT",
"context": {"path": "/tmp/not-a-project"}
}
],
"warnings": []
}
Log all progress and diagnostic messages to stderr (stdout is reserved for JSON output). Use this format:
[YYYY-MM-DD HH:MM:SS] [LEVEL] [skill-name] message
[INFO] [llt-find] Starting llt-find[INFO] [llt-find] Phase: Scanning BuildGraph XML[INFO] [llt-find] Progress: 45/120 modules (37.5%)[ERROR] [llt-find] Validation error: Project root not found at /path[INFO] [llt-find] Completed llt-find with status 'success' in 2.45 secondsUse sys.stderr.write() or print(..., file=sys.stderr) in Python scripts, or simply output diagnostic text to stderr when operating as an agent.
These JSON structures are used in the data payload of LLT skill responses. Generate them directly as JSON objects.
Supports a test-to-source mapping relationship.
{
"type": "direct_include | naming_convention | module_dependency",
"value": "string (e.g., '#include \"Resonance.h\"')",
"points": "integer (direct_include=50, naming_convention=30, module_dependency=20)"
}
Maps a test file to the source file it tests.
{
"test_file": "string (relative path from project root)",
"source_file": "string (relative path from project root)",
"confidence": "very high | high | medium | low",
"evidence": [ /* array of Evidence objects */ ]
}
Confidence scoring: Sum the points from all evidence items.
A single Catch2 test case within a test file.
{
"name": "string (TEST_CASE name)",
"tags": ["string (e.g., '[EOS]', '[suite_resonance]')"],
"line_number": "integer",
"sections": ["string (SECTION block names)"],
"includes": ["string (#include directives)"]
}
A test source file containing multiple test cases.
{
"file_path": "string (relative path from project root)",
"module_name": "string (e.g., 'OnlineServicesMcp')",
"test_count": "integer",
"test_cases": [ /* array of TestCase objects */ ]
}
A test target (executable with one or more test modules).
{
"name": "string (e.g., 'OnlineServicesMcpTests')",
"type": "explicit | implicit",
"platforms": ["Win64", "PS5", "Linux"],
"binary_path": "string (path to test executable)",
"buildgraph_registered": "boolean"
}
Type rules:
Result from executing a single test case.
{
"test_name": "string",
"status": "passed | failed | skipped",
"duration": "float (seconds)",
"failure_details": {
"assertion_type": "REQUIRE | CHECK | REQUIRE_FALSE | ...",
"expression": "string (expression that failed)",
"message": "string",
"file": "string (source file path)",
"line": "integer"
}
}
Note: failure_details is only present when status is "failed".
Module-level test coverage from dependency analysis.
{
"module_name": "string (e.g., 'Core', 'OnlineServicesMcp')",
"covered": "boolean",
"test_modules": ["string (test module names that cover this module)"]
}
Before executing any LLT skill operation, validate inputs against these rules. If validation fails, emit an error response (see Response Format) and stop.
A valid Unreal Engine project root must satisfy at least one of:
.uproject file (game project)Engine/ directory (UE installation root)Source/, Content/, Config/ (game project structure)Validation steps:
.uproject files: ls *.uproject or Glob("*.uproject")Engine/ directorySource/, Content/, or Config/ directories"Project root does not contain .uproject, Engine/, Source/, Content/, or Config/ directory"Supported platforms (case-sensitive):
Win64, Mac, Linux, PS5, PS4, Xbox, XboxOne, XboxOneGDK, XSX, Switch, Android, iOS
If the user provides an unrecognized platform, report error and list supported platforms.
Native platforms are always available: Win64, Mac, Linux.
Console/mobile platforms require SDK environment variables:
| Platform | Environment Variable | Install Hint |
|---|---|---|
| PS5 | SCE_ORBIS_SDK_DIR | Launcher -> Engine -> Platform Support -> PS5 |
| PS4 | SCE_ORBIS_SDK_DIR | Launcher -> Engine -> Platform Support -> PS4 |
| Xbox, XboxOne, XboxOneGDK, XSX | GameDK or XboxOneXDKLatest | Microsoft Game Development Kit |
| Switch | NINTENDO_SDK_ROOT | Nintendo Developer Portal |
| Android | ANDROID_HOME or ANDROID_SDK_ROOT | Android Studio or sdkmanager |
| iOS | Xcode at /Applications/Xcode.app (macOS only) | Mac App Store |
When SDK is not found, include the install hint in the warning message.
resolved_path.startswith(resolved_root).. that escape the project rootValid target names must:
-)a-z, A-Z, 0-9, _, -Valid tag filter syntax: one or more [tag] or ~[tag] groups.
[EOS] - include tests tagged EOS~[slow] - exclude tests tagged slow[EOS][network] - include tests with both tagsRegex for validation: ^(~?\[[^\]]+\])+$