marketplace/bundles/pm-dev-frontend/skills/javascript/SKILL.md
Core JavaScript development standards covering ES modules, modern patterns, web component patterns (Lit), DOM trust boundaries / XSS prevention, code quality, async programming, JSDoc documentation, and tooling
npx skillsauth add cuioss/plan-marshall javascriptInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Core JavaScript development standards covering modern JavaScript features (ES2022+), code quality practices, async programming patterns, and JSDoc documentation.
python3 .plan/execute-script.py pm-dev-frontend:javascript:jsdoc {subcommand} {args})Load this standard for any JavaScript implementation work.
Read: standards/javascript-fundamentals.md
Covers ES modules, variables, functions, and vanilla JS preference.
Code Quality (load for refactoring or reviews):
Read: standards/code-quality.md
Use when: Reviewing code complexity, applying refactoring patterns, or enforcing quality limits.
Modern Patterns (load for new code):
Read: standards/modern-patterns.md
Use when: Writing new code using destructuring, template literals, spread/rest, array methods, or class patterns.
Security (DOM trust boundaries / XSS prevention):
The JavaScript security surface — DOM trust boundaries, XSS sinks, sanitization, and Trusted Types — is owned by Skill: pm-dev-frontend:javascript-security. Load that skill for any security-sensitive review or hardening task; it resolves through the security profile and references the DOM-trust/XSS content under this skill's standards/modern-patterns.md.
Async Programming (load for async code):
Read: standards/async-programming.md
Use when: Working with Promises, async/await, error handling, or concurrency patterns.
JSDoc Essentials (load for documentation work):
Read: standards/jsdoc-essentials.md
Use when: Documenting JavaScript code, setting up JSDoc and ESLint integration, or reviewing documentation quality. Covers required tags, type annotations, writing style, and build integration.
JSDoc Patterns (load for documentation patterns):
Read: standards/jsdoc-patterns.md
Use when: Documenting functions, classes, modules, types, or web components (Lit). Provides patterns with examples for each code element type.
Use when: Identifying missing or incomplete JSDoc documentation across files or directories.
# Analyze entire directory
python3 .plan/execute-script.py pm-dev-frontend:javascript:jsdoc analyze --directory src/
# Analyze single file
python3 .plan/execute-script.py pm-dev-frontend:javascript:jsdoc analyze --file src/utils/formatter.js
# Analyze only for missing JSDoc (skip syntax checks)
python3 .plan/execute-script.py pm-dev-frontend:javascript:jsdoc analyze --directory src/ --scope missing
# Analyze only JSDoc syntax issues
python3 .plan/execute-script.py pm-dev-frontend:javascript:jsdoc analyze --directory src/ --scope syntax
Review violations categorized by severity:
Fix CRITICAL violations first (exported functions/classes), then WARNING, then SUGGESTION (optional).
missing_jsdoc - Function/class entirely missing JSDocmissing_class_doc - Class without documentationmissing_constructor_doc - Constructor with parameters undocumentedmissing_param - @param tag missing for parametermissing_param_type - Type annotation missing in @parammissing_returns - @returns tag missing for return valuemissing_fileoverview - No @fileoverview at file levelall - Check for missing JSDoc and syntax issues (default)missing - Only check for missing JSDoc documentationsyntax - Only check JSDoc syntax and completenessThe canonical argparse surface for jsdoc.py. The plugin-doctor analyzer (_analyze_manage_invocation.py) reads this section as source-of-truth for the manage-invocation-invalid and missing-canonical-block rules. Consuming docs xref this section by name instead of restating the command inline. See pm-plugin-development:plugin-script-architecture cross-skill-integration.md § "Script invocation in documentation".
python3 .plan/execute-script.py pm-dev-frontend:javascript:jsdoc analyze \
(--directory DIRECTORY | --file FILE) [--scope {all,missing,syntax}]
--directory and --file are mutually exclusive; exactly one must be supplied.
plan-marshall:ref-code-quality - Language-agnostic code quality and documentation principlespm-dev-frontend:css - CSS standardspm-dev-frontend:lint-config - ESLint, Prettier, Stylelint configurationfrontend-design skill - Visual-aesthetic guidance (distinctive, production-grade UI; avoiding generic "AI slop" design). Complementary to this skill: javascript governs code standards, frontend-design governs visual aesthetics. Pointer only — no content duplicated here.development
Domain-owned OpenRewrite log-line finding parser for the java-cui domain — parses the
development
Domain-owned OpenRewrite marker detection for the java-cui domain — scans Java/Kotlin sources for cui-rewrite TODO markers, categorizes them by recipe, and fails the gate on any detected marker
development
Operator control surface for the marshalld build server — enrol/drop a project in the machine-global registry (the opt-in enable signal and anti-laundering wall), manage the daemon lifecycle (start, stop, drain, status, install, upgrade) version-pinned to the verified bundle copy, and inspect the daemon's per-project interaction-audit log (read-only)
tools
The tiny build-consumption client for the marshalld build server — submit a build job, bounded long-poll for its result, ping the daemon identity, and preflight registry-plus-liveness in one call; consumption only, never provisioning or enrolment