pi-skills

A set of everyday agent skills: web search, browser automation, Gmail, Google Calendar and Drive, speech transcription and YouTube transcripts

Skill

Medium risk

We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.

Why this level

  • Runs local CLIs and scripts and reaches the internet through external APIs
  • Acts on personal mail, calendar and drive: creates events, drafts and edits files
  • Automates Chrome and executes scripts on pages
All reasons and checks

badlogic/pi-skills

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/pi-skills

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Assembled automatically, review before installing.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a claude-code -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .claude/skills
cp -R "$tmp/brave-search" .claude/skills/brave-search
cp -R "$tmp/browser-tools" .claude/skills/browser-tools
cp -R "$tmp/gccli" .claude/skills/gccli
cp -R "$tmp/gdcli" .claude/skills/gdcli
cp -R "$tmp/gmcli" .claude/skills/gmcli
cp -R "$tmp/transcribe" .claude/skills/transcribe
cp -R "$tmp/vscode" .claude/skills/vscode
cp -R "$tmp/youtube-transcript" .claude/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a cursor -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .agents/skills
cp -R "$tmp/brave-search" .agents/skills/brave-search
cp -R "$tmp/browser-tools" .agents/skills/browser-tools
cp -R "$tmp/gccli" .agents/skills/gccli
cp -R "$tmp/gdcli" .agents/skills/gdcli
cp -R "$tmp/gmcli" .agents/skills/gmcli
cp -R "$tmp/transcribe" .agents/skills/transcribe
cp -R "$tmp/vscode" .agents/skills/vscode
cp -R "$tmp/youtube-transcript" .agents/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a github-copilot -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .github/skills
cp -R "$tmp/brave-search" .github/skills/brave-search
cp -R "$tmp/browser-tools" .github/skills/browser-tools
cp -R "$tmp/gccli" .github/skills/gccli
cp -R "$tmp/gdcli" .github/skills/gdcli
cp -R "$tmp/gmcli" .github/skills/gmcli
cp -R "$tmp/transcribe" .github/skills/transcribe
cp -R "$tmp/vscode" .github/skills/vscode
cp -R "$tmp/youtube-transcript" .github/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a codex -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .agents/skills
cp -R "$tmp/brave-search" .agents/skills/brave-search
cp -R "$tmp/browser-tools" .agents/skills/browser-tools
cp -R "$tmp/gccli" .agents/skills/gccli
cp -R "$tmp/gdcli" .agents/skills/gdcli
cp -R "$tmp/gmcli" .agents/skills/gmcli
cp -R "$tmp/transcribe" .agents/skills/transcribe
cp -R "$tmp/vscode" .agents/skills/vscode
cp -R "$tmp/youtube-transcript" .agents/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a gemini-cli -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .agents/skills
cp -R "$tmp/brave-search" .agents/skills/brave-search
cp -R "$tmp/browser-tools" .agents/skills/browser-tools
cp -R "$tmp/gccli" .agents/skills/gccli
cp -R "$tmp/gdcli" .agents/skills/gdcli
cp -R "$tmp/gmcli" .agents/skills/gmcli
cp -R "$tmp/transcribe" .agents/skills/transcribe
cp -R "$tmp/vscode" .agents/skills/vscode
cp -R "$tmp/youtube-transcript" .agents/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .devin/skills
cp -R "$tmp/brave-search" .devin/skills/brave-search
cp -R "$tmp/browser-tools" .devin/skills/browser-tools
cp -R "$tmp/gccli" .devin/skills/gccli
cp -R "$tmp/gdcli" .devin/skills/gdcli
cp -R "$tmp/gmcli" .devin/skills/gmcli
cp -R "$tmp/transcribe" .devin/skills/transcribe
cp -R "$tmp/vscode" .devin/skills/vscode
cp -R "$tmp/youtube-transcript" .devin/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Formerly Windsurf.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a cline -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .cline/skills
cp -R "$tmp/brave-search" .cline/skills/brave-search
cp -R "$tmp/browser-tools" .cline/skills/browser-tools
cp -R "$tmp/gccli" .cline/skills/gccli
cp -R "$tmp/gdcli" .cline/skills/gdcli
cp -R "$tmp/gmcli" .cline/skills/gmcli
cp -R "$tmp/transcribe" .cline/skills/transcribe
cp -R "$tmp/vscode" .cline/skills/vscode
cp -R "$tmp/youtube-transcript" .cline/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a roo -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .roo/skills
cp -R "$tmp/brave-search" .roo/skills/brave-search
cp -R "$tmp/browser-tools" .roo/skills/browser-tools
cp -R "$tmp/gccli" .roo/skills/gccli
cp -R "$tmp/gdcli" .roo/skills/gdcli
cp -R "$tmp/gmcli" .roo/skills/gmcli
cp -R "$tmp/transcribe" .roo/skills/transcribe
cp -R "$tmp/vscode" .roo/skills/vscode
cp -R "$tmp/youtube-transcript" .roo/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

A fork of Roo Code, same .roo folders.

Run in a terminal in the project folder

npx skills add badlogic/pi-skills --skill brave-search browser-tools gccli gdcli gmcli transcribe vscode youtube-transcript -a opencode -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Without third-party tools, from commit 90bb51c
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .agents/skills
cp -R "$tmp/brave-search" .agents/skills/brave-search
cp -R "$tmp/browser-tools" .agents/skills/browser-tools
cp -R "$tmp/gccli" .agents/skills/gccli
cp -R "$tmp/gdcli" .agents/skills/gdcli
cp -R "$tmp/gmcli" .agents/skills/gmcli
cp -R "$tmp/transcribe" .agents/skills/transcribe
cp -R "$tmp/vscode" .agents/skills/vscode
cp -R "$tmp/youtube-transcript" .agents/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .agents/skills
cp -R "$tmp/brave-search" .agents/skills/brave-search
cp -R "$tmp/browser-tools" .agents/skills/browser-tools
cp -R "$tmp/gccli" .agents/skills/gccli
cp -R "$tmp/gdcli" .agents/skills/gdcli
cp -R "$tmp/gmcli" .agents/skills/gmcli
cp -R "$tmp/transcribe" .agents/skills/transcribe
cp -R "$tmp/vscode" .agents/skills/vscode
cp -R "$tmp/youtube-transcript" .agents/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

Run in a terminal in the project folder

tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/badlogic/pi-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /brave-search/ /browser-tools/ /gccli/ /gdcli/ /gmcli/ /transcribe/ /vscode/ /youtube-transcript/
git -C "$tmp" checkout 90bb51cae36515a648515b633a81c0c6efc8c74d
mkdir -p .agents/skills
cp -R "$tmp/brave-search" .agents/skills/brave-search
cp -R "$tmp/browser-tools" .agents/skills/browser-tools
cp -R "$tmp/gccli" .agents/skills/gccli
cp -R "$tmp/gdcli" .agents/skills/gdcli
cp -R "$tmp/gmcli" .agents/skills/gmcli
cp -R "$tmp/transcribe" .agents/skills/transcribe
cp -R "$tmp/vscode" .agents/skills/vscode
cp -R "$tmp/youtube-transcript" .agents/skills/youtube-transcript

Commands for macOS and Linux, on Windows run them in Git Bash.

You will need: Node.js

Checked against the repository on Sep 25, 2026, commit 90bb51c.

Text for your agent

Clone the repository: git clone https://github.com/badlogic/pi-skills ~/pi-skills, then in Claude Code symlink the folders you need into ~/.claude/skills/, for example ln -s ~/pi-skills/brave-search ~/.claude/skills/brave-search. Set up each skill's keys and dependencies per its SKILL.md.

Other ways from the author
git clone https://github.com/badlogic/pi-skills ~/pi-skills
mkdir -p ~/.claude/skills
ln -s ~/pi-skills/brave-search ~/.claude/skills/brave-search

Claude Code looks for SKILL.md one level deep, so each folder is attached by its own symlink. Attach browser-tools, gccli, gdcli, gmcli, transcribe, vscode and youtube-transcript the same way.

This is third-party code. Review the repository files before installing.

What it does

The set adds several self-contained skills for everyday tasks. brave-search provides web search and page content extraction via the official Brave API without a browser. browser-tools drives Chrome over the DevTools Protocol: navigation, screenshots, element picking and script execution. gccli, gdcli and gmcli are command-line wrappers over Google Calendar, Drive and Gmail for viewing and creating events, managing files and handling mail. transcribe turns speech into text via Whisper on Groq, youtube-transcript fetches video transcripts, and vscode helps compare files and show diffs. Each skill is a SKILL.md with instructions and helper files, and the agent picks the right one from its description. The set is built for pi-coding-agent and is compatible with Claude Code, Codex CLI, Amp and Droid.

Who it is for. For developers who want ready skills for search, the browser and Google services straight from the agent.

Good fit when

  • You need web search or page content extraction without an interactive browser
  • You need Chrome automation: navigation, screenshots, running scripts
  • You need Gmail, Google Calendar and Drive from the command line

Not a fit when

  • You have no keys or accounts for the needed services: Brave, Google, Groq
  • Policy forbids connecting the agent to personal mail, calendar and drive
  • You want a single MCP server rather than a set of separate CLIs and skills

Example request

Search the web for current docs on this library and extract the content of the first result

Limitations

The skills are thin wrappers over external services, so keys and accounts are required: a Brave Search account with a free subscription (a card is required to create it, with no charges), a Google Cloud project with OAuth for calendar, drive and mail, and a Groq key for transcription. Some skills need Node.js and npm packages, browser-tools needs Chrome, and vscode needs the code CLI in PATH. The Google wrappers act on the user's personal data: they create events, drafts and manage files, so access rights need care.

How to disable. Remove the symlinks or skill folders from ~/.claude/skills/ or the agent's directory (.pi, .codex, .factory). Globally installed CLIs can be removed with npm uninstall -g.

Security check

  • Runs local CLIs and scripts and reaches the internet through external APIs
  • Acts on personal mail, calendar and drive: creates events, drafts and edits files
  • Automates Chrome and executes scripts on pages

README in short

The README lists eight skills and gives install paths for pi-coding-agent, Codex CLI, Amp, Droid and Claude Code. In Claude Code, which looks for SKILL.md one level deep, each skill folder is attached by its own symlink. It documents the skill format: YAML frontmatter with name and description, instructions and a {baseDir} placeholder replaced with the skill's directory path at runtime. The requirements section notes which skills need Node.js, npm packages, Chrome, Brave and Groq keys or VS Code. MIT licensed.

SKILL.md

---
name: brave-search
description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content. Lightweight, no browser required.
---

# Brave Search

Web search and content extraction using the official Brave Search API. No browser required.

## Setup

Requires a Brave Search API account with a free subscription. A credit card is required to create the free subscription (you won't be charged).

1. Create an account at https://api-dashboard.search.brave.com/register
2. Create a Free AI subscription
3. Create an API key for the subscription
4. Add BRAVE_API_KEY to your shell profile
5. Install dependencies (run once): cd {baseDir} && npm install

## Search

{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

FAQ

Is this one skill or a set?

A set of separate skills: web search, browser, Gmail, calendar, drive, speech transcription, YouTube transcripts and VS Code integration. Install only what you need.

Does it only work with pi?

No. The set is built for pi-coding-agent but is compatible with Claude Code, Codex CLI, Amp and Droid, each with its own install path in the README.

Official

A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes

MCP serverMedium risk46.5KRepository stars
Editors’ pick

A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more

CLIHigh risk31.2KRepository stars
Editors’ pick

Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server

CLIMedium riskNo VPN needed30.1KRepository stars
Editors’ pick

A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI

MCP serverMedium risk28.1KRepository stars
Foxx AIpi-skills

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.