# Using PM Skills with Gemini CLI, OpenCode, Cursor, and Kiro

> Learn how to use PM Skills with Gemini CLI, OpenCode, Cursor, and Kiro. PM Skills are agent-agnostic markdown files read from a local skills directory.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-06-17

---

**Yes, PM Skills works with Gemini CLI, OpenCode, Cursor, and Kiro because the skills are agent-agnostic markdown files that any AI assistant can read from a local `skills/` directory.**

PM Skills is an open-source marketplace of product management capabilities hosted in the `phuryn/pm-skills` repository. Because each skill is stored as a plain text [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) file within plugin-specific `*/skills/` directories—such as `pm-toolkit/skills/` and `pm-go-to-market/skills/`—you can use these capabilities with any AI assistant that supports custom skill directories, including Gemini CLI, OpenCode, Cursor, and Kiro.

## What Makes PM Skills Agent-Agnostic?

Unlike agent-specific plugins that require runtime code or APIs, PM Skills uses a **universal markdown format**. Each skill is a self-contained [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) file containing structured data and prompting instructions, but no executable code. This design means assistants simply read the files and make the skill names available for prompting. As implemented in `phuryn/pm-skills`, the repository organizes skills by plugin category, with each plugin containing its own `skills/` subdirectory.

## Installation Steps for Each Assistant

The repository's [`README.md`](https://github.com/phuryn/pm-skills/blob/main/README.md) documents the specific installation paths for each supported assistant. You install PM Skills by copying the contents of the various `*/skills/` directories into the assistant's designated skills folder.

### Gemini CLI (Global Installation)

For Gemini CLI, copy the skill folders into the global `~/.gemini/skills/` directory. This makes the skills available across all projects in your environment.

```bash

# Install all PM Skills for Gemini CLI

for plugin in pm-*/; do
  cp -r "${plugin}skills/"* ~/.gemini/skills/ 2>/dev/null
done

```

### OpenCode (Project-Level)

For OpenCode, create a project-level `.opencode/skills/` directory and copy the skills there. This keeps the capabilities scoped to your current working directory.

```bash

# Install PM Skills for OpenCode in current project

mkdir -p .opencode/skills/
for plugin in pm-*/; do
  cp -r "${plugin}skills/"* .opencode/skills/ 2>/dev/null
done

```

### Cursor (Project-Level)

For Cursor, use the `.cursor/skills/` directory within your project root. This follows the same pattern as OpenCode, maintaining skills locally per repository.

```bash

# Install PM Skills for Cursor in current project

mkdir -p .cursor/skills/
for plugin in pm-*/; do
  cp -r "${plugin}skills/"* .cursor/skills/ 2>/dev/null
done

```

### Kiro (Project-Level)

For Kiro, copy the skills into `.kiro/skills/` at the project level. The repository structure supports this path as part of its standard compatibility matrix.

```bash

# Install PM Skills for Kiro in current project

mkdir -p .kiro/skills/
for plugin in pm-*/; do
  cp -r "${plugin}skills/"* .kiro/skills/ 2>/dev/null
done

```

## How to Invoke Skills After Installation

Once copied, you can invoke any skill by name in your chosen assistant's chat interface. For example, after installing the `pm-toolkit` skills into Gemini CLI, you can ask:

```

What are the riskiest assumptions for our AI-writing-assistant idea?

```

The assistant will locate the `identify-assumptions-new` skill in your copied folder and provide a structured response based on the markdown content stored in that skill file.

## Summary

- **PM Skills** is a collection of markdown-based skills in `phuryn/pm-skills` that requires no runtime dependencies.
- Each skill resides in a `*/skills/` directory (e.g., `pm-toolkit/skills/`, `pm-product-strategy/skills/`).
- **Gemini CLI** uses `~/.gemini/skills/` for global installation.
- **OpenCode**, **Cursor**, and **Kiro** use project-level directories: `.opencode/skills/`, `.cursor/skills/`, and `.kiro/skills/` respectively.
- Copy operations require only standard bash commands; no additional configuration or code changes are needed.
- Skills are invoked by name in natural language prompts after installation.

## Frequently Asked Questions

### Do I need to install different versions of PM Skills for each assistant?

No. According to the `phuryn/pm-skills` source code, the same [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) files work across all assistants because they contain only markdown data. You simply copy the same files from the `pm-*/skills/` directories into the assistant-specific folder (e.g., `.cursor/skills/` or `~/.gemini/skills/`).

### Can I use PM Skills with assistants not listed in the repository?

Yes, any AI assistant that can read markdown files from a custom directory can use PM Skills. The repository documents Gemini CLI, OpenCode, Cursor, and Kiro, but the agent-agnostic format means you can adapt the installation steps for other assistants by copying the `*/skills/` contents to your assistant's skills directory.

### What is the difference between the plugin directories like `pm-toolkit` and `pm-go-to-market`?

These are thematic collections. `pm-toolkit/skills/` contains general product management utilities, while `pm-go-to-market/skills/` and `pm-product-strategy/skills/` contain specialized skills for those domains. Each subdirectory contains its own `skills/` folder with [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md) files, and you can copy from any or all of them depending on your needs.

### Do I need the `*.claude-plugin/plugin.json` files for Gemini CLI or Cursor?

No. The [`plugin.json`](https://github.com/phuryn/pm-skills/blob/main/plugin.json) manifests are used only for Claude-based agent packaging. For Gemini CLI, OpenCode, Cursor, and Kiro, you only need the markdown files located in the various `*/skills/` directories.