sws2-authoring
Create, extend, port or structure SwiftlyS2 plugins using existing framework APIs, feature-based partial classes, C# conventions, configuration, shared…
Skill by btnrv
Chalk Labs
Need help deploying sws2-authoring?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/btnrv-sws2-authoring
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/sws2-authoring
What's inside
- Skill name
sws2-authoring- Description
- Create, extend, port or structure SwiftlyS2 plugins using existing framework APIs, feature-based partial classes, C# conventions, configuration, shared contracts and template packaging. Use for plugin implementation, architecture and dependency changes.
- License
- GPL-3.0
- Instructions
- 56 lines in SKILL.md · view on GitHub
Files (17)
- SKILL.md
- convars.md · references/architecture/
- csharp.md · references/architecture/
- dependency-injection.md · references/architecture/
- framework-reuse.md · references/architecture/
- game-values.md · references/architecture/
- integration.md · references/architecture/
- layout.md · references/architecture/
- commands-permissions.md · references/
- delivery.md · references/
- events-hooks.md · references/
- netmessages.md · references/
- player-state.md · references/
- porting.md · references/
- server-resources.md · references/
- steamworks.md · references/
- terminology.md · references/
SKILL.md (first lines)
# Author a SwiftlyS2 plugin Never reimplement functionality SwiftlyS2 already provides. Before writing custom helpers, use [sws2-api-mcp](../sws2-api-mcp/SKILL.md) to verify the services, extensions and domain types available in the target version. Write plugin code for gameplay rules and coordination. Add custom infrastructure only for a verified framework gap. Before creating a plugin or changing its architecture, read: - [Framework reuse](references/architecture/framework-reuse.md): discovery before implementation and direct use of existing capabilities. - [C# conventions](references/architecture/csharp.md): syntax, naming, typing and focused methods. - [Layout and packaging](references/architecture/layout.md): feature folders, partial classes and a complete command example. Use the [framework terminology](references/terminology.md) and distinguish controller, pawn, slot, SteamID and handle. Define the plugin's behavior and target runtime, then build one complete player-visible route before adding features. Include required validation and cleanup from the start. Avoid speculative exception handlers, retries, fallbacks and abstractions. Base additional hardening on demonstrated failures. ## Scaffold Install the .NET SDK required by the chosen template, then run: ```text dotnet new install SwiftlyS2.CS2.PluginTemplate dotnet new swplugin -n PluginName --PluginName "Plugin Name" --PluginVersion "1.0.0" --PluginAuthor "Author" --PluginDescription "Plugin purpose" ``` For repeatable scaffolding, pin the template with `SwiftlyS2.CS2.PluginTemplate@<version>`. Inspect the generated project and pin its SwiftlyS2 package to the deployment. Preserve resource copying, compile exclusions and the publish target. Keep feature code under `src/Features/<Feature>/<Subfeature>/` and create folders as needed. ## Implement The plugin entrypoint receives `ISwiftlyCore` and coordinates configuration, feature registration, `Load(bool hotReload)` and `Unload()`. Prefer focused partial-class files for gameplay, with each feature's state, handlers and cleanup together. Use separate types for models, records, integrations and components with their own ownership. Pass their dependencies through constructors. A feature does not need a service layer just because it has its own folder. Follow the framework's registration and cleanup contracts. Start resources when their dependencies are ready and stop plugin-owned work when its owner stops. When loading into an existing match, reconstruct any required state for connected players. Use existing API and schema types and their named members for game states, flags and identifiers. Read [game values and domain types](references/architecture/game-values.md) before using those values. Call an existing framework operation when it covers the behavior; do not recreate it from raw fields. | Task | Reference | | --- | --- | | Port an existing plugin | [Porting](references/porting.md) | | Commands, arguments, permissions, aliases or client interception | [Commands and permissions](references/commands-permissions.md) | | Core events, game events or typed gameplay hooks | [Events and hooks](references/events-hooks.md) | | Per-player state, authorization, reconnect or hot reload | [Player state](references/player-state.md) | | Typed network messages, recipients or message hooks | [Network messages](references/netmessages.md) | | Engine convars, replication or client queries | [Convars](references/architecture/convars.md) | | Configuration, database access or shared contracts | [Integration](references/architecture/integration.md) | | Separately owned components or options binding | [Dependency injection](references/architecture/dependency-injection.md) | | Steam callbacks, server metadata or Workshop queries | [Steamworks](references/steamworks.md) | Use [sws2-text-styling](../sws2-text-styling/SKILL.md) for feedback and [sws2-menus](../sws2-menus/SKILL.md) for selection flows. Read the entity, thread, assets, tracing or Panorama skill when the feature uses that subsystem. Use [native interop](../sws2-native-and-memory/SKILL.md) only for a verified managed-API gap. Investigate native batching only when the user explicitly requests it. ## Validate and deliver Write a test for the intended behavior, implement the change, then run the test and fix failures. For a bug fix, start with a test that reproduces the bug. Test managed logic with the repository's existing setup and reproduce engine behavior on the server. Add only the test scaffolding the change needs. Run `dotnet build -c Release` and `dotnet publish -c Release`, inspect the archive, and check behavior on the intended CS2 server. A successful build verifies type compatibility. Engine behavior requires a live-server check. Exercise the feature's complete route, relevant alive/dead/spectator states, and cleanup at the lifecycle boundaries it uses. Review custom helpers against the framework APIs and remove duplicated functionality. Check logs, then report which checks ran and which still need a running client or server. Read [server resources](references/server-resources.md) when changing launch options, command permissions, console filtering or core configuration. For performance investigations, use [sws2-performance-profiler](../sws2-performance-profiler/SKILL.md). Follow [CI and source control](references/delivery.md) for build artifacts and branches. Keep commit, push, tag and release actions within the user's authorization and the repository's workflow.
From btnrv/SwiftlyS2-Skills, GPL-3.0.
More from btnrv/SwiftlyS2-Skills
- 0.609score
sws2-menus
btnrv
Build SwiftlyS2 player menus with the component-based Core.Menu system (beta), including centre-HTML and chat menus, custom renderers, component renderers…
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
sws2-api-mcp
btnrv
Ground SwiftlyS2 plugin development in live documentation, C# API declarations and CS2 data.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
sws2-game-assets
btnrv
Compile, package, precache, and apply CS2 models, materials, textures, particles, sounds, and UI resources used by SwiftlyS2 plugins, and inspect them with…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-panorama-authoring
btnrv
Author and troubleshoot CS2 custom HUD layouts using Panorama XML and CSS, SwiftlyS2 HUD state APIs, and server-side button clicks.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-performance-profiler
btnrv
Diagnose SwiftlyS2 plugin performance with the built-in sw profiler, EventPipe captures, timing scopes, and measured comparison of CPU, allocation, and…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-text-styling
btnrv
Style localized SwiftlyS2 chat, prefixes and CenterHTML messages with the actual CS2 palette, supported markup and typography, and editable presentation…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-thread-management
btnrv
Keep SwiftlyS2 game operations on the game thread while coordinating asynchronous I/O, scheduled work, and timer lifetimes.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-traceray
btnrv
Implement SwiftlyS2 collision traces and aim queries using the appropriate player or observer origin, shape, masks, and result checks.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-entity-management
btnrv
Create, query, spawn, track, and remove CS2 entities with SwiftlyS2, including typed spawn values and entity inputs or outputs.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-native-and-memory
btnrv
Implement SwiftlyS2 native calls, hooks, signatures, custom offsets, and memory access when required CS2 operations need engine interop.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 14, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/btnrv/SwiftlyS2-Skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from btnrv
- 0.609score
sws2-menus
btnrv
Build SwiftlyS2 player menus with the component-based Core.Menu system (beta), including centre-HTML and chat menus, custom renderers, component renderers…
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
sws2-api-mcp
btnrv
Ground SwiftlyS2 plugin development in live documentation, C# API declarations and CS2 data.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
sws2-game-assets
btnrv
Compile, package, precache, and apply CS2 models, materials, textures, particles, sounds, and UI resources used by SwiftlyS2 plugins, and inspect them with…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-panorama-authoring
btnrv
Author and troubleshoot CS2 custom HUD layouts using Panorama XML and CSS, SwiftlyS2 HUD state APIs, and server-side button clicks.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-performance-profiler
btnrv
Diagnose SwiftlyS2 plugin performance with the built-in sw profiler, EventPipe captures, timing scopes, and measured comparison of CPU, allocation, and…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
sws2-text-styling
btnrv
Style localized SwiftlyS2 chat, prefixes and CenterHTML messages with the actual CS2 palette, supported markup and typography, and editable presentation…
SkillAFreshness: A★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get sws2-authoring running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
sws2-authoring skill. Agent Mart. https://agentmart.dev/skills/btnrv-sws2-authoring (last updated 2026-10-24)