Using pm-skills with Gemini CLI: A Complete Setup Guide
To use pm-skills with Gemini CLI, copy the markdown skill files from the repository's plugin directories into ~/.gemini/skills/, which allows Gemini to treat them as prompt templates for structured product management queries.
The pm-skills repository is a marketplace of nine independent plugins that expose reusable product management knowledge modules. When using pm-skills with Gemini CLI, you bypass the Claude-specific command layer and utilize the repository in skills-only mode, deploying the markdown-based knowledge directly into Gemini's skill directory for immediate natural-language access.
What is pm-skills?
The pm-skills repository organizes product management expertise into nine independent plugins, such as pm-toolkit, pm-product-strategy, and pm-product-discovery. Each plugin contains two distinct asset types:
- Skills: Markdown files located in
*/skills/*.mdthat follow a universal YAML-front-matter format withnameanddescriptionfields, followed by the instructional content that the model reads. - Commands: Claude-specific slash commands that are ignored when using the repository with Gemini CLI.
According to the repository's README.md, the skill architecture is designed for file-based data ingestion, where each markdown file serves as a prompt template that Gemini parses and executes based on natural-language queries.
How Gemini CLI Integration Works
Gemini CLI supports a skills-only mode that differs from the full plugin architecture used by Claude. As documented in the Gemini integration section of the README.md (lines 19-23), the integration works through direct file ingestion:
- Skill Discovery: Gemini scans the
~/.gemini/skills/directory for markdown files. - Content Parsing: The model reads the YAML front matter and content from files like
pm-toolkit/skills/review-resume/SKILL.md. - Query Matching: When you submit a natural-language prompt, Gemini matches it against the skill's description and content to generate structured responses.
No runtime code executes; the workflow relies entirely on placing the correct markdown files in Gemini's skill path.
Installation Methods
You can install pm-skills either globally for system-wide access or locally for project-specific use.
Global Installation (System-Wide)
For permanent access across all projects, copy all skill files from the nine plugin directories into your global Gemini configuration:
# Copy every skill from each plugin into Gemini’s global skill folder
for plugin in pm-*/; do
cp -r "$plugin/skills/"* ~/.gemini/skills/ 2>/dev/null
done
This loop traverses the plugin directories (pm-toolkit, pm-product-strategy, etc.) and copies each *.md skill file into ~/.gemini/skills/. Gemini recognizes these skills immediately upon the next startup.
Project-Scoped Installation
To avoid polluting your global configuration or to maintain version-specific skills for a particular project, use a local .gemini directory:
# Create a .gemini folder at the root of the project
mkdir -p .gemini/skills
# Copy the skills locally
for plugin in pm-*/; do
cp -r "$plugin/skills/"* .gemini/skills/ 2>/dev/null
done
Placing skills in ./.gemini/skills restricts availability to the current project directory, which is useful when working with customized or experimental skill versions.
Querying Skills from Gemini CLI
Once installed, invoke skills through natural language prompts. Gemini matches your query to the appropriate skill file based on its description and content.
To trigger the identify-assumptions-new skill from the pm-product-discovery plugin:
> What are the riskiest assumptions for our AI-writing-assistant idea?
To use the review-resume skill defined in pm-toolkit/skills/review-resume/SKILL.md:
> Review my product-manager resume and suggest improvements.
Gemini loads the markdown content from the skill file and generates a multi-section feedback report following the structure prescribed in the source document.
Managing Skill Updates
When the repository receives new skills or updates, refresh your local installation by re-running the appropriate copy command from the installation steps above. Gemini reloads the markdown files on each invocation, ensuring the latest content is always used without requiring a restart or cache clearance.
Summary
- pm-skills provides nine plugin directories containing markdown-based skills with YAML front matter.
- Gemini CLI uses these in skills-only mode by reading files from
~/.gemini/skills/or./.gemini/skills/. - Installation requires copying files from
pm-*/skills/directories using bash loops. - Usage involves natural language queries that match against skill descriptions in files like
pm-toolkit/skills/review-resume/SKILL.md. - Updates are handled by re-copying the skill files when the repository changes.
Frequently Asked Questions
Where do I place pm-skills files for Gemini CLI?
Place the skill markdown files in either ~/.gemini/skills/ for global access or .gemini/skills/ within your project directory for scoped access. Gemini CLI scans these locations to discover available skills.
Do I need to install the Claude-specific commands for Gemini?
No. The command layer located in directories like pm-toolkit/.claude-plugin/ is specific to Claude Desktop. Gemini CLI only processes the markdown skill files found in the */skills/ directories, ignoring the command definitions entirely.
How does Gemini know which skill to use for my query?
Gemini parses the YAML front matter in each skill file—specifically the name and description fields—along with the content body. When you submit a natural language query, the model matches your intent against these descriptions to select the appropriate skill template.
Can I modify the skills after installation?
Yes. Since the workflow is file-based, you can edit any markdown file in your .gemini/skills/ directory. Changes take effect immediately on the next query without requiring a restart of the Gemini CLI.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →