bonny / wordpress-org-compliance
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/wordpress-org-compliance && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/4372" && unzip -o skill.zip -d .claude/skills/wordpress-org-compliance && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/wordpress-org-compliance/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Ensures WordPress.org compliance for freemium plugins (free vs premium features, license keys, trial limits, upselling). Prevents trialware violations. Use when adding premium features, implementing upsells, checking license keys, creating teasers, reviewing code before WordPress.org submission, or when the user mentions "premium", "upsell", or "freemium".
Skill Content
---
name: wordpress-org-compliance
description: Ensures WordPress.org compliance for freemium plugins and prevents trialware violations. Reviews premium features, upsells, license keys, and teasers before WordPress.org submission. Triggers: "premium", "upsell", "freemium", "license key", "wp.org guidelines", "trialware".
allowed-tools: Read, Grep, Glob
---
# WordPress.org Plugin Compliance
Ensures WordPress.org compliance for free vs premium code and upselling.
## Core Rule: No Locked Code
**Golden Rule:** All code in WordPress.org plugins must be free and fully functional.
- Every feature works completely without a license key
- No trial periods or usage limits
- No features requiring payment to unlock
## Quick Reference
### Not Allowed
- Trial periods or time limits
- Usage quotas or artificial limits
- License keys for local features
- Disabled features requiring payment
- Intrusive nag screens
### Allowed
- Informational upselling (non-intrusive)
- Separate premium plugin from your site
- Feature detection (not restriction)
- Comparison tables and teasers
- Disabled form previews for premium-only features
## Key Patterns
```php
// ❌ WRONG: Feature Restriction
if ( ! $this->is_premium() ) {
echo 'Premium required';
return;
}
// ✅ CORRECT: Feature Detection
$this->show_basic_export();
if ( $this->has_premium_addon() ) {
do_action( 'sh_premium_export_options' );
}
// ❌ WRONG: Artificial Limits
$limit = $this->is_premium() ? 10000 : 100;
// ✅ CORRECT: No Artificial Limits
$limit = apply_filters( 'sh_event_limit', 10000 );
```
## Compliance Checklist
- [ ] All features work without license key
- [ ] No trial periods or time limits
- [ ] No usage quotas
- [ ] Upselling is informational, not obstructive
- [ ] Free version provides real value
## Detailed Information
- [examples.md](examples.md) - Detailed code examples
- [testing.md](testing.md) - Testing procedures and pre-submission verification
## Resources
- [WordPress.org Guidelines](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#5-trialware-is-not-permitted)
**The Simple Rule:** If it's in the WordPress.org version, it must work completely without payment.