agentsclimarketplace

Aurelia ecosystem

Skill Expert-Vision-Software/aurelia-expert/skills/aurelia-ecosystem

Aurelia v2 MVVM SPA expertise skill package — 5 router-routed skills (foundation, runtime, largespa, migration) for AI coding agents.

Install
npx -y skills add Expert-Vision-Software/aurelia-expert --skill aurelia-ecosystem

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 23 days oldThe repository was created 23 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Wire first-party Aurelia v2 plugins and ecosystem concerns into an app — picks the right reference for HTTP/fetch-client, validation, dialog, state, i18n, forms, testing, and SSR/prerendering. Use when adding @aurelia/fetch-client, @aurelia/validation, @aurelia/dialog, @aurelia/state, or @aurelia/i18n; writing Vitest + @aurelia/testing component tests; binding forms with model.bind/matcher.bind; or configuring server-side rendering, prerendering, hydration, sitemap/robots, and client takeover. Leading word — wire.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.9 KB, as published. Nobody here has run it

Aurelia Ecosystem — First-Party Plugins, SSR, Testing, Forms

Wire the runtime ecosystem into an app: the first-party plugins (@aurelia/fetch-client, @aurelia/validation, @aurelia/dialog, @aurelia/state, @aurelia/i18n), forms, component testing, and server-side rendering. Each concern has a focused reference — read the relevant one before writing code against that package, and only register a package when the app actually needs it.

Version & ground truth

  • Aurelia 2.x only. v1 patterns are gone; every prohibition defers to aurelia-migration/reference/v1-removals.md, the single source of truth for severity (REMOVED / DEPRECATED / error code).
  • https://docs.aurelia.io is authoritative. DeepWiki deep-links follow the form aurelia/aurelia/blob/master/packages/<pkg>/docs/<file>.md.

Pick a reference

Match the request to exactly one branch. Every branch lives in reference/ and links back here.

Request shapeReference
"SSR", "prerender", "hydrate", "SEO render", "sitemap/robots", "client takeover"reference/ssr.md
"HTTP client", "fetch-client", IHttpClient, interceptors, retry, cancellationreference/fetch-client.md
"validation", IValidationController, & validate, fluent rulesreference/validation.md
"dialog", "modal", IDialogService.open(), IDialogControllerreference/dialog.md
"state store", @aurelia/state, .state/.dispatch, @fromState, Redux-stylereference/state.md
"i18n", "translate", "locale", @aurelia/i18n, t attribute, nf/df/rtreference/i18n.md
"form", "checkbox", "radio", "select", model.bind, matcher.bind, submit.triggerreference/forms.md
"test", "Vitest", createFixture, @aurelia/testing, mocks, router tests, Storybookreference/testing.md

If the request spans two references (e.g. "a validated form"), start with forms.md and follow its outbound link to validation.md.

Hard guardrails (apply to every branch)

These extend the package-wide guardrails (.trigger, kebab-case, import type, .style, singleton DI over Event Aggregator, Models not DTOs) with ecosystem-specific rules:

  • resolve() for DI. Inject plugin services (IHttpClient, IDialogService, IStore, I18N, IValidationController) as class-field initializers. @inject is DEPRECATED — still valid, but resolve() is the package default. See v1-removals.md.
  • Scoped controllers via newInstanceForScope. A form's IValidationController must be created with resolve(newInstanceForScope(IValidationController)) so & validate bindings find it.
  • Dispose IEventAggregator subscriptions in dispose, not unbinding. dispose is the mandatory permanent-teardown hook; unbinding runs before potential reactivation. The i18n locale-change subscription and any EA listener follow this rule.
  • Register the -html / Standard configuration. Validation: register ValidationHtmlConfiguration (pulls in the core). Dialog: prefer DialogConfigurationStandard (native <dialog>, modal by default).
  • submit.trigger does NOT preventDefault. Use submit.trigger:prevent="..." or the form reloads the page. See forms.md.
  • .style property binding when a value can be falsy. Inline style="width: ${value}%" is safe only for guaranteed non-falsy values; the prod optimizer drops falsy placeholders. Prefer width.style="expr". Narrow rule — see aurelia-migration/reference/debugging.md.
  • Peer dependencies are real. @aurelia/i18n needs i18next installed; aurelia2-ssr needs jsdom. The aurelia meta-package already bundles @aurelia/fetch-client.

SSR is a first-class branch

SSR/prerendering is the largest single gap this pillar closes. Before editing any SSR code — renderAureliaToString, takeover, hydration, sitemap — read reference/ssr.md. Default to prerender + mode: 'remount' takeover unless a core-compatible SSR manifest and AOT-ready definitions are present (true hydrate requires matching marker comments, an ISSRScope tree, and compatible definitions).

Defers to sibling skills

  • Authoring a custom element / lifecycle / DI token from scratch → aurelia-foundation and aurelia-runtime.
  • Structuring a large app that consumes these plugins (feature slices, shared registration) → aurelia-largespa.
  • v1 → v2 API translation and removed-API troubleshooting → aurelia-migration.
  • Packaging any of these plugins (or a library built on them) for npm → aurelia-plugin.

Lead with wire

Use the verb wire to anchor each ecosystem action: wire the HTTP client, wire validation, wire the dialog service, wire the store, wire i18n, wire SSR, wire the test harness. The shared vocabulary keeps the agent inside Aurelia's first-party surface, not a generic fetch/Zod stack.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.