From 13f4a5364485679172183b45db2b2317556ef24d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 11 Jul 2026 21:02:58 +0000 Subject: [PATCH] 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> --- .../learning-hub/automating-with-hooks.md | 4 ++- .../copilot-configuration-basics.md | 27 ++++++++++++++++++- .../learning-hub/creating-effective-skills.md | 6 ++++- .../installing-and-using-plugins.md | 25 ++++++++++++++++- 4 files changed, 58 insertions(+), 4 deletions(-) diff --git a/website/src/content/docs/learning-hub/automating-with-hooks.md b/website/src/content/docs/learning-hub/automating-with-hooks.md index 866c05157..0b85c2e8e 100644 --- a/website/src/content/docs/learning-hub/automating-with-hooks.md +++ b/website/src/content/docs/learning-hub/automating-with-hooks.md @@ -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: diff --git a/website/src/content/docs/learning-hub/copilot-configuration-basics.md b/website/src/content/docs/learning-hub/copilot-configuration-basics.md index 607cab55a..ff50b50de 100644 --- a/website/src/content/docs/learning-hub/copilot-configuration-basics.md +++ b/website/src/content/docs/learning-hub/copilot-configuration-basics.md @@ -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: ``` diff --git a/website/src/content/docs/learning-hub/creating-effective-skills.md b/website/src/content/docs/learning-hub/creating-effective-skills.md index 379ab5997..1db15bd5a 100644 --- a/website/src/content/docs/learning-hub/creating-effective-skills.md +++ b/website/src/content/docs/learning-hub/creating-effective-skills.md @@ -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 diff --git a/website/src/content/docs/learning-hub/installing-and-using-plugins.md b/website/src/content/docs/learning-hub/installing-and-using-plugins.md index a45c85add..b7bd166fa 100644 --- a/website/src/content/docs/learning-hub/installing-and-using-plugins.md +++ b/website/src/content/docs/learning-hub/installing-and-using-plugins.md @@ -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: