Agent skill

Creating Windsurf Packages

by pr-pm in pr-pm/prpm

A skill your agent uses when creating Windsurf rules - provides plain markdown format with NO frontmatter, 12,000 character limit, and single-file structure requirements

MITAuto-check passedDocuments & Office

Install Creating Windsurf Packages

skills CLI
$ npx skills add pr-pm/prpm --skill creating-windsurf-packages -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pr-pm/prpm creating-windsurf-packages --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pr-pm/prpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/creating-windsurf-packages .claude/skills/creating-windsurf-packages && rm -rf skills-src

Use ~/.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/

Facts

Skill name
creating-windsurf-packages
GitHub stars
122
Token cost
~1.8k tokens
SKILL.md length
397 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when creating Windsurf rules - provides plain markdown format with NO frontmatter, 12,000 character limit, and single-file structure requirements

  • Works in 5 steps: Focus on project-specific patterns - AI… → Use concise language - Every word counts → Limit code examples - Only essential… → …
  • Creating Windsurf rules - provides plain markdown format with NO frontmatter
  • SKILL.md covers Overview, Quick Reference, Creating Rules and Character Budget Tips, plus 10 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Creating Windsurf Packages is an agent skill from pr-pm/prpm. Use when creating Windsurf rules - provides plain markdown format with NO frontmatter, 12,000 character limit, and single-file structure requirements

Its SKILL.md is about 1.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 Documents & Office. The repository describes itself as: The universal registry for AI coding tools. The licence is MIT.

When your agent uses it

  • Creating Windsurf rules - provides plain markdown format with NO frontmatter
  • 000 character limit
  • Single-file structure requirements

Example prompts

  • “/creating-windsurf-packages”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Focus on project-specific patterns - AI already knows general best practices
  2. Use concise language - Every word counts
  3. Limit code examples - Only essential patterns
  4. Skip obvious practices - Don't repeat what AI knows
  5. Reference external docs - Link instead of repeating

What it can do on your machine

Read from SKILL.md and the folder at commit 5f993e6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Creating Windsurf Packages loads about 1.8k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 397 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from pr-pm/prpm at commit 5f993e6, republished under its MIT licence (© pr-pm). 397 words, ~1,767 tokens.

Download SKILL.mdSave it as .claude/skills/creating-windsurf-packages/SKILL.md (or your agent's skills folder).
name
creating-windsurf-packages
description
Use when creating Windsurf rules - provides plain markdown format with NO frontmatter, 12,000 character limit, and single-file structure requirements

Creating Windsurf Packages

Overview

Windsurf uses a single .windsurf/rules file containing plain markdown instructions with NO frontmatter.

CRITICAL CONSTRAINTS:

  • No frontmatter - Pure markdown only
  • 12,000 character limit - Hard limit enforced by Windsurf
  • Single file - All rules in one .windsurf/rules file

Quick Reference

AspectRequirement
FormatPlain markdown
FrontmatterNone (forbidden)
Character limit12,000 max
File location.windsurf/rules (single file)

Creating Rules

Plain markdown with optional H1 title and organized sections:

markdown
# React Development Guidelines

Guidelines for building React applications in this project.

## Component Structure

- Use functional components with hooks
- Keep components under 200 lines
- Extract logic into custom hooks when appropriate
- Co-locate styles with components

## State Management

We use Zustand for global state:

- Create stores in `src/stores/`
- Use selectors to prevent unnecessary re-renders
- Keep stores focused on single concerns

\`\`\`typescript
// Good: Focused store
const useAuthStore = create((set) => ({
  user: null,
  login: (user) => set({ user }),
  logout: () => set({ user: null }),
}));
\`\`\`

## Testing

- Write tests alongside components (`.test.tsx`)
- Use React Testing Library
- Test user behavior, not implementation details
- Aim for 80% coverage on new code

Character Budget Tips

To stay under 12,000 characters:

  1. Focus on project-specific patterns - AI already knows general best practices
  2. Use concise language - Every word counts
  3. Limit code examples - Only essential patterns
  4. Skip obvious practices - Don't repeat what AI knows
  5. Reference external docs - Link instead of repeating

Example: Project-Specific Context

markdown
# Project Architecture

## Tech Stack

- **Frontend**: React 18 + TypeScript + Vite
- **Styling**: Tailwind CSS
- **State**: Zustand
- **Routing**: React Router v6
- **API**: REST with axios

## Directory Structure

\`\`\`
src/
  components/     # Reusable UI components
  features/       # Feature-specific code
  hooks/          # Custom React hooks
  stores/         # Zustand stores
  utils/          # Helper functions
  types/          # TypeScript types
\`\`\`

## Coding Conventions

- Use PascalCase for components
- Use camelCase for functions/variables
- Use kebab-case for file names
- Export components as named exports

## API Integration

All API calls go through `src/api/client.ts`:

\`\`\`typescript
import { apiClient } from '@/api/client';

// Use the client
const users = await apiClient.get('/users');
\`\`\`

## Environment Variables

Access via `import.meta.env`:

- `VITE_API_URL` - Backend API URL
- `VITE_APP_ENV` - Environment (dev/staging/prod)

Content Format

Standard markdown including:

  • H1 title: Main heading (optional)
  • H2/H3 sections: Organize content
  • Lists: Unordered and ordered
  • Code blocks: With language specifiers
  • Standard markdown: Bold, italic, links

Common Mistakes

MistakeFix
Adding YAML frontmatterNo frontmatter allowed - plain markdown only
Exceeding 12,000 charsPrioritize project-specific content, trim aggressively
Multiple filesAll content in single .windsurf/rules file
Generic best practicesFocus on project-specific patterns
Verbose examplesKeep examples minimal and focused

Checking Character Count

Use this command to check character count:

bash
wc -m .windsurf/rules

Stay well under 12,000 to leave room for updates.

Show full SKILL.md (184 more words)Show less

What to Include

High Priority (include these):

  • Project-specific tech stack
  • Directory structure and naming conventions
  • API patterns unique to your project
  • Custom tooling and scripts
  • Environment-specific configuration
  • Team conventions and workflows

Low Priority (skip these):

  • General programming best practices
  • Language syntax explanations
  • Framework basics (React, TypeScript)
  • Obvious code quality rules
  • Verbose explanations of standard patterns

Example: Full Stack Project

markdown
# TaskMaster Development Guide

## Architecture

### Frontend
- React 18 with TypeScript
- Vite for build tooling
- Zustand for state management
- React Query for server state
- Tailwind CSS for styling

### Backend
- Node.js with Express
- PostgreSQL with Prisma ORM
- WebSocket for real-time features
- Redis for caching and pub/sub
- JWT for authentication

## File Structure

\`\`\`
src/
  components/     # Reusable UI components
  features/       # Feature-based modules
  hooks/          # Custom React hooks
  lib/            # Utility functions
  pages/          # Route pages
  types/          # TypeScript types
\`\`\`

## Development Workflow

1. Create feature branch from `main`
2. Write tests first (TDD)
3. Implement feature
4. Run `pnpm test` and `pnpm lint`
5. Create PR with description
6. Merge after approval

## Testing

- Use Vitest for unit tests
- Use Playwright for E2E tests
- Aim for 80% coverage on new code
- Mock external dependencies

Compression Techniques

Verbose (100+ words):

markdown
When you are working with React components, it's very important to remember
that you should always use functional components with hooks instead of class
components. This is because hooks provide a more modern and flexible way to
manage state and side effects. Additionally, you should keep your components
small and focused on a single responsibility...

Concise (30 words):

markdown
## React Components

- Use functional components with hooks (no classes)
- Keep under 200 lines
- Single responsibility
- Custom hooks for complex logic

Migration from Other Formats

When converting to Windsurf:

  1. Strip all frontmatter - Remove YAML headers completely
  2. Combine multiple files - Merge into single document
  3. Prioritize content - Keep project-specific, remove generic
  4. Trim examples - Only essential code samples
  5. Monitor length - Check character count regularly

Validation

Documentation: /Users/khaliqgant/Projects/prpm/app/packages/converters/docs/windsurf.md

Schema location: /Users/khaliqgant/Projects/prpm/app/packages/converters/schemas/windsurf.schema.json

Best Practices

  1. Be concise - 12,000 character limit means prioritize
  2. Single file - Combine all project context cohesively
  3. Clear structure - Use headers for scannable sections
  4. Real examples - Show actual code patterns from project
  5. Update regularly - Keep in sync with architecture changes
  6. No frontmatter - Plain markdown only, no YAML

Remember: Windsurf uses plain markdown with NO frontmatter. 12,000 character limit. Single .windsurf/rules file.

© 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

Files

Just SKILL.md in .claude/skills/creating-windsurf-packages of pr-pm/prpm.

Open the folder on GitHubat commit 5f993e6

Compare with similar skills

Creating Windsurf Packages 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.

Creating Windsurf Packages compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Creating Windsurf Packages this skillpr-pm/prpm122—~1.8kAutomated safety check: PassMIT
Markdown Article FormatterJimLiu/baoyu-skills26k7 repos~3.5kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
DOCXrvdbreemen/OTGW-firmware20733 repos~4.3kAutomated safety check: PassProprietary
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    26k GitHub starsUsed in 7 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • DOCX

    rvdbreemen/OTGW-firmware

    A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).

    207 GitHub starsUsed in 33 repos~4.3k tokens
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.

    41k GitHub stars~2.5k tokensUpdated today
    Documents & OfficeAuto-check passed

More from pr-pm/prpm

All 35 skills in this repo
  • Reference for writing Claude Code agent files: location, frontmatter fields, validation limits, tool and model choices, and the required content format.

    122 GitHub starsUsed in 3 repos~4k tokens
    Auto-check passed
  • Covers how to build, configure and publish Claude Code hooks: event types, exit codes, JSON I/O, and PRPM packaging.

    122 GitHub starsUsed in 2 repos~3.9k tokens
    Auto-check: notes
  • Shows how to write .claude/rules/ files correctly: paths frontmatter instead of globs, quoted glob patterns, global rules and conversion of Cursor rules.

    122 GitHub starsUsed in 2 repos~551 tokens
    Auto-check passed
  • 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.

    122 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • 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…

    122 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • 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

    122 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed

Questions about Creating Windsurf Packages

What does Creating Windsurf Packages do?

A skill your agent uses when creating Windsurf rules - provides plain markdown format with NO frontmatter, 12,000 character limit, and single-file structure requirements. Creating Windsurf Packages is an agent skill from pr-pm/prpm.

When should I use Creating Windsurf Packages?

Creating Windsurf Packages fits situations like: creating Windsurf rules - provides plain markdown format with NO frontmatter; 000 character limit; single-file structure requirements.

How do I install Creating Windsurf Packages in Claude Code?

Run `npx skills add pr-pm/prpm --skill creating-windsurf-packages -a claude-code`. Or copy the skill folder (.claude/skills/creating-windsurf-packages in pr-pm/prpm) into .claude/skills/creating-windsurf-packages in your project. Claude Code loads it when a task matches its description.

How do I install Creating Windsurf Packages in Codex?

Run `npx skills add pr-pm/prpm --skill creating-windsurf-packages -a codex`. Or copy the skill folder (.claude/skills/creating-windsurf-packages in pr-pm/prpm) into .agents/skills/creating-windsurf-packages in your project. Codex loads it when a task matches its description.

Can I use Creating Windsurf Packages in Cursor, Gemini CLI or GitHub Copilot?

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-windsurf-packages -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-windsurf-packages, .gemini/skills/creating-windsurf-packages, .github/skills/creating-windsurf-packages and .opencode/skills/creating-windsurf-packages in your project.

What does Creating Windsurf Packages need to run?

SKILL.md names no scripts, command-line tools or credentials: Creating Windsurf Packages is instructions for the agent only. Our summary lists: Node.js.

Does Creating Windsurf Packages access the network?

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.

Is Creating Windsurf Packages safe to install?

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.

What licence does Creating Windsurf Packages use?

Creating Windsurf Packages is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Creating Windsurf Packages use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Creating Windsurf Packages?

Skills that share tags, products or a category with Creating Windsurf Packages: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 781 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and DOCX (rvdbreemen/OTGW-firmware, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Creating Windsurf Packages?

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.