Skip to main content

galaxy-context

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.

Quellinformationen

Repository
arash77/galaxy-claude-marketplace
Letzte Quellaktivität
11. Februar 2026 um 13:36
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
galaxy-context
description
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.
user-invocable
false
# Galaxy Development Context & Skill Routing This skill provides essential Galaxy conventions and routing guidance to help you proactively use the right Galaxy skills and agents. ## Automatic Skill Invocation - CRITICAL **You should PROACTIVELY invoke Galaxy skills when you detect relevant tasks**, without waiting for explicit user requests. Match user intent to skills below. --- ## Skill Routing Guide ### 1. Database Operations → /galaxy-db-migration **Invoke when user mentions:** - "database", "schema", "migration", "Alembic" - "add column", "create table", "modify database", "database version" - "upgrade database", "downgrade database", "migration error" - SQL model changes in `lib/galaxy/model/__init__.py` - Alembic revision files in `lib/galaxy/model/migrations/alembic/versions_gxy/` **Examples:** - "I need to add a new table for credentials" → `/galaxy-db-migration create` - "How do I add a column to the workflow table?" → `/galaxy-db-migration create` - "The database won't upgrade" → `/galaxy-db-migration troubleshoot` - "Check if migration is needed" → `/galaxy-db-migration status` **Actions:** - `create` - Creating new migrations after model changes - `upgrade` - Upgrading database to latest version - `downgrade` - Rolling back migrations - `status` - Checking database version vs codebase - `troubleshoot` - Diagnosing migration errors --- ### 2. API Development → /galaxy-api-endpoint **Invoke when user mentions:** - "API", "endpoint", "REST", "route", "router" - "FastAPI", "Pydantic", "schema", "request/response model" - "create endpoint for...", "add API for...", "new endpoint" - Files in `lib/galaxy/webapps/galaxy/api/` - Files in `lib/galaxy/schema/` **Examples:** - "Create an API endpoint for managing credentials" → `/galaxy-api-endpoint credentials` - "I need a REST API for workflows" → `/galaxy-api-endpoint workflows` - "Add a new route to handle..." → `/galaxy-api-endpoint [resource-name]` **Action:** - Always pass the resource name as argument (e.g., `/galaxy-api-endpoint credentials`) - Guides through: Pydantic schemas → Manager logic → FastAPI router → Tests --- ### 3. Testing Operations → /galaxy-testing **Invoke when user mentions:** - "test", "tests", "pytest", "run_tests.sh" - "write tests", "add test", "test this feature" - "test failure", "test error", "tests are failing" - "ApiTestCase", "integration test", "unit test", "functional test" - Files in `test/`, `lib/galaxy_test/` **Examples:** - "Run the integration tests" → `/galaxy-testing run` - "Write tests for this new API" → `/galaxy-testing write` - "How do I test this endpoint?" → `/galaxy-testing api` - "The tests are failing" → `/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) --- ### 4. Linting & Formatting → /galaxy-linting **Invoke when user mentions:** - "lint", "linting", "format", "formatting", "code style" - "ruff", "black", "isort", "flake8", "mypy", "darker", "autoflake", "pyupgrade" - "eslint", "prettier", "type check", "type error" - "tox -e lint", "tox -e format", "make format", "make pyupgrade" - "CI lint", "lint failure", "lint error", "formatting error" - "fix formatting", "auto-fix", "clean up code style" - "unused imports", "modernize Python", "remove imports" - "API schema lint", "config lint", "XSD", "codespell", "redocly" **Examples:** - "Run lint checks" → `/galaxy-linting check` - "Fix formatting issues" → `/galaxy-linting fix` - "How do I format Python code?" → `/galaxy-linting python` - "Type checking errors" → `/galaxy-linting mypy` - "Run all CI checks" → `/galaxy-linting full` - "Client-side linting" → `/galaxy-linting client` - "Remove unused imports" → `/galaxy-linting fix` - "Modernize Python syntax" → `/galaxy-linting fix` - "Lint API schema" → `/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 mypy - `full` - Complete lint suite (all CI checks) - No argument - For specialized targets (API schema, XSD, config files) --- ### 5. Codebase Architecture Questions → galaxy-explorer Agent **Use Task tool with `subagent_type="galaxy-explorer"` when user asks:** - "Where is X implemented?" - "How does Y work?" - "What's the architecture of Z?" - "Find the component that handles..." - "Show me examples of..." - Broad exploration questions about code structure **Examples:** - "Where is authentication handled?" → Spawn galaxy-explorer - "How do workflows execute?" → Spawn galaxy-explorer - "What's the testing structure?" → Spawn galaxy-explorer **Why use galaxy-explorer:** - Knows Galaxy architecture deeply - Avoids reading large files completely - Can answer multi-file architectural questions efficiently - Understands Galaxy conventions and patterns **Do NOT use galaxy-explorer for:** - Specific needle queries (use Grep/Glob directly) - Reading known file paths (use Read directly) - Simple file searches (use Glob directly) --- ## Critical Galaxy Conventions ### Testing: ALWAYS use run_tests.sh **NEVER run pytest directly** - Galaxy's test suite requires special setup: ```bash # Correct ./run_tests.sh -integration test/integration/test_credentials.py # Wrong - will fail or miss fixtures pytest test/integration/test_credentials.py ``` **Why:** - Sets up Galaxy test database - Configures Galaxy-specific fixtures - Manages test isolation - Handles Galaxy configuration ### Large Files: NEVER Read Completely **These files will exhaust your token budget if read entirely:** - `client/src/api/schema/schema.ts` (46,529 lines) - Auto-generated - `lib/galaxy/model/__init__.py` (12,677 lines) - Core models - `lib/galaxy/tools/__init__.py` (4,857 lines) - Tool framework - `lib/galaxy/schema/schema.py` (4,184 lines) - API schemas **Instead:** - Use Grep with specific patterns - Read with offset/limit to get relevant sections - Use galaxy-explorer agent for architectural understanding ### Manager Pattern Business logic lives in manager classes: - Location: `lib/galaxy/managers/` - Pattern: `{Resource}Manager` (e.g., `WorkflowsManager`) - Purpose: Separate business logic from API layer **Flow:** API Router → Manager → Model ### FastAPI Structure Modern Galaxy API follows FastAPI patterns: - Routers: `lib/galaxy/webapps/galaxy/api/*.py` - Schemas: `lib/galaxy/schema/*.py` (Pydantic models) - Tests: `lib/galaxy_test/api/test_*.py` --- ## Quick Architecture Reference ### Backend (Python) ``` lib/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 ``` ### Frontend (Vue.js) ``` client/src/ ├── components/ # Vue components ├── stores/ # Pinia stores ├── composables/ # Composition functions └── api/ # API client + generated schemas ``` ### Tests ``` test/ ├── unit/ # Fast unit tests ├── integration/ # Integration tests └── integration_selenium/ # E2E browser tests lib/galaxy_test/ └── api/ # API endpoint tests ``` --- ## When to Use Each Approach ### Parallel Tool Calls When operations are independent: ``` Read: lib/galaxy/managers/workflows.py Read: client/src/stores/workflowStore.ts Read: test/unit/test_workflows.py ``` ### Targeted Searches For specific patterns in large files: ``` Grep: pattern="class Workflow\(" path="lib/galaxy/model/__init__.py" output_mode="content" -A=20 ``` ### Galaxy-Explorer Agent For understanding architecture or locating functionality across multiple files. ### Direct Tool Use For known file paths or simple operations. --- ## Proactive Skill Usage Summary **Before starting implementation:** 1. Detect user intent from their message 2. Match to skill routing guide above 3. Invoke appropriate skill BEFORE writing code 4. Follow skill's guided workflow **Key principle:** Skills prevent mistakes by enforcing Galaxy conventions and best practices. Use them proactively rather than reactively. --- ## Additional Notes - Galaxy uses Python 3.9+ with FastAPI, SQLAlchemy 2.0, Celery, Pydantic - Frontend: Vue.js 2.7 with TypeScript, Pinia, Vite - Main branch: `dev` (not `main`) - Code style: Black (120 chars), isort, Ruff, mypy with strict mode - Always use type hints in Python - Prefer TypeScript over JavaScript for new frontend code - Linting tools: ruff (lint + format), black, isort, flake8, mypy, autoflake, pyupgrade, ESLint, Prettier - Specialized linting: codespell, redocly (API schema), xmllint (XSD), config validators - Quick formatting tip: Use `make diff-format` during development for fast incremental formatting This context is optimized for the Galaxy codebase as of January 2026.
Auf GitHub ansehen