From galaxy-dev
Galaxy project development conventions and skill routing guide. ALWAYS load this skill when working in a Galaxy codebase. Routes to appropriate skills: use /galaxy-db-migration for database/Alembic/schema changes, /galaxy-api-endpoint for creating REST API endpoints/FastAPI routers, /galaxy-testing for running or writing tests, /galaxy-linting for code formatting/linting/type checking. Use galaxy-explorer agent for codebase architecture questions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/galaxy-dev:galaxy-contextThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill provides essential Galaxy conventions and routing guidance to help you proactively use the right Galaxy skills and agents.
This skill provides essential Galaxy conventions and routing guidance to help you proactively use the right Galaxy skills and agents.
You should PROACTIVELY invoke Galaxy skills when you detect relevant tasks, without waiting for explicit user requests. Match user intent to skills below.
Invoke when user mentions:
lib/galaxy/model/__init__.pylib/galaxy/model/migrations/alembic/versions_gxy/Examples:
/galaxy-db-migration create/galaxy-db-migration create/galaxy-db-migration troubleshoot/galaxy-db-migration statusActions:
create - Creating new migrations after model changesupgrade - Upgrading database to latest versiondowngrade - Rolling back migrationsstatus - Checking database version vs codebasetroubleshoot - Diagnosing migration errorsInvoke when user mentions:
lib/galaxy/webapps/galaxy/api/lib/galaxy/schema/Examples:
/galaxy-api-endpoint credentials/galaxy-api-endpoint workflows/galaxy-api-endpoint [resource-name]Action:
/galaxy-api-endpoint credentials)Invoke when user mentions:
test/, lib/galaxy_test/Examples:
/galaxy-testing run/galaxy-testing write/galaxy-testing api/galaxy-testing run (to diagnose)Actions:
run - Running tests (unit, integration, selenium)write - Writing new tests (guides through patterns)api - API testing patterns (ApiTestCase, fixtures)Invoke when user mentions:
Examples:
/galaxy-linting check/galaxy-linting fix/galaxy-linting python/galaxy-linting mypy/galaxy-linting full/galaxy-linting client/galaxy-linting fix/galaxy-linting fix/galaxy-linting (for specialized targets)Actions:
check - Quick lint check (format + lint, fastest feedback)fix - Auto-fix formatting (make diff-format, make format, make pyupgrade, autoflake)python - Python linting details (ruff, black, isort, flake8, darker, pyupgrade)client - Client-side linting (ESLint, Prettier, granular targets)mypy - Type checking with mypyfull - Complete lint suite (all CI checks)Use Task tool with subagent_type="galaxy-explorer" when user asks:
Examples:
Why use galaxy-explorer:
Do NOT use galaxy-explorer for:
NEVER run pytest directly - Galaxy's test suite requires special setup:
# Correct
./run_tests.sh -integration test/integration/test_credentials.py
# Wrong - will fail or miss fixtures
pytest test/integration/test_credentials.py
Why:
These files will exhaust your token budget if read entirely:
client/src/api/schema/schema.ts (46,529 lines) - Auto-generatedlib/galaxy/model/__init__.py (12,677 lines) - Core modelslib/galaxy/tools/__init__.py (4,857 lines) - Tool frameworklib/galaxy/schema/schema.py (4,184 lines) - API schemasInstead:
Business logic lives in manager classes:
lib/galaxy/managers/{Resource}Manager (e.g., WorkflowsManager)Flow: API Router → Manager → Model
Modern Galaxy API follows FastAPI patterns:
lib/galaxy/webapps/galaxy/api/*.pylib/galaxy/schema/*.py (Pydantic models)lib/galaxy_test/api/test_*.pylib/galaxy/
├── model/ # SQLAlchemy models
│ └── migrations/ # Alembic migrations
├── managers/ # Business logic (Manager pattern)
├── schema/ # Pydantic API schemas
├── webapps/galaxy/api/ # FastAPI routers
├── tools/ # Tool execution engine
└── workflow/ # Workflow engine
client/src/
├── components/ # Vue components
├── stores/ # Pinia stores
├── composables/ # Composition functions
└── api/ # API client + generated schemas
test/
├── unit/ # Fast unit tests
├── integration/ # Integration tests
└── integration_selenium/ # E2E browser tests
lib/galaxy_test/
└── api/ # API endpoint tests
When operations are independent:
Read: lib/galaxy/managers/workflows.py
Read: client/src/stores/workflowStore.ts
Read: test/unit/test_workflows.py
For specific patterns in large files:
Grep: pattern="class Workflow\(" path="lib/galaxy/model/__init__.py" output_mode="content" -A=20
For understanding architecture or locating functionality across multiple files.
For known file paths or simple operations.
Before starting implementation:
Key principle: Skills prevent mistakes by enforcing Galaxy conventions and best practices. Use them proactively rather than reactively.
dev (not main)make diff-format during development for fast incremental formattingThis context is optimized for the Galaxy codebase as of January 2026.
npx claudepluginhub arash77/galaxy-claude-marketplace --plugin galaxy-devUniversal project workflow guide that reads the existing codebase, keeps changes small, and explains technical decisions in plain language. Use when starting, modifying, debugging, or deploying software projects.
Provides FastAPI patterns and best practices for architecture, SQLAlchemy databases, JWT/OAuth2 security, Pydantic validation, pytest testing, and async performance. Auto-activates on FastAPI projects.
Guides monorepo design including structure patterns, package organization, polyrepo tradeoffs, dependency management, and scalable workspace configs.