Skip to content
Skillpedia
Deploy & cloud (DevOps)40k · #5195

issue-fields-migration

Helps your agent organize metadata in GitHub projects. It migrates information from labels and project fields to issue fields, improving organization.

What it does

This tool helps organize information within GitHub issues. It can convert existing labels or old project fields into structured, searchable fields like 'Priority' or 'Type'.

When to use it

  • ✓When you want to organize project labels into standardized fields.
  • ✓When migrating data from old projects to new GitHub fields.
  • ✓To replace loose labels with more structured information.

Example of what to ask your AI

“I want to migrate the 'bug' and 'feature' labels from my repository to the 'Type' field in issue fields.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/issue-fields-migration/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/issue-fields-migration/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool analyzes your existing labels or project fields. It then converts them into GitHub's new issue fields, allowing you to organize and find information more efficiently.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill issue-fields-migration

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/issue-fields-migration/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Issue Fields Migration

Issue fields are org-level typed metadata (single select, text, number, date) that replace label-based workarounds with structured, searchable, cross-repo fields. Every organization gets Priority, Effort, Start date, and Target date preconfigured, with support for up to 25 custom fields.

This skill bulk-migrates existing metadata into issue fields from two sources:

  • Repo labels: Convert labels like p0, p1, priority/high into structured issue field values (e.g. the Priority field). Supports migrating multiple labels at once and optionally removing them after migration.
  • Project V2 fields: Copy field values (single select, text, number, date, iteration) from a GitHub Project into the equivalent org-level issue fields.

When to Use

  • User added org-level issue fields that overlap with existing project fields
  • User wants to copy values from project fields to issue fields before deleting the old project fields
  • User asks about "migrating", "transferring", or "copying" project field data to issue fields
  • User wants to convert repo labels (e.g., p0, p1, p2, p3) into issue field values (e.g., Priority field)
  • User asks about replacing labels with issue fields or cleaning up labels after adopting issue fields

Prerequisites

  • The target org must have issue fields enabled
  • The issue fields must already exist at the org level
  • For project field migration: issue fields must be added to the project
  • For label migration: labels must exist on the target repo(s)
  • The user must have write access to the repos (and project, if migrating project fields)
  • gh CLI must be authenticated with appropriate scopes

Available Tools

MCP Tools (read operations)

Tool Purpose
mcp__github__projects_list List project fields (list_project_fields), list project items with values (list_project_items)
mcp__github__projects_get Get details of a specific project field or item

CLI / REST API

Operation Command
List org issue fields gh api /orgs/{org}/issue-fields -H "X-GitHub-Api-Version: 2026-03-10"
Read issue field values gh api /repos/{owner}/{repo}/issues/{number}/issue-field-values -H "X-GitHub-Api-Version: 2026-03-10"
Write issue field values gh api /repositories/{repo_id}/issues/{number}/issue-field-values -X POST -H "X-GitHub-Api-Version: 2026-03-10" --input -
Get repository ID gh api /repos/{owner}/{repo} --jq .id
List repo labels gh label list -R {owner}/{repo} --limit 1000 --json name,color,description
List issues by label gh issue list -R {owner}/{repo} --label "{name}" --state all --json number,title,labels --limit 1000
Remove label from issue gh api /repos/{owner}/{repo}/issues/{number}/labels/{label_name} -X DELETE

See references/issue-fields-api.md, references/projects-api.md, and references/labels-api.md for full API details.

Workflow

Step 0: Migration Source

Ask the user what they are migrating:

  1. "Are you migrating labels or project fields?"

  2. If the user says labels:

    • Ask: "Which org and repo(s) contain the labels?"
    • Ask: "Which labels do you want to migrate?" (they can name them or say "show me the labels first")
  3. If the user says project fields:

    • Ask: "Can you share the link to your project or tell me the org name and project number?"
    • Ask: "Which field do you want to migrate?"

Label Migration Flow

Use this flow when the user wants to convert repo labels into issue field values. Labels can only map to single_select issue fields (each label name maps to one option value).

Phase L1: Input & Label Discovery

  1. Ask the user for: org name and repo(s) to migrate.
  2. Fetch labels from each repo:
gh label list -R {owner}/{repo} --limit 1000 --json name,color,description
  1. Fetch org issue fields:
gh api /orgs/{org}/issue-fields \
  -H "X-GitHub-Api-Version: 2026-03-10" \
  --jq '.[] | {id, name, content_type, options: [.options[]?.name]}'

…

FAQ

What are 'issue fields'?

These are organization-level fields in GitHub that allow you to add structured metadata to issues, such as priority, dates, or text, instead of just using labels.

Can I migrate any type of label?

Yes, you can migrate repository labels or project field values. The tool helps map them to the corresponding issue fields.

Do I need special permissions to do this?

Yes, you need write access to the repositories and projects you want to migrate, and issue fields must be enabled in your organization.

Details

Original description by the author

Bulk-migrate metadata to GitHub issue fields from two sources: repo labels (e.g. priority labels to a Priority field) and Project V2 fields. Use when users say "migrate my labels to issue fields", "migrate project fields to issue fields", "convert labels to issue fields", "copy project field values to issue fields", or ask about adopting issue fields. Issue fields are org-level typed metadata (sin

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5195
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills