.ai/skills/create-uploader-plugin/SKILL.md
Scaffold and implement a new XerahS uploader plugin under `src/desktop/plugins` with the correct project layout, provider/uploader classes, `plugin.json`, Avalonia config UI, solution registration, and build verification. Use when adding a new upload destination, storage backend, text uploader, or URL-sharing plugin to XerahS.
npx skillsauth add sharex/xerahs create-uploader-pluginInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to add a new desktop uploader plugin that matches the current XerahS plugin architecture.
For a concrete native-API example, see docs/proposals/xip/XIP0048-nextcloud-native-plugin-design.md.
Bitly.PluginDropbox.PluginAmazonS3.Plugin or Nextcloud.Pluginscripts/new-uploader-plugin.ps1.ISecretStore, not in settings JSON.target_view_path to src\desktop\plugins\<Name>.Plugin\Views\ConfigView.axaml.src/desktop/XerahS.sln.Run:
.ai\skills\create-uploader-plugin\scripts\new-uploader-plugin.ps1 `
-PluginName "MyService" `
-PluginId "myservice" `
-DisplayName "MyService Uploader" `
-AddToSolution
This creates:
src/desktop/plugins/MyService.Plugin/XerahS.MyService.Plugin.csprojplugin.jsonsrc/desktop/plugins/<Name>.Plugin/.net10.0.src/desktop/plugins/Directory.Build.props.ShareX.<Name>.Plugin namespaces and XerahS.<Name>.Plugin assembly/project names.ExcludeAssets=runtime.plugin.json to output.ISecretStore.IInstanceSecretMigrator.Use these rules when filling in the scaffold:
UploaderProviderBase unless there is a strong reason not to.Uploader or GenericUploader from CreateInstance.CreateConfigView() and CreateConfigViewModel() for non-trivial configuration.IUploaderExplorer only when the service supports remote listing/content actions.ValidateSettings reflect real minimum runtime requirements.plugin.json metadata aligned with ProviderId, class namespace, and assembly name.Run both:
dotnet build src\desktop\plugins\<Name>.Plugin\XerahS.<Name>.Plugin.csproj -m:1
dotnet build src\desktop\XerahS.sln -m:1
Use references/review-checklist.md before finishing.
testing
Reference for writing effective XerahS Improvement Proposals (XIPs), including structure, templates, review checks, and implementation patterns. Use sync-xips for creating, editing, and syncing XIP GitHub issues and local backups.
documentation
Rules and workflows for updating docs/CHANGELOG.md, including version grouping, consolidation, and commit-entry attribution.
testing
Create and maintain XerahS Improvement Proposals (XIPs) with GitHub as source of truth and docs/proposals/xip folder as backup. Use when creating or editing XIPs, syncing XIPs between GitHub issues and the docs/proposals/xip folder, or when the user mentions XIP, GitHub issues for XIP, or local XIP files.
documentation
Repository maintenance preparation for XerahS. Use before release or changelog work to sync repositories, inspect submodule state, identify version/changelog needs, and hand off commit/push/version rules to git-workflow.