Skip to content

Instantly share code, notes, and snippets.

View pamelafox's full-sized avatar

Pamela Fox pamelafox

View GitHub Profile
@pamelafox
pamelafox / extension.mjs
Created October 6, 2026 18:38
Extension for review-changed workflow
import { defineWorkflow, joinSession } from "@github/copilot-sdk/extension";
const workflow = defineWorkflow({
meta: {
"name": "review-changed",
"description": "Lists changed files in the current git repo, has a subagent review each file for bugs, and summarizes the findings. args (all optional): { base?: string — git ref to diff against (default: merge-base with origin/main or main), files?: string[] — explicit paths to review instead of auto-detecting, cwd?: string — repo directory (default: process cwd) }.",
"phases": [
{
"title": "List changes",
"detail": "Detect changed files via git"
@pamelafox
pamelafox / azd_prompt.txt
Created September 21, 2026 23:38
Worktree prompt for azd .env copy
When starting a new session, detect whether the checkout is a Git worktree and wire up `.azure`:
1. Get paths:
- `git rev-parse --git-common-dir`
- `git rev-parse --git-dir`
- `git rev-parse --show-toplevel`
2. If `--git-dir` contains `/worktrees/`, treat it as a worktree checkout.
@pamelafox
pamelafox / agent-complete-sound.json
Created August 31, 2026 23:21
VS Code agent completion sound and spoken thread title hook
{
"hooks": {
"Stop": [
{
"type": "command",
"command": "/bin/zsh ~/.copilot/hooks/agent-complete-sound.sh",
"timeout": 30
}
]
}
@pamelafox
pamelafox / SKILL.md
Created June 9, 2026 05:47
Skill for adding google calendar events with gog CLI
name add-camps-to-calendar
description Add registered summer camps and activities to Google Calendar using gogcli (gog). Use this skill when the user wants to add camps, classes, or scheduled activities from their camp plan files to Google Calendar. Reads camp plan markdowns, identifies registered entries, looks up locations, and creates calendar events interactively one week at a time.

Add Camps to Google Calendar

This skill creates Google Calendar events for registered camps and activities using the gog CLI (gogcli).

When to Use

@pamelafox
pamelafox / maf_monty.py
Created May 20, 2026 19:58
MAF with monty tool
import asyncio
import logging
import os
import random
import sys
from datetime import datetime
from typing import Annotated
import pydantic_monty
from agent_framework import Agent, tool
@pamelafox
pamelafox / agentframework_monty.py
Created April 27, 2026 18:58
Agent Framework plus Monty tool
"""
Stage 0: Fully local agent using a small language model via Ollama.
No cloud, no account required. Demonstrates the core agent loop:
user -> model -> tool call -> tool result -> model -> final answer
Prerequisites:
1. Install Ollama: https://ollama.com/download
2. Pull a small model that supports tool calling, e.g.:
ollama pull llama3.2
@pamelafox
pamelafox / SKILL.md
Created March 3, 2026 06:46
create-pptx-from-template
name pptx-from-template
description Creates a new PowerPoint (.pptx) presentation based on an existing template PPTX, reusing its slide layouts, styles, fonts, colors, and backgrounds. Use this skill when the user asks to generate slides, create a new presentation from an existing one, or produce a PPTX with consistent branding from a template.
argument-hint [template.pptx] [content description or plan]

Create PPTX from Template

This skill creates a new PowerPoint presentation that inherits all styles, slide layouts, backgrounds, fonts, and color schemes from an existing PPTX template. It uses the python-pptx package.

@pamelafox
pamelafox / image_mcp_server.py
Last active February 20, 2026 06:28
image_mcp_server.py
import json
import logging
import os
import subprocess
from typing import Annotated
from pathlib import Path
import aiohttp
from azure.identity import AzureDeveloperCliCredential, ManagedIdentityCredential
from azure.search.documents.aio import SearchClient
@pamelafox
pamelafox / SKILL.md
Last active February 13, 2026 06:36
Skill - markitdown convert to markdown
name pdf-to-markdown
description Converts PDF files to Markdown using Microsoft's markitdown package. Use this skill when the user asks to convert a PDF to Markdown, extract text from a PDF, or read/parse PDF content.
argument-hint [path to file]

PDF to Markdown Conversion

This skill converts PDF files to Markdown format using Microsoft's markitdown package.

@pamelafox
pamelafox / copilotmemory.md
Created February 12, 2026 17:02
How Copilot Memory works in VS Code

Overall algorithm

This is currently speculation:

  1. When starting a session, it retrieves memories from the associated GitHub repository for the current branch and injects those into the initial user message.
  2. When it sees something it should remember (like if I say "Remember that..."), it uses the memory tool to "view" existing memories, and then uses the memory tool to save the existing memory.
  3. A hook then saves local memories to the GitHub repository and clears them from the local file system.

System prompt: How to use memory