Skip to content

feat(dx): replace create-issue skill with dotcms-github-issues#34801

Merged
spbolton merged 5 commits intomainfrom
issue-34800-dotcms-github-issues-skill
Mar 3, 2026
Merged

feat(dx): replace create-issue skill with dotcms-github-issues#34801
spbolton merged 5 commits intomainfrom
issue-34800-dotcms-github-issues-skill

Conversation

@spbolton
Copy link
Contributor

@spbolton spbolton commented Feb 27, 2026

Summary

  • Replaces the 232-line CREATE-only .claude/skills/create-issue/ skill with the upgraded multi-mode dotcms-github-issues skill
  • Adds four slash command stubs in .claude/commands/ routing to each mode
  • Removes the old create-issue skill directory

What's new in the skill

Capability Old create-issue New dotcms-github-issues
Modes CREATE only CREATE · UPDATE · QUERY · FIND
Team assignment Always prompted Cached default (~/.config/dotcms/create-issue/default-team)
Native GitHub Issue Type Not set Set via REST PATCH after creation
Project #7 Technology field Not set Set via GraphQL mutation
Sub-issues / relationships Not supported Sub-issue REST endpoint + cross-reference comments
Feature label fallback Defaulted to dotCMS : Content Management Asks when ambiguous; no incorrect default
Sprint / iteration queries Not supported Per-team iteration fields; current + previous sprint queries
Reference files feature-labels.md only feature-labels.md · github-apis.md · project-fields.md
Type : label Not applied Derived from template + description keywords

Sprint awareness detail

FIND mode can answer "what is the team working on this sprint?" and "what did the team complete last sprint?" for any sprint-based team. Key implementation details:

  • Each sprint team has a dedicated ProjectV2IterationField ID catalogued in references/project-fields.md
  • Current sprint resolved via iterations; previous sprint via completedIterations on the field — no hardcoded sprint names
  • Kanban teams (Enablement, Modernization, UX) have no iteration field; skill falls back to Status-based queries automatically
  • Uses orderBy: {field: UPDATED_AT, direction: DESC} + states: [OPEN, CLOSED] to avoid 100-item pagination truncation on teams with 1,000+ issues

Slash commands

Command Mode
/create-issue CREATE
/update-issue UPDATE
/query-issue QUERY
/find-issues FIND

Test plan

  • /create-issue — creates issue with correct labels, native type, and Technology field set in Project testing assign #7
  • /update-issue #N — fetches current state, shows validation table, applies changes
  • /query-issue #N — returns title, labels, native type, project fields, sub-issues
  • /find-issues scout current sprint — returns all in-progress items for Scout
  • /find-issues scout last sprint — returns all Done items from previous sprint without truncation
  • /find-issues enablement — falls back to Status-based results (no sprint field)

Closes #34800

🤖 Generated with Claude Code

This PR fixes: #34800

spbolton and others added 2 commits February 27, 2026 16:43
- post-create: auto-trust mise config (no-op if mise not installed)
- post-start: copy frontend caches from base worktree to avoid cold starts
- .worktreeinclude: scopes copy to node_modules, Nx, and Angular caches

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces the 232-line CREATE-only `.claude/skills/create-issue/` skill
(#34465) with the upgraded `dotcms-github-issues` skill and adds four
slash command stubs.

New skill capabilities:
- CREATE / UPDATE / QUERY / FIND modes
- Native GitHub Issue Type set via REST PATCH after creation
- Project #7 Technology field set via GraphQL mutation
- Sub-issue relationships via REST sub_issues endpoint
- Team default caching (~/.config/dotcms/create-issue/default-team)
- Cascading team selection (Stage 1 / Stage 2 / free-text)
- Type : label derived from template + description keywords
- Feature label: no incorrect default; asks when ambiguous
- FIND mode: per-team sprint iteration field IDs catalogued in
  references/project-fields.md; current and previous sprint queries
  using completedIterations; orderBy UPDATED_AT DESC + states OPEN,CLOSED
  to avoid 100-item pagination truncation on large issue sets
- Three reference files: feature-labels.md, github-apis.md, project-fields.md

New slash commands (.claude/commands/):
- /create-issue → CREATE mode
- /update-issue → UPDATE mode
- /query-issue  → QUERY mode
- /find-issues  → FIND mode

Closes #34800

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@spbolton spbolton force-pushed the issue-34800-dotcms-github-issues-skill branch from c990818 to 7a6c651 Compare February 27, 2026 16:44
spbolton and others added 2 commits February 27, 2026 16:50
- Fix H1 heading to include FIND mode
- Add FE and BE option to Step 5 Technology table
- Clarify Step 9 label string: feature label is optional; omit from
  comma-separated list (not leave a trailing comma) when not selected

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The variable-based mutation pattern (mutation($projId:ID!, ...)) fails
in Claude Code's Bash tool because '!' in 'ID!' gets backslash-escaped
before execution. Replace Section C with the inlined-value pattern
confirmed working during skill validation testing:

  mutation { updateProjectV2ItemFieldValue(input:{projectId:"..." ...}) }

Also rename file header from create-issue to dotcms-github-issues.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… table

Remove the hardcoded "Native GitHub Issue Types" table from project-fields.md
— the template YAML files already have a `type:` field (bug, task, feature,
spike, epic, pillar) that is the authoritative source. Update SKILL.md Step 4b
to read the matching .github/ISSUE_TEMPLATE/ file and extract its `type:`
value, with an explicit note for ux.yaml which has no type field (use Task).

Addresses review feedback from @fmontes on PR #34801.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@spbolton spbolton enabled auto-merge March 2, 2026 17:49
Copy link
Member

@dcolina dcolina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏽

Copy link
Contributor

@wezell wezell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hope this improves dev experience.

@spbolton spbolton added this pull request to the merge queue Mar 3, 2026
Merged via the queue into main with commit 790dc58 Mar 3, 2026
21 checks passed
@spbolton spbolton deleted the issue-34800-dotcms-github-issues-skill branch March 3, 2026 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Move and upgrade dotcms-github-issues Claude skill into project repository

4 participants