← ClaudeAtlas

orbit-host-pantheonlisted

Pantheon hosting compatibility — read-only filesystem (only `wp-content/uploads` writable), Redis included, multidev environments, Quicksilver hooks, advanced CDN, NGINX-only. Use when the user says "Pantheon", "Pantheon hosting", "WP on Pantheon", or customer is on Pantheon.
adityaarsharma/orbit · ★ 1 · Testing & QA · score 55
Install: claude install-skill adityaarsharma/orbit
# 🪐 orbit-host-pantheon — Pantheon compat Pantheon's environment is uniquely restrictive: most of the file system is **read-only** at runtime, code lives in git, deploys are git-driven. Plugins that write outside `wp-content/uploads` break. --- ## What this skill checks ### 1. Read-only filesystem (the big one) **Whitepaper intent:** Pantheon's containers are immutable. Code (incl. plugins) is read-only at runtime. The only writable path is `wp-content/uploads/`. Plugins that try to write configs, caches, or logs anywhere else fail silently → mysterious bugs. ```php // ❌ Fails on Pantheon file_put_contents( WP_CONTENT_DIR . '/cache/my-plugin.json', $data ); fopen( ABSPATH . 'tmp.log', 'w' ); // ✅ Always works $uploads = wp_upload_dir(); file_put_contents( $uploads['basedir'] . '/my-plugin/cache.json', $data ); ``` ### 2. Redis included by default Pantheon ships Redis on all paid plans. Use `wp_cache_*` confidently: ```php wp_cache_set( 'my_key', $value, 'my-plugin', HOUR_IN_SECONDS ); ``` ### 3. Multidev environments Pantheon supports unlimited dev/test/live + branch-based dev environments. Detect: ```php $env = $_ENV['PANTHEON_ENVIRONMENT'] ?? null; // 'dev', 'test', 'live', or branch name if ( $env === 'live' ) { // Production-only behaviour } ``` ### 4. Quicksilver hooks Pantheon-specific event hooks (deploy, cache-clear). Your plugin doesn't NEED to integrate but can: ```yaml # pantheon.yml api_version: 1 workflows: deploy: after: - type: webphp