From mobiscroll
Mobiscroll Angular patterns — mbsc- directives, MbscModule, ng-template customization, @mobiscroll/angular imports. Invoked by mobiscroll-ui after framework detection. Do not auto-trigger — invoked by mobiscroll-ui only.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mobiscroll:mobiscroll-ui-angularThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> This skill is loaded by `mobiscroll-ui`. If you arrived here directly, invoke
This skill is loaded by
mobiscroll-ui. If you arrived here directly, invokemobiscroll-uifirst to run environment detection and the mandatory schema lookup.
Package: @mobiscroll/angular
CSS: Add to angular.json styles array — NEVER import in TypeScript or component files.
// angular.json
"styles": [
"node_modules/@mobiscroll/angular/dist/css/mobiscroll.min.css",
"src/styles.scss"
]
Module import: MbscModule registered in your Angular module or standalone component imports (not both).
// app.module.ts (NgModule app)
import { MbscModule } from '@mobiscroll/angular';
@NgModule({
imports: [MbscModule]
})
export class AppModule {}
// OR: standalone component
import { MbscModule } from '@mobiscroll/angular';
import { Component } from '@angular/core';
@Component({
imports: [MbscModule], // standalone — do NOT also add to @NgModule
template: `...`
})
export class CalendarComponent {}
<!-- component.html -->
<mbsc-eventcalendar
[data]="events"
[view]="myView"
(onEventCreate)="handleEventCreate($event)"
></mbsc-eventcalendar>
// component.ts
import { MbscEventcalendarView, MbscCalendarEvent } from '@mobiscroll/angular';
@Component({ ... })
export class CalendarComponent {
events: MbscCalendarEvent[] = [];
myView: MbscEventcalendarView = { scheduler: { type: 'week' } };
handleEventCreate(args: any) { /* handle */ }
}
mbsc-: mbsc-eventcalendar, mbsc-datepicker, mbsc-select, mbsc-popup.[prop] syntax: [data]="events", [view]="myView".(onEventName) syntax: (onEventCreate)="handler($event)".Mbsc: MbscEventcalendarView, MbscCalendarEvent.MbscModule goes in @Component({ imports: [MbscModule] }) for standalone, or @NgModule({ imports: [MbscModule] }) for NgModule apps — never both at once.| WRONG | RIGHT |
|---|---|
<Eventcalendar /> React JSX | <mbsc-eventcalendar> Angular template |
import { Eventcalendar } from '@mobiscroll/react' | import { MbscModule } from '@mobiscroll/angular' |
import '@mobiscroll/angular/dist/css/mobiscroll.min.css' in TS | Use angular.json styles array |
@import '~@mobiscroll/angular/...' in styles.scss | Use angular.json styles array |
Adding MbscModule to both @Component and @NgModule | Standalone: @Component({ imports: [MbscModule] }). NgModule: @NgModule({ imports: [MbscModule] }). Not both. |
mobiscroll.eventcalendar('#el', {...}) imperative init | <mbsc-eventcalendar [data]="events"> in template |
(click)="handler()" for Mobiscroll events | (onEventCreate)="handler($event)" Mobiscroll events |
Using @mobiscroll/javascript imports | @mobiscroll/angular only |
<mbsc-eventcalendar
(onEventClick)="onEventClick($event)"
></mbsc-eventcalendar>
onEventClick(args: any) {
console.log(args.event); // the clicked event object
}
<!-- v6: schedulerEventTemplate (v5: scheduleEventTemplate — deprecated in v6) -->
<mbsc-eventcalendar [schedulerEventTemplate]="customEvent">
<ng-template #customEvent let-data>
<div class="custom-event">{{ data.title }}</div>
</ng-template>
</mbsc-eventcalendar>
v5 note:
scheduleEventTemplate(withoutr) was the correct name in v5. In v6 it is deprecated — useschedulerEventTemplateinstead. The same rename applies to all*Contentvariants.
Always verify available template inputs via mcp__mobiscroll__getComponentSchema.
npx claudepluginhub acidb/mobiscroll-marketplace --plugin mobiscrollProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.