A Skills.sh-compatible AI coding-agent skill for developers building TypeComposer applications and components.
npx skills add TypeComposer/skillOnce installed, any Skills.sh-compatible AI agent gains deep, accurate knowledge of TypeComposer's APIs so it can:
| Task | What the agent does |
|---|---|
| Scaffold new components | Generates TypeScript class-based components with correct onInit lifecycle and element imports — no JSX/HTML templates |
| Layout composition | Uses VBox, HBox, BorderPanel, GridPanel, FlowPanel, ScrollPanel, StackPanel, and other layout primitives correctly |
| Reactive state | Uses ref(), typed ref variants (RefString, RefNumber, RefBoolean, RefList, RefMap, RefSet, RefState), and Computed with proper subscription and cleanup patterns |
| Routing | Configures Router.create() with RoutePage[], RouterGuard, nested routes, dynamic params, and Router.go() navigation |
| Dependency injection | Applies @Service / @Inject decorators with InjectedType scope options |
| Composing with built-in elements | Uses ButtonElement, H1Element, ImageElement, SpanElement, and the full typed element catalogue from typecomposer |
| Anti-pattern avoidance | Prevents JSX mental-model leakage, unsafe innerHTML for user content, and ad-hoc DOM trees where TypeComposer primitives exist |
| App bootstrapping | Uses App.setPage() correctly, understands Router lifecycle integration |
npm create typecomposer@latest// main.tsimport{App,BorderPanel,VBox,H1Element,ButtonElement}from"typecomposer";exportclassMyPageextendsBorderPanel{privatecount=0;onInit(): void{constvbox=newVBox({justifyContent: "center",alignItems: "center"});vbox.append(newH1Element({text: "Hello TypeComposer"}));constbtn=newButtonElement({text: "Click me"});btn.onclick=()=>{this.count++;btn.text=`Clicked ${this.count}×`;};vbox.append(btn);this.center=vbox;}}App.setPage(newMyPage());README.md ← this file (human-facing)
SKILL.md ← agent-facing instructions (YAML frontmatter + rules)
references/
component-patterns.md ← class/lifecycle/element patterns
layout-patterns.md ← VBox, HBox, BorderPanel, Grid, Flow, Scroll …
reactivity-patterns.md ← ref(), typed refs, Computed, subscribe/listen
routing-patterns.md ← Router.create, RoutePage, RouterGuard, RouteView
dependency-injection.md ← @Service, @Inject, InjectedType
anti-patterns.md ← what NOT to do
examples.md ← full worked examples
- 🏠 Home: https://typecomposer.com/#/
- 📖 Docs: https://typecomposer.com/#/docs/home
- 🐙 Core repo: https://github.com/TypeComposer/typecomposer
- 🛠️ Create CLI:
npm create typecomposer@latest