brainstorming
Structured design dialogue that validates ideas before implementation begins.
gh-issue-edit
Edit GitHub issue metadata using gh CLI. Update title, body, labels, assignees, milestones, and projects. Use when issue details need to be changed.
Full skill instructions
Edit GitHub issue metadata and content using the gh CLI.
Verify GitHub CLI is installed and authenticated:
gh --version
gh auth status
Verify repository access:
gh repo view --json viewerPermission --jq '.viewerPermission'
# Need write/triage access
Check current issue metadata:
gh issue view 123 --json \
number,title,body,labels,assignees,milestone,state
Identify what needs to be updated:
Edit title:
gh issue edit 123 --title "Fix: Login button not responding on Safari"
Edit body:
gh issue edit 123 --body "$(cat <<'EOF'
## Updated Description
Users cannot log in when using Safari browser on iOS 17.
## Updated Requirements
- Must work on Safari 16+
- Should show error message if browser unsupported
- Need fallback for older iOS versions
## Additional Context
This is now blocking the v2.1 release.
EOF
)"
Edit from file:
gh issue edit 123 --body-file updated-description.md
Add labels:
gh issue edit 123 --add-label "priority-high,security"
Remove labels:
gh issue edit 123 --remove-label "needs-triage"
Replace all labels:
gh issue edit 123 --label "bug,priority-critical,security"
Add assignees:
gh issue edit 123 --add-assignee alice,bob
Remove assignees:
gh issue edit 123 --remove-assignee charlie
Set milestone:
gh issue edit 123 --milestone "v2.1"
Remove milestone:
gh issue edit 123 --milestone ""
Add to project:
gh issue edit 123 --add-project "Q1 Roadmap"
Remove from project:
gh issue edit 123 --remove-project "Backlog"
Confirm updates were applied:
gh issue view 123 --json title,labels,assignees,milestone \
| jq '.'
Add comment explaining the changes:
gh issue comment 123 --body "$(cat <<'EOF'
Updated issue metadata:
- Changed priority to critical
- Added security label
- Assigned to @alice for immediate attention
- Moved to v2.1 milestone
Reason: This is blocking production deployment.
EOF
)"
✓ Issue #123 updated successfully
Changes:
- Title: "Login bug" → "Fix: Login button not responding on Safari"
- Labels: +priority-high, +security, -needs-triage
- Assignees: +alice, +bob
- Milestone: → v2.1
🔗 [View Issue](https://github.com/owner/repo/issues/123)
# Increase priority
gh issue edit 123 \
--remove-label "priority-low" \
--add-label "priority-critical" \
--add-assignee "team-lead"
gh issue comment 123 \
--body "Escalating to critical - impacting production users."
# Reassign from alice to bob
gh issue edit 123 \
--remove-assignee alice \
--add-assignee bob
gh issue comment 123 \
--body "@bob Taking over from @alice. Context: [brief summary]"
# Move from v2.0 to v2.1
gh issue edit 123 --milestone "v2.1"
gh issue comment 123 \
--body "Moving to v2.1 - won't make it into v2.0 release."
# Update description with clearer requirements
gh issue edit 123 --body "$(cat <<'EOF'
## Problem
Users cannot export data when dataset >10,000 rows.
## Requirements
- Support exports up to 100,000 rows
- Show progress indicator for large exports
- Implement pagination for datasets >100k
- Add export format options (CSV, JSON, Excel)
## Acceptance Criteria
- [ ] Exports complete successfully for 100k rows
- [ ] Progress bar shows during export
- [ ] User can select export format
- [ ] Error message shown for datasets >100k
## Technical Notes
Consider streaming export to avoid memory issues.
EOF
)"
gh issue comment 123 \
--body "Updated requirements based on product team feedback."
# Fix incorrect labels
gh issue edit 123 \
--remove-label "enhancement" \
--add-label "bug,regression"
gh issue comment 123 \
--body "Correcting labels - this is a regression, not an enhancement."
# Add label to all issues in milestone
gh issue list --milestone "v2.0" --json number \
| jq -r '.[].number' \
| while read issue; do
gh issue edit $issue --add-label "release-v2.0"
echo "Added label to issue #$issue"
sleep 1
done
# Reopen issue that was closed prematurely
gh issue reopen 123
gh issue edit 123 --add-label "reopened"
gh issue comment 123 --body "$(cat <<'EOF'
Reopening - issue is still occurring in production.
New occurrences:
- Production server A: 10 errors in last hour
- Production server B: 5 errors in last hour
Original fix in PR #234 didn't address all cases.
EOF
)"
# Update all bugs without assignee
gh issue list --label "bug" --search "no:assignee" --json number \
| jq -r '.[].number' \
| while read issue; do
gh issue edit $issue --add-assignee "triage-team"
echo "Assigned triage-team to issue #$issue"
sleep 1
done
# When PR is merged, update related issue
PR_NUM=234
ISSUE_NUM=$(gh pr view $PR_NUM --json body | jq -r '.body' | grep -oE "#[0-9]+" | head -1 | tr -d '#')
if [ -n "$ISSUE_NUM" ]; then
gh issue edit $ISSUE_NUM \
--add-label "fixed-pending-deployment" \
--remove-label "in-progress"
gh issue comment $ISSUE_NUM \
--body "Fix merged in PR #$PR_NUM. Pending deployment to production."
fi
# Apply same labels to related issues
LABELS=$(gh issue view 123 --json labels --jq '.labels[].name' | paste -sd,)
for issue in 124 125 126; do
gh issue edit $issue --label "$LABELS"
echo "Synced labels to issue #$issue"
done
# Use template for consistent updates
cat > issue-template.md <<'EOF'
## Problem Statement
{problem}
## Acceptance Criteria
{criteria}
## Technical Notes
{notes}
EOF
# Fill and apply
sed -e "s/{problem}/Clear problem description/" \
-e "s/{criteria}/Detailed criteria/" \
-e "s/{notes}/Implementation notes/" \
issue-template.md > filled-issue.md
gh issue edit 123 --body-file filled-issue.md
# Incrementally add details as you learn more
gh issue edit 123 --body "$(cat <<EOF
$(gh issue view 123 --json body --jq '.body')
## Additional Findings
- Also affects Firefox
- Workaround: clear cookies
- Root cause: session storage issue
EOF
)"
Only change what's necessary. Preserve original context.
# Just fix typo in title
gh issue edit 123 --title "Fix login button (not 'button login')"
Major revisions with full rewrite.
# Complete rewrite after investigation
gh issue edit 123 --body-file comprehensive-update.md
gh issue comment 123 --body "Updated issue with full investigation findings."
Add information without removing existing content.
# Append new information
CURRENT_BODY=$(gh issue view 123 --json body --jq '.body')
gh issue edit 123 --body "$(cat <<EOF
$CURRENT_BODY
## Update $(date +%Y-%m-%d)
New information discovered during testing...
EOF
)"
Error: "Issue not found"
gh issue listError: "Not authorized"
Error: "Invalid label"
gh label listError: "Invalid assignee"
gh api repos/:owner/:repo/collaboratorsError: "Invalid milestone"
gh api repos/:owner/:repo/milestonesError: "Project not found"
gh project listType Labels:
bug, enhancement, feature, documentation, questionPriority Labels:
priority-critical, priority-high, priority-medium, priority-lowStatus Labels:
in-progress, blocked, needs-review, ready-for-devArea Labels:
frontend, backend, security, performance, uxgh-issue-view - View current issue state before editinggh-issue-comment - Document why changes were madegh-issue-close - Close issues after editinggh-issue-create - Create new issues with correct metadatagh issue transfer)Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs