skill-matrix-author
Build-an-X workflow that produces a QA team skill matrix - team members crossed with competency dimensions at explicit proficiency levels, each cell backed by observable evidence - then derives the full gap analysis: classify each gap (coverage / capability / bus-factor / surplus), rank the gaps against the team's roadmap, and recommend a closing move per gap (train / peer-learn vs hire vs external expert). Competency dimensions follow ISTQB CTAL-TM v3.0 chapter 3 (Managing the Team): professional, methodological, social, and personal competence. Maps the existing team on an ongoing basis - not a point-in-time score of external candidates and not one new hire's ramp plan. Use when a QA manager needs to know what the team can do today versus what its projects demand - before quarterly planning, a training-budget decision, or opening a requisition.
Install with skills.sh (any agent)
npx skills add testland/qa --skill skill-matrix-authorskill-matrix-author
Overview
Per ISTQB CTAL-TM v3.0 section 3.1.3, "test management needs to assess the existing test team skills and compare these with the required skills, which may be documented in a skills matrix" (CTAL-TM v3.0 §3.1.3, 2024; syllabus in References). This skill produces that matrix: rows are team members, columns are competency dimensions, and each cell carries a proficiency level plus the evidence that justifies it.
The output is two artifacts: the matrix (current state) and the gap analysis (matrix compared against the skills the team's projects require). The matrix without the comparison is a wall chart; the comparison is what drives training, hiring, and allocation decisions.
When to use
Do not use this skill to:
Step 1 - Capture the inputs
| Input | Notes |
|---|---|
| Team roster | Names or anonymized IDs, current role, tenure on team |
| Required-skills context | The team's test strategy, active projects, tech stack, test levels and test types in scope. Per CTAL-TM 3.1.2, "a detailed context analysis is required to determine the required skills for a project" - system domain, architecture and technologies, and SDLC all drive required professional competence (CTAL-TM v3.0 §3.1.2) |
| Evidence sources | Work samples per member: test strategies authored, review findings, test code, completion reports, certifications, prior assessments |
| Prior matrix | Optional; enables trend ("who grew since last cycle") |
Halt with MISSING_REQUIRED_SKILLS_CONTEXT if no test strategy or project context is supplied: a matrix with no "required" column cannot produce a gap analysis, only an inventory.
Step 2 - Pick the competency dimensions
CTAL-TM v3.0 section 3.1.1 classifies skills into four areas of competence (after Sonntag & Schmidt-Rathjens 2005 and Erpenbeck & von Rosenstiel 2017, the model the syllabus adopts):
(All four definitions: CTAL-TM v3.0 §3.1.1.)
Expand professional competence into 4 - 8 team-specific columns. CTAL-TM 3.1.2 maps skills to test activities - test planning needs conceptual strategy knowledge, test analysis needs analytical skill on the test basis and product risks, test implementation needs "technical expertise for test script programming and setting up test environments", test execution needs expertise in automated execution, exploratory testing, and result evaluation (§3.1.2). A typical web-product team lands on columns like: test design techniques, exploratory testing, test automation (team's framework), API testing, CI pipeline ownership, domain knowledge, performance testing, accessibility testing.
Keep methodological, social, and personal competence as 1 - 2 columns each, not expanded per sub-skill. The matrix is a management instrument, not a psychometric one; 8 - 12 total columns is the usable ceiling.
Step 3 - Define the proficiency scale with evidence rules
The syllabus prescribes assessment techniques, not a numeric scale; the 0 - 3 scale below is a working team default, not an ISTQB artifact:
| Level | Meaning | Minimum evidence |
|---|---|---|
| 0 - none | No exposure | (absence of evidence is fine here) |
| 1 - aware | Understands concepts; cannot execute unaided | Training completed, certification, or reviewed-but-not-authored work |
| 2 - practitioner | Executes independently on team-typical tasks | Authored work artifacts on this team (test cases, automation, strategy sections) |
| 3 - coach | Executes on novel problems and grows others in it | Artifacts plus observed teaching: review comments that taught, mentoring record, internal training delivered |
Evidence rules follow CTAL-TM 3.1.3, which says professional and methodological competence "can be assessed by demonstrating typical test tasks": outlining a test strategy and discussing feedback, reviewing the test basis and communicating findings, determining test techniques for a given context, applying test techniques, and writing a test completion report that assesses results. It adds that "skills can be assessed through external credentials, certifications, work experience, and degrees" (§3.1.3).
The load-bearing rule: no cell above level 1 on self-assessment alone. A level-2 or level-3 cell must name at least one artifact or observed demonstration. Self-assessment seeds the draft; evidence locks the value.
Step 4 - Fill the matrix
One row per member, one column per dimension. Each cell is a 0 - 3 level, and every cell above 1 carries a footnote naming its evidence. Add a final team-need row per column (req. / have): the level the team needs in at least N people against what it has. Minimal shape:
| Member | Test design | Playwright automation | Perf (k6) |
|---|---|---|---|
| Anna (lead) | 3 [^a1] | 2 [^a3] | 1 |
| Boris | 2 [^b1] | 3 [^b2] | 0 |
| **Team need (req. / have)** | 2 in 3+ / have 3 | 2 in 3+ / have 3 | 2 in 2+ / **have 1** |
[^a1]: Authored the 2026 checkout test strategy; ran the team's test-design workshop.The footnote-per-cell convention is what makes the matrix auditable: anyone can challenge a 3 by reading its evidence. See references/skill-matrix-example.md for the full 5-person matrix with every professional-competence column and evidence footnote.
Step 5 - Derive the gap analysis
For each column, set the required level and depth ("level 2 in at least 3 people") from the Step 1 context, then compare. CTAL-TM 3.1.4 frames this exactly: "identify necessary development needs by comparing required with available skills in a skills matrix" (§3.1.4). Classify each gap:
| Gap class | Signal | Typical response |
|---|---|---|
| Coverage gap | Required level exists in fewer people than needed | Training or peer learning |
| Capability gap | Required level exists in nobody | Training with external input, hiring, or external expert (CTAL-TM 3.1 notes external experts for tasks "beyond the capabilities of the test team") |
| Bus-factor gap | Exactly one person at required level on a critical column | Pairing and mentoring to spread it |
| Surplus | Capability with no project demand | Reallocation candidate, or a deliberate strategic bet |
In the worked example: performance testing is a bus-factor gap (Dana alone at level 2 against a need of 2 people), and the matrix shows no capability gap. That one row is the actionable output of the whole exercise.
Step 6 - Attach development options per gap
For each gap, list candidate development approaches. CTAL-TM 3.1.4 enumerates five: training and education, self-study, peer learning, mentoring or coaching, and training on the job - and notes they are not equally effective per competence area: "self-study and training, for example, are well suited for developing professional and methodological competence", while for social and personal competence "it is recommended to use approaches such as training and coaching, which are often more promising than self-study" (§3.1.4).
Step 7 - Prioritize gaps against the roadmap and recommend closing moves
The matrix plus classification is still an inventory until it meets demand. This step joins supply (the matrix) against demand (the roadmap) and emits the report the manager takes into planning, budget, or requisition conversations.
7a - Extract demand from the roadmap. Read the supplied roadmap, test strategy, or quarter plan. For each roadmap item, list the competencies it demands and the depth (how many people, at what level, by when). Per CTAL-TM 3.1.2, required skills follow from the project context - system domain, architecture and technologies, and SDLC - not from a generic checklist. Roadmap items whose competency demand cannot be inferred go into an UNMAPPED ROADMAP ITEMS list rather than being guessed. No roadmap or test-needs input, no gap report - a matrix alone yields an inventory, not gaps; halt with MISSING_DEMAND_INPUT.
7b - Rank the gaps. Order by: (1) roadmap proximity (a gap blocking next quarter outranks one blocking H2); (2) gap class (capability > bus-factor > coverage, because lead time to close differs); (3) blast radius of the roadmap items affected. Emit the ranking with the reasoning visible, not just the order.
7c - Recommend a closing move per gap, stating the heuristic with each recommendation:
7d - Emit the gap report (docs/capability-gap-report-<YYYY-MM-DD>.md): (1) inputs block naming the matrix file, its date, and the roadmap source; (2) ranked gap table (gap, class, roadmap items blocked, deadline, evidence row / column reference); (3) per-gap recommendation (move, rationale, first concrete step, owner suggestion); (4) UNMAPPED ROADMAP ITEMS; (5) a "not considered" section (individual performance, compensation, vendor selection).
Gap-analysis guardrails:
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Self-assessment-only matrix | Unanchored ratings drift toward the middle; the gap analysis inherits fiction | Step 3 evidence rule: nothing above level 1 without an artifact |
| Using the matrix in performance reviews | Members learn to inflate cells; the instrument dies as a planning tool | Keep capability (this skill) and performance feedback as separate artifacts |
| Gap analysis without a roadmap input | Supply without demand is an inventory, not a gap report | Step 7a halts on MISSING_DEMAND_INPUT |
| 20+ columns | Nobody maintains it; cells go stale within a quarter | 8 - 12 columns; fold detail into evidence footnotes |
| Matrix without required levels | Pure inventory; cannot say whether the team is in trouble | Step 5 requires a req. row per column |
| Copying another team's columns | Required skills come from this team's context analysis (CTAL-TM 3.1.2), not a template | Derive columns from the team's own strategy and stack in Step 2 |
| One-off exercise | Skills change; CTAL-TM 3.1 notes "the skills required by a test team member may change over time" | Re-assess on a fixed cadence (quarterly or per planning cycle) and keep the prior matrix for trend |
Limitations
Hand-off targets
References
Worked example - QA team skill matrix fragment
View source (opens in new window)Worked example - QA team skill matrix fragment
A 5-person checkout team with the professional-competence columns filled: the 0 - 3 levels, the evidence footnotes that lock any cell above level 1, and the team-need row that Step 5 turns into the gap analysis. req. is the level the team needs in at least N people, derived in Step 5. The footnote-per-cell convention is what makes the matrix auditable - anyone can challenge a 3 by reading its evidence.
# QA team skill matrix - checkout team - 2026-06
Scale: 0 none / 1 aware / 2 practitioner / 3 coach. Cells above 1 cite evidence (footnote).
| Member | Test design | Exploratory | Playwright automation | API testing | Perf (k6) | Domain: payments |
|---|---|---|---|---|---|---|
| Anna (lead) | 3 [^a1] | 2 [^a2] | 2 [^a3] | 2 [^a4] | 1 | 3 [^a5] |
| Boris | 2 [^b1] | 1 | 3 [^b2] | 2 [^b3] | 0 | 1 |
| Chen | 2 [^c1] | 3 [^c2] | 1 | 1 | 0 | 2 [^c3] |
| Dana | 1 | 1 | 2 [^d1] | 3 [^d2] | 2 [^d3] | 1 |
| Emil (new) | 1 | 2 [^e1] | 1 | 1 | 0 | 0 |
| **Team need (req. / have)** | 2 in 3+ / have 3 | 2 in 2+ / have 3 | 2 in 3+ / have 3 | 2 in 2+ / have 3 | 2 in 2+ / **have 1** | 2 in 2+ / have 2 |
[^a1]: Authored the 2026 checkout test strategy; ran the team's test-design workshop (2026-03).
[^b2]: Owns the Playwright harness; 14 of last 20 framework PRs; coached Dana through fixture refactor.
[^c2]: 31 charter-based sessions logged in 2026-Q1; found 2 of the quarter's 3 P1 escapes.
[^d3]: Built the k6 smoke profile for checkout; single person who has run a load test this year.Reading it: performance testing (k6) is the one actionable row - a bus-factor gap, with Dana alone at level 2 against a need of 2 people, and no capability gap anywhere else.
Related skills
exec-quality-narrative
Build-an-X workflow that turns already-computed quality data - weekly digests, KPI roll-ups, DORA delivery metrics, escape-defect trends, OKR grading - into an executive or QBR narrative structured by the Minto Pyramid Principle: governing answer first, MECE-grouped support beneath it, SCQA opening (Barbara Minto, The Pyramid Principle, ISBN 978-0273710516). Distinct from single-team digest computation (which computes the RAG digest from raw CI and tracker signals; this skill consumes such digests and writes the upward story), from portfolio-review aggregation (which aggregates teams into a portfolio review; this skill is the communication layer either output feeds), and from QA OKR authoring (forward-looking commitments; this skill narrates what happened and what it means). Use before a QBR, board update, or exec review when the data exists but the story does not.
qa-hiring-kit
End-to-end structured hiring for QA / SDET / automation / test-lead / quality-manager roles - one chain from job description through interview question bank, competency-anchored scoring rubric, interviewer calibration guide, and post-interview panel debrief, to the 30-60-90 day onboarding plan. Implements the canonical Levashina 2014 et al. structured-interview methodology with ISTQB-aligned competency vocabulary, so the JD a candidate reads, the rubric the panel scores, and the ramp plan the manager runs all describe the same role. Use when opening a QA requisition, authoring any artifact of the hiring loop (JD, questions, rubric, calibration guide, onboarding plan), or running the panel debrief to a defensible hire / no-hire decision.
quality-status-digest
Computes a recurring quality status digest from metrics that already exist: CI pass rate with an explicit denominator rule, escape-defect count, and a flake-debt score, assigns red / amber / green per area against stated thresholds, then rolls the same per-team rows into a portfolio view with a severity-by-blast-radius heatmap, STABLE / WATCH / INVEST tags, and a capacity flag. Keeps DORA delivery metrics separate from defect-leakage and flake measures instead of blending them under one label. Produces the status artifact only: it does not instrument anything, does not define SLOs or targets, and does not decide what gets fixed first. Use when a weekly quality review, sprint check-in, or quarterly portfolio review is due and the CI history, defect tracker, and quarantine list already hold the numbers but nobody has assembled them into one page.