mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-01 23:12:29 +00:00
docs: update Learning Hub for CLI v1.0.71-1.0.72 features
- automating-with-hooks.md: document stop_hook_active flag for agentStop hooks (v1.0.72) and the 8-consecutive-block limit to prevent infinite loops - working-with-canvas-extensions.md: add canvas support in CLI (v1.0.71), update prerequisites to include CLI users - installing-and-using-plugins.md: document direct skill installation via copilot plugins install --skill (v1.0.72) with project scope support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
ecf0f5a9f4
commit
1cb3e5a62a
@@ -3,7 +3,7 @@ title: 'Automating with Hooks'
|
||||
description: 'Learn how to use hooks to automate lifecycle events like formatting, linting, and governance checks during Copilot agent sessions.'
|
||||
authors:
|
||||
- GitHub Copilot Learning Hub Team
|
||||
lastUpdated: 2026-07-13
|
||||
lastUpdated: 2026-07-21
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- hooks
|
||||
@@ -369,6 +369,25 @@ Run ESLint after the agent finishes responding and block if there are errors:
|
||||
|
||||
If the lint command exits with a non-zero status, the action is blocked.
|
||||
|
||||
#### Preventing agentStop loops (v1.0.72+)
|
||||
|
||||
An `agentStop` hook that **always blocks** would previously cause the CLI to loop indefinitely. Starting with v1.0.72, the CLI automatically ends the turn after **8 consecutive blocks** and passes a `stop_hook_active` flag to the hook input, so your script can detect a forced continuation and self-limit.
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
# scripts/lint-and-stop.sh
|
||||
INPUT=$(cat)
|
||||
|
||||
# Detect forced continuation — skip the blocking check to avoid looping
|
||||
if echo "$INPUT" | jq -e '.stop_hook_active == true' > /dev/null 2>&1; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
npx eslint . --max-warnings 0
|
||||
```
|
||||
|
||||
This pattern lets your `agentStop` hook enforce quality checks without locking the agent in an infinite retry loop.
|
||||
|
||||
### Security Gating with preToolUse
|
||||
|
||||
Block dangerous commands before they execute. Use the `matcher` field to target only the `bash` tool, so the hook doesn't fire for file edits or other tools:
|
||||
|
||||
@@ -3,7 +3,7 @@ title: 'Installing and Using Plugins'
|
||||
description: 'Learn how to find, install, and manage plugins that extend GitHub Copilot CLI with reusable agents, skills, hooks, and integrations.'
|
||||
authors:
|
||||
- GitHub Copilot Learning Hub Team
|
||||
lastUpdated: 2026-07-13
|
||||
lastUpdated: 2026-07-21
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- plugins
|
||||
@@ -182,6 +182,31 @@ Pinning to a SHA guarantees that everyone on the team installs plugins from exac
|
||||
- **Change control** — review and approve plugin updates before rolling them out team-wide
|
||||
- **Stability** — prevent breaking changes in upstream marketplaces from impacting your team without notice
|
||||
|
||||
## Installing Skills Directly (v1.0.72+)
|
||||
|
||||
As of v1.0.72, you can install individual skills without creating or installing a full plugin. This is useful when you find a single useful skill and don't want to install an entire plugin:
|
||||
|
||||
```bash
|
||||
# Install a skill from a local directory
|
||||
copilot plugins install --skill ./path/to/my-skill/
|
||||
|
||||
# Install a skill from a URL
|
||||
copilot plugins install --skill https://raw.githubusercontent.com/owner/repo/main/skills/my-skill/SKILL.md
|
||||
|
||||
# Install a skill into the current project (repository scope)
|
||||
copilot plugins install --skill ./path/to/my-skill/ --scope project
|
||||
```
|
||||
|
||||
Or from within an interactive session:
|
||||
|
||||
```
|
||||
/plugins install --skill https://example.com/skills/my-skill/SKILL.md
|
||||
```
|
||||
|
||||
Skills installed this way are available immediately and appear in `copilot skill list`. Use `copilot plugins remove --skill <name>` to uninstall them.
|
||||
|
||||
> **Tip**: Skills from this repository can be installed individually this way. Browse the [Skills Directory](../../skills/) for available skills and use the raw GitHub URL of a skill's `SKILL.md` to install it directly.
|
||||
|
||||
## Installing Plugins
|
||||
|
||||
### From Copilot CLI
|
||||
|
||||
@@ -3,7 +3,7 @@ title: 'Working with Canvas Extensions'
|
||||
description: 'Create and iterate on GitHub Copilot app canvases using /create-canvas, then shape them into reusable project or personal extensions.'
|
||||
authors:
|
||||
- GitHub Copilot Learning Hub Team
|
||||
lastUpdated: 2026-06-17
|
||||
lastUpdated: 2026-07-21
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- copilot-app
|
||||
@@ -14,14 +14,16 @@ relatedArticles:
|
||||
- ./agents-and-subagents.md
|
||||
- ./using-copilot-coding-agent.md
|
||||
prerequisites:
|
||||
- Access to the GitHub Copilot app
|
||||
- Access to the GitHub Copilot app or GitHub Copilot CLI (v1.0.71+)
|
||||
- Basic familiarity with GitHub Copilot agent sessions
|
||||
---
|
||||
|
||||
Canvas extensions give you shared, interactive work surfaces inside the GitHub Copilot app. Instead of keeping all progress in chat, you can move work into a visible artifact (such as a board, document, checklist, or browser-oriented surface) that both people and agents can update.
|
||||
Canvas extensions give you shared, interactive work surfaces inside the GitHub Copilot app and GitHub Copilot CLI. Instead of keeping all progress in chat, you can move work into a visible artifact (such as a board, document, checklist, or browser-oriented surface) that both people and agents can update.
|
||||
|
||||
This guide explains what canvases can do, how to create one with `/create-canvas`, and how to use patterns from this repository as reference implementations.
|
||||
|
||||
> **CLI support (v1.0.71+)**: Canvas extensions are now available in the GitHub Copilot CLI in addition to the Copilot app. Create and interact with canvases directly from terminal sessions — the same `/create-canvas` skill and extension structure work across both surfaces.
|
||||
|
||||
## What canvases can do
|
||||
|
||||
A canvas is a bidirectional surface:
|
||||
|
||||
Reference in New Issue
Block a user