From github-ticket
Create, route, and inspect GitHub issues from Claude Code or Codex with gh CLI-backed defaults for DiversioTeam/monolith, repo-local execution repos, and project-board hydration.
npx claudepluginhub diversioteam/agent-skills-marketplace --plugin github-ticketThis skill is limited to using the following tools:
Use this Skill when you want to:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Use this Skill when you want to:
monolith and a small repo setDiversio Work with the right board fieldsThis Skill is the GitHub-native replacement for the old clickup-ticket
workflow. Issue forms in monolith are a human fallback and a schema
reference, not the primary creation path.
Before doing anything else:
gh auth status.gh is authenticated for the right GitHub account.repo for issue read/writeread:org for org visibilityproject when project add or field hydration is expectedgh is missing or unauthenticated.Preferred auth model:
gh loginproject scope is missing,
prefer gh auth refresh -s projectTreat these defaults as the steady-state baseline unless the user overrides them:
DiversioTeam/monolithDiversioTeam/Django4LyfeDiversioTeam/Diversio-FrontendDiversioTeam/Optimo-FrontendDiversioTeam/diversio-dsDiversioTeam/infrastructureDiversioTeam/nabooDiversioTeam/diversio-serverlessDiversioTeam/launchpadDiversioTeam/skiddieDiversioTeam/terraform-modulesDiversioTeam/agent-skills-marketplaceGH-xxxx IDs: metadata only when applicableRouting rules:
DiversioTeam/monolith.owner/repo.DiversioTeam/monolith.Default config path:
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/github-ticket"
CONFIG_FILE="${CONFIG_DIR}/config.json"
Use a small JSON file with fields like:
planning_repoexecution_reposbacklog_labelsquick_issue_labelsproject_ownerproject_numberproject_field_defaultspath_repo_mapSee references/config-and-body-shape.md for a sample config and issue body.
For the current Diversio baseline, prefer organization project #2
(Diversio Work) unless the user overrides project placement.
Treat project_field_defaults as a display-name keyed map for stable defaults
like Status and Priority, not as a place to hard-code field or option IDs.
Prefer runtime repo detection from the current git checkout before falling back
to path_repo_map. In worktree-heavy setups, avoid hard-coded absolute path
maps unless there is a real non-git edge case.
Allow these shorthand values when the user names a repo informally:
monolith -> DiversioTeam/monolithbackend -> DiversioTeam/Django4Lyfefrontend -> DiversioTeam/Diversio-Frontendoptimo-frontend -> DiversioTeam/Optimo-Frontenddesign-system -> DiversioTeam/diversio-dsinfrastructure -> DiversioTeam/infrastructurenaboo -> DiversioTeam/naboodiversio-serverless -> DiversioTeam/diversio-serverlesslaunchpad -> DiversioTeam/launchpadskiddie -> DiversioTeam/skiddieterraform-modules -> DiversioTeam/terraform-modulesagent-skills-marketplace -> DiversioTeam/agent-skills-marketplaceskills-marketplace -> DiversioTeam/agent-skills-marketplaceIf a repo alias is ambiguous, ask one short clarifying question.
configureGoal:
gh authWorkflow:
gh auth status.git rev-parse --show-toplevelgit remote get-url originowner/repo${XDG_CONFIG_HOME:-$HOME/.config}/github-ticket/config.json if missing.Status and Prioritypath_repo_map when repo detection via git is insufficientUse jq to write or update the config rather than inventing a custom format.
If project config is present but gh auth status shows no project scope,
surface that clearly instead of pretending project hydration will work.
get-issueAccepted input formats:
1234#1234owner/repo#1234Behavior:
gh issue view.list-issuesPrefer the smallest backend that matches the ask:
gh issue listgh search issuesSupport these filters:
imported: clickupKeep the filter model smaller than the old ClickUp plugin.
my-issuesThis is the convenience view for assigned work.
Default behavior:
@meUse gh search issues --assignee @me --state open when a cross-repo query is
needed.
create-issueThis is the full interactive creation path.
Gather:
Then:
triage unless the user says otherwisetype:* labels when availablegh issue create.gh project item-add.StatusTarget RepoPriorityStatus, prefer:
Ready for scoped, actionable workBlocked when the issue depends on incomplete upstream workInbox only for intentionally rough captureTarget Repo, map the destination repository to the matching project
option when that field exists. If there is no exact option for that repo,
use other instead of leaving the field blank.project scope, say that
explicitly and point at gh auth refresh -s project.quick-issueThis should stay under three prompts.
Required input:
Preferred flow:
Status: Inbox when
adding it to a project. Only upgrade to Ready when the issue is already
actionable from the captured context.add-to-backlogThis is the fastest capture path.
Default behavior:
DiversioTeam/monolithtriage plus configured backlog labelsDiversio Work, prefer Status: InboxDo not over-prompt. If the user only gives a title, create the issue.
create-linked-issueUse this when turning planning work into explicit follow-up or execution work.
Safe default:
gh issue comment on both issues.Ready unless its own
dependency chain means it should start in Blocked.Do not rely on child-issue-only GitHub features for MVP behavior.
routeUse this when a planning issue in monolith should become repo-local
execution work.
Behavior:
create-linked-issue.When the issue lands in Diversio Work, treat project visibility as part of
the ticket workflow instead of optional cleanup.
Status
blank.Inbox is appropriate for rough backlog capture; it is not appropriate for
already-scoped execution work.quick-issue and add-to-backlog may legitimately choose Inbox even when
a global config default says Ready, because the capture mode is part of the
semantics.Ready is the default for issue-sized, actionable work that can be picked
up now.Blocked is the default when dependency text like requires, depends on,
or blocked by means the issue should exist on the board but not enter the
active queue yet.Target Repo field, set it to the repo that will own
execution so grouped board views stay useful. If the project does not have a
dedicated option for that repo, use other.Status.Use the GitHub CLI's project commands directly instead of inventing ad hoc GraphQL:
gh project view <number> --owner <owner> --format jsongh project field-list <number> --owner <owner> --format jsongh project item-add <number> --owner <owner> --url <issue-url>gh project item-list <number> --owner <owner> --format jsongh project item-edit:
--single-select-option-id for fields like Status, Target Repo, and
Priority--project-id is required for non-draft issue field editsDo not assume field ids or option ids are stable across projects. Read them from the active project each time unless a higher-level cache is explicitly in scope.
Generated issues should use these sections in this order:
## Problem or request## Success criteria## Constraints / non-goals## Supporting links## Legacy metadataOnly include Legacy metadata when there is actual ClickUp carryover.
Keep the body aligned with the monolith issue forms so manual and
skill-created issues look comparable.
Prefer this command set:
gh issue creategh issue viewgh issue listgh search issuesgh issue commentgh project viewgh project field-listgh project item-addgh project item-listgh project item-editgh apiUse gh api only when a simpler gh issue ... subcommand does not cover the
action cleanly.
When this Skill completes a write action, always return:
When it completes a read or list action, keep the response scan-friendly and show enough context that the user does not need to open GitHub immediately.
This Skill unblocks the GitHub issue workflow, but it does not by itself clean up every older ClickUp assumption elsewhere.
Known follow-up areas:
backend-pr-workflowbackend-atomic-commitclickup_* branchesIf those older instructions conflict with repo-local GitHub workflow docs, the repo-local GitHub workflow docs should win.