Build And Profiling
pikax/verter
Build dependency chains, rebuild sequences, profiling with MCP, and Analysis MCP server setup for Verter
A skill your agent uses when creating Zed extensions with custom slash commands, language support, themes, or MCP servers - provides Rust/WASM extension structure, slash command API…
$ npx skills add pr-pm/prpm --skill creating-zed-extensions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pr-pm/prpm creating-zed-extensions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/creating-zed-extensions .claude/skills/creating-zed-extensions && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "creating-zed-extensions" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensions into .claude/skills/creating-zed-extensions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-zed-extensions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pr-pm/prpm --skill creating-zed-extensions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pr-pm/prpm creating-zed-extensions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/creating-zed-extensions .agents/skills/creating-zed-extensions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "creating-zed-extensions" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensions into .agents/skills/creating-zed-extensions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-zed-extensions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pr-pm/prpm --skill creating-zed-extensions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pr-pm/prpm creating-zed-extensions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/creating-zed-extensions .cursor/skills/creating-zed-extensions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "creating-zed-extensions" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensions into .cursor/skills/creating-zed-extensions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-zed-extensions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pr-pm/prpm.git --path .claude/skills/creating-zed-extensions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pr-pm/prpm --skill creating-zed-extensions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pr-pm/prpm creating-zed-extensions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/creating-zed-extensions .gemini/skills/creating-zed-extensions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "creating-zed-extensions" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensions into .gemini/skills/creating-zed-extensions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-zed-extensions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pr-pm/prpm creating-zed-extensionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pr-pm/prpm --skill creating-zed-extensions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/creating-zed-extensions .github/skills/creating-zed-extensions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "creating-zed-extensions" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensions into .github/skills/creating-zed-extensions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-zed-extensions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pr-pm/prpm --skill creating-zed-extensions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pr-pm/prpm creating-zed-extensions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/creating-zed-extensions .opencode/skills/creating-zed-extensions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "creating-zed-extensions" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-zed-extensions into .opencode/skills/creating-zed-extensions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-zed-extensions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
creating-zed-extensionsA skill your agent uses when creating Zed extensions with custom slash commands, language support, themes, or MCP servers - provides Rust/WASM extension structure, slash command API…
Creating Zed Extensions is an agent skill from pr-pm/prpm. Use when creating Zed extensions with custom slash commands, language support, themes, or MCP servers - provides Rust/WASM extension structure, slash command API (runslashcommand, SlashCommandOutput), and development workflow for compiled extensions
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Hooks and plugins and MCP servers. It works with Model Context Protocol, Rust and WebAssembly. The repository describes itself as: The universal registry for AI coding tools. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5f993e6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitcurlshcargoghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comdocs.rsapi.github.comsh.rustup.rsAlso links to:
zed.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Creating Zed Extensions loads about 3.1k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 288 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pr-pm/prpm at commit 5f993e6, republished under its MIT licence (© pr-pm). 288 words, ~3,110 tokens.
.claude/skills/creating-zed-extensions/SKILL.md (or your agent's skills folder).Zed extensions are Rust programs compiled to WebAssembly that can provide slash commands, language support, themes, grammars, and MCP servers. Extensions implement the zed::Extension trait and are distributed via Zed's extension registry.
Create a Zed extension when:
/deploy, /analyze, /fetch-docs)Don't create for:
.rules files).zed/settings.json)my-extension/
├── Cargo.toml # Rust manifest
├── extension.toml # Extension metadata
└── src/
└── lib.rs # Extension implementation# extension.toml
id = "my-commands"
name = "My Commands"
version = "0.1.0"
authors = ["Your Name"]
repository = "https://github.com/username/my-commands"
license = "MIT"
[slash_commands.echo]
description = "echoes the provided input"
requires_argument = true
[slash_commands.greet]
description = "greets the user"
requires_argument = false// src/lib.rs
use zed_extension_api::{self as zed, Result, SlashCommand, SlashCommandOutput};
struct MyExtension;
impl zed::Extension for MyExtension {
fn run_slash_command(
&self,
command: SlashCommand,
args: Vec<String>,
_worktree: Option<&zed::Worktree>,
) -> Result<SlashCommandOutput> {
match command.name.as_str() {
"echo" => {
if args.is_empty() {
return Err("echo requires an argument".to_string());
}
Ok(SlashCommandOutput {
text: args.join(" "),
sections: vec![],
})
}
"greet" => {
Ok(SlashCommandOutput {
text: "Hello! How can I help you today?".to_string(),
sections: vec![],
})
}
_ => Err(format!("Unknown command: {}", command.name)),
}
}
}
zed::register_extension!(MyExtension);# Cargo.toml
[package]
name = "my-extension"
version = "0.1.0"
edition = "2021"
[lib]
crate-type = ["cdylib"]
[dependencies]
zed_extension_api = "0.1.0"// src/lib.rs
use zed_extension_api::{self as zed, Result, SlashCommand, SlashCommandOutput, SlashCommandOutputSection};
use std::process::Command;
struct DocsExtension;
impl zed::Extension for DocsExtension {
fn run_slash_command(
&self,
command: SlashCommand,
args: Vec<String>,
worktree: Option<&zed::Worktree>,
) -> Result<SlashCommandOutput> {
match command.name.as_str() {
"docs" => self.fetch_docs(args, worktree),
"api" => self.fetch_api_reference(args),
_ => Err(format!("Unknown command: {}", command.name)),
}
}
fn complete_slash_command_argument(
&self,
command: SlashCommand,
_args: Vec<String>,
) -> Result<Vec<zed::SlashCommandArgumentCompletion>> {
match command.name.as_str() {
"docs" => Ok(vec![
zed::SlashCommandArgumentCompletion {
label: "rust".to_string(),
new_text: "rust".to_string(),
run_command: true,
},
zed::SlashCommandArgumentCompletion {
label: "typescript".to_string(),
new_text: "typescript".to_string(),
run_command: true,
},
zed::SlashCommandArgumentCompletion {
label: "python".to_string(),
new_text: "python".to_string(),
run_command: true,
},
]),
_ => Ok(vec![]),
}
}
}
impl DocsExtension {
fn fetch_docs(
&self,
args: Vec<String>,
worktree: Option<&zed::Worktree>,
) -> Result<SlashCommandOutput> {
if args.is_empty() {
return Err("docs requires a topic (e.g., /docs rust)".to_string());
}
let topic = args.join(" ");
let docs_url = format!("https://docs.rs/{}", topic);
// Use worktree context if available
let context = if let Some(wt) = worktree {
format!("\nProject: {}", wt.root_path())
} else {
String::new()
};
let output_text = format!(
"Documentation for: {}\nURL: {}{}\n\nFetching latest docs...",
topic, docs_url, context
);
Ok(SlashCommandOutput {
text: output_text.clone(),
sections: vec![
SlashCommandOutputSection {
range: (0..output_text.len()),
label: format!("Docs: {}", topic),
},
],
})
}
fn fetch_api_reference(&self, args: Vec<String>) -> Result<SlashCommandOutput> {
if args.is_empty() {
return Err("api requires a library name".to_string());
}
let library = &args[0];
// Execute external command to fetch API docs
let output = Command::new("curl")
.args(&["-s", &format!("https://api.github.com/repos/{}/readme", library)])
.output()
.map_err(|e| format!("Failed to execute curl: {}", e))?;
if !output.status.success() {
return Err("Failed to fetch API documentation".to_string());
}
let response = String::from_utf8_lossy(&output.stdout);
Ok(SlashCommandOutput {
text: format!("API Reference for {}\n\n{}", library, response),
sections: vec![],
})
}
}
zed::register_extension!(DocsExtension);# extension.toml
id = "docs-fetcher"
name = "Documentation Fetcher"
description = "Fetch documentation and API references via slash commands"
version = "1.0.0"
authors = ["Developer Name <dev@example.com>"]
repository = "https://github.com/username/docs-fetcher"
license = "MIT"
[slash_commands.docs]
description = "fetch documentation for a topic"
requires_argument = true
[slash_commands.api]
description = "fetch API reference for a library"
requires_argument = true
[slash_commands.help]
description = "show available documentation commands"
requires_argument = false# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Add WASM target
rustup target add wasm32-wasip1
# Create extension directory
mkdir -p ~/.local/share/zed/extensions/my-extension
cd ~/.local/share/zed/extensions/my-extension# Compile to WASM
cargo build --release --target wasm32-wasip1
# WASM output location
# target/wasm32-wasip1/release/my_extension.wasm# Zed automatically loads extensions from:
# macOS: ~/Library/Application Support/Zed/extensions/
# Linux: ~/.local/share/zed/extensions/
# Copy extension files
cp extension.toml ~/Library/Application\ Support/Zed/extensions/my-extension/
cp target/wasm32-wasip1/release/my_extension.wasm ~/Library/Application\ Support/Zed/extensions/my-extension/extension.wasm
# Restart Zed to load extension# Extensions published via PR to zed-industries/extensions
# https://github.com/zed-industries/extensions
# Fork the repository
git clone https://github.com/zed-industries/extensions
cd extensions
# Add your extension
mkdir extensions/my-extension
cp -r ~/path/to/my-extension/* extensions/my-extension/
# Create PR with extension metadata
git checkout -b add-my-extension
git add extensions/my-extension
git commit -m "Add my-extension: Custom slash commands"
git push origin add-my-extensionRequired licenses (as of October 1st, 2025):
Extensions with other licenses will be rejected during review.
// Command input
struct SlashCommand {
name: String,
// Additional metadata
}
// Command output
struct SlashCommandOutput {
text: String,
sections: Vec<SlashCommandOutputSection>,
}
struct SlashCommandOutputSection {
range: (usize, usize), // Character range in text
label: String, // Section label for UI
}
// Argument completion
struct SlashCommandArgumentCompletion {
label: String, // Display in completion menu
new_text: String, // Insert when selected
run_command: bool, // Execute immediately after selection
}trait Extension {
// Required for slash commands
fn run_slash_command(
&self,
command: SlashCommand,
args: Vec<String>,
worktree: Option<&Worktree>,
) -> Result<SlashCommandOutput, String>;
// Optional: Argument autocompletion
fn complete_slash_command_argument(
&self,
command: SlashCommand,
args: Vec<String>,
) -> Result<Vec<SlashCommandArgumentCompletion>, String> {
Ok(vec![])
}
}| Mistake | Why It Fails | Fix |
|---|---|---|
| Wrong crate type | WASM compilation fails | Use crate-type = ["cdylib"] in Cargo.toml |
| Missing error handling | Extension crashes | Return Err(String) for failures |
| Not validating args | Silent failures | Check args.is_empty() for required args |
| Hardcoded paths | Extension not portable | Use relative paths or worktree context |
| Missing default case | Unhandled commands crash | Add _ => Err(...) in match |
| Unlicensed extension | Rejected by registry | Include approved license in extension.toml |
| Blocking operations | Freezes Zed UI | Use async or spawn threads for long operations |
fn run_slash_command(
&self,
command: SlashCommand,
args: Vec<String>,
worktree: Option<&zed::Worktree>,
) -> Result<SlashCommandOutput> {
if let Some(wt) = worktree {
let project_root = wt.root_path();
let config_path = format!("{}/config.json", project_root);
// Read project-specific config
let config = std::fs::read_to_string(config_path)
.map_err(|e| format!("Failed to read config: {}", e))?;
// Use config in command logic
}
// Continue command execution
}let output_text = format!(
"# Results\n\n## Section 1\nContent here\n\n## Section 2\nMore content"
);
Ok(SlashCommandOutput {
text: output_text.clone(),
sections: vec![
SlashCommandOutputSection {
range: (0..12), // "# Results"
label: "Header".to_string(),
},
SlashCommandOutputSection {
range: (14..40), // "## Section 1\nContent here"
label: "Section 1".to_string(),
},
SlashCommandOutputSection {
range: (42..output_text.len()),
label: "Section 2".to_string(),
},
],
})Productivity: Custom /deploy command deploys directly from Assistant panel
Documentation: /docs rust Vec fetches Rust Vec documentation without leaving editor
Integration: /gh issue 123 fetches GitHub issue details inline
Workflow: /analyze-deps shows dependency tree and suggests updates
Schema Reference: packages/converters/schemas/zed-extension.schema.json
Documentation: https://zed.dev/docs/extensions/developing-extensions
Example Extension: https://github.com/zed-industries/zed/tree/main/extensions/slash-commands-example
© pr-pm, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/creating-zed-extensions of pr-pm/prpm.
Open the folder on GitHubat commit 5f993e6
Creating Zed Extensions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Creating Zed Extensions this skillpr-pm/prpm | 122 | — | ~3.1k | Automated safety check: Notes | MIT | |
| Build And Profilingpikax/verter | 112 | — | ~4.3k | Automated safety check: Pass | MIT | |
| MCP Integration for Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Crush Configurationcharmbracelet/crush | 29k | — | ~3.7k | Automated safety check: Pass | Custom licence | |
| Lean Ctx Reviewyvgude/lean-ctx | 3.9k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| OpenpetsOpenPetsHQ/openpets | 1.3k | — | ~2.1k | Automated safety check: Pass | MIT |
pikax/verter
Build dependency chains, rebuild sequences, profiling with MCP, and Analysis MCP server setup for Verter
anthropics/claude-plugins-official
Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.
charmbracelet/crush
Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.
yvgude/lean-ctx
Review how the lean-ctx ctx MCP tools performed in the current session and file upstream issues for confirmed problems.
OpenPetsHQ/openpets
A skill your agent uses whenever the user wants to build, extend, debug, test, validate, locally load, package, or publish an OpenPets plugin; work with the OpenPets Plugin SDK v3, plugin manifest…
anthropics/claude-plugins-official
Scans a codebase and suggests which Claude Code hooks, subagents, skills, plugins and MCP servers fit its stack, without changing any files.
pr-pm/prpm
Reference for writing Claude Code agent files: location, frontmatter fields, validation limits, tool and model choices, and the required content format.
pr-pm/prpm
Covers how to build, configure and publish Claude Code hooks: event types, exit codes, JSON I/O, and PRPM packaging.
pr-pm/prpm
Shows how to write .claude/rules/ files correctly: paths frontmatter instead of globs, quoted glob patterns, global rules and conversion of Cursor rules.
pr-pm/prpm
Reference for writing portable Agent Skills packages, covering SKILL.md frontmatter limits, name rules, directory layout and where Codex CLI, GitHub Copilot and Amp look for skills.
pr-pm/prpm
A skill your agent uses when building custom Kiro AI agents or when user asks for agent configurations - provides JSON structure, tool configuration, prompt patterns, and security best practices for…
pr-pm/prpm
A skill your agent uses when creating OpenCode agents - provides markdown format with YAML frontmatter, mode/tools/permission configuration, and best practices for specialized AI assistants
Works with
Categories
A skill your agent uses when creating Zed extensions with custom slash commands, language support, themes, or MCP servers - provides Rust/WASM extension structure, slash command API…. Creating Zed Extensions is an agent skill from pr-pm/prpm.
Creating Zed Extensions fits situations like: creating Zed extensions with custom slash commands; language support; MCP servers - provides Rust/WASM extension structure; slash command API (runslashcommand.
Run `npx skills add pr-pm/prpm --skill creating-zed-extensions -a claude-code`. Or copy the skill folder (.claude/skills/creating-zed-extensions in pr-pm/prpm) into .claude/skills/creating-zed-extensions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pr-pm/prpm --skill creating-zed-extensions -a codex`. Or copy the skill folder (.claude/skills/creating-zed-extensions in pr-pm/prpm) into .agents/skills/creating-zed-extensions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pr-pm/prpm --skill creating-zed-extensions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/creating-zed-extensions, .gemini/skills/creating-zed-extensions, .github/skills/creating-zed-extensions and .opencode/skills/creating-zed-extensions in your project.
Going by SKILL.md and its folder, Creating Zed Extensions needs the command-line tools its instructions call (git, curl, sh, cargo and gh).
SKILL.md names 5 domains. In commands or code: github.com, docs.rs, api.github.com and sh.rustup.rs; the agent is likely to contact these when it follows the instructions. As links in the text: zed.dev. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Creating Zed Extensions is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Creating Zed Extensions: Build And Profiling (pikax/verter, 112 stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars), Crush Configuration (charmbracelet/crush, 29k stars) and Lean Ctx Review (yvgude/lean-ctx, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pr-pm (a GitHub organization) maintains it in pr-pm/prpm, which has 122 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 6, 2026.
Source: pr-pm/prpm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.