- Introduced "Docker Build & Test Engineer" agent for building and testing Docker images. - Added "TestLink Autotest Engineer" agent for generating and verifying autotests from TestLink cases. - Created "Branch Review Engineer" agent for reviewing branch diffs and proposing improvements. - Developed "OpenWrt VPN & Network Engineer" agent for designing and implementing OpenWrt networking with VPN. - Established a structured directory for agents, skills, prompts, instructions, and hooks under `.github/`. - Implemented detailed skills for branch review processes, including reading code, analyzing improvements, and applying changes. - Added skills for OpenWrt network discovery, VPN routing, and hardening. - Created README files for better documentation and navigation of the repository structure.
4.5 KiB
name, description, argument-hint
| name | description | argument-hint |
|---|---|---|
| branch-review-check-testlink | Open a TestLink test case via MCP and verify that the changed autotest in the branch covers all required steps and expected results. Use when: review autotest against TestLink, compare test implementation with TestLink case, verify coverage of written test, проверить автотест по TestLink, сверить тест с тест-кейсом, проверить что автотест покрывает шаги тест-кейса. | TestLink test case ID or changed test file/scope |
Branch Review: Check TestLink Coverage
This skill verifies that a written autotest actually checks everything required by the authoritative TestLink test case.
When to Use
- The branch adds or changes autotests tied to a TestLink case
- The user explicitly asks to compare a test file with a TestLink case
- The diff contains a recognizable TestLink reference such as
KMD-123,PRJ-42, or a comment, marker, title, docstring, or test name that maps to a test case
Core Rule
Do not assume that a test is complete just because it exists.
You must fetch the TestLink case via MCP, read the written autotest, and compare:
- preconditions
- scenario steps
- expected results
- negative and branching behavior when the TestLink case requires it
Procedure
Step 1 — Resolve the TestLink Case ID
Find the most reliable case identifier in this order:
- explicit user-provided case ID
- exact TestLink ID found in changed test code, comments, docstrings, titles, markers, fixture names, or nearby docs
- exact TestLink ID found in commit or branch-related text already provided in context
Accepted formats:
- numeric internal ID, for example
1831 - external ID, for example
KMD-1831
If there is no reliable ID, stop this skill and report:
- no TestLink case could be resolved from the branch
- what evidence was checked
Step 2 — Fetch the Authoritative Test Case
Call TestLink MCP to load the case.
Use:
external_idfor prefixed identifiers such asKMD-1831test_case_idfor plain numeric identifiers
Extract at minimum:
idandexternal_idnamesummarypreconditionssteps[].step_numbersteps[].actionssteps[].expected_results
If the case is not found, report it and stop this skill.
Step 3 — Read the Written Test Thoroughly
Read the changed test file and any directly related helpers or fixtures that are necessary to understand what is actually asserted.
Determine:
- what setup the test performs
- what actions it executes
- what it asserts explicitly
- what it only implies but does not verify
- what parts of the TestLink case are not covered at all
Be strict here:
- execution of a step is not the same as verification of a result
- logging or comments are not assertions
- helper names do not count as coverage unless the underlying assertion is visible or can be traced with confidence
Step 4 — Build a Coverage Matrix
Map the TestLink case to the written test.
For every TestLink step, classify coverage as one of:
Covered— the test clearly performs the step and verifies the expected resultPartial— the test performs the step but misses all or part of the required verificationMissing— the step or expected result is not coveredUnclear— likely covered indirectly, but the assertion path cannot be confirmed from the code
Also assess preconditions:
- fully represented
- partially represented
- missing
Step 5 — Produce Review Findings
Output findings focused on concrete gaps.
Template:
## TestLink Coverage Check
Case: <external_id or id> — <title>
Source test: <file or symbol>
### Coverage Summary
- Preconditions: covered/partial/missing
- Steps covered: X/Y
- Partial: N
- Missing: N
- Unclear: N
### Coverage Matrix
1. Step <N>: <short action>
- expected: <short expected result>
- status: Covered | Partial | Missing | Unclear
- evidence: <test function / assertion / helper>
### Gaps
1. <gap title>
- why it matters: ...
- recommended fix: ...
- safe to auto-apply: yes/no
Review Guidance
- Treat
MissingandPartialcoverage as review findings - Escalate to
Criticalwhen a missing check can hide a regression in the core scenario - Escalate to
Importantwhen the flow exists but the expected result is not asserted - Put naming-only or traceability-only improvements into
Optionalunless they block reliable mapping to TestLink
Do not edit files in this skill. It only produces coverage analysis for the proposal stage.