Aurelia largespa
Skill Expert-Vision-Software/aurelia-expert/skills/aurelia-largespa
Aurelia v2 MVVM SPA expertise skill package — 5 router-routed skills (foundation, runtime, largespa, migration) for AI coding agents.
npx -y skills add Expert-Vision-Software/aurelia-expert --skill aurelia-largespaAssembled 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
Use when structuring a large Aurelia v2 SPA — slices the app into feature-first pages/, features/, shared/. Use when organizing folders for an enterprise Aurelia 2 app, choosing between technical-layer vs feature-first layout, configuring hierarchical Agents.md, applying thin-page orchestrators, picking service-as-store, deciding the model/DTO boundary, or referencing au-northwind structurally. Leading word — slice.
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
4.8 KB, as published. Nobody here has run it
Aurelia Large-SPA Structure
Use this slice to organize the SPA by business capability while preserving explicit navigation and shared-infrastructure boundaries.
Reference router
| When the task is about | Read this context |
|---|---|
Replacing /views, /models, or /services; defining vertical boundaries | reference/feature-first.md |
Choosing pages/, features/, or shared/; naming files; lazy route boundaries | reference/directory-layout.md |
Implementing a feature index.ts, child DI container, or local dependencies | reference/feature-module.md |
Creating root or directory-level Agents.md instructions | reference/hierarchical-agents-md.md |
| Keeping pages thin; bindables down, events up; service-as-store | reference/orchestrator.md |
| Separating DTOs from Models; nested conversion; request deduplication | reference/model-dto.md |
| Consulting au-northwind (STRUCTURAL ONLY) as historical precedent | reference/au-northwind-pointer.md |
Read only the files selected by the task. Read every selected file completely before editing the app.
Workflow
- Read the repository's root and nearest directory-level
Agents.md; local rules narrow the global rules. - Classify each affected file as navigation (
pages/), business capability (features/), or globally registered infrastructure (shared/). - Mirror navigation in physical directories and keep one slice per feature.
- Load the matching references above, then implement the smallest structural change.
- Validate every affected file against the guardrails below. If one fails, fix it and repeat the check.
Completion means every changed file has one clear owner, pages contain no business logic, feature services and Models stay encapsulated, and shared resources are registered at startup.
Project precedence
The active project's local Aurelia instructions file (AGENTS.md, CLAUDE.md, or repo-level conventions) overrides this skill. Apply these rules everywhere this skill is used unless a repository rule is stricter:
- Use the canonical
src/features/<slice>/{components,services,models}layout withindex.ts; keep thin navigation targets insrc/pages/and cross-cutting resources insrc/shared/. - Prefer singleton DI services over
IEventAggregator; injectI-prefixed interfaces withresolve(), never concrete service classes. - Convert API DTOs through
Model.fromDTO()andModel.toDTO(); components receive Models, never DTOs. - Use kebab-case custom elements and filenames,
.triggerfor custom events, andimport type/export typefor type-only symbols. - Register every resource placed in
shared/globally during application startup.
Structural guardrails
- Technical-layer top-level folders such as
views/,models/, andservices/are forbidden. Aservices/ormodels/folder is valid only inside a business feature or the prescribedshared/infrastructure boundary. - Pages answer where; features answer what. Pages orchestrate declaratively and do not own domain behavior.
- Feature resources are local by default. Declare local custom elements and value converters in
@customElement({ dependencies: [...] }). - Lazy-load each navigation boundary with dynamic
import()in the route'scomponent:field. - Treat au-northwind (STRUCTURAL ONLY) as historical architecture, never as an Aurelia v2 API source.
Use the slice layout rather than inventing an alternative while slicing an app.
Defers to sibling skills
- Aurelia v2 component, binding, lifecycle, and DI API authoring beyond these structural patterns →
aurelia-authoring. - Aurelia v1-to-v2 API translation and removed API troubleshooting →
aurelia-migration. - Vite, Babel decorators, builds, and package configuration →
aurelia-tooling. - Unit, component, and end-to-end test architecture →
aurelia-ecosystem(see itsreference/testing.md).