aip

$npx mdskill add fredrikaverpil/dotfiles/aip

Fetches and applies Google API design standards from AIP documentation.

  • Ensures API designs and protobuf definitions follow Google's official standards.
  • Depends on WebFetch to retrieve AIP pages from google.aip.dev.
  • Browses the AIP index and reads relevant rules before applying them.
  • Provides documented AIP guidelines to guide API design or review.

SKILL.md

.github/skills/aipView on GitHub ↗
---
name: aip
description: Google API Improvement Proposals (AIP) reference. Use BEFORE designing or reviewing APIs, protobuf definitions, or any work involving Google API design standards. Fetches relevant AIP rules from https://google.aip.dev for the task at hand.
---

# Google API Improvement Proposals (AIP)

When working on API design, protobuf definitions, or any task involving Google
API standards, refresh your understanding of the relevant AIP rules.

## Critical Rule

**NEVER assume you know what an AIP rule says from memory.** Always fetch and
read the actual AIP documentation before applying or referencing any rule. Your
memory of AIP rules may be inaccurate or outdated.

## Process

1. **Browse the AIP index** - Go to https://google.aip.dev/general to see all
   available AIP guidelines
2. **Identify relevant AIPs** - Based on the task at hand, determine which AIP
   rules may apply
3. **Fetch and read the relevant AIPs** - Use WebFetch to retrieve the specific
   AIP pages. Do NOT skip this step, even if you think you know what the rule
   says
4. **Apply the standards** - Ensure your work follows the AIP guidelines as
   documented

## When to Invoke This Skill

- Designing new API endpoints or protobuf messages
- Reviewing API changes in PRs
- Implementing resource-oriented services
- Naming fields, methods, or resources
- Working with `google.api` annotations

More from fredrikaverpil/dotfiles

SkillDescription
gh-pr>-
golang-styleTry to follow the proverbs:
neovimInteract with the user's running Neovim instance via RPC. Use this skill when you need to execute Lua or Vimscript inside Neovim, query buffer state, send commands, or interact with the Neovim runtime in any way. Triggers when the user asks about their current Neovim session, wants to run something inside Neovim, or when you need to inspect Neovim state (buffers, windows, options, LSP, etc.). Also use when running inside a Neovim terminal and needing to communicate with the parent editor.
nix-installInstall Nix in the Claude Code web sandbox (the cloud environment) as a general-purpose package installer, then install packages from the Nix binary cache with no GitHub access. Use whenever a web session needs a tool that isn't preinstalled and isn't in a language registry (npm/pypi/crates/go) — Neovim, ripgrep, a compiler, anything in nixpkgs. Installs nix-bin via apt, configures single-user mode, and installs packages via nix-env against the nixpkgs channel tarball. Web-sandbox only.
nvim-config>
nvim-installInstall Neovim and stand up the nvim-fredrik config in the Claude Code web sandbox (the cloud environment), where no Neovim exists. Use this before testing any Neovim config change in a web session, e.g. checking out a PR branch that touches nvim-fredrik and observing its runtime behavior. Installs Neovim via Nix from the binary cache with no GitHub access, wires the repo's config into place, launches Neovim headless with a listen socket, and exports $NVIM so the `neovim` RPC skill can drive it. Web-sandbox only.
nvim-pluginReference: https://neovim.io/doc/user/lua-plugin/
plan-interviewBefore creating a plan, interview the user
pr-style>-
proofProvide proof to your claim(s)