Skip to content
writing-slash-commands logo

Writing Slash Commands

writing-slash-commands

Use when creating or editing slash commands - applies TDD to slash command documentation by testing with SlashCommand tool and subagents before deployment, preventing inverted logic and untested conditionals

mattnigh/skills_collection0installs24stars

SKILL.md

Full skill instructions

Writing Slash Commands

Overview

Writing slash commands IS Test-Driven Development applied to command documentation.

You write test cases (arguments to test), watch them fail (wrong logic), fix the logic, watch tests pass, and refactor.

Core principle: If you didn't watch the slash command execute with the SlashCommand tool, you don't know if the logic works.

REQUIRED BACKGROUND: You MUST understand writing-skills skill before using this. This skill adapts TDD methodology to slash commands.

TDD Mapping for Slash Commands

TDD ConceptSlash Command Creation
Test caseSlashCommand tool call with specific arguments
Production codeSlash command markdown file
Test fails (RED)Command output wrong for given input
Test passes (GREEN)Command handles all inputs correctly
RefactorFix edge cases, maintain correctness
Write test firstTest command with SlashCommand BEFORE deploying
Watch it failDocument exact wrong outputs
Minimal codeFix logic to pass those specific tests
Watch it passVerify all test cases now work

The Iron Law

NO SLASH COMMAND WITHOUT TESTING WITH SlashCommand TOOL FIRST

Mental simulation ≠ actual testing. The SlashCommand tool is the ONLY way to verify logic.

When to Use

Create slash command:

  • Test with SlashCommand tool for each argument combination
  • Watch it fail/​succeed for each input
  • Fix logic until all tests pass

Edit existing slash command:

  • Test current behavior (RED - document what's wrong)
  • Fix logic (GREEN - make tests pass)
  • Test edge cases (REFACTOR - handle new scenarios)

Common Failures (From Baseline Testing)

Failure 1: Inverted Conditional Logic

Baseline behavior:

# With NO argument
Output: "Creating commit for $1 branch" ❌
Expected: "Warning: No feature branch provided"

# With argument "my-feature"
Output: "Warning: No feature branch provided" ❌
Expected: "Creating commit for my-feature branch"

Root cause: IF/​ELSE conditions backwards, not tested

Solution: Test BOTH branches with SlashCommand tool

Failure 2: Untested Variable Substitution

Baseline behavior:

  • Output shows literal "$1" instead of argument value

Root cause: Assumed $N substitution works without testing

Solution: Verify variables substitute correctly in output

Failure 3: Unverified Path References

Baseline behavior:

  • Command references git-and-github/​create-git-commit skill
  • Actual path: .claude/​skills/​create-git-commit/​SKILL.md

Root cause: Trust mental model of paths without verification

Solution: Verify all referenced paths exist before deploying

Testing Workflow (RED-GREEN-REFACTOR)

RED: Document Current Behavior

Use subagent with SlashCommand tool to test:

Task: Test the slash command at [path] with these arguments:
1. No arguments
2. One argument: "test-value"
3. Multiple arguments: "arg1" "arg2"

Document EXACT output for each test.

GREEN: Fix Logic to Pass Tests

Fix the slash command logic based on RED phase findings.

REFACTOR: Test Edge Cases

Add tests for:

  • Empty strings
  • Special characters
  • Missing vs empty arguments
  • Extra unexpected arguments

Required Tests Before Deploying

For every slash command, test:

  • No arguments (if optional)
  • One argument (if single arg expected)
  • All arguments (if multiple args expected)
  • Each conditional branch (test IF and ELSE separately)
  • Variable substitution (verify $1, $2, etc. show actual values)
  • Referenced paths (verify skills/​files exist)

Common Rationalizations

ExcuseReality
"Logic is simple, don't need to test"Baseline showed inverted IF/​ELSE. Test it.
"I know how variables work"$1 appeared literally in output. Verify it.
"I remember the path"Wrong path in baseline. Check it exists.
"Mental simulation is good enough"Mental simulation missed all 4 baseline bugs. Use SlashCommand tool.
"Testing is overkill for one command"One untested command = 4 bugs in production. Test it.
"Cache is stale, I'll verify by inspection"File inspection = mental simulation. Can't verify? Can't deploy.

Red Flags - STOP and Test

  • Writing conditional logic without testing both branches
  • Assuming variable substitution works
  • Referencing paths without verifying
  • "This is simple, no need to test"
  • Deploying without using SlashCommand tool

All of these mean: Stop. Test with SlashCommand tool.

Slash Command Testing Checklist

Before deploying ANY slash command:

  • Used subagent with SlashCommand tool to test
  • Tested with NO arguments (documented behavior)
  • Tested WITH arguments (documented behavior)
  • Tested EACH conditional branch (IF, ELSE, ELSE IF)
  • Verified variable substitution ($1, $2) works correctly
  • Verified all referenced paths/​skills exist
  • Fixed any bugs found during testing
  • Re-tested after fixes to confirm resolution

The Bottom Line

Mental simulation found ZERO bugs. SlashCommand tool testing found FOUR bugs.

Test with SlashCommand tool. Every time. No exceptions.

More skills from mattnigh

spring-framework-patterns logo
mattnigh/skills_collection

spring-framework-patterns

Comprehensive Spring Framework and Spring Boot best practices including dependency injection patterns, bean lifecycle and scopes, REST API development, Spring Data JPA, service layer design, Spring Security, testing strategies, caching, AOP, async processing, error handling, and common anti-patte...

24 0
View

TypeScript厳格モードによる型安全性設計を専門とするスキル。 📖 参照書籍: - 『Effective TypeScript』(Dan Vanderkam): 型設計 📚 リソース参照: - `resources/Level1_basics.md`: レベル1の基礎ガイド - `resources/Level2_intermediate.md`: レベル2の実務ガイド - `resources/Level3_advanced.md`: レベル3の応用ガイド - `resources/Level4_expert.md`: レベル4の専門ガイド - `resources/di...

24 0
View
deploying-cloud-k8s logo
mattnigh/skills_collection

deploying-cloud-k8s

Deploys applications to cloud Kubernetes (AKS/GKE/DOKS) with CI/CD pipelines. Use when deploying to production, setting up GitHub Actions, troubleshooting deployments. Covers build-time vs runtime vars, architecture matching, and battle-tested debugging.

24 0
View
moai-alfred-agent-guide logo
mattnigh/skills_collection

moai-alfred-agent-guide

19-agent team structure, decision trees for agent selection, Haiku vs Sonnet model selection, and agent collaboration principles. Use when deciding which sub-agent to invoke, understanding team responsibilities, or learning multi-agent orchestration.

24 0
View
mermaid-diagram-generator logo
mattnigh/skills_collection

mermaid-diagram-generator

Converts architecture descriptions, module specs, or workflow docs into Mermaid diagrams. Use when visualizing brick module relationships, workflows (DDD, investigation), or system architecture. Supports: flowcharts, sequence diagrams, class diagrams, state machines, entity relationship diagrams,...

24 0
View
pre-flight-check logo
mattnigh/skills_collection

pre-flight-check

INVOKE FIRST before any code work. Validates git workflow (branch, issue, worklog) and checks approach. Use at START of every task and END before completing. Prevents skipped steps.

24 0
View
browser-dev-tools logo
mattnigh/skills_collection

browser-dev-tools

This skill should be used when working with browser-rendered artifacts (i.e. Bun, React/React Native) to proactively validate that development work on localhost is being built appropriately and to support debugging browser-rendered content. Use this skill after making frontend changes to verify t...

24 0
View
lead-dev logo
mattnigh/skills_collection

lead-dev

Lead Développeur - Coordination technique opérationnelle, code review, mentoring et livraison. Pair de web-dev-process au niveau OPÉRATIONS.

24 0
View
worker-monitor logo
mattnigh/skills_collection

worker-monitor

Monitor Docker workers, RQ queue health, and auto-scale workers (max 4). Use when: checking job progress, monitoring queue depth, scaling workers up/down, diagnosing slow processing, or waiting for jobs to complete. Referenced by data-quality skill during reprocessing.

24 0
View
quality-advisor logo
mattnigh/skills_collection

quality-advisor

Proactive quality guidance system that monitors artifact creation and provides real-time feedback on documentation quality

24 0
View
bump-version logo
mattnigh/skills_collection

bump-version

This skill should be used when the user wants to bump the version number in the workspace. It updates versions across all pyproject.toml files (root, tde, and tda packages) and the CHANGELOG.md to keep them synchronized.

24 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View