mirror of
https://github.com/github/awesome-copilot.git
synced 2026-07-14 01:51:02 +00:00
Update Learning Hub for Copilot CLI v1.0.69-1.0.70 features
New features documented: - .github/copilot/settings.json for repository-pinned model/effort/context settings (v1.0.70) - /refine command to rewrite rough prompts into clear ones (v1.0.70) - Forge auto-creating draft skills from workflow patterns (v1.0.70) - preToolUse exit code 2 for explicit tool call denial (v1.0.70) - /plugins dashboard for managing plugins mid-session (v1.0.69) - Plugin SHA pinning for reproducible installations (v1.0.70) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
30472ecf0f
commit
13f4a53644
@@ -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-06-25
|
||||
lastUpdated: 2026-07-11
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- hooks
|
||||
@@ -392,6 +392,8 @@ Block dangerous commands before they execute. Use the `matcher` field to target
|
||||
|
||||
The `preToolUse` hook receives JSON input with details about the tool being called. Your script can inspect this input and exit with a non-zero code to **deny** the tool execution, or exit with zero to **approve** it.
|
||||
|
||||
> **Exit code 2 for explicit denial** *(v1.0.70+)*: `preToolUse` hooks that exit with code `2` explicitly deny the tool call. Using exit code `2` is the recommended way to signal a deliberate policy block (as opposed to exit code `1`, which signals an unexpected script error). Both non-zero exit codes block the tool, but exit code `2` produces a cleaner, more informative denial message in the timeline.
|
||||
|
||||
### Modifying Tool Arguments with preToolUse
|
||||
|
||||
Beyond approve/deny, `preToolUse` hooks can also **modify tool arguments** before they are passed to the tool, and inject **additional context** into the agent's reasoning. To do this, write JSON to stdout from your hook script:
|
||||
|
||||
@@ -3,7 +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-07
|
||||
lastUpdated: 2026-07-11
|
||||
estimatedReadingTime: '10 minutes'
|
||||
tags:
|
||||
- configuration
|
||||
@@ -413,6 +413,23 @@ In addition to the main config file, GitHub Copilot CLI reads two optional per-p
|
||||
|
||||
These files follow the same format as `config.json` and are loaded after the global config, so they can tailor CLI behaviour—including hook definitions—per repository without touching `.github/`.
|
||||
|
||||
**Repository-pinned settings via `.github/copilot/settings.json`** *(v1.0.70+)*: A trusted repository can pin the model, reasoning effort level, and context tier for all sessions in that repository, and extend the URL, MCP server, and skill deny lists, by committing a `.github/copilot/settings.json` file:
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "claude-sonnet-4.6",
|
||||
"effortLevel": "high",
|
||||
"contextTier": "long",
|
||||
"denyList": {
|
||||
"urls": ["*.internal.example.com"],
|
||||
"mcpServers": ["untrusted-server"],
|
||||
"skills": []
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
When this file is present, the CLI applies these settings for any session rooted in the repository. This is useful for enforcing consistent AI settings across a team — for example, requiring a specific model for compliance workflows or capping effort level to control costs. The deny lists extend (not replace) your personal deny list configuration.
|
||||
|
||||
> **Important (v1.0.36+)**: Custom agents, skills, and commands placed in `~/.claude/` (the Claude Code user directory) are **no longer loaded** by GitHub Copilot CLI. Only `~/.claude/settings.json` is read for configuration. If you previously stored personal agents or skills in `~/.claude/`, move them to the supported locations: `~/.copilot/agents/` for user-level agents, `~/.copilot/skills/` or `~/.agents/skills/` for personal skills, or `.github/agents/` and `.github/skills/` in your repositories for project-level customizations.
|
||||
|
||||
### Model Picker
|
||||
@@ -592,6 +609,14 @@ The `/ask` command lets you ask a quick question without affecting your conversa
|
||||
/ask What does the `retry` utility in src/utils do?
|
||||
```
|
||||
|
||||
The `/refine` command *(v1.0.70+)* rewrites a rough, stream-of-consciousness prompt into a clearer, more structured one before sending it. Use it when you have a complex idea but want to improve how you express it to the model:
|
||||
|
||||
```
|
||||
/refine
|
||||
```
|
||||
|
||||
After typing your draft prompt and running `/refine`, the CLI returns a refined version you can edit further or send as-is. This is useful for complex feature requests or architectural discussions where precision matters.
|
||||
|
||||
The `/env` command shows all loaded environment details — instructions, MCP servers, skills, agents, and plugins — in a single view. Use it to verify that the right resources are active for the current session:
|
||||
|
||||
```
|
||||
|
||||
@@ -3,7 +3,7 @@ title: 'Creating Effective Skills'
|
||||
description: 'Master the art of writing reusable, shareable skill folders that deliver consistent results across your team.'
|
||||
authors:
|
||||
- GitHub Copilot Learning Hub Team
|
||||
lastUpdated: 2026-06-30
|
||||
lastUpdated: 2026-07-11
|
||||
estimatedReadingTime: '9 minutes'
|
||||
tags:
|
||||
- skills
|
||||
@@ -413,6 +413,10 @@ A: In v1.0.66+, the agent can propose draft skill additions or improvements as i
|
||||
|
||||
This opens a review flow where you can accept, reject, or defer each proposed change — giving you full control over how your skill library evolves. No changes are applied until you approve them.
|
||||
|
||||
**Q: What is Forge and how does it create skills automatically?**
|
||||
|
||||
A: In v1.0.70+, Forge is the CLI's workflow pattern detector. When the CLI observes that you or an agent are repeatedly following a clear workflow pattern — a sequence of steps that keeps recurring across prompts — it automatically creates a **draft skill** capturing that pattern. You then review and approve it with `/chronicle skills review` before it is saved. This makes growing your skill library feel organic: instead of manually authoring skills from scratch, Forge surfaces them from work you are already doing.
|
||||
|
||||
## Common Pitfalls to Avoid
|
||||
|
||||
- ❌ **Vague description**: "Code helper" doesn't help agents discover the skill
|
||||
|
||||
@@ -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-06-24
|
||||
lastUpdated: 2026-07-11
|
||||
estimatedReadingTime: '8 minutes'
|
||||
tags:
|
||||
- plugins
|
||||
@@ -200,6 +200,29 @@ copilot plugin marketplace update
|
||||
copilot plugin uninstall my-plugin
|
||||
```
|
||||
|
||||
**`/plugins` dashboard** *(v1.0.69+)*: Inside a Copilot CLI session, run `/plugins` to open an interactive dashboard that shows all installed plugins, their status, and quick actions to enable, disable, or manage them — without leaving your current conversation:
|
||||
|
||||
```
|
||||
/plugins
|
||||
```
|
||||
|
||||
The dashboard is also accessible while the agent is working, so you can inspect or toggle plugins mid-turn. You can also reload installed plugin extensions without restarting the session *(v1.0.69+)*.
|
||||
|
||||
**Pinning a plugin to a specific commit SHA** *(v1.0.70+)*: Marketplace plugins can be pinned to an exact commit SHA for reproducible, auditable installations. Add a `sha` field to the plugin source configuration in your plugin settings to lock the plugin to that exact revision:
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": {
|
||||
"my-plugin": {
|
||||
"source": "awesome-copilot",
|
||||
"sha": "abc1234def5678..."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Pinning to a SHA prevents automatic updates from changing plugin behavior unexpectedly — useful in compliance-sensitive or production environments where you want explicit control over plugin versions.
|
||||
|
||||
### Loading Plugins from a Local Directory
|
||||
|
||||
You can load plugins directly from a local directory without installing them from a marketplace, using the `--plugin-dir` flag when starting Copilot:
|
||||
|
||||
Reference in New Issue
Block a user