Skip to content

feat: add cli-mastery skill — interactive Copilot CLI training#814

Closed
DUBSOpenHub wants to merge 1 commit intogithub:stagedfrom
DUBSOpenHub:add-cli-mastery
Closed

feat: add cli-mastery skill — interactive Copilot CLI training#814
DUBSOpenHub wants to merge 1 commit intogithub:stagedfrom
DUBSOpenHub:add-cli-mastery

Conversation

@DUBSOpenHub
Copy link
Contributor

New Skill: cli-mastery

What it does: An 8-module interactive training skill that teaches users to master the GitHub Copilot CLI through guided lessons, quizzes, scenario challenges, and a comprehensive reference.

Modules covered:

  1. Slash Commands (41 commands across 8 categories)
  2. Keyboard Shortcuts (19 shortcuts)
  3. Modes (ask, edit, agent)
  4. Agents (task, explore, general-purpose, code-review)
  5. Skills (creating, registering, debugging)
  6. MCP (Model Context Protocol servers & tools)
  7. Advanced Techniques (prompt engineering, multi-agent, CI/CD)
  8. Configuration (settings, themes, keybindings)

How to invoke: Just say cliexpert or ask about any Copilot CLI topic.

Architecture: Slim SKILL.md router (492/500 tokens) + 10 bundled curriculum files loaded on demand.

Validation:

  • npm run skill:validate — passes (198/198 skills valid)
  • waza check — 8/8 spec, 492/500 tokens, eval suite present
  • ✅ Includes XP/leveling system, achievements, and progress tracking via SQL

Source repo: https://github.com/DUBSOpenHub/copilot-cli-mastery

Copilot AI review requested due to automatic review settings February 25, 2026 07:40
@DUBSOpenHub DUBSOpenHub changed the base branch from main to staged February 25, 2026 07:41
Adds an 8-module interactive training skill that teaches users to master
the GitHub Copilot CLI through guided lessons, quizzes, scenario
challenges, and a comprehensive reference.

Modules: slash commands, keyboard shortcuts, modes, agents, skills,
MCP, advanced techniques, and configuration.

Includes curriculum/ bundled assets loaded on demand to stay within
the 500-token SKILL.md budget.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a comprehensive interactive CLI training skill called cli-mastery that teaches users to master the GitHub Copilot CLI through an 8-module curriculum covering slash commands, keyboard shortcuts, modes, agents, skills, MCP integration, advanced techniques, and configuration. The skill uses a slim SKILL.md router (492/500 tokens) that loads curriculum content on demand from 10 bundled markdown files, includes quizzes and scenario challenges, and features an XP/leveling system with SQL-based progress tracking.

Changes:

  • New skill folder skills/cli-mastery/ with SKILL.md and curriculum directory
  • 8 instructional modules covering comprehensive CLI topics
  • Scenario-based challenges and final exam
  • Interactive training system with progress tracking via SQL

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
skills/cli-mastery/SKILL.md Main skill entry point with frontmatter, routing logic, and progress tracking initialization
skills/cli-mastery/curriculum/module-1-slash-commands.md Comprehensive list of 41+ slash commands across 8 categories
skills/cli-mastery/curriculum/module-2-keyboard-shortcuts.md 19 keyboard shortcuts for navigation, editing, and line operations
skills/cli-mastery/curriculum/module-3-modes.md Documentation of Interactive, Plan, and Autopilot modes
skills/cli-mastery/curriculum/module-4-agents.md Built-in agents, custom agent creation, and orchestration patterns
skills/cli-mastery/curriculum/module-5-skills.md Skills system overview, creation, and best practices
skills/cli-mastery/curriculum/module-6-mcp.md MCP integration, configuration, popular servers, and security
skills/cli-mastery/curriculum/module-7-advanced.md Advanced techniques including file mentions, custom instructions, and review commands
skills/cli-mastery/curriculum/module-8-configuration.md Configuration files, environment variables, permissions, and logging
skills/cli-mastery/curriculum/scenarios.md 8 real-world scenario challenges
skills/cli-mastery/curriculum/final-exam.md 10-question comprehensive exam with question bank
Comments suppressed due to low confidence (5)

skills/cli-mastery/curriculum/module-1-slash-commands.md:75

  • The /plugin command is listed under "Extensibility" as "Manage plugins" for "Extend functionality". This command should be verified to ensure it exists in the GitHub Copilot CLI. The Copilot CLI may not have a plugin system separate from skills and MCP servers, so this command may not exist or may be confused with other extensibility mechanisms.
| `/plugin` | Manage plugins | Extend functionality |

skills/cli-mastery/curriculum/scenarios.md:12

  • In the "Answer" for Scenario 2, the text states "Keep continuity while shrinking noise." This phrasing is somewhat unclear. Consider rephrasing to "Maintain continuity while reducing context size" or "Preserve session context while compressing history" for better clarity.
> Your session is huge and model quality is dropping. Keep continuity while shrinking noise.

skills/cli-mastery/curriculum/module-1-slash-commands.md:14

  • The command /terminal-setup is listed in the "Getting Started" section with the description "Configure multiline input" for "First-time setup". This command should be verified to ensure it exists in the GitHub Copilot CLI. If this is a hypothetical or proposed command that doesn't currently exist, it should be removed or marked as such to avoid confusing users who may try to use it.
| `/terminal-setup` | Configure multiline input | First-time setup |

skills/cli-mastery/curriculum/module-1-slash-commands.md:83

  • The /user command is listed under "Workflows" as "Manage GitHub user list" for "Team context". This command should be verified to ensure it exists and functions as described in the GitHub Copilot CLI. The description "Manage GitHub user list" is also somewhat vague - consider clarifying what this command actually does (e.g., does it manage collaborators, mentions, or user preferences?).
| `/user` | Manage GitHub user list | Team context |

skills/cli-mastery/curriculum/module-2-keyboard-shortcuts.md:12

  • The shortcut Ctrl+O is described as "Expand recent timeline (when no input)". This should be verified as Ctrl+O typically opens files in many applications. Similarly, Ctrl+E is listed for two different functions: "Expand all timeline / move to end of line". Having one shortcut perform two different actions depending on context could be confusing and should be clarified with specific conditions for each behavior.
| `Ctrl+O` | Expand recent timeline (when no input) |
| `Ctrl+E` | Expand all timeline / move to end of line |

|---------|-------------|-------------|
| `/model` | Switch AI model | Need different capability/speed |
| `/agent` | Browse/select agents | Delegate to specialist |
| `/fleet` | Enable parallel subagents | Complex multi-part tasks |
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The /fleet command is listed as "Enable parallel subagents" for "Complex multi-part tasks". This command should be verified to ensure it exists and functions as described in the GitHub Copilot CLI. If this is a proposed or experimental feature that may not be available to all users, consider adding a note indicating its experimental status or availability requirements.

This issue also appears in the following locations of the same file:

  • line 75
  • line 14
  • line 83
Suggested change
| `/fleet` | Enable parallel subagents | Complex multi-part tasks |
| `/fleet` | (Experimental, if available) enable parallel subagents | Complex multi-part tasks where supported |

Copilot uses AI. Check for mistakes.
| Shortcut | Action |
|----------|--------|
| `@` | Mention files — include their contents as context |
| `Ctrl+S` | Submit prompt while preserving input text |
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The shortcut Ctrl+S is described as "Submit prompt while preserving input text". This behavior should be verified as it's unusual for terminal applications. Typically, Ctrl+S is used for "save" or may trigger flow control (XOFF) in terminals. If this is accurate for GitHub Copilot CLI, it represents a non-standard terminal behavior that may conflict with user expectations or terminal settings.

This issue also appears on line 11 of the same file.

Copilot uses AI. Check for mistakes.
## Scenario 3: Autonomous Refactor Sprint
> You want an agent to execute a refactor with minimal prompts, but only after reviewing a plan and setting permissions.

**Answer:** `Shift+Tab` (Plan mode) → validate plan → `/delegate` → optionally `/allow-all`
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scenario answer mentions using Shift+Tab to enter "Plan mode", but according to Module 3 line 10, the command to enter Plan mode is Shift+Tab OR /plan. The description is consistent with the module documentation, so this is correct. However, consider clarifying in this scenario that the user should first use Plan mode (via Shift+Tab or /plan) to review the plan before delegating, as the current phrasing could be clearer about the sequence of actions.

This issue also appears on line 12 of the same file.

Copilot uses AI. Check for mistakes.
11. What does `/delegate` do? → Spawns a coding agent for a complex task
12. Which shortcut opens input in $EDITOR? → `Ctrl+X → Ctrl+E`
13. What does `/reset-allowed-tools` do? → Re-enables confirmation prompts
14. What does triple-pressing Ctrl+C do? → Exits the CLI
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question 14 states "What does triple-pressing Ctrl+C do? → Exits the CLI". However, in Module 2 line 16, it states that Ctrl+C is used to "Cancel operation / clear input / exit". The question should clarify whether a single press, double press, or triple press of Ctrl+C exits the CLI, or if this is accurate behavior that should be documented in Module 2. Consider verifying the actual behavior and ensuring consistency between the module content and the exam question.

Suggested change
14. What does triple-pressing Ctrl+C do? → Exits the CLI
14. What does pressing Ctrl+C do at the CLI level? → Exits the CLI

Copilot uses AI. Check for mistakes.

- AI acts without asking for confirmation
- Best for: trusted environments, long-running tasks
- Use with caution — pair with `/allow-all` or `--yolo`
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Autopilot Mode is described as "experimental, /experimental" and suggests pairing it with /allow-all or --yolo. This creates a potential security concern as it combines two risky features without adequate warning. Consider adding a stronger cautionary note about the security implications of combining autopilot mode with permission bypass flags, especially in production environments or when working with sensitive data.

Suggested change
- Use with caution — pair with `/allow-all` or `--yolo`
- Use extreme caution — avoid combining with `/allow-all` or `--yolo` except in disposable sandbox environments. Never use this combination in production or with sensitive data.

Copilot uses AI. Check for mistakes.
## Scenario 1: Hotfix Review Under Pressure
> A production bug fix is ready. You need to inspect the diff, run code review, and keep sensitive data hidden because you're on a livestream.

**Answer:** `/streamer-mode` → `/diff` → `/review @src/payment.ts`
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Scenario 1, the answer suggests /streamer-mode as the first command, but this command is not documented in Module 1 (slash commands). While /streamer-mode is mentioned in Module 1 line 64, it's listed under Configuration & Customization as a command to "Hide sensitive info" for "Livestreaming/demos". Consider verifying that this command exists in the GitHub Copilot CLI and functions as described, or updating the scenario if the command name or usage is different.

Suggested change
**Answer:** `/streamer-mode``/diff``/review @src/payment.ts`
**Answer:** `/diff``/review @src/payment.ts`

Copilot uses AI. Check for mistakes.
| `explore` | Haiku | Fast codebase Q&A | Read-only, <300 words, safe to parallelize |
| `task` | Haiku | Running commands (tests, builds, lints) | Brief on success, verbose on failure |
| `general-purpose` | Sonnet | Complex multi-step tasks | Full toolset, separate context window |
| `code-review` | All CLI tools | Analyzing code changes | Never modifies code, high signal-to-noise |
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The table states that the code-review agent uses "All CLI tools" as its model. This appears to be inconsistent with the pattern shown for other agents which specify actual model names (Haiku, Sonnet). The "Model" column should specify the AI model used (e.g., Claude Haiku, Claude Sonnet), not "All CLI tools". Consider verifying the actual model used by the code-review agent and updating this entry accordingly.

Suggested change
| `code-review` | All CLI tools | Analyzing code changes | Never modifies code, high signal-to-noise |
| `code-review` | Sonnet | Analyzing code changes | Never modifies code, high signal-to-noise |

Copilot uses AI. Check for mistakes.
Comment on lines +21 to +26
7. **Custom instructions precedence** (highest to lowest):
- `CLAUDE.md` / `GEMINI.md` / `AGENTS.md` (git root + cwd)
- `.github/instructions/**/*.instructions.md` (path-specific!)
- `.github/copilot-instructions.md`
- `~/.copilot/copilot-instructions.md`

Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The instruction precedence list mentions "CLAUDE.md / GEMINI.md / AGENTS.md (git root + cwd)" as having highest precedence. However, this list should be verified for accuracy. Based on typical Copilot CLI behavior, model-specific instruction files and AGENTS.md may not have higher precedence than path-specific instructions in .github/instructions/. Consider verifying the actual precedence order and updating if necessary to ensure users receive accurate guidance.

Suggested change
7. **Custom instructions precedence** (highest to lowest):
- `CLAUDE.md` / `GEMINI.md` / `AGENTS.md` (git root + cwd)
- `.github/instructions/**/*.instructions.md` (path-specific!)
- `.github/copilot-instructions.md`
- `~/.copilot/copilot-instructions.md`
7. **Custom instructions sources & typical precedence**:
- `.github/instructions/**/*.instructions.md` (most path-specific, typically highest precedence)
- `CLAUDE.md` / `GEMINI.md` / `AGENTS.md` (git root + cwd; may be combined with path-specific instructions)
- `.github/copilot-instructions.md` (repo-wide defaults)
- `~/.copilot/copilot-instructions.md` (user-wide defaults)
> Exact precedence can vary by Copilot CLI version and command; check the latest Copilot docs if you need precise rules.

Copilot uses AI. Check for mistakes.
|------|---------|
| `~/.copilot/config.json` | Main settings (model, theme, logging, experimental flags) |
| `~/.copilot/mcp-config.json` | MCP servers |
| `~/.copilot/lsp-config.json` | Language servers (user-level) |
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The configuration files table lists both ~/.copilot/lsp-config.json and .github/lsp.json for language servers. However, the typical pattern for Copilot CLI configuration uses .github/ for repo-level config. Consider verifying that ~/.copilot/lsp-config.json is the correct path for user-level LSP configuration, as it may differ from the actual implementation. The .github/lsp.json path should also be verified as the standard repo-level location.

Suggested change
| `~/.copilot/lsp-config.json` | Language servers (user-level) |
| `~/.copilot/lsp.json` | Language servers (user-level) |

Copilot uses AI. Check for mistakes.
@DUBSOpenHub
Copy link
Contributor Author

Closing — will resubmit later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants