Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this quickstart, you use the Azure Functions hosted skills canvas in GitHub Copilot to create a hosted skill that summarizes GitHub repository activity, run it locally, and inspect the result. The canvas provides visible controls and results while GitHub Copilot helps you complete the workflow.
Important
Azure Functions hosted skills is currently in preview. Features, configuration names, and supported connectors can change before general availability.
Prerequisites
- The standalone GitHub Copilot app.
Note
This app is separate from the GitHub Copilot extension for Visual Studio Code. For Copilot Business or Copilot Enterprise, your administrator must enable the GitHub Copilot app policy.
- Azure Functions Core Tools version 4.
- Node.js 22 or later. The canvas and Azure Functions Core Tools use Node.js.
- GitHub CLI.
- Azurite.
- Python 3.13 or later for the generated app, provided by either:
uv(recommended), which lets the canvas provision Python.- An existing Python 3.13 or later installation.
- Access to at least one model in your GitHub Copilot app session.
Install the plugin
Install the full Azure Functions Hosted Skills plugin. The plugin includes the canvas and the launcher skills that open it from chat.
Open the GitHub Copilot app, and then sign in to GitHub. If you're already signed in, continue to the next step.
In the model picker below the prompt box, confirm that at least one named model is available. The canvas discovers eligible models from your current session; it doesn't maintain a separate model list.
Select Customize, and then confirm that Canvas is available.
Select Customize > Plugins. Under Available, select awesome-copilot from the marketplace list, find Azure Functions Hosted Skills, and then select + Install.
If awesome-copilot isn't listed, select the settings icon. In Source, enter
github/awesome-copilot, select Add, and then select awesome-copilot from the marketplace list.Fully quit and reopen GitHub Copilot so that it loads the canvas and launcher skills.
Open the canvas
For local testing, the canvas uses the GitHub CLI authentication for your currently signed-in account. You can run the sign-in command in any terminal on the same computer; the terminal isn't part of the GitHub Copilot app.
Open any local terminal, and then sign in to GitHub CLI:
gh auth loginIn GitHub Copilot, start a new chat and enter this prompt:
Open Azure Functions Hosted Skills canvas
Create and start the hosted skill
Select Local Function App.
Select Start local function.
The canvas prepares an isolated Python environment, installs the app dependencies, and starts the local Functions host.
Invoke the Timer skill
With the local Functions host running, select Timer.
Select Invoke Trigger.
In Agent digest, confirm that the hosted skill returned a repository activity summary.
Review Trigger activity, Commands, and Local function host log for the invocation status and execution details.
You now have a local Python Azure Functions app with a Timer-triggered hosted skill. The app files include host.json and at least one .agent.md file.
Develop, deploy, or troubleshoot
From the canvas, choose the next step that matches what you want to do.
Select Open in VS Code to continue developing the generated app locally. You can edit the project files, add tools, or review the app configuration in Visual Studio Code.
Clean up
Stop the local Functions host in the canvas. If you started Azurite manually, stop it by pressing Ctrl+C in its terminal. If you no longer need the sample, delete the generated app folder from your worktree. Review the folder first so that you don't delete changes that you want to keep.