Kaiber
Generate, edit, and beat-sync AI video with leading models in one workspace.
create-sp-feature
Create and implement a new Unity feature from a user-provided feature description in its own folder using Clean Code and MVP Passive View. Use when the user asks for create-sp-feature/create_sp_feature/new feature scaffolding or implementation with strict structure (`Services`, `Providers`, `Pres...
Full skill instructions
Implement a feature from description, keep it isolated, and leave integration for later.
IServicePreloader and Warmup().Require a short feature brief before coding:
If this is not provided, ask for it in one concise question.
This skill depends on reactive and async packages:
R3; fallback to UniRx when the project already uses itUniTaskBefore implementation, verify these packages/usages exist in the project. If any required package is missing:
Do not silently switch to alternatives while package installation is still acceptable.
Create the feature in its own folder and keep this structure:
<FeatureRoot>/
Services/
Providers/
Presenters/
View/
Factories/
SO/
Use SO/ for ScriptableObject configs only.
Apply these rules to every implementation:
When per-frame behavior is required, use R3 semantics:
Observable.EveryUpdate()Update() in presenter/service logicIf R3 is not available but UniRx is installed, use the equivalent UniRx every-frame observable.
If neither is available, follow the Dependency Rule and ask to install before using alternatives.
Create a feature initializer/preloader class that implements:
IServicePreloader
UniTask Warmup()
Use the project signature from Assets/Scripts/Meta/Interfaces/IServicePreloader.cs (Warmup, not WarmUp).
Use this instead of IStartable.
If UniTask is unavailable, follow the Dependency Rule and propose installation first.
Warmup() calls should be orchestrated by a composition-level initializer (for example: GameInitializer) that owns startup order across services.
The feature may provide its own IServicePreloader, but startup sequencing should stay centralized in one initializer flow.
Use this minimal pattern:
public async UniTask StartAsync(CancellationToken ct = default)
{
await _saveService.Warmup();
await _coreService.Warmup();
await _featureService.Warmup();
await _uiService.Warmup();
}
Keep only the core ordered warmup idea in generated examples; avoid dumping large bootstrap implementations unless explicitly requested.
Do not connect the new feature immediately:
Return a short "how to integrate later" note only.
Do not use this skill in these cases:
Before finishing, verify:
Observable.EveryUpdate() if needed.IServicePreloader + Warmup().Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience