debug-wp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited debug-wp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when diagnosing any WordPress problem - white screen of death, plugin conflicts, 500 errors, broken layouts, admin lockouts, performance issues, migration failures, cron problems, or any "it was working yesterday" scenario.
Do NOT jump to solutions. Always complete the triage interview first.
Use $ARGUMENTS as the initial symptom description. If empty, ask the user to describe the issue.
Ask questions in this order. Use AskUserQuestion where possible for structured input. Stop early if the user provides enough context to confidently diagnose (including any symptom passed via $ARGUMENTS).
#### 1. Symptom
/wp-admin), or both?#### 2. Trigger
#### 3. Scope
#### 4. Environment
WP_DEBUG enabled?#### 5. Logs & Evidence
wp-content/debug.log or content/debug.log contents (if WP_DEBUG_LOG is enabled)error_log, Nginx error.log, or hosting panel logs)Based on the triage answers, work through the applicable fault trees below. Narrow down to the most likely root cause before proposing solutions.
#### Common Fault Trees
| Symptom | Investigation Path |
|---|---|
| White Screen (WSOD) | Check debug.log for fatal error. Common: PHP memory limit, fatal in theme functions.php, incompatible plugin after update. Try: define('WP_MEMORY_LIMIT', '256M'), rename active theme folder via FTP/SSH, rename plugins/ folder to isolate. |
| 500 Internal Server Error | Check server error log first. Common: corrupt .htaccess, PHP memory exhaustion, mod_security rule, broken wp-config.php. Try: rename .htaccess and regenerate via Settings > Permalinks, increase memory_limit in php.ini. |
| Plugin Conflict | Deactivate all plugins, reactivate one at a time. If admin is inaccessible, rename wp-content/plugins/ or content/plugins/ via FTP/SSH to force-deactivate all. Binary search: activate half, test, narrow down. |
| Theme Issue | Switch to a default theme (Twenty Twenty-Four). If admin is broken, rename the active theme folder to force fallback. Check functions.php for syntax errors. Check template file compatibility with current WP version. |
| Database Corruption | Check wp-options for siteurl and home values. Run wp db repair via WP-CLI. Check for transient bloat: wp transient delete --all. Look for autoload=yes on oversized options. |
| Login / Admin Lockout | Check if a security plugin is blocking access (rename its folder). Reset password via WP-CLI: wp user update admin --user_pass=newpass. Check .htaccess for IP restrictions. Check wp-config.php for FORCE_SSL_ADMIN issues. |
| Redirect Loop | Check siteurl and home in wp_options (HTTP vs HTTPS mismatch). Check .htaccess for conflicting rewrite rules. Check CDN/proxy settings (Cloudflare flexible SSL + force HTTPS plugin = loop). |
| Slow Performance | Check for unoptimized queries (install Query Monitor plugin). Check object cache status. Check if page cache is active. Look at autoload options size: wp db query "SELECT SUM(LENGTH(option_value)) FROM wp_options WHERE autoload='yes'". Check for excessive external HTTP requests in wp-cron. |
| Cron Issues | Check if WP-Cron is disabled (DISABLE_WP_CRON in wp-config.php). If so, confirm a system cron is configured. Check for stuck cron events: wp cron event list. Test manually: wp cron event run --due-now. |
| Migration / URL Issues | Search-replace old URLs: wp search-replace 'old-domain.com' 'new-domain.com' --dry-run first. Check serialized data handling (WP-CLI handles this). Flush permalinks. Clear all caches. |
#### Diagnostic Commands (WP-CLI)
If the user has WP-CLI access, suggest these for quick diagnostics:
# Check WP and PHP versions
wp --info
wp core version
# List active plugins with update status
wp plugin list --status=active --format=table
# Check for plugin/theme errors
wp eval 'error_reporting(E_ALL); ini_set("display_errors", 1);'
# Check database tables
wp db check
# Check option sizes (bloat detection)
wp db query "SELECT option_name, LENGTH(option_value) AS size FROM wp_options WHERE autoload='yes' ORDER BY size DESC LIMIT 20"
# Check cron health
wp cron event list --format=table
# Verify checksums (detect modified core files)
wp core verify-checksums
wp plugin verify-checksums --allAfter diagnosis, present solutions as a numbered list ordered by:
For each solution, include:
Always recommend a backup before any fix that modifies files or database. Suggest wp db export backup.sql or the hosting provider's snapshot tool.
After the user applies a fix:
wp-includes/, wp-admin/) - changes will be overwritten on update.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.