Load Drupal-specific conventions (translations, CSS, error handling) on demand. Use when working on theming, translations, or exception handling.
Load these conventions only when relevant to the current task.
t() or TranslatableMarkup./translations/*.po files with msgctxt.|t filter for strings, {% trans %} blocks for placeholders.msgctxt "my_module" / msgid "English" / msgstr "Translated"..parent .child), not parent containers.block__element--modifier strictly for custom classes.{{ attach_library('my_theme/component') }} for all assets.*.libraries.yml entry.NULL/FALSE returns.\Exception — catch the narrowest exception you can handle.// Good: specific exception, early return.
if (!$entity) {
throw new EntityNotFoundException("Entity $id not found.");
}
// Bad: silently swallowing errors.
try {
$result = $service->process();
} catch (\Exception $e) {
// Never do this.
}
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer