Read-only Drupal issue triage helper with a hybrid backend:
apibackend: Drupal.orgapi-d7with filtering, tags, and file metadata.drupalorgbackend: usesdrupalorg-cli0.8+ for agent-aligned issue/project reads.autobackend (default): prefersdrupalorgwhen compatible, otherwise falls back toapi.
- Python 3.9+
- Optional:
drupalorgCLI (0.8.0+) available as command/path.- Alias-based setups are supported (for example
alias drupalorg='ddev drupalorg').
- Alias-based setups are supported (for example
Issue summary:
python scripts/dorg.py --format json issue <nid-or-url>
python scripts/dorg.py --backend drupalorg --format md issue <nid-or-url> --resolve-tags none --files-limit 0Project search:
python scripts/dorg.py --format json search --project drupal --limit 5
python scripts/dorg.py --backend drupalorg --format json search --project drupal --status rtbc--backend=drupalorg intentionally supports a narrower option set.
issuerequires:--resolve-tags none--files-limit 0- no
--related-mrs/--extra-credit
searchsupports:- status
needs review(8) orrtbc(14) only - default sort
changedand directionDESC - no priority/category/version/component/tag filters
- status
When --backend=auto, unsupported combinations automatically fall back to api and include the reason under source.auto_fallback_reason.
JSON output remains schema-stable for issue/search payloads and now includes:
{
"source": {
"backend": "api|drupalorg",
"tool": "api-d7|drupalorg-cli",
"auto_fallback_reason": "optional string"
}
}This skill stays read-only. For fork/MR actions, use drupalorg-cli directly:
drupalorg issue:get-fork <nid> --format=llm
drupalorg issue:setup-remote <nid>
drupalorg issue:checkout <nid> <branch>
drupalorg mr:list <nid> --format=llm
drupalorg mr:status <nid> <mr-iid> --format=llm
drupalorg mr:logs <nid> <mr-iid>