SkillWright is a Copilot Studio agent package focused on installing and managing skills using skills-for-copilot-studio patterns.
Before importing or running the agent, make sure all requirements below are satisfied.
- Copilot Studio environment is available and you can open the target agent.
- The Power Platform environment is a Managed Environment.
- Dataverse Intelligence is enabled for the environment.
- You have permissions to import connectors, manage connections, and import agent assets.
- The
skills-for-copilot-studioVS Code tooling is installed for local authoring and validation.
SkillWright should be deployed to a managed environment to ensure governance, policy, and enterprise controls are in place.
Recommended checks:
- Confirm the target environment is marked as Managed Environment in Power Platform admin center.
- Confirm DLP and connector governance policies allow the GitHub custom connector.
- Confirm solution import and connector creation are not blocked by tenant policy.
SkillWright assumes Dataverse Intelligence capabilities are enabled for intelligent behaviors and advanced orchestration patterns.
Recommended checks:
- Confirm Dataverse Intelligence is enabled in the target environment.
- Confirm the environment has required capacity and licensing for Dataverse-backed features.
- Confirm users running the agent can access required Dataverse resources.
Dataverse Intelligence helps the agent move from simple Q&A into business-aware automation.
It enables richer enterprise scenarios by allowing skills to:
- Use business context from Dataverse data, not just prompt text.
- Route actions based on business entities, relationships, and rules.
- Produce more reliable and relevant responses in line with organizational data.
- Support repeatable workflows where skills can be reused across departments and use cases.
Without this layer, skills can still run, but they are typically less contextual and less aligned with real business processes.
Business skills are reusable, task-focused capabilities an agent can invoke to complete a business outcome.
In practice, a business skill usually combines:
- A clear intent (what the user wants done).
- A connector or API action (how the action is executed).
- Optional business data context (who/what/where in business terms).
- A safe response pattern (how results and errors are returned to the user).
For SkillWright, examples of business skills include:
- Finding skill collections in GitHub repositories for a specific capability.
- Discovering agent skill definitions and returning install-ready references.
- Listing repository files recursively to evaluate skill package structure.
- Pulling file content to inspect installation metadata or manifests.
Dataverse MCP Server Preview enables a Copilot Studio agent to invoke MCP-powered operations over Dataverse in a structured and governable way.
When combined with business skills, Dataverse MCP Server Preview helps your agent:
- Understand business context from Dataverse tables and relationships.
- Execute skill actions with consistent data contracts.
- Apply enterprise controls through managed environments and connection governance.
- Orchestrate multi-step business outcomes instead of isolated API calls.
A common pattern in SkillWright is:
- User asks for a business outcome (for example, discover and prepare a skill package).
- Agent interprets intent and decides which business skill to execute.
- Dataverse MCP Server Preview action is used to retrieve or validate supporting business context.
- GitHub connector actions fetch repository details and files.
- Agent returns a response with recommended next steps and dependency checks.
- Confirm Dataverse MCP Server Preview is available in your environment.
- Ensure the Dataverse MCP action is present in agent actions (for this repo, see the Dataverse MCP action definition in the Skills Agent actions folder).
- Verify connection references are mapped and valid.
- Validate permissions for Dataverse access and connector invocation.
- Test a basic end-to-end flow before enabling broader user access.
- "Given this team capability, find matching skill packages and validate readiness against our business context."
- "Use business metadata to prioritize which skill collection should be installed first."
- "Check required dependencies and show which skills are safe to install in this environment."
- "Search GitHub for skills, then use Dataverse context to recommend the best match for onboarding workflows."
Use prompts that include:
- Business goal: what outcome is needed.
- Scope: which team/process/environment is targeted.
- Constraint: governance, compliance, or dependency boundaries.
- Output format: summary, ranked options, or install checklist.
After setup is complete, use SkillWright for scenarios like:
- "Find me skill collections for IT service management in GitHub."
- "Search for agent skills related to employee onboarding."
- "List all files in this repo so I can verify skill packaging."
- "Get the default branch and inspect installation files before import."
- "Retrieve this skill definition file content and summarize what it installs."
- Ask the agent to search GitHub for relevant skills.
- Ask it to list repository contents.
- Ask it to fetch target files (metadata, docs, manifests).
- Review compatibility with your managed environment and governance policies.
- Import the custom connector and complete the installation sequence.
Install in this order to avoid broken references:
- Install the custom connector first (
Github-Search.swagger.json). - Create/authorize connector connections.
- Import agent assets using one of the supported methods (folder-based import or unmanaged solution import).
- Map all connection references.
- Validate actions and topic triggers.
If you import the agent first, action steps may fail because connection references to the GitHub connector do not yet exist.
- Clone this repository.
- Open the workspace in VS Code.
- Install
skills-for-copilot-studiotooling if not already installed. - Import the custom connector from
Custom Connector/Github-Search.swagger.json. - Complete connector authentication and test a connector operation.
- Import the agent using one of the installation methods below.
- Bind connection references in
connectionreferences.mcs.ymlto the created connector connection. - Validate key topics, especially
Search.mcs.yml, and run a test conversation.
SkillWright can be installed in two ways:
skills-for-copilot-studiomethod using the agent files in this repository.- Unmanaged solution package import.
Use this method when you want a source-controlled authoring workflow in VS Code.
- Open this repo in VS Code with
skills-for-copilot-studioinstalled. - Confirm the local agent structure is present under
Skills Agent:agent.mcs.ymlsettings.mcs.ymlconnectionreferences.mcs.ymlactions/*.mcs.ymltopics/*.mcs.yml
- Use the extension validation flow to validate the local YAML files before deployment.
- Use the extension manage/sync flow to push the local agent to your target Copilot Studio environment.
- During publish/sync, map
connectionreferences.mcs.ymlto your created GitHub connector connection. - Open the deployed agent in Copilot Studio and run a test conversation for
Search.
Expected result:
- Actions are visible and callable.
- Topics are active.
- GitHub-backed skill discovery works end-to-end.
Use this when you want a packaged import path.
- Open Power Apps and go to Solutions.
- Select Import solution.
- Upload the SkillWright unmanaged solution package.
- Complete import and resolve any prompts for connection references.
- Verify the custom connector connection is mapped correctly.
Important:
- The custom connector must still be installed first.
- Unmanaged solution import does not remove the dependency on connector authentication.
- Run the Post-Install Validation checklist after import.
Use a GitHub Personal Access Token (PAT) when configuring connector authentication.
- Sign in to GitHub and open Settings.
- Go to Developer settings.
- Open Personal access tokens.
- Create either:
- Fine-grained token (recommended)
- Classic token (if your organization requires it)
- Set an expiration date.
- Grant minimum required permissions:
- Fine-grained: Repository metadata (Read-only), Contents (Read-only) for target repos.
- Classic:
public_repofor public repository access scenarios.
- Generate the token and copy it immediately.
Provide the token to the custom connector in this exact authorization value format:
Bearer <token>
Example:
Bearer github_pat_XXXXXXXXXXXXXXXXXXXXXXXX
- Never commit tokens to source control.
- Store tokens only in secure connection settings or approved secret stores.
- Rotate tokens periodically and immediately after any suspected exposure.
- Prefer short expiration windows and least-privilege scopes.
Run this quick validation checklist after import:
- Connector operations run successfully from the connector test panel.
- Agent opens without unresolved dependency warnings.
- Topic
Searchinvokes GitHub actions and returns results. - No missing connection references remain.
OnErrortopic gracefully handles connector/API failures.
Likely cause: connector installed but connection reference was not mapped.
Fix:
- Open
Skills Agent/connectionreferences.mcs.yml. - Rebind to the valid connector connection.
- Re-run action test.
Likely cause: connector auth is incomplete or token scope is insufficient.
Fix:
- Re-open connector connection settings.
- Re-authorize the connection.
- Test the
SearchGitHubforAgentSkillsaction directly.
Likely cause: environment requirements are partially met.
Fix:
- Re-check Managed Environment status.
- Re-check Dataverse Intelligence configuration.
- Validate DLP and connector policy alignment.
- The custom connector is a hard dependency for action invocations.
- Importing the connector first is mandatory for a reliable setup.
- Managed Environment plus Dataverse Intelligence should be treated as baseline platform requirements.
