mcc-chatbot-authoring
Create, modify, repair, and wire Minecraft Console Client ChatBots and standalone `/script` bots. Use this whenever the user wants an MCC bot, C# script bot, chat or event handlers, periodic automation, movement logic, inventory logic, plugin-channel handling, or asks to fix or port an existing bot; default to standalone `//MCCScript` bots unless the user explicitly asks for a built-in MCC bot or repo wiring.
Best use case
mcc-chatbot-authoring is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Create, modify, repair, and wire Minecraft Console Client ChatBots and standalone `/script` bots. Use this whenever the user wants an MCC bot, C# script bot, chat or event handlers, periodic automation, movement logic, inventory logic, plugin-channel handling, or asks to fix or port an existing bot; default to standalone `//MCCScript` bots unless the user explicitly asks for a built-in MCC bot or repo wiring.
Teams using mcc-chatbot-authoring should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/mcc-chatbot-authoring/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How mcc-chatbot-authoring Compares
| Feature / Agent | mcc-chatbot-authoring | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Create, modify, repair, and wire Minecraft Console Client ChatBots and standalone `/script` bots. Use this whenever the user wants an MCC bot, C# script bot, chat or event handlers, periodic automation, movement logic, inventory logic, plugin-channel handling, or asks to fix or port an existing bot; default to standalone `//MCCScript` bots unless the user explicitly asks for a built-in MCC bot or repo wiring.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agent for YouTube Script Writing
Find AI agent skills for YouTube script writing, video research, content outlining, and repeatable channel production workflows.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
SKILL.md Source
# MCC ChatBot Authoring Implement MCC chat bots against the bundled MCC authoring reference. Do not invent methods, lifecycle hooks, or registration steps. Always read: - `references/authoring-reference.md` Load only as needed: - `references/pattern-cookbook.md` for concrete standalone examples - `assets/script-chatbot-template.cs` for the default standalone `/script` path - `assets/builtin-chatbot-template.cs` only when the user explicitly requests a built-in bot If the current workspace contains an MCC checkout, verify final names and signatures against local sources before editing. The skill should still work without those files. If there is no MCC checkout available, rely on the bundled reference and cookbook as the full source of truth for authoring patterns. ## Choose the bot type first 1. Default to a standalone script bot loaded with `/script`. 2. Only choose a built-in bot when the user explicitly asks for a compiled MCC bot, repo wiring, automatic config loading, or changes under the built-in bot system. 3. If the prompt is ambiguous, infer the likely target from commands, requested output files, or phrasing, state the assumption briefly, and proceed. 4. If a user says only "make a bot", do not create a built-in bot. ## Source priority When the local MCC checkout is available, prefer these sources in this order: 1. `MinecraftClient/Scripting/ChatBot.cs` and current files under `MinecraftClient/ChatBots/` 2. the bundled `references/authoring-reference.md` 3. the bundled `references/pattern-cookbook.md` 4. older `MinecraftClient/config/` sample bots only for ideas, not as the default scaffold If an older sample conflicts with the current built-in bots, follow the current built-in bots. If the local checkout is not available, do not block on missing repo files. Use the bundled references directly. ## Hard rules - Only use lifecycle hooks and helpers documented in the bundled reference or verified in the target codebase. - Do not send chat from `Initialize()`. Use `AfterGameJoined()` once the session can send messages. - Prefer the current Brigadier command-registration pattern for built-in bots. Do not introduce `ChatBotCommand` unless the surrounding code already uses it. - For message parsing, normalize with `GetVerbatim(text)` before `IsChatMessage(...)` or `IsPrivateMessage(...)`. - Clean up everything you register or start: commands, plugin channels, threads, timers, and movement locks. - If a built-in bot or long-running automation controls movement, follow a movement-lock pattern and release it on every stop path. Do not add `BotMovementLock` to a simple standalone `/script` bot unless the prompt or surrounding code explicitly needs shared movement coordination. - For built-in bots, follow the host codebase's localization and config-comment conventions instead of scattering hardcoded user-facing text. - For new code, prefer `Initialize()` over constructors for prerequisite checks and unload decisions. - In this repo, built-in bot wiring usually means edits in `MinecraftClient/Settings.cs` and `MinecraftClient/McClient.cs` in addition to the bot class. - For repair tasks, preserve the existing bot type and file layout unless the user explicitly asks for a conversion or restructure. ## Standalone script bots Use the exact MCC metadata format from the bundled reference. This is the default path for new work. The script should usually: - keep `Initialize()` for cheap setup only - use `GetText(...)`, `AfterGameJoined()`, and other event hooks for live behavior - log with `LogToConsole(...)` - send server chat or commands with `SendText(...)` - use `PerformInternalCommand(...)` only for MCC internal commands - add `//using MinecraftClient.Inventory` in metadata when the script uses inventory types explicitly - reuse the standalone snippets in `references/pattern-cookbook.md` before inventing new scaffolding - keep load instructions explicit, usually `/script FileName.cs` ## Built-in bots Built-in bots usually need three pieces: - the bot class itself - config wiring in the chat-bot config model - bot registration in the load flow If the codebase exposes commands, follow the built-in command and unload pattern from the bundled reference. If it exposes new settings or status text, follow the codebase's localization and config-comment patterns. When working in this checkout, built-in bot delivery usually needs: - a new file under `MinecraftClient/ChatBots/` - a config property inside `Settings.ChatBotConfigHealper.ChatBotConfig` - a `BotLoad(new YourBot())` line inside `McClient.RegisterBots(...)` - literal code snippets or patch hunks for the `Settings.cs` property and the `McClient.cs` registration line, not only prose notes ## Repair flow When the user asks to fix or debug a bot: - identify whether it is standalone or built-in and keep that shape unless told otherwise - remove the broken pattern first, then preserve the intended behavior - check especially for these regressions: `SendText(...)` in `Initialize()`, raw formatted chat parsing, inventory snapshot mutation, missing command unregister, missing plugin-channel unregister, and unreleased movement locks - reuse the local repo's modern pattern instead of patching around a legacy helper when the helper is no longer current ## Delivery checklist Before finishing, verify: - the class inherits `ChatBot` - the chosen overrides exist in the MCC ChatBot API - standalone script metadata is exact if this is a `/script` bot - built-in bots are fully wired into config and registration if needed - all command registrations, background work, and movement locks are released - files and namespaces match the surrounding codebase ## Output When you implement or modify a bot: - state whether it is a standalone script bot or built-in bot - list the files you changed - mention any required config keys or the MCC command used to load it - when built-in wiring is involved, show the exact inserted code lines or patch hunks for `Settings.cs` and `McClient.cs` - call out assumptions briefly if the user did not specify bot type or trigger behavior
Related Skills
writing-skills
Use when creating, updating, or improving agent skills.
skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
mcc-version-adaptation
Adapt MCC palettes and protocol handling for a new Minecraft version. Use when the user wants to add support for a new MC version, compare version registries, update item/entity/block/metadata palettes, or fix protocol mismatches between MC versions.
mcc-prompt-engineer
Manually triggered skill for the Minecraft Console Client (MCC) project (https://github.com/MCCTeam/Minecraft-Console-Client). Invoke this skill when the user wants to create, design, or generate a high-quality prompt for addressing any MCC-related development request -- bug fixes, new features, refactors, protocol work, authentication, bot scripting, or architecture decisions. The skill interviews the user, explores the MCC codebase via sub-agents, identifies relevant project skills, and synthesises everything into a state-of-the-art, self-contained prompt that includes an embedded reasoning framework, plan-mode directives, skill references, and targeted sub-agent instructions. Do NOT trigger automatically; wait for the user to explicitly invoke it (e.g. "generate a prompt for...", "build me a prompt", "/mcc-prompt-engineer", or "use the MCC prompt skill").
mcc-integration-testing
Use when proving MCC behavior on a real local Minecraft server, validating runtime or protocol changes end-to-end, exercising movement, physics, inventory, entity, chat, or terrain behavior, or running a single-version or cross-version regression sweep.
mcc-dev-workflow
Build, run, and debug Minecraft Console Client (MCC) against a real local Minecraft Java server on Linux, macOS, or WSL. Use this whenever the user wants to compile MCC, start or inspect a local test server, connect MCC to a server, debug protocol or login issues, validate a code change end-to-end, or run MCC commands on a real server instead of guessing from static code.
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. Use this skill when writing documentation for MCC.
csharp-optimization
Use when optimizing C# code in MCC, reducing GC pressure, profiling hot paths, fixing latency spikes, or reviewing code for allocation or throughput issues.
csharp-dotnet-cli-optimization
Use when diagnosing or optimizing generic C#/.NET performance, GC pressure, allocations, heap or stack usage, LINQ overhead, boxing, Span/Memory, stackalloc, pooling, or hot-path code with CLI-first tools such as dotnet-counters, dotnet-trace, dotnet-stack, dotnet-gcdump, dotnet-dump, or BenchmarkDotNet.
csharp-best-practices
C# 14 / .NET 10 coding conventions, idiomatic patterns, and performance best practices for the Minecraft Console Client codebase. Use when writing, reviewing, or modifying C# code.
skill-authoring-workflow
Turn raw PM content into a compliant, publish-ready skill. Use when creating or updating a repo skill without breaking standards.
doc-coauthoring
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.