Restarts WitchCityRope Docker DEVELOPMENT containers using the CORRECT procedure. Handles shutdown, rebuild with dev compose overlay, health checks, and compilation verification. Ensures environment is ready for development. SINGLE SOURCE OF TRUTH for dev container restart process. Uses -p witchcityrope-dev for isolation from test containers.
Restarts WitchCityRope Docker development containers using the correct procedure with dev overlay and project isolation. Automatically handles shutdown, rebuild, compilation verification, and health checks to ensure the environment is ready for development.
/plugin marketplace add DarkMonkDev/WitchCityRope/plugin install darkmonkdev-witchcityrope-agents@DarkMonkDev/WitchCityRopeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Purpose: Restart Docker DEVELOPMENT containers the RIGHT way - this is the ONLY correct procedure.
CRITICAL: This skill is for DEVELOPMENT containers only. For TEST containers, use restart-test-containers skill.
When to Use:
When NOT to Use:
restart-test-containers insteadtest-environment skill insteadCRITICAL: Dev and test containers are isolated using different project names:
-p witchcityrope-dev-p witchcityrope-testThis prevents operations on one environment from affecting the other.
This skill is the ONLY place where dev container restart procedure is documented.
If you find container restart instructions elsewhere:
DO NOT duplicate this procedure in:
# WRONG - Missing dev overlay
docker-compose up -d
# WRONG - Missing project name (will interfere with test containers)
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
# WRONG - Doesn't check compilation
./dev.sh
# ... immediately runs tests
Use this skill - it handles everything correctly including project isolation.
Executable Script: execute.sh
# From project root
bash .claude/skills/restart-dev-containers/execute.sh
# Skip confirmation prompt (for automation)
SKIP_CONFIRMATION=true bash .claude/skills/restart-dev-containers/execute.sh
What the script does:
-p witchcityrope-dev)docker-compose.yml + docker-compose.dev.yml)Script includes safety checks - it will not run blindly without showing you what it's about to do.
# From project root - with confirmation prompt
bash .claude/skills/restart-dev-containers/execute.sh
# For automation - skip confirmation
SKIP_CONFIRMATION=true bash .claude/skills/restart-dev-containers/execute.sh
# CRITICAL: Always use -p witchcityrope-dev to avoid affecting test containers!
# Stop containers
docker-compose -p witchcityrope-dev -f docker-compose.yml -f docker-compose.dev.yml down
# Start with dev overlay
docker-compose -p witchcityrope-dev -f docker-compose.yml -f docker-compose.dev.yml up -d --build
# Wait and check health
sleep 15
curl http://localhost:5173
curl http://localhost:5655/health
curl http://localhost:5655/api/health/detailed
Cause: Compilation errors in container
Solution: Skill automatically checks compilation logs
Manual check:
docker logs witchcity-web --tail 50 | grep -i error
docker logs witchcity-api --tail 50 | grep -i error
Cause: Old containers still running or other process using ports
Solution:
# Kill all witchcity containers
docker ps -a | grep witchcity | awk '{print $1}' | xargs docker rm -f
# Check what's using port 5173
lsof -i :5173
Cause: Services need more time to initialize
Solution: Wait longer (skill waits 25 seconds total)
Cause: Missing -p witchcityrope-dev flag
Solution: Always use this skill or ensure the project flag is included
After code changes:
I'll restart dev containers to apply my changes.
Skill is invoked automatically
Result: Code changes applied, compilation verified
When run via Claude Code, skill returns:
{
"skill": "restart-dev-containers",
"status": "success",
"timestamp": "2025-12-01T15:30:00Z",
"containers": {
"running": 4,
"expected": 4,
"healthy": true
},
"compilation": {
"web": "clean",
"api": "clean"
},
"healthChecks": {
"web": "healthy",
"api": "healthy",
"database": "healthy"
},
"readyForTesting": true,
"message": "Environment ready for development and testing"
}
On failure:
{
"skill": "restart-dev-containers",
"status": "failure",
"error": "Compilation errors in web container",
"details": "TypeError: Cannot read property 'foo' of undefined at line 42",
"action": "Fix source code and restart again"
}
-p witchcityrope-test)This skill is the single source of truth for DEV container restart.
To update the restart procedure:
-p witchcityrope-dev project isolation
restart-test-containers skillRemember: This skill is executable automation. Run it, don't copy it.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.