CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/mfa-flow-test-author

Build-an-X workflow for authoring automated tests covering multi-factor authentication flows: TOTP (RFC 6238, deterministic codes from a known secret + fixed time), HOTP (RFC 4226, counter-based), SMS/email OTP, WebAuthn/passkey registration and authentication via Chrome DevTools Protocol virtual authenticator (WebAuthn L2 §11), recovery codes, MFA enrollment, and step-up authentication challenges. Use when the team needs end-to-end MFA test coverage beyond what oauth-flow-test-author covers, or when introducing a new second factor to an existing auth surface.

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality, highly actionable skill body: copy-paste-ready deterministic test patterns for all six MFA mechanisms, a clear step sequence with an end-to-end checklist and anti-pattern recovery guidance, and proper use of a one-level-deep reference for WebAuthn deep patterns. Minor weaknesses are trimmable known-concept recaps (RFC formulas, HOTP counter mechanics), a duplicated URL listing in References, and inlining of code that could partly live in bundle files.

Suggestions

Trim known-concept recaps (the RFC 6238 formula and 'HOTP(K, C) is counter-based...' explanation) down to the spec-section pointers plus the test-relevant determinism facts, and remove the duplicated URL list — the bulleted References section and the markdown link definitions repeat the same seven URLs.

Offload the code for lower-frequency flows (e.g., recovery codes, enrollment, step-up in Steps 5-7) into references/ files like the WebAuthn deep-patterns file, keeping the SKILL.md body as a lean per-flow overview with inline code only for the most common patterns.

DimensionReasoningScore

Conciseness

The body is mostly lean and actionable, but there are trimmable instances: it recaps the RFC 6238 formula ('TOTP = HOTP(K, T) where T = floor((t - T0) / X), T0 = Unix epoch 0 and X = time step'), explains 'HOTP(K, C) is counter-based: K is the shared secret, C the counter', and the References section lists all seven URLs twice (bulleted list plus duplicate link definitions, lines 376-403). This fits anchor 4 (minor over-explanation that could be trimmed) rather than 5 (every token earns its place).

4 / 5

Actionability

Fully executable, copy-paste-ready pytest code covers every mechanism: deterministic TOTP via 'totp.at(for_time=fixed_time)' with clock injection ('X-Test-Time' header), HOTP replay and resync tests, SMS stub pattern ('sms_stub.last_otp()'), the complete CDP 'WebAuthn.addVirtualAuthenticator' options dict, enrollment confirmation, and step-up elevated-token flow. Concrete fixtures and exact CDP method calls leave no gaps for the common cases.

5 / 5

Workflow Clarity

Steps 1-8 are clearly sequenced per mechanism, Step 8 provides an explicit end-to-end coverage checklist, the anti-patterns table maps each failure to a fix, and the clock-injection requirement includes an error-recovery fallback ('If the server cannot accept clock injection, freeze the system clock for the test process instead'). This matches anchor 5 (clear sequence, explicit validation, feedback loops, checklist) rather than 4.

5 / 5

Progressive Disclosure

Good structure: the deep WebAuthn patterns are properly split into a clearly signaled, one-level-deep reference (references/webauthn-virtual-authenticator.md, verified to exist, no nested references) linked inline in Step 4. However, the ~400-line body inlines full code for all seven flow patterns, some of which (e.g., Steps 5-7) could be offloaded to keep the top-level overview lean — a minor organization gap consistent with anchor 4 rather than the fully split structure of anchor 5.

4 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it comprehensively enumerates the six second-factor mechanisms with concrete technical specifics, uses third person, and provides an explicit, concrete 'Use when' clause. The only weakness is the absence of the common '2FA'/'two-factor' synonyms in the trigger vocabulary.

DimensionReasoningScore

Specificity

The description enumerates concrete, specific actions across the full domain: 'TOTP (RFC 6238, deterministic codes from a known secret + fixed time), HOTP (RFC 4226, counter-based), SMS/email OTP, WebAuthn/passkey registration and authentication via Chrome DevTools Protocol virtual authenticator, recovery codes, MFA enrollment, and step-up authentication challenges' — comprehensive with no coverage gaps. It uses third person ('Build-an-X workflow for authoring'), so no voice penalty applies.

5 / 5

Completeness

Both questions answered explicitly: what ('Build-an-X workflow for authoring automated tests covering multi-factor authentication flows: ...') and when ('Use when the team needs end-to-end MFA test coverage beyond what oauth-flow-test-author covers, or when introducing a new second factor to an existing auth surface') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good natural-term coverage: 'MFA', 'multi-factor authentication', 'TOTP', 'HOTP', 'OTP', 'WebAuthn', 'passkey', 'recovery codes', 'step-up', 'second factor'. It misses the very common colloquial synonyms '2FA' and 'two-factor', keeping it at anchor 4 rather than 5; it is well above anchor 3 since multiple synonyms and variations are present.

4 / 5

Distinctiveness Conflict Risk

A clear niche (second-factor test authoring) with explicit boundary delineation from the companion skill ('beyond what oauth-flow-test-author covers'), minimizing wrong-skill trigger risk. First-factor and session layers are explicitly delegated to other skills.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents