Skip to content

Commit a47d072

Browse files
committed
feat: πŸ”’ add SECURITY.md, PRD, enable Dependabot, update README
1 parent f96dfa0 commit a47d072

4 files changed

Lines changed: 303 additions & 1 deletion

File tree

β€ŽREADME.mdβ€Ž

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
55
[![GitHub](https://img.shields.io/badge/GitHub-Copilot_CLI-blue?logo=github)](https://github.com/features/copilot)
66
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
7+
[![Security Policy](https://img.shields.io/badge/Security-Policy-brightgreen?logo=github)](SECURITY.md)
78

89
---
910

@@ -97,17 +98,27 @@ copilot-cli-quickstart/
9798
β”‚ └── copilot-cli-quickstart/
9899
β”‚ └── SKILL.md ← 🧠 The brain β€” skill definition
99100
β”œβ”€β”€ agents/
100-
β”‚ └── copilot-cli-quickstart.agent.md ← πŸ€– Agent config
101+
β”‚ β”œβ”€β”€ copilot-cli-quickstart.agent.md ← πŸ€– Agent config
102+
β”‚ └── copilot-cli-quickstart.md ← πŸ“‹ PRD (Product Requirements Doc)
101103
β”œβ”€β”€ skills/
102104
β”‚ └── copilot-cli-quickstart/
103105
β”‚ β”œβ”€β”€ SKILL.md ← πŸ“š Canonical skill file
104106
β”‚ └── catalog.yml ← πŸ“‹ Metadata for Camp Air catalog
105107
β”œβ”€β”€ LICENSE
108+
β”œβ”€β”€ SECURITY.md ← πŸ”’ Security policy
106109
└── README.md ← πŸ‘‹ You are here!
107110
```
108111

109112
---
110113

114+
## πŸ”’ Security
115+
116+
See [SECURITY.md](SECURITY.md) for our security policy and how to report vulnerabilities.
117+
118+
This repo has **Dependabot alerts** and **automated security updates** enabled. πŸ›‘οΈ
119+
120+
---
121+
111122
## 🀝 Contributing
112123

113124
Got ideas to make this tutor even better? 🎨

β€ŽSECURITY.mdβ€Ž

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# πŸ”’ Security Policy
2+
3+
## πŸ›‘οΈ Supported Versions
4+
5+
| Version | Supported |
6+
|---------|-----------|
7+
| 1.0.x | βœ… Yes |
8+
9+
## 🚨 Reporting a Vulnerability
10+
11+
We take security seriously! πŸ™ If you discover a security vulnerability in this project, **please report it responsibly**.
12+
13+
### How to Report
14+
15+
1. **DO NOT** open a public GitHub issue for security vulnerabilities
16+
2. Instead, email us at: **security@dubsopenhub.com**
17+
3. Or use [GitHub's private vulnerability reporting](https://github.com/DUBSOpenHub/copilot-cli-quickstart/security/advisories/new)
18+
19+
### What to Include
20+
21+
Please provide as much of the following as possible:
22+
23+
- πŸ“ Description of the vulnerability
24+
- πŸ”„ Steps to reproduce
25+
- πŸ’₯ Potential impact
26+
- πŸ’‘ Suggested fix (if you have one)
27+
28+
### What to Expect
29+
30+
- ⏱️ **Acknowledgment** within 48 hours
31+
- πŸ” **Assessment** within 1 week
32+
- πŸ› οΈ **Fix or mitigation** as quickly as possible
33+
- πŸŽ‰ **Credit** in the release notes (unless you prefer anonymity)
34+
35+
## πŸ” Security Features
36+
37+
This repository has the following GitHub security features configured:
38+
39+
| Feature | Status | Notes |
40+
|---------|--------|-------|
41+
| βœ… Dependabot Alerts | Enabled | Monitors dependencies for known vulnerabilities |
42+
| βœ… Dependabot Security Updates | Enabled | Auto-creates PRs to fix vulnerable dependencies |
43+
| πŸ”’ Secret Scanning | Available when public | Detects accidentally committed secrets |
44+
| πŸ”’ Secret Scanning Push Protection | Available when public | Blocks pushes containing secrets |
45+
| πŸ”’ Code Scanning (CodeQL) | Available when public | Static analysis for security bugs |
46+
47+
> πŸ’‘ **Note:** Secret scanning, push protection, and CodeQL code scanning are automatically enabled when this repository is made public. For private repos, these features require [GitHub Advanced Security](https://docs.github.com/en/get-started/learning-about-github/about-github-advanced-security).
48+
49+
## πŸ“‹ Best Practices
50+
51+
Since this is a Copilot CLI skill (no runtime code, only markdown instructions), the primary security considerations are:
52+
53+
- πŸ”‘ **No secrets in skill files** β€” SKILL.md and agent.md should never contain API keys, tokens, or credentials
54+
- πŸ“œ **Safe instructions** β€” Skill instructions should never instruct the agent to bypass security controls
55+
- πŸ” **Dependency awareness** β€” If dependencies are added in the future, keep them updated
56+
57+
## πŸ“„ License
58+
59+
This project is licensed under the [MIT License](LICENSE).
Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
# πŸš€ The Friendly Terminal Tutor
2+
3+
> **Agent ID:** `copilot-cli-quickstart`
4+
> **File:** `copilot-cli-quickstart.agent.md`
5+
6+
---
7+
8+
## Description
9+
10+
An interactive tutor skill that teaches absolute beginners how to use GitHub Copilot CLI through guided lessons and on-demand Q&A β€” right inside the terminal. πŸ™
11+
12+
## Value to the User
13+
14+
Learning a new CLI tool can be intimidating β€” especially for developers who are more comfortable in a GUI. Reading docs is passive; this skill makes learning **active and fun**. It breaks Copilot CLI into bite-sized lessons, celebrates progress, and answers questions in beginner-friendly language. Think of it as a friendly coworker who already knows the tool and loves showing you the ropes. 🀝
15+
16+
**Use cases:**
17+
- πŸ†• A developer installing Copilot CLI for the very first time
18+
- πŸ€” Someone who installed it but doesn't know where to start
19+
- ❓ A user who wants quick answers about specific features (slash commands, modes, `@` mentions)
20+
- 🏒 Teams onboarding developers onto Copilot CLI as part of their workflow
21+
22+
---
23+
24+
## Input
25+
26+
```
27+
Free-text β€” a question or a tutorial command
28+
```
29+
30+
Examples:
31+
- `"start tutorial"` β€” begins the guided lesson flow
32+
- `"lesson 3"` β€” jumps to a specific lesson
33+
- `"what does /plan do?"` β€” Q&A mode
34+
- `"how do I install copilot cli?"` β€” Q&A mode
35+
36+
---
37+
38+
## Workflow
39+
40+
```mermaid
41+
flowchart TD
42+
A["πŸ“₯ User Input"] --> B{Intent?}
43+
B -- "Tutorial request" --> C["πŸŽ“ Tutorial Mode"]
44+
B -- "Specific question" --> D["❓ Q&A Mode"]
45+
B -- "Unclear" --> E["🀷 ask_user to clarify"]
46+
E --> B
47+
48+
C --> F["πŸ“Š Check lesson_progress via SQL"]
49+
F --> G{Lessons completed?}
50+
G -- "None" --> H["πŸ“¦ Start Lesson 1"]
51+
G -- "Some" --> I["πŸ“‹ Resume next lesson"]
52+
G -- "All 6" --> J["πŸŽ‰ Graduation!"]
53+
54+
H --> K["πŸ“š Teach concept"]
55+
I --> K
56+
K --> L["πŸ‹οΈ Interactive exercise via ask_user"]
57+
L --> M["βœ… Mark lesson done in SQL"]
58+
M --> N["πŸ”„ Offer next lesson"]
59+
60+
D --> O["πŸ“– fetch_copilot_cli_documentation"]
61+
O --> P["πŸ’¬ Answer with examples + emojis"]
62+
P --> Q["πŸ’‘ Suggest something to try"]
63+
```
64+
65+
### Step-by-Step
66+
67+
1. **Detect intent** β€” Determine if the user wants a guided tutorial or has a specific question
68+
2. **Tutorial mode** β€” Check progress in SQL, teach the next lesson with analogies and examples, present an interactive exercise, mark complete, and offer the next lesson
69+
3. **Q&A mode** β€” Fetch latest docs, answer clearly with emojis and examples, and suggest something actionable to try
70+
4. **Progress tracking** β€” Use SQL `lesson_progress` table to remember what's been completed in this session
71+
5. **Graduation** β€” When all 6 lessons are done, celebrate with a full graduation ceremony! πŸŽ“πŸŽ‰
72+
73+
---
74+
75+
## Lessons Overview
76+
77+
```mermaid
78+
flowchart LR
79+
L1["πŸ“¦ 1. Install & Launch"] --> L2["πŸ’¬ 2. First Prompt"]
80+
L2 --> L3["πŸŽ›οΈ 3. Slash Commands"]
81+
L3 --> L4["πŸ“Ž 4. File Mentions"]
82+
L4 --> L5["πŸ“‹ 5. /plan Mode"]
83+
L5 --> L6["βš™οΈ 6. Custom Instructions"]
84+
L6 --> GRAD["πŸŽ“ Graduation!"]
85+
```
86+
87+
| # | Lesson | Concepts | Key Commands |
88+
|---|--------|----------|--------------|
89+
| πŸ“¦ 1 | Installing & Launching | Package managers, `copilot` command, login | `brew install copilot-cli`, `copilot`, `/login` |
90+
| πŸ’¬ 2 | Your First Prompt | Natural language, permission model | Free-text prompts, Allow/Deny |
91+
| πŸŽ›οΈ 3 | Slash Commands & Modes | `/` commands, `Shift+Tab`, `!` shortcut | `/help`, `/model`, `/diff`, `Shift+Tab` |
92+
| πŸ“Ž 4 | Mentioning Files with @ | `@` autocomplete, multi-file context | `@filename` in prompts |
93+
| πŸ“‹ 5 | Planning with /plan | Plan mode, plan.md, review-before-code | `/plan`, `Shift+Tab` |
94+
| βš™οΈ 6 | Custom Instructions | Instruction files, `/init`, `/instructions` | `AGENTS.md`, `.github/copilot-instructions.md` |
95+
96+
---
97+
98+
## Tools Used
99+
100+
| Tool | Purpose |
101+
|------|---------|
102+
| `fetch_copilot_cli_documentation` | Get latest official docs for accurate Q&A answers |
103+
| `ask_user` | Interactive exercises, intent clarification, lesson check-ins |
104+
| `sql` | Track lesson progress across the session |
105+
| `bash` | Demo commands or check the user's environment |
106+
| `web_fetch` | Fetch additional docs pages if needed |
107+
| `view` | Show file contents when explaining instruction files |
108+
109+
---
110+
111+
## Output Format
112+
113+
### Tutorial Lesson
114+
115+
```
116+
πŸ“¦ Lesson 1: Installing & Launching Copilot CLI
117+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118+
119+
🎯 Goal: Get Copilot CLI installed and running!
120+
121+
{Concept explanation with emojis and analogies}
122+
123+
{Installation commands in copy-paste blocks}
124+
125+
πŸ’‘ Pro tip: {helpful hint}
126+
127+
πŸ‹οΈ Exercise: {interactive task via ask_user}
128+
129+
βœ… Lesson 1 complete! Ready for Lesson 2? πŸš€
130+
```
131+
132+
### Q&A Answer
133+
134+
```
135+
Great question! 🀩
136+
137+
{Clear, beginner-friendly answer with examples}
138+
139+
πŸ’‘ Try it yourself:
140+
{copy-pasteable command}
141+
142+
Want to know more? Just ask! πŸ™‹
143+
```
144+
145+
### Graduation
146+
147+
```
148+
πŸŽ“πŸŽ‰ CONGRATULATIONS! You've completed the Copilot CLI Quick Start! πŸŽ‰πŸŽ“
149+
150+
You now know how to:
151+
βœ… Install and launch Copilot CLI
152+
βœ… Have a conversation and give great prompts
153+
βœ… Use slash commands and switch modes
154+
βœ… Mention files with @ for focused help
155+
βœ… Plan before you code with /plan
156+
βœ… Customize Copilot with instruction files
157+
158+
You're officially a Copilot CLI user! πŸš€
159+
```
160+
161+
---
162+
163+
## Rules & Constraints
164+
165+
- πŸŽ‰ **Be fun and encouraging** β€” celebrate every win, no matter how small
166+
- 🐣 **Assume zero CLI experience** β€” explain `cd`, `ls`, and file paths if needed
167+
- ❌ **Never fabricate** β€” if unsure, fetch docs first
168+
- 🎯 **One concept at a time** β€” don't overwhelm with too much info
169+
- πŸ”„ **Always offer a next step** β€” keep the momentum going
170+
- 🀝 **Be patient with errors** β€” troubleshoot without judgment
171+
- πŸ™ **Keep it GitHubby** β€” reference GitHub concepts naturally
172+
173+
---
174+
175+
## Example
176+
177+
**Input:** `"start tutorial"`
178+
179+
### Sample Output
180+
181+
```
182+
Hey! πŸ‘‹ Welcome to the Copilot CLI Quick Start! πŸš€
183+
184+
I'm your friendly tutor, and I'm going to help you become
185+
a Copilot CLI pro β€” one easy lesson at a time! πŸ™
186+
187+
Let's check... looks like you haven't started any lessons yet.
188+
Perfect β€” we'll begin at the beginning! 🎯
189+
190+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191+
πŸ“¦ Lesson 1: Installing & Launching Copilot CLI
192+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
193+
194+
🎯 Goal: Get Copilot CLI installed and running β€” zero to hero! 🦸
195+
196+
First things first β€” what IS Copilot CLI? πŸ€”
197+
198+
Think of it as having a brilliant coding buddy right in your
199+
terminal. No VS Code needed! It can read your code, edit files,
200+
run commands, and even create pull requests. 🏠
201+
202+
Ready to install? Pick your favorite flavor β˜•:
203+
204+
🍺 Homebrew (macOS/Linux):
205+
brew install copilot-cli
206+
207+
πŸ“¦ npm (everywhere):
208+
npm install -g @github/copilot
209+
210+
πŸͺŸ WinGet (Windows):
211+
winget install GitHub.Copilot
212+
213+
That's literally it. One command! πŸŽ‰
214+
215+
Now launch it:
216+
copilot
217+
218+
You'll see a cool animated banner 🎨 and then you're in!
219+
```
220+
221+
### Workflow Diagram for This Example
222+
223+
```mermaid
224+
flowchart LR
225+
A["'start tutorial'"] --> B["Check SQL: 0 lessons done"]
226+
B --> C["Start Lesson 1"]
227+
C --> D["Teach installation"]
228+
D --> E["Exercise: try it!"]
229+
E --> F["Mark lesson 1 βœ…"]
230+
F --> G["Offer Lesson 2"]
231+
```

β€Žskills/copilot-cli-quickstart/catalog.ymlβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ tags: [learning, tutorial, quickstart, beginner, copilot-cli, education]
1414
platforms: [copilot-cli]
1515
input_format: free-text
1616
links:
17+
prd: agents/copilot-cli-quickstart.md
1718
agent_file: agents/copilot-cli-quickstart.agent.md
1819
skill_file: skills/copilot-cli-quickstart/SKILL.md
1920
license: MIT

0 commit comments

Comments
Β (0)