Using Agent Skills
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
Expert guidance for creating effective Cursor IDE rules with best practices, patterns, and examples
$ npx skills add pr-pm/prpm --skill creating-cursor-rules-skill -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pr-pm/prpm creating-cursor-rules-skill --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-cursor-rules-skill .claude/skills/creating-cursor-rules-skill && 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-cursor-rules-skill" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-cursor-rules-skill into .claude/skills/creating-cursor-rules-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-cursor-rules-skill", 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-cursor-rules-skillType 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-cursor-rules-skill -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pr-pm/prpm creating-cursor-rules-skill --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-cursor-rules-skill .agents/skills/creating-cursor-rules-skill && 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-cursor-rules-skill" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-cursor-rules-skill into .agents/skills/creating-cursor-rules-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-cursor-rules-skill", 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-cursor-rules-skill -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pr-pm/prpm creating-cursor-rules-skill --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-cursor-rules-skill .cursor/skills/creating-cursor-rules-skill && 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-cursor-rules-skill" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-cursor-rules-skill into .cursor/skills/creating-cursor-rules-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-cursor-rules-skill", 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-cursor-rules-skill--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-cursor-rules-skill -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pr-pm/prpm creating-cursor-rules-skill --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-cursor-rules-skill .gemini/skills/creating-cursor-rules-skill && 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-cursor-rules-skill" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-cursor-rules-skill into .gemini/skills/creating-cursor-rules-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-cursor-rules-skill", 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-cursor-rules-skillInstalls 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-cursor-rules-skill -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-cursor-rules-skill .github/skills/creating-cursor-rules-skill && 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-cursor-rules-skill" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-cursor-rules-skill into .github/skills/creating-cursor-rules-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-cursor-rules-skill", 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-cursor-rules-skill -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-cursor-rules-skill --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-cursor-rules-skill .opencode/skills/creating-cursor-rules-skill && 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-cursor-rules-skill" agent skill from https://github.com/pr-pm/prpm/tree/main/.claude/skills/creating-cursor-rules-skill into .opencode/skills/creating-cursor-rules-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "creating-cursor-rules-skill", 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-cursor-rules-skillExpert guidance for creating effective Cursor IDE rules with best practices, patterns, and examples
Creating Cursor Rules Skill is an agent skill from pr-pm/prpm. Expert guidance for creating effective Cursor IDE rules with best practices, patterns, and examples
Its SKILL.md is about 3.8k 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 Agent instruction files. The repository describes itself as: The universal registry for AI coding tools. The licence is MIT.
6 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown, yaml and typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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 Cursor Rules Skill loads about 3.8k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 563 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 found no risky patterns in SKILL.md.
Automated 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). 563 words, ~3,836 tokens.
.claude/skills/creating-cursor-rules-skill/SKILL.md (or your agent's skills folder).You are an expert at creating effective .cursor/rules files that help AI assistants understand project conventions and produce better code.
Use when:
.cursor/rules setupDon't use for:
Rules should provide concrete guidance, not vague advice.
❌ BAD - Vague:
Write clean code with good practices.
Use proper TypeScript types.✅ GOOD - Specific:
Use functional components with TypeScript.
Define prop types with interfaces, not inline types.
Extract custom hooks when logic exceeds 10 lines.Don't document what linters handle. Document architectural decisions.
❌ BAD - Linter territory:
Use semicolons in JavaScript.
Indent with 2 spaces.
Add trailing commas.✅ GOOD - Decision guidance:
Choose Zustand for global state, React Context for component trees.
Use Zod for runtime validation at API boundaries only.
Prefer server components except for: forms, client-only APIs, animations.Group related rules into clear sections:
## Tech Stack
- Next.js 14 with App Router
- TypeScript strict mode
- Tailwind CSS for styling
## Code Style
- Functional components only
- Named exports (no default exports)
- Co-locate tests with source files
## Patterns
- Use React Server Components by default
- Client components: mark with "use client" directive
- Error handling: try/catch + toast notification
## Project Conventions
- API routes in app/api/
- Components in components/ (flat structure)
- Types in types/ (shared), components/*/types.ts (local)Cursor rules are written in MDC (.mdc) format, which supports YAML frontmatter metadata and markdown content. The metadata controls how and when rules are applied.
Every Cursor rule MUST start with YAML frontmatter between --- markers:
---
description: Brief description of when and how to use this rule
globs: ["**/*.ts", "**/*.tsx"]
alwaysApply: false
---| Property | Type | Required | Description |
|---|---|---|---|
description | string | Yes | Brief description of the rule's purpose. Used by AI to decide relevance. Never use placeholders like --- or empty strings. |
globs | array | No | File patterns that trigger auto-attachment (e.g., ["**/*.ts"]). Leave empty or omit if not using Auto Attached type. |
alwaysApply | boolean | No | If true, rule is always included in context. If false or omitted, behavior depends on Rule Type. |
Control how rules are applied using the type dropdown in Cursor:
| Rule Type | Description | When to Use |
|---|---|---|
| Always | Always included in model context | Core project conventions, tech stack, universal patterns that apply everywhere |
| Auto Attached | Included when files matching globs pattern are referenced | File-type specific rules (e.g., React components, API routes, test files) |
| Agent Requested | Available to AI, which decides whether to include it based on description | Contextual patterns, specialized workflows, optional conventions |
| Manual | Only included when explicitly mentioned using @ruleName | Rarely-used patterns, experimental conventions, legacy documentation |
Always Rule (Core conventions):
---
description: TypeScript and code style conventions for the entire project
alwaysApply: true
---Auto Attached Rule (File pattern-specific):
---
description: React component patterns and conventions
globs: ["**/components/**/*.tsx", "**/app/**/*.tsx"]
alwaysApply: false
---Agent Requested Rule (Contextual):
---
description: RPC service boilerplate and patterns for creating new RPC endpoints
globs: []
alwaysApply: false
---Manual Rule (Explicit invocation):
---
description: Legacy API migration patterns (deprecated, use for reference only)
globs: []
alwaysApply: false
---Description is mandatory - AI uses this to determine relevance. Be specific:
Backend codeFastify API route patterns, error handling, and validation using ZodUse globs strategically - Auto-attach to relevant file types:
["**/*.tsx", "**/*.jsx"]["**/api/**/*.ts", "**/routes/**/*.ts"]["**/*.test.ts", "**/*.spec.ts"]Avoid always applying everything - Use alwaysApply: true sparingly:
Make Agent Requested rules discoverable - Write descriptions that help AI understand when to use:
Every Cursor rule file should include these sections:
## Tech Stack
- Framework: Next.js 14
- Language: TypeScript 5.x (strict mode)
- Styling: Tailwind CSS 3.x
- State: Zustand
- Database: PostgreSQL + Prisma
- Testing: Vitest + PlaywrightWhy: Prevents AI from suggesting wrong tools/patterns.
## Code Style
- **Components**: Functional with TypeScript
- **Props**: Interface definitions, destructure in params
- **Hooks**: Extract when logic > 10 lines
- **Exports**: Named exports only (no default)
- **File naming**: kebab-case.tsxAlways include code examples, not just descriptions:
## Patterns
### Error Handling
```typescript
try {
const result = await operation();
toast.success('Operation completed');
return result;
} catch (error) {
const message = error instanceof Error ? error.message : 'Unknown error';
toast.error(message);
throw error; // Re-throw for caller to handle
}// app/api/users/route.ts
export async function GET(request: Request) {
try {
// 1. Parse/validate input
// 2. Check auth/permissions
// 3. Perform operation
// 4. Return Response
} catch (error) {
return new Response(JSON.stringify({ error: 'Message' }), {
status: 500
});
}
}
## What NOT to Include
Avoid these common mistakes:
**❌ Too obvious:**
```markdown
- Write readable code
- Use meaningful variable names
- Add comments when necessary
- Follow best practices❌ Too restrictive:
- Never use any third-party libraries
- Always write everything from scratch
- Every function must be under 5 lines❌ Language-agnostic advice:
- Use design patterns
- Think before you code
- Test your code
- Keep it simpleUse this template for new Cursor rules:
# Project Name - Cursor Rules
## Tech Stack
[List all major technologies with versions]
## Code Style
[Specific style decisions]
## Project Structure
[Directory organization]
## Patterns
[Common patterns with code examples]
### Pattern Name
[Description + code example]
## Conventions
[Project-specific conventions]
## Common Tasks
[Frequent operations with step-by-step snippets]
### Task Name
1. Step one
2. Step two
[Code example]
## Anti-Patterns
[What to avoid and why]
## Testing
[Testing approach and patterns with examples]## Tech Stack
**Framework:** Next.js 14 (App Router)
**Language:** TypeScript 5.x (strict mode enabled)
**Styling:** Tailwind CSS 3.x with custom design system
**State:** Zustand for global, React Context for component trees
**Forms:** React Hook Form + Zod validation
**Database:** PostgreSQL with Prisma ORM
**Testing:** Vitest (unit), Playwright (E2E)
**Deployment:** Vercel
**Key Dependencies:**
- `@tanstack/react-query` for server state
- `date-fns` for date manipulation (not moment.js)
- `clsx` + `tailwind-merge` for conditional classes## Anti-Patterns
### ❌ Don't: Default Exports
```typescript
// ❌ BAD
export default function Button() { }
// ✅ GOOD
export function Button() { }Why: Named exports are more refactor-friendly and enable better tree-shaking.
// ❌ BAD
function UserCard({ user }: { user: { name: string; email: string } }) { }
// ✅ GOOD
interface User {
name: string;
email: string;
}
function UserCard({ user }: { user: User }) { }Why: Reusability and discoverability.
## Common Tasks
Include shortcuts for frequent operations:
```markdown
## Common Tasks
### Adding a New API Route
1. Create `app/api/[route]/route.ts`
2. Define HTTP method exports (GET, POST, etc.)
3. Validate input with Zod schema
4. Use try/catch for error handling
5. Return `Response` object
```typescript
import { z } from 'zod';
const schema = z.object({
name: z.string().min(1)
});
export async function POST(request: Request) {
try {
const body = await request.json();
const data = schema.parse(body);
// Process...
return Response.json({ success: true });
} catch (error) {
if (error instanceof z.ZodError) {
return Response.json(
{ error: error.errors },
{ status: 400 }
);
}
return Response.json(
{ error: 'Internal error' },
{ status: 500 }
);
}
}
## Best Practices
### Keep Rules Under 500 Lines
- Split large rules into multiple, composable files
- Each rule file should focus on one domain or concern
- Reference other rule files when needed (e.g., "See `backend-api.mdc` for API patterns")
- **Why:** Large files become unmanageable and harder for AI to process effectively
### Split Into Composable Rules
Break down by concern rather than creating one monolithic file:
.cursor/rules/ ├── tech-stack.mdc # Core technologies ├── typescript-patterns.mdc # Language-specific patterns ├── api-conventions.mdc # API route standards ├── component-patterns.mdc # React/UI patterns └── testing-standards.mdc # Testing approaches
**Why:** Easier to maintain, update, and reuse across similar projects.
### Provide Concrete Examples or Referenced Files
Instead of vague guidance, always include:
- Complete, runnable code examples
- References to actual project files: `See components/auth/LoginForm.tsx for example`
- Links to internal docs or design system
- Specific file paths and line numbers when relevant
**❌ BAD - Vague:**
```markdown
Use proper error handling in API routes.✅ GOOD - Concrete:
API routes must use try/catch with typed errors. Example:
```typescript
// app/api/users/route.ts (lines 10-25)
export async function POST(request: Request) {
try {
const data = await request.json();
return Response.json({ success: true });
} catch (error) {
return handleApiError(error); // See lib/errors.ts
}
}See app/api/products/route.ts for complete implementation.
### Write Rules Like Clear Internal Docs
Rules should read like technical documentation, not casual advice:
- Be precise and unambiguous
- Include the "why" behind decisions
- Document exceptions to rules
- Reference architecture decisions
- Link to related rules or documentation
**Think:** "Could a new engineer understand this without asking questions?"
### Reuse Rules When Repeating Prompts
If you find yourself giving the same instructions repeatedly in chat:
1. Document that pattern in `.cursor/rules/`
2. Include the specific guidance you keep repeating
3. Add examples of correct implementation
4. Update existing rule files rather than creating new ones
**Common scenarios to capture:**
- "Always use X pattern for Y"
- "Don't forget to Z when doing W"
- Corrections you make frequently
- Patterns specific to your team/codebase
### Keep It Scannable
- Use clear section headers
- Bold important terms
- Include code examples (not just prose)
- Use tables for comparisons
- Add table of contents for files over 200 lines
### Update Regularly
- Review monthly or after major changes
- Remove outdated patterns
- Add new patterns as they emerge
- Keep examples current with latest framework versions
- Archive deprecated rules rather than deleting (for reference)
### Test with AI
After creating rules, test them:
1. Ask AI: "Create a new API route following our conventions"
2. Ask AI: "Add error handling to this component"
3. Ask AI: "Refactor this to match our patterns"
Verify AI follows rules correctly. Update rules based on gaps found.
## Real-World Example
The PRPM registry `.cursor/rules` demonstrates:
- Clear tech stack declaration (Fastify, TypeScript, PostgreSQL)
- Specific TypeScript patterns
- Fastify-specific conventions
- Error handling standards
- API route patterns
- Database query patterns
## Checklist for New Cursor Rules
**Project Context:**
- [ ] Tech stack clearly defined with versions
- [ ] Key dependencies listed
- [ ] Deployment platform specified
**Code Style:**
- [ ] Component style specified (functional/class)
- [ ] Export style (named/default)
- [ ] File naming convention
- [ ] Specific to project (not generic advice)
**Patterns:**
- [ ] At least 3-5 code examples
- [ ] Cover most common tasks
- [ ] Include error handling pattern
- [ ] Show project-specific conventions
**Organization:**
- [ ] Logical section headers
- [ ] Scannable (not wall of text)
- [ ] Examples are complete and runnable
- [ ] Anti-patterns included with rationale
**Testing:**
- [ ] Tested with AI assistant
- [ ] AI follows conventions correctly
- [ ] Updated after catching mistakes
## Helpful Prompts for Users
When helping users create Cursor rules:
**Discovery:**
- "What's your tech stack?"
- "What patterns do you want AI to follow?"
- "What mistakes does AI currently make?"
**Refinement:**
- "Are there anti-patterns you want documented?"
- "What are your most common coding tasks?"
- "Do you have naming conventions?"
**Validation:**
- "Let me test these rules by asking you to generate code..."
- "Does this match your team's style?"
## Remember
- Cursor rules are **living documents** - update as project evolves
- Focus on **decisions**, not basics
- Include **runnable code examples**, not descriptions
- Test rules with AI to verify effectiveness
- Keep it **scannable** - use headers, bold, lists
**Goal:** Help AI produce code that matches project conventions without constant correction.© 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-cursor-rules-skill of pr-pm/prpm.
Open the folder on GitHubat commit 5f993e6
Creating Cursor Rules Skill 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 Cursor Rules Skill this skillpr-pm/prpm | 122 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Using Agent Skillsaddyosmani/agent-skills | 103k | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Claude ReflectBayramAnnakov/claude-reflect | 1.7k | 2 repos | ~627 | Automated safety check: Pass | MIT | |
| Writing For Agentsbestofjs/bestofjs | 3.1k | 19 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~12k | Automated safety check: Pass | CC-BY-4.0 |
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
BayramAnnakov/claude-reflect
Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.
bestofjs/bestofjs
Writing documents for agents. An agent skill from bestofjs/bestofjs.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
microsoft/SkillOpt
Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.
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
Categories
Expert guidance for creating effective Cursor IDE rules with best practices, patterns, and examples. Creating Cursor Rules Skill is an agent skill from pr-pm/prpm.
Creating Cursor Rules Skill fits situations like: tasks that involve Agent instruction files.
Run `npx skills add pr-pm/prpm --skill creating-cursor-rules-skill -a claude-code`. Or copy the skill folder (.claude/skills/creating-cursor-rules-skill in pr-pm/prpm) into .claude/skills/creating-cursor-rules-skill in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pr-pm/prpm --skill creating-cursor-rules-skill -a codex`. Or copy the skill folder (.claude/skills/creating-cursor-rules-skill in pr-pm/prpm) into .agents/skills/creating-cursor-rules-skill 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-cursor-rules-skill -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-cursor-rules-skill, .gemini/skills/creating-cursor-rules-skill, .github/skills/creating-cursor-rules-skill and .opencode/skills/creating-cursor-rules-skill in your project.
SKILL.md names no scripts, command-line tools or credentials: Creating Cursor Rules Skill is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Creating Cursor Rules Skill 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.8k tokens (SKILL.md is roughly 15k 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 Cursor Rules Skill: Using Agent Skills (addyosmani/agent-skills, 103k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Writing For Agents (bestofjs/bestofjs, 3.1k stars) and Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k 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.