Slash commands

/skill

Show skill-management help.

Implemented (subcommands have their own status) · Source comparison: October 6, 2026.

Reviewed October 6, 2026. This page covers the root, registered subcommands and documented internal actions.

Registration permissions

Registration Handler Required status (local DB, Oct 6) Implementation
/skill 236 200 Implemented
/skill add 233 200 Implemented
/skill list 235 200 Implemented
/skill remove 234 200 Implemented

Show skill-management help.

Implementation: Implemented.

Syntax

/skill

Arguments

No manual arguments are used by this operation.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(client->GetPlayer()->GetTarget() && client->GetPlayer()->GetTarget()->IsPlayer())

Permissions

Local database snapshot, October 6, 2026: /skill requires status 200 (handler 236). Other worlds may configure different values.

The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.

Examples

The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.

Source evidence

Dispatch: COMMAND_SKILL (handler 236).

  • WorldServer/Commands/Commands.cpp:6211 — COMMAND_SKILL.
  • WorldServer/Commands/Commands.cpp:9796 — Command_Skills.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

No upstream Markdown file exists for this registration in the retrieved revision.

/skill add

Add a skill to the selected player or self.

Implementation: Implemented.

Syntax

/skill add <skill_name>

Arguments

Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.

Position Argument Accepted value / type Meaning
0 skill_name remaining text Name used by the skill handler.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(client->GetPlayer()->GetTarget() && client->GetPlayer()->GetTarget()->IsPlayer())

Permissions

Local database snapshot, October 6, 2026: /skill add requires status 200 (handler 233). Other worlds may configure different values.

The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.

Examples

The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.

Source evidence

Dispatch: COMMAND_SKILL_ADD (handler 233).

  • WorldServer/Commands/Commands.cpp:6212 — COMMAND_SKILL_ADD.
  • WorldServer/Commands/Commands.cpp:9796 — Command_Skills.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

No upstream Markdown file exists for this registration in the retrieved revision.

/skill list

List matching skill names and IDs.

Implementation: Implemented.

Syntax

/skill list <skill_name>

Arguments

Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.

Position Argument Accepted value / type Meaning
0 skill_name remaining text Name used by the skill handler.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(client->GetPlayer()->GetTarget() && client->GetPlayer()->GetTarget()->IsPlayer())

Permissions

Local database snapshot, October 6, 2026: /skill list requires status 200 (handler 235). Other worlds may configure different values.

The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.

Examples

The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.

Source evidence

Dispatch: COMMAND_SKILL_LIST (handler 235).

  • WorldServer/Commands/Commands.cpp:6214 — COMMAND_SKILL_LIST.
  • WorldServer/Commands/Commands.cpp:9796 — Command_Skills.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

No upstream Markdown file exists for this registration in the retrieved revision.

/skill remove

Remove a skill from the selected player or self.

Implementation: Implemented.

Syntax

/skill remove <skill_name>

Arguments

Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.

Position Argument Accepted value / type Meaning
0 skill_name remaining text Name used by the skill handler.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(client->GetPlayer()->GetTarget() && client->GetPlayer()->GetTarget()->IsPlayer())

Permissions

Local database snapshot, October 6, 2026: /skill remove requires status 200 (handler 234). Other worlds may configure different values.

The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.

Examples

The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.

Source evidence

Dispatch: COMMAND_SKILL_REMOVE (handler 234).

  • WorldServer/Commands/Commands.cpp:6213 — COMMAND_SKILL_REMOVE.
  • WorldServer/Commands/Commands.cpp:9796 — Command_Skills.

Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.

No upstream Markdown file exists for this registration in the retrieved revision.

Permissions are from a read-only snapshot of the configured local world database on October 6, 2026; deployed worlds may differ. Argument and behavior evidence comes from the reviewed WorldServer checkout. Examples were checked against source and were not executed in a live world.