jsirish
- 19 skills
- 0 followers
- 6 hours ago last updated
- ▌ Dynamic Base Site · jsirish bundleReference for Dynamic's Silverstripe base-site stack - the dynamic/silverstripe-base-site module set, per-version namespaces (SS4 through SS6), extension locations, and upgrade checklist. Use when working in a project that requires dynamic/silverstripe-base-site, when resolving "class not found" or namespace errors in a Dynamic base-site project, or when planning an upgrade of a base-site project. Triggers on "base-site", "base site stack", "Dynamic base site", or unfamiliar dynamic/* module questions.
- ▌ Ss5 Data Migration · jsirish bundleComplete workflow for executing Silverstripe 5 data migration tasks. Use this skill when the user wants to "run migration tasks", "migrate data", "sync and migrate", or specifically refers to "SS5 data migration" after a database sync or deployment.
- ▌ Ss6 Data Migration · jsirish bundleRepeatable workflow for Silverstripe 6 upgrade data migrations. Use this skill when the user wants to "run the SS6 migration", "sync and migrate for SS6", "test the linkfield migration", or rebuild a local site to match production after an SS6 upgrade. Sequence is - sync the production database, dev/build, run each migration task with row-count verification, verify the front end against production.
- ▌ Block To Element Migration · jsirish bundleMigrate legacy SilverStripe blocks (sheadawson/silverstripe-blocks or dynamic/dynamic-blocks) to SilverStripe Elemental during an SS3→SS4 (or later) upgrade. Covers the migration BuildTask, the block-class → element-class mapping catalog, the BlockArea → ElementalArea relation mapping, the legacy-template → element-template duplication pattern (preserving HTML/CSS verbatim), and the area-suffix template convention for area-specific rendering (`Element_RelationName.ss`). Use when: - A project still has populated `SiteTree_Blocks` / `Block` tables - Element templates render but the HTML doesn't match the legacy site - You need different rendering of the same Element class in different page areas (sidebar vs main content vs home-content) - You're starting a new SS3→SS4 upgrade and want a proven workflow
- ▌ Silverstripe 3 To 4 Upgrade · jsirish bundleComplete workflow for upgrading legacy Silverstripe 3 projects to Silverstripe 4. Use when upgrading SS3 projects, migrating namespaces, or resolving database schema blockers. Covers directory structure changes, namespace migration, database schema preflight fixes, data migration tasks (Files, Blocks to Elemental), and template adjustments.
- ▌ Silverstripe Version Upgrade · jsirish bundleComplete workflow for upgrading Silverstripe CMS projects between major versions on the SS4+ line (e.g. SS4 → SS5, SS5 → SS6). Covers assessment, dependency updates, config migration, data migration tasks, testing, and deployment. For legacy SS3 → SS4 upgrades use the silverstripe-3-to-4-upgrade skill instead — that migration is structurally different.
- ▌ Silverstripe Module Ss6 Upgrade · jsirish bundleModule-level (composer package) Silverstripe 6 upgrade workflow for silverstripe-vendormodule repos with their own CI. Use when upgrading a single module such as dynamic/silverstripe-calendar or dynamic/silverstripe-elemental-accordion to SS6, cutting a new integer branch, bumping framework constraints to ^6 and PHP to ^8.3, running the SS6 code sweep, updating gha-ci and PHPUnit config, tagging a release, and flipping the default branch. For upgrading a full project (a website root with recipes and DDEV) use the silverstripe-version-upgrade skill instead.
- ▌ Handoff · jsirish bundleUpdates the master HANDOFF.md with distilled knowledge and creates a timestamped session log. Run ONLY when explicitly invoked by the user via /handoff. Portable no-plugin fallback: if the throughline plugin is active, use throughline-handoff instead.
- ▌ Onboard · jsirish bundleBootstrap agent context at the start of a new session. Reads project state, checks environment, and aligns on goals. Portable no-plugin fallback: if the throughline plugin is active, use throughline-onboard instead.
- ▌ Local CI · jsirish bundleRun the executable test/lint layer locally — PHPUnit, PHPCS, PHPStan, npm lint/build/test, Python ruff/pytest, shellcheck, and project-declared custom checks (.local-ci.json) — auto-fixing where a fixer exists, then reporting pass/fail. Augments LLM code review (/code-review, pr-review-toolkit), which never actually runs tests. USE THIS SKILL when asked to "run ci", "run the tests", "run local ci", "check before opening a PR", "run the checks", "does it pass", or to verify a change before review/merge. Replaces per-project tests.sh scripts. Self-contained — bundles scripts/local-ci.sh.
- ▌ Merge Pr · jsirish bundleUse when the user asks to merge an approved Pull Request or Merge Request (for example, to merge a reviewed PR/MR or run a previous `/merge_pr` workflow); safely merges the request, cleans up associated branches, and synchronizes the local repository. Works with GitHub (`gh`) and GitLab (`glab`).
- ▌ Ddev Sync · jsirish bundleStart DDEV, sync a remote database and assets into the local dev environment, and run the framework build step. Use when the user says "ddev sync", "sync remote database", "pull remote data", "set up local dev", or asks to sync a DDEV project with a remote environment.
- ▌ Pr Review · jsirish bundleRequest and manage pull request reviews using pr-agent (local CLI) with optional Claude second-pass. Use when needing to review a PR, check review comments, address feedback, or iterate on fixes. Triggers on "review pr", "request review", "check review comments", "review this", or "re-review".
- ▌ Dhq Deploy · jsirish bundleDeploy a project to production using the DeployHQ CLI (dhq). Use when asked to deploy, trigger a deployment, or ship code via DeployHQ.
- ▌ Server Sync · jsirish bundlePull databases and assets from a remote server to the local DDEV environment using sync.sh. Use when onboarding to a project, grabbing fresh production data to test locally, or refreshing local state before beginning upgrade work. See server-deploy for the reverse direction.
- ▌ Server Deploy · jsirish bundlePush local databases and assets to a remote pre-prod or staging server using deploy.sh. Use during major version upgrades or when deploying pre-computed public/assets to a staging environment. See server-sync for the reverse direction.
- ▌ Ddev Legacy PHP · jsirish bundleEnable EOL PHP versions (5.6–7.4) in DDEV v1.24+ on Apple Silicon (ARM64)
- ▌ Ss Branch Strategy · jsirish bundleEstablish consistent branch-naming and default-branch conventions across all module repos when executing a major framework or CMS version upgrade. Covers integer branch naming, default-branch promotion, previous-version preservation, and the fork-and-upstream workflow for third-party modules. Use when planning or executing a major version upgrade across a suite of repos.
- ▌ Visual Regression Upgrade · jsirish bundleVerify visual parity between two web environments (production vs upgraded/UAT) by capturing full-page screenshots of matching URLs and producing a pixel-diff HTML report. USE THIS SKILL whenever an agent needs to answer "does it look the same", "check the upgrade visually", "compare prod and UAT", "did the layout change", "screenshot diff", "visual regression", or verify a CMS major-version upgrade (SilverStripe 4→5, Drupal 9→10, WordPress major bumps) hasn't broken the front-end. Self-contained — bundles a Playwright capture script, URL crawler, and pixel-diff report generator.