بنقرة واحدة
draft-roadmap-issues
Convert an approved roadmap RFC into create/update/close operations for wagtail/roadmap issues
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Convert an approved roadmap RFC into create/update/close operations for wagtail/roadmap issues
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | draft-roadmap-issues |
| description | Convert an approved roadmap RFC into create/update/close operations for wagtail/roadmap issues |
| license | MIT |
| metadata | {"audience":"maintainers","internal":true,"disable-model-invocation":true} |
Convert an approved "Public roadmap updates" RFC into local issue files under .issues/, ready to review and push with gh-issue-sync.
Counterpart to draft-roadmap-rfc: that skill writes an RFC from current roadmap data; this one applies an RFC back to the roadmap.
Read first:
gh-issue-sync skill — commands and file formatdue_on) before assigning issues..github/labels.json), milestone, and project membership via issue frontmatter; set project custom fields on Wagtail public roadmap after push.TBC rather than guessing.draft-roadmap-rfc reference data sources).gh-issue-sync push --dry-run output, and a report.Detect from context or ask the user:
rfc-<NNN>.md, or latest merged roadmap-labelled PR in wagtail/rfcs (raw: https://raw.githubusercontent.com/wagtail/rfcs/refs/heads/main/text/<NNN>-roadmap-updates.md; fall back to PR head if unmerged).Same sources as draft-roadmap-rfc: .issues/open/ and .issues/closed/, .issues/.sync/milestones.json, gh project item-list 16 --owner wagtail.
Local issue files do not include project custom fields (Size, Status, Start date, Target date). Fetch current values from the project; set changes with gh project field-list / gh project item-edit after push. See CONTRIBUTING for how milestone, Status, and Start date relate.
due_on, and whether already applied or pending user approval).T… temp ID), title, milestone, size, strategic theme, labels.TBC and why.Follow gh-issue-sync skill (report if uninstalled):
gh-issue-sync init --owner wagtail --repo roadmap # if needed
gh-issue-sync pull --all
From the RFC version number and release section headings (step 3 parses items in full), list required milestone titles (vX.Y per section; Future should already exist).
Compare against .issues/.sync/milestones.json or:
gh api repos/wagtail/roadmap/milestones --jq '.[] | select(.state=="open") | {number, title, due_on}'
Derive each release milestone's due_on from the RFC section date and the release schedule. Wagtail ships in Feb / May / Aug / Nov.
Create missing milestones before drafting issues (so due_on is set correctly):
gh api repos/wagtail/roadmap/milestones -f title='v7.5' -f due_on='2026-08-03T00:00:00Z'
Update existing milestones when the RFC date differs from due_on:
gh api -X PATCH repos/wagtail/roadmap/milestones/<number> -f due_on='2026-08-03T00:00:00Z'
gh-issue-sync push can create a milestone from issue frontmatter, but without a due date — prefer explicit creation above.
After creating or updating milestones, refresh local cache:
gh-issue-sync pull --all
Include milestone commands in the report. Do not run create/update commands unless the user asks (same as issue push).
Read the RFC against docs/rfc-template.md section layout. For each ### item under release sections, classify:
| RFC pattern | Operation |
|---|---|
### [Title](…/issues/N) | Update / Reschedule #N |
### Title (no link) | Create (match title against .issues/ first — may already exist) |
| Rename / move instructions on a linked item | Update title / Reschedule milestone |
## Proposed roadmap items to close | Close |
| Previous-release row: Done + "follow-ups on the roadmap" | Flag — follow-up is usually a separate RFC item |
Extract per item: title, Size: from RFC (or TBC), Strategic theme: from RFC (or TBC), target milestone from the section (vX.Y or Future), body content below the heading.
Cross-check release dates with .issues/.sync/milestones.json and the release schedule.
Diff against synced local files; skip items that already match.
Structure and tone: docs/item-template.md, docs/style-guide.md. Labels: .github/labels.json only.
Frontmatter mapping (see gh-issue-sync skill):
| Item template | Issue frontmatter | Set on project after push |
|---|---|---|
title | title | — |
labels | labels | — |
strategic_theme | — | Strategic theme |
release | milestone | Status |
size | — | Size |
Always set projects: [Wagtail public roadmap]. Derive Status, Start date, and Target date from milestone metadata per CONTRIBUTING.
Creates — gh-issue-sync new "Title" --edit or write .issues/open/T…-slug.md (temp ID prefix required).
Updates — edit .issues/open/<N>-*.md; patch only what the RFC changes.
Closes — gh-issue-sync close <N> --reason completed|not_planned.
Comments on push — .issues/open/<N>.comment.md (gh-issue-sync skill).
Review with gh-issue-sync status, gh-issue-sync diff <N>, gh-issue-sync push --dry-run. Do not push unless the user asks.
After push, new items appear on project 16. Look up item and field IDs at runtime:
gh project item-list 16 --owner wagtail --format json --limit 300
gh project field-list 16 --owner wagtail --format json
gh project item-edit --id <item-id> --project-id <project-id> --field-id <field-id> ...
One field per item-edit invocation. Plan commands in the report; run after push when real issue numbers exist.
List milestone commands, created/edited file paths, the operations table, dry-run output, pending project field commands, and suggested next steps: milestones → review → push → project fields → verify board → update wagtail.org.