ワンクリックで
create-task
Create a GitHub issue with project board integration
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create a GitHub issue with project board integration
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Explain recent code changes in simple terms a junior dev can understand
Open or create a pull request from the current branch with a clean, deduplicated summary
Create a release PR to main with version bump and draft a GitHub release
Start working on a GitHub issue — fetch context, create branch, plan solution, and optionally open a PR
| name | create-task |
| description | Create a GitHub issue with project board integration |
Create a GitHub issue with full metadata and optional project board integration.
create-task - Interactive guided issue creationcreate-task Add dark mode support - Pre-fill the title/description from argumentsFollow these steps in order. Ask the user to gather all required info before creating anything.
Try to infer the GitHub owner/org from the current repository:
gh repo view --json owner --jq '.owner.login'
Store this as <owner> for all subsequent commands.
Fetch the list of projects dynamically:
gh project list --owner --format json --jq '.projects[] | "(.number) (.title)"'
Then ask the user to select a project. Include a "None (no project)" option.
Ask these in a single question block if possible:
Repository - List repos from the owner. Run: gh repo list --json name --jq '.[].name' --limit 50 Let user select one.
Title - Ask for the issue title (free text).
Assignee - Fetch collaborators/members dynamically: gh api repos///collaborators --jq '.[].login' Let user select from the list. Allow multiple selections. Include an "Unassigned" option.
Description/Body - Ask for the issue body content (free text). If user provides $ARGUMENTS, pre-fill from that. This is the raw/brief content that will be cleaned up (not padded) in the next step.
Content Style Instructions - Ask the user for custom guidelines on how to rewrite/enhance the description (free text). Examples:
This is a single free-text field where the user writes their style preferences.
The raw title and description from Step 3 are brief/rough inputs. Before creating the issue, clean them up and apply the user's content style instructions. Do NOT pad the description out.
Title:
Description:
Do NOT ask the user for approval of the cleaned-up content -- just apply the changes and proceed.
If a project was selected in Step 2, fetch the project's fields:
gh project field-list <PROJECT_NUMBER> --owner --format json
Then ask the user to set:
Status - Show the available status options from the project's SingleSelect fields (e.g., Todo, In Progress, In Review, Done, Closed).
Priority - Show available priority options if the project has a Priority field (e.g., High, Medium, Low). Include a "None" option.
Labels - Fetch labels from the selected repo: gh label list --repo / --json name --jq '.[].name' Let user select multiple. Include a "None" option.
Milestone - Fetch milestones from the selected repo: gh api repos///milestones --jq '.[].title' Let user select one. Include a "None" option.
Issue Type - Fetch issue types from the repo: gh api graphql -f query='{ repository(owner: "", name: "") { issueTypes(first: 20) { nodes { id name } } } }' Let user select one (e.g., Task, Bug, Feature). Include a "None" option.
gh issue create
--repo /
--title ""
--body "<body>"
--assignee "<assignee1>,<assignee2>"
--label "<label1>,<label2>"
--milestone "<milestone>"
Use a heredoc for the body to preserve formatting. Use the cleaned-up description from Step 4 (not the raw input from Step 3): gh issue create --repo / --title "" --assignee "<assignees>" --body "$(cat <<'EOF' <body content> EOF )"
Omit --assignee, --label, --milestone flags if the user selected "None" for those.
Get the issue node ID: gh api repos///issues/ --jq '.node_id'
Then set the type: gh api graphql -f query='mutation { updateIssueIssueType(input: { issueId: "<issue_node_id>", issueTypeId: "<type_id>"}) { issue { id } } }'
If a project was selected:
Add the issue to the project: gh project item-add <PROJECT_NUMBER> --owner --url <issue_url> --format json This returns the item ID.
Parse the GraphQL item ID from the JSON output (field: id).
Get the numeric database ID for the project board deep link: gh api graphql -f query='query { node(id: "<GRAPHQL_ITEM_ID>") { ... on ProjectV2Item { databaseId } } }' --jq '.data.node.databaseId' Save this numeric ID for the project board URL in Step 9.
Set Status on the project item:
gh project item-edit
--id <ITEM_ID>
--project-id <PROJECT_ID>
--field-id <STATUS_FIELD_ID>
--single-select-option-id <STATUS_OPTION_ID>
Set Priority on the project item (if selected and field exists):
--field-id <PRIORITY_FIELD_ID>
--single-select-option-id <PRIORITY_OPTION_ID>
Output a summary of what was created:
https://github.com/<owner>/<repo>/issues/<number>https://github.com/orgs/<owner>/projects/<project_number>?pane=issue&itemId=<numeric_item_id>&issue=<owner>%7C<repo>%7C<issue_number>gh CLI is not installed or not authenticated, inform the user and stopgh command fails, show the error to the user and ask how to proceed--format json when you need to parse output from gh commands.field-list) for item-edit commands, not display names.--project flag on gh issue create does NOT set project field values -- you must use gh project item-add + gh project item-edit separately.