copilot-spaces

作成者: github

プロジェクト固有のコンテキストを、厳選されたドキュメント、コード、チーム指示を通じて会話に提供します。MCP読み取り専用ツールを使用してCopilot Spacesを一覧表示・読み込み、gh apiを使用してGitHub REST API経由でスペースを作成、更新、削除します。スペースには、添付されたリポジトリ、ファイル、ドキュメント、カスタム指示が含まれ、Copilotの応答を実際のプロジェクト知識に基づかせます。スペースを使用して、アーキテクチャや標準に関する質問に答え、チームの規約に従ったコードを生成し、マルチステップの...を実行します。

npx skills add https://github.com/github/awesome-copilot --skill copilot-spaces

Copilot Spaces

Use 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.

Available Tools

MCP Tools (Read-only)

ToolPurpose
mcp__github__list_copilot_spacesList all spaces accessible to the current user
mcp__github__get_copilot_spaceLoad a space's full context by owner and name

REST API via 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:

MethodEndpointPurpose
POST/users/{username}/copilot-spacesCreate a space
GET/users/{username}/copilot-spacesList 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 to Use Spaces

  • User mentions "Copilot space" or asks to "load a space"
  • User wants answers grounded in specific project docs, code, or standards
  • User asks "what spaces are available?" or "find a space for X"
  • User needs onboarding context, architecture docs, or team-specific guidance
  • User wants to follow a structured workflow defined in a Space (templates, checklists, multi-step processes)

Workflow

1. Discover Spaces

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").

2. Load a Space

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.

3. Follow the Breadcrumbs

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:

  • A space references an initiative tracking issue. Use issue_read to get the latest comments.
  • A space links to a project board. Use project tools to check current status.
  • A space mentions a repo's masterplan. Use get_file_contents to read it.

4. Answer or Execute

Once loaded, use the space content based on what it contains:

If the space contains reference material (docs, code, standards):

  • Answer questions about the project's architecture, patterns, or standards
  • Generate code that follows the team's conventions
  • Debug issues using project-specific knowledge

If the space contains workflow instructions (templates, step-by-step processes):

  • Follow the workflow as defined, step by step
  • Gather data from the sources the workflow specifies
  • Produce output in the format the workflow defines
  • Show progress after each step so the user can steer

5. Manage Spaces (via 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

Examples

Example 1: User Asks for a Space

User: "Load the Accessibility copilot space"

Action:

  1. Call mcp__github__get_copilot_space with owner "github", name "Accessibility"
  2. Use the returned context to answer questions about accessibility standards, MAS grades, compliance processes, etc.

Example 2: User Wants to Find Spaces

User: "What copilot spaces are available for our team?"

Action:

  1. Call mcp__github__list_copilot_spaces
  2. Filter/present spaces relevant to the user's org or interests
  3. Offer to load any space they're interested in

Example 3: Context-Grounded Question

User: "Using the security space, what's our policy on secret scanning?"

Action:

  1. Call mcp__github__get_copilot_space with the appropriate owner and name
  2. Find the relevant policy in the space content
  3. Answer based on the actual internal documentation

Example 4: Space as a Workflow Engine

User: "Write my weekly update using the PM Weekly Updates space"

Action:

  1. Call mcp__github__get_copilot_space to load the space. It contains a template format and step-by-step instructions.
  2. Follow the space's workflow: pull data from attached initiative issues, gather metrics, draft each section.
  3. Fetch external resources referenced by the space (tracking issues, dashboards) using other MCP tools.
  4. Show the draft after each section so the user can review and fill in gaps.
  5. Produce the final output in the format the space defines.

Example 5: Update Space Instructions Programmatically

User: "Update my PM Weekly Updates space to include a new writing guideline"

Action:

  1. Call mcp__github__list_copilot_spaces and find the space number (e.g., 19).
  2. Call mcp__github__get_copilot_space to read current instructions.
  3. Modify the instructions text as requested.
  4. Push the update:
gh api users/labudis/copilot-spaces/19 -X PUT -f general_instructions="updated instructions..."

Tips

  • Space names are case-sensitive. Use the exact name from list_copilot_spaces.
  • Spaces can be owned by users or organizations. Always provide both owner and name.
  • Space content can be large (20KB+). If returned as a temp file, use grep or view_range to find relevant sections rather than reading everything at once.
  • If a space isn't found, suggest listing available spaces to find the right name.
  • Spaces auto-update as underlying repos change, so the context is always current.
  • Some spaces contain custom instructions that should guide your behavior (coding standards, preferred patterns, workflows). Treat these as directives, not suggestions.
  • Write operations (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.
  • Resource updates replace the entire array. To add a resource, include all existing resources plus the new one. To remove one, include { "id": 123, "_destroy": true } in the array.

githubのその他のスキル

console-rendering
github
Goにおける構造体タグベースのコンソールレンダリングシステムの使用手順
official
acquire-codebase-knowledge
github
ユーザーが既存のコードベースのマッピング、ドキュメント化、またはオンボーディングを明示的に依頼した場合にこのスキルを使用します。「このコードベースをマッピングして」「ドキュメント化して…」といったプロンプトで起動します。
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
AgentRCのinstructionsコマンドを使用して、カスタマイズされたAIエージェント指示ファイルを生成します。.github/copilot-instructions.md(デフォルト、VS CodeのCopilotに推奨)を出力します…
official
acreadiness-policy
github
ユーザーがAgentRCポリシーを選択、作成、または適用するのを支援します。ポリシーは、関連性のないチェックを無効にしたり、影響度/レベルを上書きしたり、設定することで、レディネススコアリングをカスタマイズします。
official
add-educational-comments
github
コードファイルに教育的なコメントを追加し、効果的な学習リソースに変換します。説明の深さとトーンを、設定可能な3つの知識レベル(初心者、中級、上級)に適応させます。ファイルが提供されない場合は自動的にリクエストし、番号付きリストで素早く選択できます。教育的なコメントのみを使用してファイルを最大125%拡張します(ハードリミット:新しい行400行、1,000行を超えるファイルは300行)。ファイルのエンコーディング、インデントスタイル、構文の正確性を保持し、...
official
adobe-illustrator-scripting
github
ExtendScript(JavaScript/JSX)を使用して、Adobe Illustratorの自動化スクリプトの作成、デバッグ、最適化を行います。スクリプトを作成または修正して操作する際に使用します…
official
agent-governance
github
宣言的なポリシー、意図分類、および監査証跡により、AIエージェントのツールアクセスと動作を制御します。構成可能なガバナンスポリシーは、許可/ブロックされたツール、コンテンツフィルター、レート制限、承認要件を定義し、コードではなく設定として保存されます。セマンティック意図分類は、パターンベースのシグナルを使用して、ツール実行前に危険なプロンプト(データ流出、権限昇格、プロンプトインジェクション)を検出します。ツールレベルのガバナンスデコレーターは、関数にポリシーを適用します...
official