CtrlK
BlogDocsLog inGet started
Tessl Logo

installer

Architecture, conventions and pitfalls of the Firefox Windows installers (stub, full, helper/uninstaller, MSI, MSIX) built with NSIS. Use when reading, writing, reviewing or debugging .nsi/.nsh files, anything under browser/installer/windows/ or toolkit/mozapps/installer/windows/nsis/, NSIS plugins in other-licenses/nsis/, or installer/uninstall telemetry.

71

Quality

86%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 well-engineered reference skill: architecture, conventions, and pitfalls are delivered as dense codebase-specific bullets, all detail is correctly pushed into six real, one-level-deep reference files, and every workflow that exists is explicitly sequenced. The main improvable areas are trimming the handful of lines that restate general NSIS knowledge and adding two-to-three-line NSIS code snippets for the critical conventions (register FILO save/restore, HKLM-to-HKCU fallback, the dual-context UAC pattern) to make guidance fully copy-paste ready.

Suggestions

Trim or compress the lines that restate general NSIS knowledge (e.g., 'Delete files with `Delete`, not `RMDir`', 'Keep lines reasonable in length', and the basic variable/define bullets in §3.1-3.2) to lift conciseness toward the top anchor.

Add short executable NSIS snippets for the highest-risk conventions — register save/restore in FILO order with `$R9` return, the HKLM-write-then-HKCU-fallback pattern, and the `/UAC:` dual-context `UAC::ExecCodeSegment` pattern — so the guidance is copy-paste ready.

Inline one or two explicit validation checkpoints (e.g., 'check `${If} ${Errors}` after every registry write; verify with a test build via references/build-and-test.md before finishing') in the registry/UAC sections to close the workflow-clarity gap.

DimensionReasoningScore

Conciseness

The body is dense, telegraphic bullet-list reference material where nearly every line carries codebase-specific facts (e.g., 'Convention: use `$R9` for macro return values', 'LogicLib does NOT work recursively', 'Uninstaller-only variants MUST use the `un.` prefix'), matching the 4 anchor 'efficient; minor instances of over-explanation'. It sits below the 5 anchor because a few items restate what Claude already knows — 'Delete files with `Delete`, not `RMDir`', 'Keep lines reasonable in length', and parts of the general NSIS language guide (§3.1 variables, §3.2 defines) — but it is far above the 3 anchor's 'some unnecessary explanation', as those instances are isolated lines, not padded sections.

4 / 5

Actionability

Guidance is concrete and executable in the large: exact file paths ('browser/installer/windows/nsis/stub.nsi'), real commands ('./mach repackage msi', './mach repackage msix --unsigned'), named macros with call syntax ('`${ElevateUAC}`/`${UnloadUAC}` in common.nsh', '`${SetShellVarContextToValue}`'), and a fully spelled-out dual-context pattern (detect `/UAC:` with `${GetOptions}`, call `UAC::ExecCodeSegment` on a `GetFunctionAddress`). It matches the 4 anchor 'mostly executable guidance with minor gaps' rather than 5 because it contains no copy-paste-ready NSIS code snippets illustrating the key conventions, and some conventions (e.g., 'Push registers before use ... in FILO order') lack a two-line example; it is clearly above 3, which expects pseudocode or missing key details.

4 / 5

Workflow Clarity

Where workflows exist they are explicitly sequenced: the stub execution flow is numbered 1-8 from `.onInit` through ping-and-exit, the profile-cleanup decision logic is a numbered 3-step procedure, and the body directs 'Read `references/build-and-test.md` before building or testing changes' so validation is delegated to a clearly signaled pre-step — matching the 4 anchor 'clear sequence with most checkpoints present'. It is not 5 because the main body itself contains no inline validation/verify checkpoints (e.g., after registry writes or before repackaging) and no explicit error-recovery loop; it is not 3 because the sequences are complete and the build/test verification path is explicitly routed.

4 / 5

Progressive Disclosure

The body is a true overview (architecture, file map, language/convention guide) with all deep material — telemetry, full UAC plugin reference, CLI/INI option surface, file map, build/test, stub GUI — split into six purpose-labeled references that all exist in ./references/ and are each exactly one level deep, introduced up front ('Read `references/build-and-test.md` before building or testing changes, `references/telemetry.md` before touching install/uninstall pings, ...'). This matches the 5 anchor 'clear overview with well-signaled one-level-deep references; content appropriately split'.

5 / 5

Total

17

/

20

Passed

Description

95%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 names a precise niche, enumerates all five installer variants, and provides an explicit 'Use when' clause with file extensions, directory paths, and task verbs. The only gap versus the top anchor is noun-phrase ('Architecture, conventions and pitfalls') framing rather than concrete action verbs.

DimensionReasoningScore

Specificity

The description enumerates concrete, specific deliverables — 'Architecture, conventions and pitfalls of the Firefox Windows installers (stub, full, helper/uninstaller, MSI, MSIX) built with NSIS' — with comprehensive coverage of all installer types, but it uses noun-phrase deliverables rather than the action verbs ('Extract', 'fill', 'merge') of the 5 anchor, so it falls at 'several specific actions; minor gaps'. It is well above the 3 anchor, which expects only 1-2 concrete actions.

4 / 5

Completeness

It explicitly answers both questions: what ('Architecture, conventions and pitfalls of the Firefox Windows installers ... built with NSIS') and when ('Use when reading, writing, reviewing or debugging .nsi/.nsh files, ... or installer/uninstall telemetry') with concrete trigger phrases — a direct match for the 5 anchor; the 4 anchor requires a 'when' that 'could be more explicit', which does not apply here.

5 / 5

Trigger Term Quality

Comprehensive natural-term coverage including file extensions and synonyms: '.nsi/.nsh files', 'NSIS', 'installer', 'stub, full, helper/uninstaller, MSI, MSIX', 'reading, writing, reviewing or debugging', plus concrete directory paths ('browser/installer/windows/', 'other-licenses/nsis/') and 'installer/uninstall telemetry'. This matches the 5 anchor's standard of 'natural terms including synonyms and file extensions'.

5 / 5

Distinctiveness Conflict Risk

The niche is unambiguous — Firefox's Windows NSIS installers, pinned to specific .nsi/.nsh file types and mozilla-central directory paths — so it is clearly distinguishable from any other skill with minimal conflict risk, matching the 5 anchor ('clear niche with distinct triggers').

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.

Repository
mozilla/firefox-aidev-plugins
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.