mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-01 23:12:29 +00:00
docs: update learning hub for Copilot CLI v1.0.72–v1.0.75 changes
- automating-with-hooks: document agentStop loop prevention and stop_hook_active flag (v1.0.72) - building-custom-agents: document relative link resolution in agent instructions (v1.0.73) - copilot-configuration-basics: add /model --plan for plan-mode model selection (v1.0.74) - installing-and-using-plugins: document Open Plugin Spec v1 and mcp.json support (v1.0.74) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
329f2dcdaf
commit
f98aa7f9c5
@@ -3,10 +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
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- hooks
|
||||
lastUpdated: 2026-07-27
|
||||
- automation
|
||||
- fundamentals
|
||||
relatedArticles:
|
||||
@@ -369,6 +366,19 @@ 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.
|
||||
|
||||
> **agentStop loop prevention (v1.0.72+)**: If an `agentStop` hook *always* exits with a non-zero code, prior versions would loop indefinitely as the CLI retried. Since v1.0.72, the CLI ends the turn after **8 consecutive blocks** to prevent runaway loops. Additionally, `agentStop` hooks now receive a `stop_hook_active` flag in their JSON input so they can detect a forced continuation and self-limit. Use this flag to short-circuit your hook when it detects it's been invoked repeatedly in the same turn:
|
||||
>
|
||||
> ```bash
|
||||
> #!/usr/bin/env bash
|
||||
> INPUT=$(cat)
|
||||
> # If we've already blocked multiple times, let the turn proceed
|
||||
> if echo "$INPUT" | jq -e '.stop_hook_active == true' > /dev/null 2>&1; then
|
||||
> exit 0
|
||||
> fi
|
||||
> # Normal lint check
|
||||
> npx eslint . --max-warnings 0
|
||||
> ```
|
||||
|
||||
### 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,11 +3,7 @@ title: 'Building Custom Agents'
|
||||
description: 'Learn how to create specialized GitHub Copilot agents with custom personas, tool integrations, and domain expertise.'
|
||||
authors:
|
||||
- GitHub Copilot Learning Hub Team
|
||||
lastUpdated: 2026-07-09
|
||||
estimatedReadingTime: '10 minutes'
|
||||
tags:
|
||||
- agents
|
||||
- customization
|
||||
lastUpdated: 2026-07-27
|
||||
- fundamentals
|
||||
relatedArticles:
|
||||
- ./what-are-agents-skills-instructions.md
|
||||
@@ -101,6 +97,8 @@ For MCP server tools, reference them by server name (e.g., `postgres`, `docker`)
|
||||
|
||||
After the frontmatter, write Markdown instructions that define the agent's behavior. Structure these clearly:
|
||||
|
||||
> **Relative links in instructions (v1.0.73+)**: Links in your agent's Markdown instructions (e.g., `[style guide](./docs/style.md)`) are now resolved **relative to the agent file's location**, not the repository root. This means you can reference files that live alongside your agent in `.github/agents/` without worrying about path conflicts. For example, if your agent is at `.github/agents/api-reviewer.agent.md`, a link to `[conventions](./api-conventions.md)` resolves to `.github/agents/api-conventions.md`.
|
||||
|
||||
````markdown
|
||||
---
|
||||
name: 'API Design Reviewer'
|
||||
|
||||
@@ -3,10 +3,7 @@ title: 'Copilot Configuration Basics'
|
||||
description: 'Learn how to configure GitHub Copilot at user, workspace, and repository levels to optimize your AI-assisted development experience.'
|
||||
authors:
|
||||
- GitHub Copilot Learning Hub Team
|
||||
lastUpdated: 2026-07-13
|
||||
estimatedReadingTime: '10 minutes'
|
||||
tags:
|
||||
- configuration
|
||||
lastUpdated: 2026-07-27
|
||||
- setup
|
||||
- fundamentals
|
||||
relatedArticles:
|
||||
@@ -468,6 +465,16 @@ The settings dialog supports search — type to filter settings by name. Changes
|
||||
/model --local # view/edit your personal model preference
|
||||
```
|
||||
|
||||
*(v1.0.74+)* Use `/model plan` (or `/model --plan`) to set a **plan-mode–specific model**. This lets you use a lighter, faster model while planning and a more capable model when executing:
|
||||
|
||||
```
|
||||
/model --plan # open the model picker scoped to plan mode
|
||||
/model --plan claude-haiku-4-5 # set a specific model for plan mode
|
||||
/model --plan off # clear the plan-mode model (reverts to session model)
|
||||
```
|
||||
|
||||
The plan-mode model reverts to your session model automatically when you leave plan mode.
|
||||
|
||||
These flags mirror the **Repo** and **Repo (local)** scope tabs available in the `/settings` dashboard (v1.0.71+), making it easier to manage per-repository vs. user-global configuration without ambiguity. In v1.0.71+, the `/settings` dashboard also shows **Repo** and **Repo (local)** tabs alongside the existing user-level view, giving you a unified place to see which settings are applied at each layer.
|
||||
|
||||
GitHub Copilot CLI has two commands for managing session state, with distinct behaviours:
|
||||
|
||||
@@ -3,10 +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
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- plugins
|
||||
lastUpdated: 2026-07-27
|
||||
- copilot-cli
|
||||
- fundamentals
|
||||
relatedArticles:
|
||||
@@ -31,7 +28,7 @@ A plugin bundles one or more of the following components:
|
||||
| **Custom Agents** | Specialized AI assistants with tailored expertise | `agents/*.agent.md` |
|
||||
| **Skills** | Discrete callable capabilities with bundled resources | `skills/*/SKILL.md` |
|
||||
| **Hooks** | Event handlers that intercept agent behavior | `hooks.json` or `hooks/` |
|
||||
| **MCP Servers** | Model Context Protocol integrations for external tools | `.mcp.json` or `.github/mcp.json` |
|
||||
| **MCP Servers** | Model Context Protocol integrations for external tools | `.mcp.json`, `.github/mcp.json`, or Open Plugin Spec `mcp.json` (v1.0.74+) |
|
||||
| **LSP Servers** | Language Server Protocol integrations | `lsp.json` or `.github/lsp.json` |
|
||||
| **Extensions** | IDE extensions installable via the plugin marketplace (v1.0.62+) | `extensions/` |
|
||||
|
||||
@@ -200,6 +197,8 @@ Or from an interactive session:
|
||||
|
||||
> **Deprecation notice**: Installing plugins directly from a GitHub repository URL, raw URL, or local file path (e.g., `copilot plugin install github/awesome-copilot`) is deprecated and will be removed in a future release. Use marketplace-based installation instead.
|
||||
|
||||
> **Open Plugin Spec v1 and `mcp.json` (v1.0.74+)**: Copilot CLI now supports the **Open Plugin Spec v1** manifest format in addition to the proprietary `plugin.json` format. This means plugins authored in `mcp.json` configuration format (used by tools like Claude Code) are automatically recognized and installable. If your team uses a shared `mcp.json` for MCP server configuration, it can also serve as a plugin manifest — no conversion needed.
|
||||
|
||||
### From VS Code
|
||||
|
||||
Browse to the plugin via `@agentPlugins` in the Extensions search view or via **Chat: Plugins** in the Command Palette, then click **Install**.
|
||||
|
||||
Reference in New Issue
Block a user