This skill should be used when working with the Ghostmind development system, which uses meta.json as a central configuration for Docker, Compose, Terraform, and Tmux. Use this skill when creating or modifying configurations for any of these components, setting up new applications, or understanding how the system components interconnect.
Provides guidance for the Ghostmind development system, which uses meta.json as a central configuration for Docker, Compose, Terraform, and Tmux. Use when creating or modifying configurations for any component, setting up new applications, or understanding system interconnections.
/plugin marketplace add ghostmind-dev/system/plugin install system@ghostmindThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/templates/compose.yamlassets/templates/custom-script.tsassets/templates/meta.jsonassets/templates/terraform/backend.tfassets/templates/terraform/main.tfassets/templates/terraform/variables.tfassets/templates/terraform/versions.tfreferences/compose-overview.mdreferences/custom-scripts-guide.mdreferences/docker-overview.mdreferences/mcp-configuration.mdreferences/meta-json-guide.mdreferences/routines-guide.mdreferences/run-cli-overview.mdreferences/system-overview.mdreferences/terraform-overview.mdreferences/tmux-sections-guide.mdreferences/tunnel-configuration.mdThis skill should be used when working with the Ghostmind development system, which uses meta.json as a central configuration for Docker, Compose, Terraform, and Tmux. Use this skill when creating or modifying configurations for any of these components, setting up new applications, or understanding how the system components interconnect.
Use this skill when:
meta.json configuration filesThis is the most important rule when working with the Ghostmind system:
Schema URL: https://raw.githubusercontent.com/ghostmind-dev/run/refs/heads/main/meta/schema.json
Why this is imperative:
When to fetch:
How to fetch: Use WebFetch to retrieve the schema and understand the complete structure before proceeding with configuration work
meta.json is the foundation of every application in the Ghostmind system. It:
run tool to orchestrate the applicationKey files to reference:
references/meta-json-guide.md - Core meta.json concepts and structurereferences/system-overview.md - Foundation document for understanding the systemThe run command is the unified orchestrator for all system operations. It's both:
Key commands:
run docker - Docker operations (build, push, exec)run compose - Docker Compose operations (up, down, build)run terraform - Terraform operations (plan, apply, destroy)run tmux - Tmux session management (init, attach, kill)run custom - Execute custom TypeScript scriptsrun vault - Secrets management (import, export)Reference: references/run-cli-overview.md
Each component has its own guide with meta.json configuration, examples, and best practices:
| Component | Purpose | Guide |
|---|---|---|
| Docker | Container configuration | references/docker-overview.md |
| Compose | Multi-container orchestration | references/compose-overview.md |
| Terraform | Infrastructure as code | references/terraform-overview.md |
| Tmux | Terminal session management | references/tmux-sections-guide.md |
| Custom Scripts | TypeScript/Deno workflow scripts | references/custom-scripts-guide.md |
| Routines | Shell command aliases | references/routines-guide.md |
| MCP | AI agent tool servers | references/mcp-configuration.md |
| Tunnel | Cloudflared public URL exposure | references/tunnel-configuration.md |
Each component guide includes:
VS Code Devcontainers:
Critical Environment Variables:
SRC vs LOCALHOST_SRC:
SRC: Path to source code inside the devcontainer (e.g., /workspaces/my-app)LOCALHOST_SRC: Path on the host machine (e.g., /Users/me/code/my-app)PROJECT and APP:
PROJECT: Extracted from root meta.json name propertyAPP: Extracted from app meta.json name property${PROJECT}, ${APP}Reference: references/system-overview.md - Comprehensive environment variable documentation
Environment variables can be used dynamically in:
Syntax: ${VARIABLE_NAME}
Common patterns:
# In .env files
SERVER_URL="http://localhost:${PORT}"
PUBLIC_URL="https://${TUNNEL_NAME}"
# In meta.json
"image": "${PROJECT}/${APP}:${VERSION}"
"hostname": "${APP}.${DOMAIN}"
Reference: references/system-overview.md - Variable substitution section
Vault Integration:
Workflow:
# Export secrets to vault
run vault export
# Import secrets from vault
run vault import
File patterns:
.env.base - Non-sensitive defaults, committed to git.env.local - Local overrides, gitignored.env.{environment} - Environment-specific, gitignored.env - Generated by merging base + environment, gitignoredReference: references/system-overview.md - Vault and secrets section
meta.json with basic properties (id, name, version)docker for containerizationcompose for local developmentterraform for cloud deploymenttmux for development environment.env.base with non-sensitive defaultsReference: references/system-overview.md - Project structure patterns
references/docker-overview.md)run commandsrun commandsCustomArgs, CustomOptionsjsr:@ghostmind/runcustom sectionrun custom <script-name>Reference: references/custom-scripts-guide.md
All Ghostmind repositories are in: https://github.com/orgs/ghostmind-dev/repositories
Key repositories:
Projects can have:
Reference: references/meta-json-guide.md - Multi-meta.json section
Components in meta.json work together:
meta.json
├── docker → Defines container image
│ └── Used by: compose (services), terraform (Cloud Run)
├── compose → Local development orchestration
│ └── Uses: docker images, .env files
├── terraform → Cloud infrastructure
│ └── Uses: docker images, .env variables
├── tmux → Development environment
│ └── Can: run custom scripts, start compose services
├── custom → TypeScript workflows
│ └── Can: orchestrate all components
├── routines → Shell command aliases
│ └── Can: chain run commands
├── mcp → AI agent tools
└── tunnel → Public URL exposure
└── Uses: PORT variable from .env
Reference: references/system-overview.md - System components section
.env.base for defaults (committed).env.local for local overrides (gitignored).env.{environment} for environment-specific values (gitignored)run commands instead of direct docker/terraformreferences/system-overview.md for foundational understandingreferences/meta-json-guide.md for core conceptsFor comprehensive understanding, read in this order:
Common tasks:
system-overview.md + meta-json-guide.mddocker-overview.mdcompose-overview.mdterraform-overview.mdtmux-sections-guide.mdcustom-scripts-guide.mdroutines-guide.mdmcp-configuration.mdtunnel-configuration.mdWhen working in VS Code devcontainers:
SRC for paths inside the containerLOCALHOST_SRC for Docker-in-Docker volume mountsReference: references/system-overview.md - Devcontainer section
${VAR_NAME} syntaxPROJECT and APP are automatically extracted from meta.jsonReference: references/system-overview.md - Variable substitution section
run tool validates configurations automaticallySome components depend on others:
https://github.com/orgs/ghostmind-dev/repositories
https://raw.githubusercontent.com/ghostmind-dev/run/refs/heads/main/meta/schema.json
All reference files are in references/ directory:
system-overview.md - Comprehensive system documentationmeta-json-guide.md - Central configuration guiderun-cli-overview.md - CLI tool documentationdocker-overview.md - Docker configurationcompose-overview.md - Docker Compose configurationterraform-overview.md - Terraform configurationtmux-sections-guide.md - Tmux configurationcustom-scripts-guide.md - Custom script developmentroutines-guide.md - Shell command aliasesmcp-configuration.md - MCP server setuptunnel-configuration.md - Cloudflared tunnelsThe Ghostmind system is designed to be:
Most importantly: ALWAYS fetch the schema before working with meta.json configuration. This is the foundation of successful work with the Ghostmind system
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 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 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.