{"id":"aac05049-d0ec-41e6-995a-c380a39f8f0c","shortId":"g8H5sD","kind":"skill","title":"syncfusion-maui-smart-text-editor","tagline":"Implements and configure the Syncfusion .NET MAUI AI-Powered Smart Text Editor (SfSmartTextEditor). Use when working with SfSmartTextEditor, AI-powered text input, predictive text suggestions, inline or popup suggestions, or UserRole/UserPhrases configurations. Covers suggestion ","description":"# Implementing Syncfusion .NET MAUI Smart Text Editor\n\n`SfSmartTextEditor` is a multiline text input control that accelerates typing with AI-powered predictive suggestions. It integrates with Azure OpenAI, OpenAI, Ollama, or any custom AI service via `IChatInferenceService`, and falls back to your custom `UserPhrases` list when AI is unavailable. Suggestions appear inline or as a popup near the caret and can be accepted with Tab or Right Arrow.\n\n## When to Use This Skill\n\n- **Add a multiline text input** with AI-powered autocomplete to a .NET MAUI app\n- **Configure suggestion display** as inline (desktop) or popup (touch devices)\n- **Integrate Azure OpenAI**, OpenAI, Ollama, Claude, DeepSeek, Gemini, or Groq\n- **Implement a custom AI service** via `IChatInferenceService`\n- **Customize text style**, placeholder, suggestion colors, popup background, or character limits\n- **Respond to text change events** or MVVM commands\n- **Apply the liquid glass visual effect** to the editor\n\n## Component Overview\n\nThe **SfSmartTextEditor** control provides:\n- **AI-Powered Predictions**: Context-aware completions via Azure OpenAI, OpenAI, Ollama, or custom IChatInferenceService integration\n- **Flexible Suggestion Display**: Inline mode (desktop-first seamless flow) or Popup mode (touch-first overlay) with platform-specific defaults\n- **Offline Fallback**: Custom UserPhrases library for AI-free suggestions when network or API is unavailable\n- **Smart Context Engine**: UserRole property shapes suggestion tone and relevance based on typing scenario\n- **Multi-Input Acceptance**: Tab/Right Arrow keyboard shortcuts (desktop) and tap/click gestures (all platforms)\n- **Character Limit Validation**: MaxLength enforcement to prevent input beyond specified constraints\n- **Rich Customization**: TextStyle, placeholder colors, suggestion preview colors, and popup background styling\n- **MVVM Support**: Two-way Text binding, TextChanged event, and TextChangedCommand for reactive data flow\n- **Modern Effects**: Liquid Glass Effect support for translucent designs (iOS/macOS 26+, .NET 10)\n\n## Documentation and Navigation Guide\n\n### Getting Started\n📄 **Read:** [references/getting-started.md](references/getting-started.md)\n- NuGet package installation (`Syncfusion.Maui.SmartComponents`)\n- Handler registration with `ConfigureSyncfusionCore()` in `MauiProgram.cs`\n- AI service registration with `ConfigureSyncfusionAIServices()`\n- Adding `SfSmartTextEditor` in XAML and C#\n- Configuring `UserRole` and `UserPhrases` for context-aware suggestions\n- Offline fallback behavior when AI is unavailable\n\n### Suggestion Display Modes\n📄 **Read:** [references/suggestion-display-modes.md](references/suggestion-display-modes.md)\n- Inline mode — suggestion rendered in-place after the caret (desktop-first)\n- Popup mode — compact overlay near caret (touch-first, Android/iOS)\n- Platform defaults and when to override them\n- Accepting suggestions with Tab or Right Arrow keys\n- Platform limitations (Tab key not supported on Android/iOS)\n\n### Customization\n📄 **Read:** [references/customization.md](references/customization.md)\n- Setting and data-binding editor text via `Text` property\n- Font and color via `TextStyle` (`SmartTextEditorStyle`)\n- Placeholder text and `PlaceholderColor`\n- `SuggestionTextColor` — style the suggestion preview text\n- `SuggestionPopupBackground` — background color of popup suggestions\n- `MaxLength` — enforce a character limit\n\n### Events\n📄 **Read:** [references/events.md](references/events.md)\n- `TextChanged` event with `OldTextValue` and `NewTextValue`\n- XAML event subscription and C# handler pattern\n- `TextChangedCommand` for MVVM / data-binding scenarios\n- ViewModel command setup example\n\n### AI Service Configuration (Azure OpenAI / OpenAI / Ollama)\n📄 **Read:** [references/ai-service-configuration.md](references/ai-service-configuration.md)\n- Azure OpenAI — required NuGet packages, endpoint/key/model configuration\n- OpenAI — API key and model setup\n- Ollama — self-hosted local model configuration\n- Registering the chat client and `ConfigureSyncfusionAIServices()` in `MauiProgram.cs`\n- Choosing the right provider for your scenario\n\n### Custom AI Services (Claude / DeepSeek / Gemini / Groq)\n📄 **Read:** [references/custom-ai-services.md](references/custom-ai-services.md)\n- `IChatInferenceService` interface and when to use it\n- Claude AI — request/response models, service class, registration\n- DeepSeek — chat completions integration and registration\n- Gemini — Google AI Studio setup, safety settings, registration\n- Groq — low-latency OpenAI-compatible endpoint, registration\n- No need to call `ConfigureSyncfusionAIServices()` when using custom services\n- Troubleshooting when no suggestions appear\n\n### Liquid Glass Effect\n📄 **Read:** [references/liquid-glass-effect.md](references/liquid-glass-effect.md)\n- Prerequisites: .NET 10, macOS 26+ or iOS 26+\n- Wrapping `SfSmartTextEditor` in `SfGlassEffectView`\n- Enabling via `EnableLiquidGlassEffect=\"True\"`\n- Setting `Background=\"Transparent\"` for correct glass tinting\n- Full XAML and C# examples","tags":["syncfusion","maui","smart","text","editor","components","skills","agent-skills"],"capabilities":["skill","source-syncfusion","skill-syncfusion-maui-smart-text-editor","topic-agent-skills"],"categories":["maui-ui-components-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/syncfusion/maui-ui-components-skills/syncfusion-maui-smart-text-editor","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add syncfusion/maui-ui-components-skills","source_repo":"https://github.com/syncfusion/maui-ui-components-skills","install_from":"skills.sh"}},"qualityScore":"0.476","qualityRationale":"deterministic score 0.48 from registry signals: · indexed on github topic:agent-skills · 53 github stars · SKILL.md body (5,098 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:56:10.323Z","embedding":null,"createdAt":"2026-04-18T22:15:48.909Z","updatedAt":"2026-04-22T00:56:10.323Z","lastSeenAt":"2026-04-22T00:56:10.323Z","tsv":"'10':325,607 '26':323,609,612 'acceler':58 'accept':105,264,408 'ad':350 'add':116 'ai':15,27,62,76,89,123,154,193,238,345,369,493,539,556,570 'ai-fre':237 'ai-pow':14,26,61,122,192 'android/ios':400,423 'api':244,511 'app':130 'appear':93,598 'appli':177 'arrow':110,266,414 'autocomplet':125 'awar':198,363 'azur':69,142,201,496,503 'back':82 'background':165,296,455,622 'base':257 'behavior':367 'beyond':283 'bind':304,432,487 'c':355,479,631 'call':588 'caret':101,387,396 'chang':172 'charact':167,275,463 'chat':525,563 'choos':531 'class':560 'claud':146,541,555 'client':526 'color':163,290,293,440,456 'command':176,490 'compact':393 'compat':582 'complet':199,564 'compon':186 'configur':9,40,131,356,495,509,522 'configuresyncfusionaiservic':349,528,589 'configuresyncfusioncor':342 'constraint':285 'context':197,248,362 'context-awar':196,361 'control':56,190 'correct':625 'cover':41 'custom':75,85,153,158,206,233,287,424,538,592 'data':311,431,486 'data-bind':430,485 'deepseek':147,542,562 'default':230,402 'design':321 'desktop':136,215,269,389 'desktop-first':214,388 'devic':140 'display':133,211,373 'document':326 'editor':6,19,49,185,433 'effect':182,314,317,601 'enabl':617 'enableliquidglasseffect':619 'endpoint':583 'endpoint/key/model':508 'enforc':279,461 'engin':249 'event':173,306,465,470,476 'exampl':492,632 'fall':81 'fallback':232,366 'first':216,224,390,399 'flexibl':209 'flow':218,312 'font':438 'free':239 'full':628 'gemini':148,543,568 'gestur':272 'get':330 'glass':180,316,600,626 'googl':569 'groq':150,544,576 'guid':329 'handler':339,480 'host':519 'ichatinferenceservic':79,157,207,548 'implement':7,43,151 'in-plac':382 'inlin':34,94,135,212,378 'input':30,55,120,263,282 'instal':337 'integr':67,141,208,565 'interfac':549 'io':611 'ios/macos':322 'key':415,419,512 'keyboard':267 'latenc':579 'librari':235 'limit':168,276,417,464 'liquid':179,315,599 'list':87 'local':520 'low':578 'low-lat':577 'maco':608 'maui':3,13,46,129 'mauiprogram.cs':344,530 'maxlength':278,460 'mode':213,221,374,379,392 'model':514,521,558 'modern':313 'multi':262 'multi-input':261 'multilin':53,118 'mvvm':175,298,484 'navig':328 'near':99,395 'need':586 'net':12,45,128,324,606 'network':242 'newtextvalu':474 'nuget':335,506 'offlin':231,365 'oldtextvalu':472 'ollama':72,145,204,499,516 'openai':70,71,143,144,202,203,497,498,504,510,581 'openai-compat':580 'overlay':225,394 'overrid':406 'overview':187 'packag':336,507 'pattern':481 'place':384 'placehold':161,289,444 'placeholdercolor':447 'platform':228,274,401,416 'platform-specif':227 'popup':36,98,138,164,220,295,391,458 'power':16,28,63,124,194 'predict':31,64,195 'prerequisit':605 'prevent':281 'preview':292,452 'properti':251,437 'provid':191,534 'reactiv':310 'read':332,375,425,466,500,545,602 'references/ai-service-configuration.md':501,502 'references/custom-ai-services.md':546,547 'references/customization.md':426,427 'references/events.md':467,468 'references/getting-started.md':333,334 'references/liquid-glass-effect.md':603,604 'references/suggestion-display-modes.md':376,377 'regist':523 'registr':340,347,561,567,575,584 'relev':256 'render':381 'request/response':557 'requir':505 'respond':169 'rich':286 'right':109,413,533 'safeti':573 'scenario':260,488,537 'seamless':217 'self':518 'self-host':517 'servic':77,155,346,494,540,559,593 'set':428,574,621 'setup':491,515,572 'sfglasseffectview':616 'sfsmarttexteditor':20,25,50,189,351,614 'shape':252 'shortcut':268 'skill':115 'skill-syncfusion-maui-smart-text-editor' 'smart':4,17,47,247 'smarttexteditorstyl':443 'source-syncfusion' 'specif':229 'specifi':284 'start':331 'studio':571 'style':160,297,449 'subscript':477 'suggest':33,37,42,65,92,132,162,210,240,253,291,364,372,380,409,451,459,597 'suggestionpopupbackground':454 'suggestiontextcolor':448 'support':299,318,421 'syncfus':2,11,44 'syncfusion-maui-smart-text-editor':1 'syncfusion.maui.smartcomponents':338 'tab':107,411,418 'tab/right':265 'tap/click':271 'text':5,18,29,32,48,54,119,159,171,303,434,436,445,453 'textchang':305,469 'textchangedcommand':308,482 'textstyl':288,442 'tint':627 'tone':254 'topic-agent-skills' 'touch':139,223,398 'touch-first':222,397 'transluc':320 'transpar':623 'troubleshoot':594 'true':620 'two':301 'two-way':300 'type':59,259 'unavail':91,246,371 'use':21,113,553,591 'userphras':86,234,359 'userrol':250,357 'userrole/userphrases':39 'valid':277 'via':78,156,200,435,441,618 'viewmodel':489 'visual':181 'way':302 'work':23 'wrap':613 'xaml':353,475,629","prices":[{"id":"67686004-1e9f-477d-9f0c-44021f258819","listingId":"aac05049-d0ec-41e6-995a-c380a39f8f0c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"syncfusion","category":"maui-ui-components-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:15:48.909Z"}],"sources":[{"listingId":"aac05049-d0ec-41e6-995a-c380a39f8f0c","source":"github","sourceId":"syncfusion/maui-ui-components-skills/syncfusion-maui-smart-text-editor","sourceUrl":"https://github.com/syncfusion/maui-ui-components-skills/tree/master/skills/syncfusion-maui-smart-text-editor","isPrimary":false,"firstSeenAt":"2026-04-18T22:15:48.909Z","lastSeenAt":"2026-04-22T00:56:10.323Z"}],"details":{"listingId":"aac05049-d0ec-41e6-995a-c380a39f8f0c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"syncfusion","slug":"syncfusion-maui-smart-text-editor","github":{"repo":"syncfusion/maui-ui-components-skills","stars":53,"topics":["agent-skills"],"license":null,"html_url":"https://github.com/syncfusion/maui-ui-components-skills","pushed_at":"2026-04-08T07:27:37Z","description":"Skills for Syncfusion .NET MAUI components. Enable AI-assisted development with comprehensive documentation, code examples, and best practices for 100+ UI controls including DataGrid, Charts, Scheduler, and more.","skill_md_sha":"7af0ee272a38de9c630129e8df35c7b6affc062d","skill_md_path":"skills/syncfusion-maui-smart-text-editor/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/syncfusion/maui-ui-components-skills/tree/master/skills/syncfusion-maui-smart-text-editor"},"layout":"multi","source":"github","category":"maui-ui-components-skills","frontmatter":{"name":"syncfusion-maui-smart-text-editor","description":"Implements and configure the Syncfusion .NET MAUI AI-Powered Smart Text Editor (SfSmartTextEditor). Use when working with SfSmartTextEditor, AI-powered text input, predictive text suggestions, inline or popup suggestions, or UserRole/UserPhrases configurations. Covers suggestion display modes, custom AI services (Claude, DeepSeek, Gemini, Groq), Azure OpenAI integration, and customization options."},"skills_sh_url":"https://skills.sh/syncfusion/maui-ui-components-skills/syncfusion-maui-smart-text-editor"},"updatedAt":"2026-04-22T00:56:10.323Z"}}