-
Notifications
You must be signed in to change notification settings - Fork 304
Add weekly-demo-video and weekly-report Copilot skills #8099
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rajeshkamal5050
wants to merge
6
commits into
main
Choose a base branch
from
feature/weekly-skills
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
4358ad1
Add weekly-demo-video and weekly-report skills
rajeshkamal5050 0074fe9
Remove TONE-RULES.md and its reference
rajeshkamal5050 4052e51
Address all review feedback
rajeshkamal5050 255329a
Restore TONE-RULES.md — reframed for team use
rajeshkamal5050 0f7981a
Address Marina's feedback: dates, gitignore, cross-shell
rajeshkamal5050 b4880eb
fix: add WORKFLOW SKILL prefix to skill descriptions
rajeshkamal5050 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| --- | ||
| name: weekly-demo-video | ||
| description: >- | ||
| Generate narrated weekly demo videos for azd features. Pulls latest commits, | ||
| identifies demo-worthy features, researches PRs, and produces MP4 videos with | ||
| dark-themed slides and neural TTS narration. | ||
| USE FOR: weekly demo, generate demo video, demo video, sprint demo, create demo, | ||
| make demo video, demo for LT, weekly demo video, azd demo. | ||
| DO NOT USE FOR: general video editing, non-azd demos, slide decks without video. | ||
| --- | ||
|
|
||
| # Weekly Demo Video Generator | ||
|
|
||
| Generates narrated MP4 demo videos for azd features using Python + Pillow + edge-tts + ffmpeg. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| | Tool | Purpose | Install | | ||
| |------|---------|---------| | ||
| | Python 3 | Script execution | `brew install python` | | ||
| | Pillow | Slide generation | `pip3 install Pillow` | | ||
| | ffmpeg | Video/audio stitch | `brew install ffmpeg` | | ||
| | edge-tts | Neural TTS | `pip3 install edge-tts` | | ||
|
|
||
| Check: `python3 -c "from PIL import Image; print('ok')" && ffmpeg -version >/dev/null 2>&1 && edge-tts --list-voices >/dev/null 2>&1` | ||
|
rajeshkamal5050 marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Execution Flow | ||
|
|
||
| ### Step 1: Pull latest | ||
|
|
||
| ```bash | ||
| cd <repo-root> # the azure-dev repository root | ||
| git checkout main && git pull --rebase | ||
| ``` | ||
|
|
||
| ### Step 2: Find commits for the week | ||
|
|
||
| ```bash | ||
| git log --oneline --since="YYYY-MM-DD" --until="YYYY-MM-DD" --no-merges | ||
| ``` | ||
|
|
||
| Use the current week window (7 days). For sprint demos, use a 2-week window. | ||
|
|
||
| ### Step 3: Identify demo-worthy features | ||
|
|
||
| Group related commits. Skip: typos, CI fixes, test-only, deps bumps, docs-only. | ||
| Look for: new commands, UX improvements, perf gains, new flags, agent features. | ||
|
|
||
| Use explore agents in parallel to research each feature group (give them specific commit SHAs). | ||
|
|
||
| ### Step 4: Confirm with user | ||
|
|
||
| Present a table of proposed demos. Ask user to confirm or adjust before generating. | ||
|
|
||
| ### Step 5: Generate videos | ||
|
|
||
| Follow the conventions strictly: | ||
|
|
||
| {{ references/CONVENTIONS.md }} | ||
|
|
||
| ### Step 6: Report | ||
|
|
||
| List generated videos with filenames and durations. Offer short descriptions for docs. | ||
|
|
||
| ## Output | ||
|
|
||
| All videos go to: `<repo-root>/demo-video/` | ||
|
|
||
| ## Demo Naming | ||
|
|
||
| - **Weekly demos**: `azd_weekly_demo_{date}_{name}.mp4` (e.g. `azd_weekly_demo_may_07_exegraph.mp4`) | ||
| - **Sprint demos**: `azd_sprint_demo_{date}_{name}.mp4` (e.g. `azd_sprint_demo_apr_28_agent_sessions.mp4`) | ||
|
|
||
83 changes: 83 additions & 0 deletions
83
.github/skills/weekly-demo-video/references/CONVENTIONS.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| # Video Conventions | ||
|
|
||
| These rules MUST be followed for all demo videos. | ||
|
|
||
| ## Pipeline | ||
|
|
||
| | Step | Tool | Details | | ||
| |------|------|---------| | ||
| | Slides | Python + Pillow | Generate 1920×1080 PNG images | | ||
| | Narration | `edge-tts` | `--voice en-US-GuyNeural --rate=+5%`, free neural TTS, no API key | | ||
| | Audio convert | `ffmpeg` | MP3 → WAV per slide | | ||
| | Per-slide video | `ffmpeg` | `-loop 1 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p` | | ||
| | Concatenate | `ffmpeg` | `-f concat -safe 0` with file list | | ||
|
|
||
| Pronunciation fix: `re.sub(r'\bazd\b', 'AZ-D', text, flags=re.IGNORECASE)` — applied to narration strings ONLY. | ||
|
|
||
| ## Video Rules | ||
|
|
||
| | Rule | Details | | ||
| |------|---------| | ||
| | Resolution | 1920×1080 | | ||
| | Duration | Under 2-3 minutes | | ||
| | Audio padding | +0.8s silence after each slide's narration | | ||
| | PR references | NEVER mention PR numbers in videos | | ||
| | End slide | Always end with "Give it a try." + links | | ||
| | --no-prompt | Frame as built for AI agents (Copilot CLI, Claude, Gemini), NOT generic CI | | ||
| | Slide text | Lowercase `azd` always (phonetic `AZ-D` in narration only) | | ||
|
|
||
| ## Color Palette | ||
|
|
||
| | Name | RGB | Usage | | ||
| |------|-----|-------| | ||
| | Background | `(15, 17, 23)` | Slide background | | ||
| | Text | `(230, 237, 243)` | Body text | | ||
| | Accent blue | `(88, 166, 255)` | Titles, labels, `→` lines | | ||
| | Green | `(63, 185, 80)` | Success, `$` prompts, `✓` lines, terminal dot | | ||
| | Red | `(248, 81, 73)` | Errors, terminal dot | | ||
| | Yellow | `(210, 153, 34)` | Warnings, section headers (`##`), terminal dot | | ||
| | Dim | `(125, 133, 144)` | Subtitles, comments, footers | | ||
| | Code BG | `(22, 27, 34)` | Code block background | | ||
| | Divider | `(48, 54, 61)` | Horizontal rule on content slides | | ||
|
|
||
| ## Fonts | ||
|
|
||
| | Platform | Body | Code | | ||
| |----------|------|------| | ||
| | macOS | `/System/Library/Fonts/SFNS.ttf` | `/System/Library/Fonts/SFNSMono.ttf` | | ||
| | Windows | `C:/Windows/Fonts/arial.ttf` | `C:/Windows/Fonts/consola.ttf` | | ||
| | Fallback | `ImageFont.load_default()` | `ImageFont.load_default()` | | ||
|
|
||
| ## Code Block Rendering | ||
|
|
||
| - Rounded rectangle with `radius=12`, filled with Code BG | ||
| - Terminal dots at top-left (red, yellow, green circles, 14px, spaced 22px) | ||
| - Syntax coloring by line prefix: | ||
| - `#` or `//` → Dim (comment) | ||
| - `$` → Green (shell prompt) | ||
| - `error`/`fail` → Red | ||
| - `warning` → Yellow | ||
| - `✓`/`success` → Green | ||
| - `>`/`→` → Accent blue | ||
| - Mono font at 18px, line height 28px | ||
|
|
||
| ## Slide Types | ||
|
|
||
| ### Title Slide | ||
| - "azure developer cli" label top center (accent blue, font 22) | ||
| - Large title centered (text color, font 52) | ||
| - Subtitle in dim (font 26) | ||
| - Optional bullet items with `→` prefix (font 28, 50px spacing) | ||
| - Date footer bottom center (dim, font 20) | ||
|
|
||
| ### Content Slide | ||
| - Title top-left in accent blue (font 40) | ||
| - Horizontal divider line at y=115 | ||
| - Bullet points with `•` prefix (font 24, 42px spacing) | ||
| - Lines starting with `##` render as yellow section headers (font 26) | ||
| - Optional code block positioned at bottom (min y=480) | ||
|
|
||
| ### End Slide | ||
| - Title in accent blue centered (font 48) | ||
| - "Give it a try." below (text color, font 36) | ||
| - `aka.ms/azd • github.com/Azure/azure-dev` footer (dim, font 22) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| --- | ||
| name: weekly-report | ||
| description: >- | ||
| Generate weekly executive reports for the azd team. Pulls PR/issue/release | ||
| data from GitHub, reads changelogs, combines with team notes, and produces | ||
| a polished markdown report. | ||
| USE FOR: weekly report, exec report, status update, team update, weekly | ||
| summary, generate report, report time. | ||
| DO NOT USE FOR: demo videos (use weekly-demo-video), general docs, PRs. | ||
|
rajeshkamal5050 marked this conversation as resolved.
Outdated
|
||
| --- | ||
|
|
||
| # Weekly Executive Report Generator | ||
|
|
||
| Generates weekly executive reports for the Azure Developer CLI (azd) team leadership. | ||
|
|
||
| ## Report Format (strict order) | ||
|
|
||
| ``` | ||
| 📝 TLDR | ||
| 📊 Metrics | ||
| ⚠️ Risks + Blockers | ||
| 🎯 Changelog | ||
| 📋 This Week | ||
| 🔜 Next Week | ||
| 🚩 Learnings | ||
| 🔥 Demos/Links | ||
| ``` | ||
|
|
||
| ## Execution Flow | ||
|
|
||
| ### Step 1: Confirm date range | ||
|
|
||
| Cadence is **Thursday to Thursday**. Confirm with the user if unclear. | ||
|
|
||
| ### Step 2: Pull repo data | ||
|
|
||
| ```bash | ||
| cd <repo-root> # the azure-dev repository root | ||
| git checkout main && git pull --rebase | ||
| ``` | ||
|
|
||
| **PRs merged:** | ||
| ```bash | ||
| gh pr list --repo Azure/azure-dev --state merged --search "merged:YYYY-MM-DD..YYYY-MM-DD" --limit 200 --json number,title,mergedAt | ||
| ``` | ||
|
|
||
| **Issues closed:** | ||
| ```bash | ||
| gh issue list --repo Azure/azure-dev --state closed --search "closed:YYYY-MM-DD..YYYY-MM-DD" --limit 200 --json number,title,closedAt | ||
| ``` | ||
|
|
||
| **Releases:** | ||
| ```bash | ||
| gh api repos/Azure/azure-dev/releases --paginate | jq '[.[] | select(.published_at >= "YYYY-MM-DD" and .published_at <= "YYYY-MM-DD") | {name, tag_name, published_at}]' | ||
| ``` | ||
|
rajeshkamal5050 marked this conversation as resolved.
|
||
|
|
||
| ### Step 3: Read changelogs | ||
|
|
||
| - Core: `cli/azd/CHANGELOG.md` | ||
| - Agents: `cli/azd/extensions/azure.ai.agents/CHANGELOG.md` | ||
| - Finetuning: `cli/azd/extensions/azure.ai.models/CHANGELOG.md` | ||
|
|
||
| ### Step 4: Wait for team notes | ||
|
|
||
| Do NOT assemble the report until the user provides team notes from emails, Teams, meetings, etc. | ||
| Only product and engineering content. | ||
|
|
||
| ### Step 5: Assemble report | ||
|
|
||
| Combine repo data with team notes. Follow all rules below. | ||
|
|
||
| ### Step 6: Iterate | ||
|
|
||
| Expect 5–15 rounds of edits. Apply changes surgically. After removals, check for related content elsewhere (risks → next week → learnings → TLDR) and offer to clean up. | ||
|
|
||
| ## Output | ||
|
|
||
| Save reports to the session files directory as `weekly-report-{month}{startday}-{endday}.md`. | ||
|
|
||
| ## Section Rules | ||
|
|
||
| {{ references/SECTION-RULES.md }} | ||
|
|
||
| ## Tone and Style | ||
|
|
||
| {{ references/TONE-RULES.md }} | ||
|
|
||
| ## Example Report | ||
|
|
||
| Use the latest completed report in the session files as a format reference. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| # Section Rules | ||
|
|
||
| ## 📝 TLDR | ||
| - **Single paragraph**, narrative style. Not bullets or headlines. | ||
| - Lead with what matters most that week. | ||
| - Include feature/extension shipping highlights. | ||
| - End with numbers (PRs, issues, releases). | ||
| - Don't claim things are "shipped" when they're WIP/exploratory. | ||
| - Don't overstate commitment level (e.g., "targeting Build" → "being explored"). | ||
|
|
||
| ## 📊 Metrics | ||
| - Always placeholder: `_// metrics owner to add_` | ||
|
|
||
| ## ⚠️ Risks + Blockers | ||
| - Start with 2–3 items. Expect the user to trim. | ||
| - Don't overstate risks. Don't include risks from other teams. | ||
| - Distinguish GA blockers from future improvements. | ||
|
|
||
| ## 🎯 Changelog | ||
|
|
||
| Structure: | ||
| 1. **Releases table** — Release name, version, date | ||
| 2. **By the numbers** — core releases, extension releases, issues closed, PRs merged | ||
| 3. **Key Changes** — grouped by area (Core, Extension Framework, Extensions — Agents, Extensions — Finetuning, Quality & CI, Docs) | ||
|
|
||
| Rules: | ||
| - Keep it short, only highlighting important changes. | ||
| - Include PR links: `[#NNNN](https://github.com/Azure/azure-dev/pull/NNNN)` | ||
|
|
||
| ## 📋 This Week | ||
|
|
||
| Subsections (use what's relevant): | ||
| - Core | ||
| - Extensions — Agents | ||
| - Extensions — Finetuning | ||
| - Extension Framework | ||
| - Bugs & Reliability | ||
| - Testing | ||
| - Docs & Content | ||
| - Planning & Priorities ← **always last** | ||
|
|
||
| Rules: | ||
| - "Agent Developer Experience" is the correct naming (not "Agent UX"). | ||
| - Planning items framed as WIP discussions, not firm decisions. | ||
|
|
||
| ## 🔜 Next Week | ||
| - Highlight priorities from team notes and iteration board. | ||
| - Tag GA priorities explicitly. | ||
|
|
||
| ## 🚩 Learnings | ||
| - 2–3 items. Practical, not aspirational. | ||
| - Expect the user to add/remove. | ||
|
|
||
| ## 🔥 Demos/Links | ||
| - Format: Bold title on one line, `[Demo Recording](url)` on next line. | ||
| - Wait for the user to provide demo links. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # Tone and Style Rules | ||
|
|
||
| These rules are non-negotiable. They come from 9+ weeks of iteration. | ||
|
|
||
| | Rule | Details | | ||
| |------|---------| | ||
| | Voice | "Human simple, not AI generated." Short sentences. Direct. Like explaining over coffee. | | ||
| | Names | No people names in the report. | | ||
| | Personal content | Only product + engineering. | | ||
| | Org changes | Do NOT include org restructuring, team transitions, or ownership changes unless explicitly asked. | | ||
| | Shipped vs WIP | Be precise. Don't claim things are shipped when they're exploratory or WIP. | | ||
| | Hype words | NEVER use: "turning point", "game changer", "material", "meaningful", "significant milestone". | | ||
| | Severity | Don't overstate. If something is a concern but not critical, say so. | | ||
| | Commitment | "Being explored" not "targeting". "Early discussions" not "decided". | | ||
| | Framing | Planning items are "WIP discussions", not firm decisions. | | ||
|
|
||
| ## User Edit Patterns | ||
|
|
||
| Expect these patterns during iteration: | ||
|
|
||
| - **Rapid removals** — user sends removal requests quickly. Apply surgically. | ||
| - **Exact replacements** — when user provides replacement text, use it verbatim. | ||
| - **Risk trimming** — user typically removes 2–4 risk items per report. | ||
| - **Source questions** — user asks "where is this coming from?" — always be ready to cite. | ||
| - **Consistency checks** — after removals, check related content elsewhere and offer cleanup. | ||
| - **Section merges** — user may merge or split sections for flow. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.