### Brave Search Setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Commands to install dependencies and configure the API key. ```bash cd /path/to/brave-search npm install export BRAVE_API_KEY="your-key" ``` -------------------------------- ### Transcribe Setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Commands to install dependencies and run the transcription tool. ```bash # Requires: Apple Silicon macOS, curl, tar # Optional: ffmpeg for non-WAV input brew install ffmpeg # If needed ./transcribe.sh audio.wav # Auto-downloads binary and model on first run ``` -------------------------------- ### Google CLI Setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Standard installation and account configuration commands for gccli, gdcli, and gmcli. ```bash npm install -g @mariozechner/gccli gccli accounts credentials ~/Downloads/credentials.json gccli accounts add user@gmail.com ``` ```bash npm install -g @mariozechner/gdcli gdcli accounts credentials ~/Downloads/credentials.json gdcli accounts add user@gmail.com ``` ```bash npm install -g @mariozechner/gmcli gmcli accounts credentials ~/Downloads/credentials.json gmcli accounts add user@gmail.com ``` -------------------------------- ### Setup Source: https://github.com/badlogic/pi-skills/blob/main/youtube-transcript/SKILL.md Install the necessary dependencies for the youtube-transcript project. ```bash cd {baseDir} npm install ``` -------------------------------- ### Setup Source: https://github.com/badlogic/pi-skills/blob/main/browser-tools/SKILL.md Installs the necessary dependencies for the browser tools. ```bash cd {baseDir}/browser-tools npm install ``` -------------------------------- ### VS Code CLI Setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Commands to verify or install the code CLI tool. ```bash # Ensure code CLI is in PATH which code code --version # If missing, install via VS Code: # Command Palette → "Shell Command: Install 'code' command in PATH" ``` -------------------------------- ### CLI Search Examples Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/01-brave-search-skill.md Various command-line examples demonstrating different search configurations. ```bash # Basic search (5 results) {baseDir}/search.js "javascript async await" # More results {baseDir}/search.js "rust programming" -n 10 # With page content {baseDir}/search.js "climate change" --content # Recent results only {baseDir}/search.js "latest news" --freshness pd # From specific country {baseDir}/search.js "python documentation" --country DE # Combined options {baseDir}/search.js "machine learning" -n 3 --content --freshness pm --country GB ``` -------------------------------- ### Command-Line Interface Examples Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Examples of invoking the script with different video identifier formats. ```bash {baseDir}/transcript.js EBw7gsDPAYQ {baseDir}/transcript.js https://www.youtube.com/watch?v=EBw7gsDPAYQ {baseDir}/transcript.js https://youtu.be/EBw7gsDPAYQ ``` -------------------------------- ### Browser Start CLI Options Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Commands for starting the browser with or without a user profile. ```bash {baseDir}/browser-start.js # Fresh profile {baseDir}/browser-start.js --profile # Copy user's Chrome profile ``` -------------------------------- ### Verify Google Tools installation Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Lists configured accounts for gccli, gdcli, and gmcli to confirm successful setup. ```bash gccli accounts list # Should show configured accounts gdcli accounts list gmcli accounts list ``` -------------------------------- ### Install and verify ffmpeg Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Install ffmpeg via Homebrew and verify the installation path and version. ```bash # Install brew install ffmpeg # Verify which ffmpeg ffmpeg -version ``` -------------------------------- ### Capture Screenshot Output Example Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Example of the file path returned upon successful screenshot execution. ```text /tmp/screenshot-2024-07-12T12-34-56-123.png ``` -------------------------------- ### Verify Browser Tools installation Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Validates browser automation tools by starting Chrome and navigating to a test URL. ```bash cd /path/to/browser-tools npm install ./browser-start.js # Should output: ✓ Chrome started on :9222 ./browser-nav.js https://example.com # Should output: ✓ Navigated to: https://example.com ``` -------------------------------- ### Installation Source: https://github.com/badlogic/pi-skills/blob/main/gccli/SKILL.md Install the gccli package globally using npm. ```bash npm install -g @mariozechner/gccli ``` -------------------------------- ### Query Examples - Combined Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Example of combining multiple query conditions. ```bash ls --query "name contains 'report' and mimeType = 'application/pdf'" ``` -------------------------------- ### Verify CLI account setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md List all configured accounts to verify successful authentication. ```bash gccli accounts list gdcli accounts list gmcli accounts list ``` -------------------------------- ### Start Browser Automation Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Command to initiate the browser-start script. ```bash {baseDir}/browser-start.js [--profile] ``` -------------------------------- ### Install pi-skills at the project level Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/project-overview.md Clones the repository into a local project-specific skills directory. ```bash git clone https://github.com/badlogic/pi-skills .pi/skills/pi-skills ``` -------------------------------- ### Query Examples - By Filename Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Examples of filtering search results by filename. ```bash ls --query "name = 'report.pdf'" ls --query "name contains 'IMG'" ``` -------------------------------- ### Query Examples - By Date Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Examples of filtering search results by modification date. ```bash ls --query "modifiedTime > '2024-01-01'" ``` -------------------------------- ### Installation Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Install the gdcli package globally using npm. ```bash npm install -g @mariozechner/gdcli ``` -------------------------------- ### Query Examples - Exclude Trash Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Example of filtering out trashed items. ```bash ls --query "trashed = false" ``` -------------------------------- ### Install Google Workspace CLI tools Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Install the global npm packages for Google Calendar, Drive, and Gmail CLI tools. ```bash npm install -g @mariozechner/gccli # Google Calendar npm install -g @mariozechner/gdcli # Google Drive npm install -g @mariozechner/gmcli # Gmail ``` -------------------------------- ### Transcribe Audio and Video Files Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Command-line usage examples for various file formats. ```bash {baseDir}/transcribe.sh audio.wav {baseDir}/transcribe.sh video.mp4 {baseDir}/transcribe.sh podcast.mp3 ``` -------------------------------- ### Query Examples - By Type Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Examples of filtering search results by MIME type. ```bash ls --query "mimeType = 'application/pdf'" ls --query "mimeType contains 'image/'" ls --query "mimeType = 'application/vnd.google-apps.folder'" ``` -------------------------------- ### Verify Transcribe setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Tests the transcription tool by processing a sample audio file. ```bash # Download sample audio curl -o test.wav https://example.com/test.wav ./transcribe.sh test.wav # Should output timestamped transcript ``` -------------------------------- ### Troubleshoot Chrome browser startup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Verify Chrome installation, path configuration, port availability, and process termination. ```bash # Chrome installed? ls /Applications/Google\ Chrome.app # Chrome path in browser-start.js matches your system? grep "Google Chrome" ./browser-start.js # Port 9222 available? lsof -i :9222 # Kill existing Chrome killall "Google Chrome" ./browser-start.js ``` -------------------------------- ### Content Extraction Examples Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/01-brave-search-skill.md Examples of using the content extraction script for various types of web pages. ```bash # Extract article {baseDir}/content.js https://example.com/article # Extract documentation {baseDir}/content.js https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html # Extract Wikipedia article {baseDir}/content.js https://en.wikipedia.org/wiki/Python_(programming_language) ``` -------------------------------- ### Verify VS Code setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Checks VS Code availability and functionality by verifying the binary and testing the diff command. ```bash which code code --version code -d /tmp/file1.txt /tmp/file2.txt # Should open diff ``` -------------------------------- ### Verify Brave Search installation Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Checks Brave Search functionality by installing dependencies and running a test query. ```bash cd /path/to/brave-search npm install export BRAVE_API_KEY="your-key" ./search.js "test" -n 1 # Should return 1 result echo $? # Should output 0 ``` -------------------------------- ### Query Examples - By Owner/Sharing Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Examples of filtering search results by ownership or sharing status. ```bash ls --query "'me' in owners" ls --query "sharedWithMe" ``` -------------------------------- ### Skill Format Example Source: https://github.com/badlogic/pi-skills/blob/main/README.md Example of the markdown format for a skill, including metadata and instructions. ```markdown --- name: skill-name description: Short description shown to agent --- # Instructions Detailed instructions here... Helper files available at: {baseDir}/ ``` -------------------------------- ### Execute Drive Query Searches Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Examples of metadata queries using various fields and operators. ```bash # By filename (exact match) gdcli user@gmail.com ls --query "name = 'report.pdf'" # By filename (prefix match) gdcli user@gmail.com ls --query "name contains 'IMG'" # By type gdcli user@gmail.com ls --query "mimeType = 'application/pdf'" gdcli user@gmail.com ls --query "mimeType contains 'image/'" gdcli user@gmail.com ls --query "mimeType = 'application/vnd.google-apps.folder'" # By date gdcli user@gmail.com ls --query "modifiedTime > '2024-01-01'" # By sharing gdcli user@gmail.com ls --query "'me' in owners" gdcli user@gmail.com ls --query "sharedWithMe" # Exclude trash gdcli user@gmail.com ls --query "trashed = false" # Combined gdcli user@gmail.com ls --query "name contains 'report' and mimeType = 'application/pdf'" ``` -------------------------------- ### VS Code Directory Structure Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Displays the installation paths and project directory for VS Code. ```text VS Code installation directory: /Applications/Visual Studio Code.app (macOS) C:\Program Files\Microsoft VS Code (Windows) /usr/share/code (Linux) {project-dir}/vscode/ SKILL.md # Documentation only ``` -------------------------------- ### Install gmcli Source: https://github.com/badlogic/pi-skills/blob/main/gmcli/SKILL.md Installs the Gmail CLI globally using npm. ```bash npm install -g @mariozechner/gmcli ``` -------------------------------- ### Amp Installation Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository to the Amp tools directory. ```bash git clone https://github.com/badlogic/pi-skills ~/.config/amp/tools/pi-skills ``` -------------------------------- ### brave-search Requirements Source: https://github.com/badlogic/pi-skills/blob/main/README.md Node.js installation command for the brave-search skill. ```bash npm install ``` -------------------------------- ### List and Inspect npm Global Packages Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Commands to verify global package installations and locate npm configuration directories. ```bash npm list -g # List all global packages npm config get prefix # Show global package directory npm config get cache # Show npm cache location ``` -------------------------------- ### Example Output Format Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md The expected output structure when content is successfully extracted. ```text URL: https://example.com Title: Example Domain # Example Domain This domain is for use in examples and documentation... ``` -------------------------------- ### Verify VS Code CLI Installation Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Check if the 'code' command is available in your system PATH. ```bash # Verify which code code --version # If missing on macOS, install via VS Code: # Command Palette → Shell Command: Install 'code' command in PATH ``` -------------------------------- ### Search Commands Source: https://github.com/badlogic/pi-skills/blob/main/brave-search/SKILL.md Examples of how to use the search.js script with various options. ```bash {baseDir}/search.js "query" # Basic search (5 results) {baseDir}/search.js "query" -n 10 # More results (max 20) {baseDir}/search.js "query" --content # Include page content as markdown {baseDir}/search.js "query" --freshness pw # Results from last week {baseDir}/search.js "query" --freshness 2024-01-01to2024-06-30 # Date range {baseDir}/search.js "query" --country DE # Results from Germany {baseDir}/search.js "query" -n 3 --content # Combined options ``` -------------------------------- ### Advanced Usage Examples Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Common patterns for using the script, including file redirection and piping to grep. ```bash # By video ID {baseDir}/transcript.js dQw4w9WgXcQ # By full URL {baseDir}/transcript.js https://www.youtube.com/watch?v=dQw4w9WgXcQ # By short URL {baseDir}/transcript.js https://youtu.be/dQw4w9WgXcQ # Save to file {baseDir}/transcript.js dQw4w9WgXcQ > transcript.txt # Search transcript {baseDir}/transcript.js dQw4w9WgXcQ | grep "keyword" ``` -------------------------------- ### Automate Browser Tasks Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/README.md Starts the browser or evaluates JavaScript expressions within the browser context. ```bash {baseDir}/browser-start.js {baseDir}/browser-eval.js 'document.title' ``` -------------------------------- ### pi-coding-agent Installation (Project-level) Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository to the project-level skills directory for pi-coding-agent. ```bash git clone https://github.com/badlogic/pi-skills .pi/skills/pi-skills ``` -------------------------------- ### Verify YouTube Transcript setup Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Confirms YouTube transcript functionality by fetching data for a known video ID. ```bash cd /path/to/youtube-transcript npm install ./transcript.js dQw4w9WgXcQ # Known video should work ``` -------------------------------- ### subagent Requirements Source: https://github.com/badlogic/pi-skills/blob/main/README.md Global Node.js installation command for the subagent skill. ```bash npm install -g @mariozechner/pi-coding-agent ``` -------------------------------- ### pi-coding-agent Installation (User-level) Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository to the user-level skills directory for pi-coding-agent. ```bash git clone https://github.com/badlogic/pi-skills ~/.pi/agent/skills/pi-skills ``` -------------------------------- ### Launch Chrome with Remote Debugging Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Commands to start Chrome with the required remote debugging port for CDP connectivity. ```bash # macOS /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222 # Linux google-chrome --remote-debugging-port=9222 ``` -------------------------------- ### Browser Start Output Messages Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Standard output messages returned by the browser-start script. ```text ✓ Chrome started on :9222 ✓ Chrome started on :9222 with your profile ✓ Chrome already running on :9222 ✗ Failed to connect to Chrome ``` -------------------------------- ### Codex CLI Installation Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository to the Codex CLI skills directory. ```bash git clone https://github.com/badlogic/pi-skills ~/.codex/skills/pi-skills ``` -------------------------------- ### Transcription Usage Examples Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Common usage patterns including file conversion and output redirection. ```bash # Transcribe WAV file {baseDir}/transcribe.sh recording.wav # Transcribe MP3 (requires ffmpeg) {baseDir}/transcribe.sh podcast.mp3 # Transcribe MP4 video {baseDir}/transcribe.sh meeting.mp4 # Hide diagnostic logs {baseDir}/transcribe.sh audio.wav 2>/dev/null # Save transcript to file {baseDir}/transcribe.sh audio.wav > transcript.txt ``` -------------------------------- ### Perform Guided Browser Navigation Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Automate browser sessions to navigate, inspect page structure, and extract specific element data. ```bash # Start browser {browser-tools}/browser-start.js # Navigate to site {browser-tools}/browser-nav.js https://example.com # Show page structure {browser-tools}/browser-eval.js 'document.body.innerHTML.slice(0, 2000)' # Let user pick element {browser-tools}/browser-pick.js "Select the product you want" # Extract picked element content {browser-tools}/browser-eval.js '(function() { const selected = document.querySelector(".selected"); return { title: selected.querySelector(".title").textContent, price: selected.querySelector(".price").textContent, url: window.location.href }; })()' ``` -------------------------------- ### Claude Code Installation (Project-level Symlinks) Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository and creates project-level symlinks for individual skills. ```bash # Clone to a convenient location git clone https://github.com/badlogic/pi-skills ~/pi-skills # Symlink individual skills (project-level) mkdir -p .claude/skills ln -s ~/pi-skills/brave-search .claude/skills/brave-search ln -s ~/pi-skills/browser-tools .claude/skills/browser-tools ln -s ~/pi-skills/gccli .claude/skills/gccli ln -s ~/pi-skills/gdcli .claude/skills/gdcli ln -s ~/pi-skills/gmcli .claude/skills/gmcli ln -s ~/pi-skills/transcribe .claude/skills/transcribe ln -s ~/pi-skills/vscode .claude/skills/vscode ln -s ~/pi-skills/youtube-transcript .claude/skills/youtube-transcript ``` -------------------------------- ### DOM Inspection Source: https://github.com/badlogic/pi-skills/blob/main/browser-tools/SKILL.md Examples of directly parsing the DOM to get page structure and find interactive elements. ```javascript // Get page structure document.body.innerHTML.slice(0, 5000) // Find interactive elements Array.from(document.querySelectorAll('button, input, [role="button"]')).map(e => ({ id: e.id, text: e.textContent.trim(), class: e.className })) ``` -------------------------------- ### Get Event Details via gccli Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Fetch the full details of a specific event using its ID. ```bash gccli event ``` ```bash gccli user@gmail.com event primary abc123def456 ``` -------------------------------- ### Droid (Factory) Installation (Project-level) Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository to the project-level skills directory for Droid. ```bash git clone https://github.com/badlogic/pi-skills .factory/skills/pi-skills ``` -------------------------------- ### Output Example Source: https://github.com/badlogic/pi-skills/blob/main/youtube-transcript/SKILL.md Example of the timestamped transcript output format. ```text [0:00] All right. So, I got this UniFi Theta [0:15] I took the camera out, painted it [1:23] And here's the final result ``` -------------------------------- ### Claude Code Installation (User-level Symlinks) Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository and creates user-level symlinks for individual skills. ```bash # Clone to a convenient location git clone https://github.com/badlogic/pi-skills ~/pi-skills # Symlink individual skills (user-level) mkdir -p ~/.claude/skills ln -s ~/pi-skills/brave-search ~/.claude/skills/brave-search ln -s ~/pi-skills/browser-tools ~/.claude/skills/browser-tools ln -s ~/pi-skills/gccli ~/.claude/skills/gccli ln -s ~/pi-skills/gdcli ~/.claude/skills/gdcli ln -s ~/pi-skills/gmcli ~/.claude/skills/gmcli ln -s ~/pi-skills/transcribe ~/.claude/skills/transcribe ln -s ~/pi-skills/vscode ~/.claude/skills/vscode ln -s ~/pi-skills/youtube-transcript ~/.claude/skills/youtube-transcript ``` -------------------------------- ### Access CLI Help Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Retrieve command-line documentation for general or account-specific operations. ```bash gccli --help # Calendar help gdcli --help # Drive help gmcli --help # Gmail help gccli --help # Account-specific help ``` -------------------------------- ### Full Command Reference Source: https://github.com/badlogic/pi-skills/blob/main/gccli/SKILL.md Run gccli --help for a complete list of commands. ```bash gccli --help ``` -------------------------------- ### List Files and Folders via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Lists files and folders in a specified Google Drive directory. ```bash gdcli ls [] [--query ""] [--sort ] ``` ```bash gdcli user@gmail.com ls root gdcli user@gmail.com ls ``` -------------------------------- ### Execute browser-pick.js Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Run the element picker script from the command line with a custom instruction message. ```bash {baseDir}/browser-pick.js "Click the submit button" ``` ```bash {baseDir}/browser-pick.js "message describing what to select" ``` -------------------------------- ### Example scraper output Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md The JSON array format returned by the scraper. ```json [ { "id": "40766123", "title": "Show HN: My New Project", "url": "https://example.com", "points": 42, "author": "dang", "time": "2024-07-12 12:34:56", "comments": 15, "hnUrl": "https://news.ycombinator.com/item?id=40766123" } ] ``` -------------------------------- ### Transcript Output Format Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Example of the timestamped transcript output format. ```text [00:00-00:15] All right. So, I got this UniFi Theta [00:15-00:30] I took the camera out, painted it [01:23-01:38] And here's the final result ``` -------------------------------- ### Get Event Details Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Retrieves full details for a specific event. ```APIDOC ## gccli event ### Description Fetches the full event object for a given event ID. ### Returns - **id** (string) - Event ID - **summary** (string) - Event title - **description** (string) - Event notes - **start** (datetime) - Start time - **end** (datetime) - End time - **attendees** (list) - List of attendees - **location** (string) - Event location - **organizer** (string) - Event creator ``` -------------------------------- ### Bulk Process Files via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Demonstrates retrieving a list of file IDs, downloading them in a loop, and performing local batch processing. ```bash # Get all PDFs files=$({gdcli} user@gmail.com ls --query "mimeType = 'application/pdf'" | grep '"id"') # Download each for file_id in $files; do {gdcli} user@gmail.com download "$file_id" done # Process locally for pdf in *.pdf; do # Your processing here echo "Processing $pdf" done ``` -------------------------------- ### Transcript Output Format Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Example of the timestamped transcript output generated by the script. ```text [0:00] All right. So, I got this UniFi Theta [0:15] I took the camera out, painted it [1:23] And here's the final result [5:30] ... more text ... ``` -------------------------------- ### gccli Data Storage Paths Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Configuration and token storage locations for the CLI. ```text ~/.gccli/credentials.json - OAuth client credentials (from Google Cloud Console) ~/.gccli/accounts.json - User account tokens (managed by CLI) ``` -------------------------------- ### Create Folder Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Create a new folder in Google Drive. ```bash gdcli mkdir ``` -------------------------------- ### Configure CLI credentials Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Set the path to the downloaded OAuth desktop client JSON credentials file for each tool. ```bash gccli accounts credentials ~/path/to/credentials.json gdcli accounts credentials ~/path/to/credentials.json gmcli accounts credentials ~/path/to/credentials.json ``` -------------------------------- ### Schedule Meetings via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Checks availability for multiple users, creates a calendar event, and sends a notification email. ```bash # Check availability {gccli} user1@gmail.com freebusy primary --from 2024-07-15T09:00:00Z --to 2024-07-15T17:00:00Z {gccli} user2@gmail.com freebusy primary --from 2024-07-15T09:00:00Z --to 2024-07-15T17:00:00Z # Create calendar event {gccli} user1@gmail.com create primary \ --summary "Project Sync" \ --start "2024-07-15T14:00:00Z" \ --end "2024-07-15T14:30:00Z" \ --location "Conference Room A" # Send meeting notice {gmcli} user1@gmail.com send \ --to "user2@company.com" \ --subject "Meeting: Project Sync" \ --body "Meeting scheduled for 2 PM tomorrow in Conference Room A. See calendar invite." ``` -------------------------------- ### Create a New Folder Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Creates a new directory in Google Drive. ```bash gdcli mkdir ``` ```bash gdcli user@gmail.com mkdir "My Documents" ``` -------------------------------- ### Get Event Details Source: https://github.com/badlogic/pi-skills/blob/main/gccli/SKILL.md Retrieve details for a specific event. ```bash gccli event ``` -------------------------------- ### Skill Configuration Format Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/project-overview.md Standard template for defining new skills using a SKILL.md file. ```markdown --- name: skill-name description: Short description shown to agent --- # Instructions Detailed instructions here... Helper files available at: {baseDir}/ ``` -------------------------------- ### CLI Usage Syntax Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/01-brave-search-skill.md General syntax for executing the search script with various arguments. ```bash {baseDir}/search.js [-n ] [--content] [--country ] [--freshness ] ``` -------------------------------- ### Configuration File Locations Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/README.md Standard directory paths for tool-specific configuration files. ```text ~/.gccli/ Google Calendar config ~/.gdcli/ Google Drive config ~/.gmcli/ Gmail config ~/.cache/browser-tools/ Chrome profile ``` -------------------------------- ### Project Main Dependencies Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/INDEX.md Lists the primary npm packages required for Brave Search, Browser Tools, Google Tools, and YouTube integration. ```javascript // Brave Search @mozilla/readability, jsdom, turndown // Browser Tools puppeteer-core, @mozilla/readability, cheerio // Google Tools Global npm packages with built-in dependencies // YouTube youtube-transcript-plus ``` -------------------------------- ### Droid (Factory) Installation (User-level) Source: https://github.com/badlogic/pi-skills/blob/main/README.md Clones the pi-skills repository to the user-level skills directory for Droid. ```bash git clone https://github.com/badlogic/pi-skills ~/.factory/skills/pi-skills ``` -------------------------------- ### Verification Checklist Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Commands to ensure files exist and the environment is ready for diff operations. ```bash # Verify files exist ls -la old.js new.js # Verify code CLI works code --version # Files must have content differences git log --oneline -5 -- path/to/file # Check file has history ``` -------------------------------- ### Typing/Input Sequences Source: https://github.com/badlogic/pi-skills/blob/main/browser-tools/SKILL.md Example of simulating typing by clicking individual character elements and then submitting. ```javascript (function() { const text = "HELLO"; for (const char of text) { document.getElementById("key-" + char).click(); } document.getElementById("submit").click(); return "Submitted: " + text; })() ``` -------------------------------- ### Record, Transcribe, and Share Audio Workflow Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md A sequence of commands to capture audio, generate a transcript, upload it to Google Drive, and notify a team via email. ```bash # Record audio (external tool) ffmpeg -f avfoundation -i ":0" -t 30 recording.wav # Transcribe {transcribe-dir}/transcribe.sh recording.wav > transcript.txt # Upload transcript gdcli user@gmail.com upload transcript.txt # Share and notify gdcli user@gmail.com share --anyone gmcli user@gmail.com send --to team@company.com --subject "Meeting Transcript" --body "Transcript uploaded" ``` -------------------------------- ### Enable Puppeteer Debug Logging Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Run the browser start script with debug logging enabled for Puppeteer. ```bash DEBUG=puppeteer:* ./browser-start.js ``` -------------------------------- ### Create Event via gccli Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Create a new event on a specified calendar with details like summary, time, and location. ```bash gccli create --summary --start <datetime> --end <datetime> [--all-day] [--location <loc>] [--description <desc>] ``` ```bash gccli user@gmail.com create primary \ --summary "Team Meeting" \ --start "2024-07-15T10:00:00Z" \ --end "2024-07-15T11:00:00Z" \ --location "Conference Room A" ``` -------------------------------- ### Search the Web via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/README.md Executes a web search using the Brave search skill script. ```bash {baseDir}/search.js "query" --content ``` -------------------------------- ### Share Files and Notify Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Upload a file to Drive, share it with specific permissions, and notify stakeholders via email. ```bash # Upload file to Drive gdcli user@gmail.com upload ~/report.pdf --folder <folder-id> # Get the file ID from ls output, then share gdcli user@gmail.com share <file-id> --anyone --role reader # Send notification gmcli user@gmail.com send \ --to "stakeholders@company.com" \ --subject "Q3 Report Available" \ --body "The Q3 report has been uploaded and shared with you." ``` -------------------------------- ### List Calendars via gccli Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Retrieve a list of calendars associated with a Google account. ```bash gccli <email> calendars ``` ```bash gccli user@gmail.com calendars ``` -------------------------------- ### Execute Search via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/01-brave-search-skill.md Run the search script directly from the command line. ```bash {baseDir}/search.js "query" [options] ``` -------------------------------- ### Extract Page Content Command Source: https://github.com/badlogic/pi-skills/blob/main/brave-search/SKILL.md Example of how to use the content.js script to extract markdown content from a URL. ```bash {baseDir}/content.js https://example.com/article ``` -------------------------------- ### Execute browser-content.js Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Run the script from the command line to extract content from a specific URL. ```bash {baseDir}/browser-content.js https://example.com ``` ```bash {baseDir}/browser-content.js https://en.wikipedia.org/wiki/Rust_(programming_language) {baseDir}/browser-content.js https://example.com ``` -------------------------------- ### Add Account Source: https://github.com/badlogic/pi-skills/blob/main/gccli/SKILL.md Add a Google account to gccli. Use --manual for browserless OAuth. ```bash gccli accounts add <email> --manual ``` -------------------------------- ### Start Chrome Source: https://github.com/badlogic/pi-skills/blob/main/browser-tools/SKILL.md Launches Chrome with remote debugging enabled on port 9222. The --profile flag preserves user session data. ```bash {baseDir}/browser-start.js # Fresh profile {baseDir}/browser-start.js --profile # Copy user's profile (cookies, logins) ``` -------------------------------- ### Google CLI Configuration Directories Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Common directory structure for Google Workspace CLI tools. ```text ~/.gccli/ credentials.json # OAuth client ID and secret accounts.json # User account tokens (JSON Web Tokens) ``` ```text ~/.gdcli/ credentials.json # OAuth client ID and secret accounts.json # User account tokens downloads/ # Default download directory ``` ```text ~/.gmcli/ credentials.json # OAuth client ID and secret accounts.json # User account tokens attachments/ # Downloaded attachment directory ``` -------------------------------- ### Add Account Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Add a Google account to gdcli. Use --manual for browserless OAuth. ```bash gdcli accounts add <email> --manual ``` -------------------------------- ### GET https://api.search.brave.com/res/v1/web/search Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/01-brave-search-skill.md Performs a web search using the Brave Search API to retrieve search results based on a query, country, and freshness filter. ```APIDOC ## GET https://api.search.brave.com/res/v1/web/search ### Description Performs a web search using the Brave Search API. Requires the BRAVE_API_KEY environment variable for authentication. ### Method GET ### Endpoint https://api.search.brave.com/res/v1/web/search ### Parameters #### Query Parameters - **q** (string) - Required - Search query string - **count** (number) - Required - Number of results to return (max 20) - **country** (string) - Required - Two-letter country code (e.g., 'US') - **freshness** (string) - Optional - Filter by time period or date range ### Response #### Success Response (200) - **title** (string) - Page title - **link** (string) - URL - **snippet** (string) - Search result description - **age** (string) - Result age - **content** (string) - Optional fetched page content as markdown ``` -------------------------------- ### Execute browser-cookies.js Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Run the script to display all cookies for the active tab. ```bash {baseDir}/browser-cookies.js ``` -------------------------------- ### List Gmail labels via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Retrieve a list of all system and custom labels. ```bash gmcli <email> labels list ``` ```bash gmcli user@gmail.com labels list ``` -------------------------------- ### List Gmail drafts via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Retrieve metadata for all existing draft messages. ```bash gmcli <email> drafts list ``` ```bash gmcli user@gmail.com drafts list ``` -------------------------------- ### Manage Multiple Accounts Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Use specific email addresses to target different accounts or list all configured accounts. ```bash gccli user1@gmail.com calendars gccli user2@gmail.com calendars gccli accounts list # See all configured accounts ``` -------------------------------- ### Environment Variables Reference Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/README.md Lists essential environment variables used for authentication and debugging across the project tools. ```text BRAVE_API_KEY Brave Search authentication HOME User home directory (standard) DEBUG Enable debug logging (various tools) ``` -------------------------------- ### Configure Shell Environment Variables Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Export necessary API keys and binary paths in shell configuration files like .zshrc or .bashrc. ```bash # Brave Search API export BRAVE_API_KEY="sk-..." # npm global packages export PATH="$HOME/.npm-global/bin:$PATH" # Optional: Chrome specific (for browser-tools) export CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ``` -------------------------------- ### Research and Archive Files via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Automates the lifecycle of finding, downloading, backing up, and sharing files, followed by an email notification. ```bash # Search Drive {gdcli} user@gmail.com ls --query "name contains 'report' and mimeType = 'application/pdf'" # Download found files {gdcli} user@gmail.com download abc123def456 ~/Downloads/report.pdf # Upload to backup {gdcli} user@gmail.com upload ~/Downloads/report.pdf --folder backup_folder_id # Share with team {gdcli} user@gmail.com share abc123def456 --anyone --role reader # Notify team {gmcli} user@gmail.com send \ --to "team@company.com" \ --subject "Report Available" \ --body "New report uploaded and shared" ``` -------------------------------- ### Gather and Combine Multi-Source Data Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Aggregate data from web searches, cloud storage, and video transcripts into a single report for distribution. ```bash # Web search for statistics {brave-search}/search.js "market statistics 2024" -n 5 --content > market_data.txt # Get files from Drive {gdcli} user@gmail.com ls --query "name contains 'data'" > drive_files.txt # Extract YouTube insights {youtube-transcript}/transcript.js video_id > insights.txt # Combine sources cat market_data.txt drive_files.txt insights.txt > combined_analysis.txt # Share analysis {gdcli} user@gmail.com upload combined_analysis.txt {gmcli} user@gmail.com send \ --to "stakeholders@company.com" \ --subject "Market Analysis Report" \ --body "See attached analysis combining multiple sources" ``` -------------------------------- ### List Files/Folders Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md List files and folders in the root or a specified folder. ```bash gdcli <email> ls [folderId] ``` -------------------------------- ### Project File Organization Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/INDEX.md Visual representation of the project directory structure and key documentation files. ```text /workspace/home/output/ ├── README.md # Start here ├── INDEX.md # This file ├── project-overview.md # Project context ├── 01-brave-search-skill.md # Brave Search reference ├── 02-browser-tools-skill.md # Browser tools reference ├── 03-google-workspace-skills.md # Google services reference ├── 04-transcribe-youtube-vscode.md # Audio/video/diff reference ├── api-index.md # Quick function index ├── configuration-reference.md # Setup & config guide └── common-patterns.md # Example workflows ``` -------------------------------- ### Navigate Browser Tabs via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Usage patterns for browser-nav.js to control tab navigation and reload behavior. ```bash {baseDir}/browser-nav.js <url> [--new] [--reload] ``` ```bash {baseDir}/browser-nav.js https://example.com # Navigate current tab {baseDir}/browser-nav.js https://example.com --new # Open in new tab {baseDir}/browser-nav.js https://example.com --reload # Navigate and reload ``` -------------------------------- ### Common Configuration Locations Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/project-overview.md Lists the standard directory paths used for configuration and data storage across various CLI tools and agents. ```text ~/.pi/agent/skills/pi-skills/ # pi-coding-agent user level ~/.codex/skills/pi-skills/ # Codex CLI ~/.config/amp/tools/pi-skills/ # Amp ~/.factory/skills/pi-skills/ # Droid (Factory) ~/.claude/skills/pi-skills/* # Claude Code (symlinked) ~/.gccli/ # Google Calendar data ~/.gdcli/ # Google Drive data ~/.gmcli/ # Gmail data ~/.cache/browser-tools/ # Browser profile cache ``` -------------------------------- ### Execute browser-hn-scraper.js Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Run the scraper with optional limit argument to fetch Hacker News submissions. ```bash {baseDir}/browser-hn-scraper.js [--limit <number>] ``` ```bash {baseDir}/browser-hn-scraper.js # 30 results (default) {baseDir}/browser-hn-scraper.js --limit 50 # Custom limit ``` -------------------------------- ### Extract and Analyze YouTube Content Workflow Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md A sequence of commands to fetch a YouTube transcript, search it for keywords, upload to Google Drive, and perform a web search. ```bash # Get transcript {youtube-dir}/transcript.js "dQw4w9WgXcQ" > transcript.txt # Search transcript grep "important keyword" transcript.txt # Upload to Drive gdcli user@gmail.com upload transcript.txt # Search web for related content {brave-search-dir}/search.js "topic from video" --content ``` -------------------------------- ### Project Directory Structure Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/project-overview.md Visual representation of the repository layout and core modules. ```text pi-skills/ ├── brave-search/ # Web search via Brave API ├── browser-tools/ # Chrome DevTools Protocol utilities ├── gccli/ # Google Calendar CLI wrapper ├── gdcli/ # Google Drive CLI wrapper ├── gmcli/ # Gmail CLI wrapper ├── transcribe/ # Local speech-to-text (macOS) ├── vscode/ # VS Code integration ├── youtube-transcript/ # YouTube transcript extraction ├── README.md └── LICENSE ``` -------------------------------- ### Integrate YouTube Transcripts with Web Search Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Retrieves video transcripts and supplements them with related web search results. ```bash # Get video transcript {youtube-transcript}/transcript.js dQw4w9WgXcQ > transcript.txt # Search for related info {brave-search}/search.js "topic from video" -n 5 --content # Combine results cat transcript.txt && echo "---" && {brave-search}/content.js https://example.com ``` -------------------------------- ### Manage Node.js version Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/configuration-reference.md Check current Node.js version and update using system package managers or nvm. ```bash # Check version node --version # Should be 16+ for ES modules # Update if needed brew install node # macOS apt-get install nodejs # Linux # Or use nvm (Node Version Manager) ``` -------------------------------- ### Explore Page Structure Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Retrieve key page metadata and structure before performing specific element interactions. ```bash {baseDir}/browser-eval.js '({ title: document.title, formCount: document.forms.length, buttons: document.querySelectorAll("button").length, html: document.body.innerHTML.slice(0, 3000) })' ``` -------------------------------- ### Browser Automation CLI Commands Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/INDEX.md Commands for managing browser sessions, navigation, and content extraction. ```bash {baseDir}/browser-start.js [--profile] {baseDir}/browser-nav.js <url> [--new] {baseDir}/browser-eval.js '<code>' {baseDir}/browser-screenshot.js {baseDir}/browser-pick.js "message" {baseDir}/browser-content.js <url> {baseDir}/browser-cookies.js {baseDir}/browser-hn-scraper.js [--limit] ``` -------------------------------- ### Google Drive CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/INDEX.md Commands for file management in Google Drive. ```APIDOC ## CLI Commands - `gdcli <email> ls [<folderId>] [--query]` - `gdcli <email> search "<text>"` - `gdcli <email> download <fileId> [<destPath>]` - `gdcli <email> upload <localPath> [--folder]` - `gdcli <email> mkdir <name>` - `gdcli <email> share <fileId> --anyone [--role]` ``` -------------------------------- ### gdcli mkdir Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Creates a new folder in Google Drive. ```APIDOC ## gdcli <email> mkdir <name> ### Description Creates a new folder with the specified name. ### Parameters - **name** (string) - Required - Name of the new folder ``` -------------------------------- ### Capture Viewport Screenshot Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/02-browser-tools-skill.md Executes the screenshot utility to save the current viewport as a PNG in the system temporary directory. ```bash {baseDir}/browser-screenshot.js ``` -------------------------------- ### Download File Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md Download a file from Google Drive. ```bash gdcli <email> download <fileId> [destPath] ``` -------------------------------- ### Create Gmail draft via CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Create a new draft message with specified recipients, subject, and body. ```bash gmcli <email> draft --to <recipients> --subject <subject> --body <body> ``` ```bash gmcli user@gmail.com draft \ --to "colleague@example.com" \ --subject "FYI" \ --body "Check this out..." ``` -------------------------------- ### Browser Tools CLI Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/INDEX.md Commands for automating browser interactions, navigation, and scraping. ```APIDOC ## CLI Commands - `{baseDir}/browser-start.js [--profile]` - `{baseDir}/browser-nav.js <url> [--new]` - `{baseDir}/browser-eval.js '<code>'` - `{baseDir}/browser-screenshot.js` - `{baseDir}/browser-pick.js "message"` - `{baseDir}/browser-content.js <url>` - `{baseDir}/browser-cookies.js` - `{baseDir}/browser-hn-scraper.js [--limit]` ## Functions - `scrapeHackerNews()` - `window.pick()` ``` -------------------------------- ### Schedule Meeting and Send Notification Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/03-google-workspace-skills.md Automate calendar event creation followed by an email notification. ```bash # Create calendar event gccli user@gmail.com create primary \ --summary "Project Review" \ --start "2024-07-20T14:00:00Z" \ --end "2024-07-20T15:00:00Z" # Send reminder email gmcli user@gmail.com send \ --to "team@company.com" \ --subject "Project Review Meeting Tomorrow" \ --body "Reminder: Project review at 2:00 PM tomorrow" ``` -------------------------------- ### Execute Interactive Browser Testing Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Automates browser navigation, element selection, and visual verification. ```bash # Start browser {browser-tools}/browser-start.js # Navigate to app {browser-tools}/browser-nav.js https://myapp.local # Inspect page structure {browser-tools}/browser-eval.js 'document.body.innerHTML.slice(0, 3000)' # Let user select element {browser-tools}/browser-pick.js "Click the submit button" # Evaluate after interaction {browser-tools}/browser-eval.js '({ title: document.title, currentUrl: window.location.href })' # Get screenshot for verification {browser-tools}/browser-screenshot.js ``` -------------------------------- ### Create Event Source: https://github.com/badlogic/pi-skills/blob/main/gccli/SKILL.md Create a new event in a specified calendar. ```bash gccli <email> create <calendarId> --summary <s> --start <dt> --end <dt> ``` -------------------------------- ### Route Workflows Based on Content Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Branches execution logic by checking for specific keywords in email content using grep. ```bash # Get email and check content {gmcli} user@gmail.com thread thread_id | grep -q "urgent" if [ $? -eq 0 ]; then # Urgent email - notify immediately {gmcli} user@gmail.com send \ --to "manager@company.com" \ --subject "URGENT: $(subject)" \ --body "Urgent email requires immediate attention" # Create calendar alert {gccli} user@gmail.com create primary \ --summary "URGENT email follow-up" \ --start "2024-07-12T09:00:00Z" \ --end "2024-07-12T09:15:00Z" else # Normal email - file for later {gdcli} user@gmail.com share file_id # File reference fi ``` -------------------------------- ### Verify Platform Compatibility Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/04-transcribe-youtube-vscode.md Checks if the system is running on Apple Silicon macOS. ```bash uname -s # Must be "Darwin" uname -m # Must be "arm64" ``` -------------------------------- ### Audio Recording and Archival Pipeline Source: https://github.com/badlogic/pi-skills/blob/main/_autodocs/common-patterns.md Captures local audio, performs transcription, filters for keywords, and archives files to cloud storage with an email summary. ```bash # Record audio (external tool) ffmpeg -f avfoundation -i ":0" -t 60 recording.wav # Transcribe locally (Apple Silicon) {transcribe}/transcribe.sh recording.wav > transcript.txt # Extract key terms grep -E "important|urgent|deadline" transcript.txt # Upload for archival {gdcli} user@gmail.com upload recording.wav {gdcli} user@gmail.com upload transcript.txt # Email summary {gmcli} user@gmail.com send \ --to "archive@company.com" \ --subject "Meeting Recording Archived" \ --body "Recording and transcript have been uploaded to Drive" ``` -------------------------------- ### List with Query Filter Source: https://github.com/badlogic/pi-skills/blob/main/gdcli/SKILL.md List files and folders using a Google Drive query filter. ```bash gdcli <email> ls --query "<query>" ```