DR

drupal-config

Simplifies Drupal configuration management, syncing, and config splitting using Drush commands.

Install

mkdir -p .claude/skills/drupal-config && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12481" && unzip -o skill.zip -d .claude/skills/drupal-config && rm skill.zip

Installs to .claude/skills/drupal-config

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Drupal configuration management with Drush — import/export config, preview config changes before applying (e.g., seeing what would change without importing), config splits, and environment syncing.
197 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Export active Drupal configuration to YAML files
  • Import YAML configuration files into active Drupal configuration
  • Preview configuration changes before applying them
  • Manage complete and partial configuration splits
  • Activate and deactivate configuration splits

How it works

The skill uses Drush commands to manage Drupal configuration, including exporting, importing, previewing changes, and handling configuration splits for environment-specific settings.

Inputs & outputs

You give it
Drupal configuration changes or split definitions
You get back
Synchronized Drupal configuration across environments

When to use drupal-config

  • Export Drupal config
  • Sync environments
  • Manage config splits

About this skill

Drupal Configuration Management

Safety: Avoid Accidental Remote Imports

Remote drush may default to --yes and auto-confirm cim. Always use safe patterns:

# SAFE — preview only
ssh user@remote "drush cim --no --diff"
ssh user@remote "drush config:get config.name"
ssh user@remote "drush config:status"

# DANGEROUS — may auto-import
ssh user@remote "drush cim --diff"

Import / Export

ddev drush cex               # Export active config → YAML files
ddev drush cim               # Import YAML files → active config
ddev drush cim --no --diff   # Preview only (no import)
ddev drush config:status     # Show pending changes (read-only)

Config Splits

Complete vs Partial — CRITICAL distinction

TypeBehaviorUse for
CompleteConfig exists ONLY in that environmentModules on/off (devel, stage_file_proxy)
PartialBase config everywhere, different VALUESAPI keys, SMTP, search server URLs

Complete split: config is removed from config/sync/ and lives only in config/{split}/. Partial split: config stays in config/sync/, overrides live in config/{split}/config_split.patch.*.yml.

Split Commands

ddev drush config-split:status            # List splits and active state
ddev drush csex {split-name}              # Export specific split
ddev drush csim {split-name}              # Import specific split
ddev drush config-split:activate {name}
ddev drush config-split:deactivate {name}

Updating a Split Definition

Changes must be in active config (DB), not just YAML files:

# Edit YAML, then import to activate
ddev drush config:import --partial
# OR set via PHP eval
ddev drush php:eval "\$c = \Drupal::configFactory()->getEditable('config_split.config_split.local'); \$c->set('partial_list', ['config.name']); \$c->save();"
ddev drush cex

Troubleshooting

Config deleted from config/sync/ on export

Root cause: Config is in complete_list instead of partial_list.

# Diagnose
grep -A10 "complete_list:" config/sync/config_split.config_split.local.yml
grep -A10 "partial_list:" config/sync/config_split.config_split.local.yml

Fix: move the item from complete_list to partial_list in the split YAML, then import and re-export.

Config won't import

ddev drush config:import --skip-config=system.site   # Skip specific locked config
ddev drush config:import --skip-modules=config_split  # Ignore splits

Split not activating

ddev drush config-split:status
ddev drush config-split:activate {split-name}
ddev drush cex

Intent → Command Mapping

User IntentCommand
Preview config changesdrush cim --no --diff
Import configdrush cim
Export configdrush cex

Related Commands

Read-only: config:get, config:status Export: cex / config:export Import: cim --no --diff (preview), cim (apply) Splits: config-split:status, csex, csim, config-split:activate

Deep Dive

  • full-guide.md — Extended reference on Config Split 2.0, patch files, export/import internals

When not to use it

  • When performing remote `drush cim` without `--no --diff`
  • When config is deleted from `config/sync/` due to `complete_list`
  • When a split is not activating correctly

Limitations

  • Remote `drush cim` may auto-import without `--no --diff`
  • Config deleted from `config/sync/` if in `complete_list`
  • Updating a split definition requires importing to activate

How it compares

This skill provides specific Drush commands and safety patterns for Drupal configuration management, including handling config splits, which is more controlled than manual file manipulation.

Compared to similar skills

drupal-config side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
drupal-config (this skill)04moReviewIntermediate
wp-testing-core69moReviewIntermediate
migration16moNo flagsBeginner
browserstack-tester17moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry