home / skills / dagster-io / skills / create-workspace

create-workspace skill

/plugins/dg/skills/create-workspace

This skill helps you create and manage a Dagster workspace for multiple projects, streamlining multi-project setup and organization.

npx playbooks add skill dagster-io/skills --skill create-workspace

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.0 KB
---
name: dg:create-workspace
description:
  Create a new Dagster workspace for managing multiple projects. Use when user wants to initialize a
  workspace, manage multiple Dagster projects together, or set up a multi-project environment.
---

# Create Dagster Workspace Skill

This skill helps users create Dagster workspaces through natural language requests.

## When to Use This Skill

Auto-invoke when users say:

- "create a dagster workspace"
- "initialize a dagster workspace"
- "set up a multi-project dagster environment"
- "create a workspace for multiple dagster projects"
- "make a dagster workspace"
- "start a new dagster workspace"
- "scaffold a dagster workspace"

## When to Use This Skill vs. Others

| If User Says...            | Use This Skill/Command  | Why                             |
| -------------------------- | ----------------------- | ------------------------------- |
| "create a workspace"       | `/dg:create-workspace`  | Multi-project workspace needed  |
| "create a project"         | `/dg:create-project`    | Single project initialization   |
| "implement X pipeline"     | `/dg:prototype`         | Add to existing project         |
| "manage multiple projects" | `/dg:create-workspace`  | Workspace for multiple projects |
| "best practices"           | `/dagster-conventions`  | Learn patterns first            |
| "which integration"        | `/dagster-integrations` | Integration discovery           |

## How It Works

When this skill is invoked:

1. **Extract the workspace name** from the user's request (if provided)
2. **Invoke the underlying command**: `/dg:create-workspace <name>`
3. **Handle missing parameters**:
   - If user specified a name: use it directly
   - If user said "here" or "in current directory": use `.`
   - If no name provided: ask the user for the workspace name

## Example Flows

**User provides a name:**

```
User: "Create a dagster workspace called my-org"
→ Invoke: /dg:create-workspace my-org
```

**User doesn't provide a name:**

```
User: "I want to set up a workspace for multiple dagster projects"
→ Ask: "What would you like to name your Dagster workspace?"
→ Wait for user response
→ Invoke: /dg:create-workspace <user-provided-name>
```

**User wants to create in current directory:**

```
User: "Create a dagster workspace here"
→ Invoke: /dg:create-workspace .
```

**User provides a path:**

```
User: "Create a dagster workspace at ./workspaces/analytics"
→ Invoke: /dg:create-workspace ./workspaces/analytics
```

## Implementation Notes

- This skill is a thin wrapper that delegates to the `/dg:create-workspace` command
- The command file at `commands/create-workspace.md` contains the actual execution logic
- Explicit slash command invocation still works: `/dg:create-workspace <name>`
- Both natural language and explicit invocation are supported

## Related Commands

After creating a workspace, users may want to:

- Use `/dg:create-project <name>` to add projects to the workspace
- Use `dg dev` to start the Dagster UI for the workspace
- Navigate to the workspace directory if they created it with a name

Overview

This skill creates a new Dagster workspace to manage multiple projects in a single environment. I built it to let you initialize, name, or place a workspace via natural language and to delegate execution to the underlying workspace-creation command. It handles directory paths, the current directory, and prompts for missing names so the flow stays simple and interactive.

How this skill works

The skill parses the user request to extract a workspace name or path and then invokes the workspace creation command with that value. If the user says "here" or references the current directory it uses ".". When no name or path is provided the skill asks a follow-up question to collect the required parameter before running the command.

When to use it

  • You want a multi-project Dagster environment instead of a single project
  • You need to initialize a workspace for organizing several pipelines or repos
  • You want to scaffold a workspace at a specific path or in the current directory
  • You are preparing to run Dagster UI or local development across projects
  • You need a quick, interactive way to create and name a workspace

Best practices

  • Decide workspace scope first—group projects that share resources or deployment patterns
  • Provide a clear, short workspace name or a path to avoid later renaming work
  • Create workspaces inside a dedicated top-level directory to keep repos tidy
  • After creation, add projects with create-project and start local development with the Dagster dev server
  • Use version control at the workspace root to track configuration and shared code

Example use cases

  • "Create a dagster workspace called analytics-team" → skill creates workspace at that name
  • "Set up a workspace here" → skill initializes workspace in the current directory (.)
  • "Create a workspace at ./workspaces/etl" → skill initializes workspace at the provided path
  • User starts a multi-repo migration and initializes a workspace to manage new and legacy projects together
  • Prepare a multi-project environment before launching the Dagster UI for local testing

FAQ

What if I don’t provide a workspace name?

I will prompt you for a name before running the creation command so the workspace is not left unnamed.

Can I create the workspace in the current folder?

Yes—if you say "here" or "in the current directory" the skill will use "." as the target path.