ideabrowser.com — find trending startup ideas with real demand
Try itnpx skills add https://github.com/github/awesome-copilot --skill copilot-spacesUse Copilot Spaces to bring curated, project-specific context into conversations. A Space is a shared collection of repositories, files, documentation, and instructions that grounds Copilot responses in your team's actual code and knowledge.
| Tool | Purpose |
|---|---|
mcp__github__list_copilot_spaces | List all spaces accessible to the current user |
mcp__github__get_copilot_space | Load a space's full context by owner and name |
gh api (Full CRUD)The Spaces REST API supports creating, updating, deleting spaces, and managing collaborators. The MCP server only exposes read operations, so use gh api for writes.
User Spaces:
| Method | Endpoint | Purpose |
|---|---|---|
POST | /users/{username}/copilot-spaces | Create a space |
GET | /users/{username}/copilot-spaces | List spaces |
GET | /users/{username}/copilot-spaces/{number} | Get a space |
PUT | /users/{username}/copilot-spaces/{number} | Update a space |
DELETE | /users/{username}/copilot-spaces/{number} | Delete a space |
Organization Spaces: Same pattern under /orgs/{org}/copilot-spaces/...
Collaborators: Add, list, update, and remove collaborators at .../collaborators
Scope requirements: PAT needs read:user for reads, user for writes. Add with gh auth refresh -h github.com -s user.
Note: This API is functional but not yet in the public REST API docs. It may require the copilot_spaces_api feature flag.
When a user asks what spaces are available or you need to find the right space:
Call mcp__github__list_copilot_spaces
This returns all spaces the user can access, each with a name and owner_login. Present relevant matches to the user.
To filter for a specific user's spaces, match owner_login against the username (e.g., "show me my spaces").
When a user names a specific space or you've identified the right one:
Call mcp__github__get_copilot_space with:
owner: "org-or-user" (the owner_login from the list)
name: "Space Name" (exact space name, case-sensitive)
This returns the space's full content: attached documentation, code context, custom instructions, and any other curated materials. Use this context to inform your responses.
Space content often references external resources: GitHub issues, dashboards, repos, discussions, or other tools. Proactively fetch these using other MCP tools to gather complete context. For example:
issue_read to get the latest comments.get_file_contents to read it.Once loaded, use the space content based on what it contains:
If the space contains reference material (docs, code, standards):
If the space contains workflow instructions (templates, step-by-step processes):
gh api)When a user wants to create, update, or delete a space, use gh api. First, find the space number from the list endpoint.
Update a space's instructions:
gh api users/{username}/copilot-spaces/{number} \
-X PUT \
-f general_instructions="New instructions here"
Update name, description, or instructions together:
gh api users/{username}/copilot-spaces/{number} \
-X PUT \
-f name="Updated Name" \
-f description="Updated description" \
-f general_instructions="Updated instructions"
Create a new space:
gh api users/{username}/copilot-spaces \
-X POST \
-f name="My New Space" \
-f general_instructions="Help me with..." \
-f visibility="private"
Attach resources (replaces entire resource list):
{
"resources_attributes": [
{ "resource_type": "free_text", "metadata": { "name": "Notes", "text": "Content here" } },
{ "resource_type": "github_issue", "metadata": { "repository_id": 12345, "number": 42 } },
{ "resource_type": "github_file", "metadata": { "repository_id": 12345, "file_path": "docs/guide.md" } }
]
}
Delete a space:
gh api users/{username}/copilot-spaces/{number} -X DELETE
Updatable fields: name, description, general_instructions, icon_type, icon_color, visibility ("private"/"public"), base_role ("no_access"/"reader"), resources_attributes
User: "Load the Accessibility copilot space"
Action:
mcp__github__get_copilot_space with owner "github", name "Accessibility"User: "What copilot spaces are available for our team?"
Action:
mcp__github__list_copilot_spacesUser: "Using the security space, what's our policy on secret scanning?"
Action:
mcp__github__get_copilot_space with the appropriate owner and nameUser: "Write my weekly update using the PM Weekly Updates space"
Action:
mcp__github__get_copilot_space to load the space. It contains a template format and step-by-step instructions.User: "Update my PM Weekly Updates space to include a new writing guideline"
Action:
mcp__github__list_copilot_spaces and find the space number (e.g., 19).mcp__github__get_copilot_space to read current instructions.gh api users/labudis/copilot-spaces/19 -X PUT -f general_instructions="updated instructions..."
list_copilot_spaces.owner and name.gh api for create/update/delete) require the user PAT scope. If you get a 404 on write operations, run gh auth refresh -h github.com -s user.{ "id": 123, "_destroy": true } in the array.