Commit Graph
7 Commits
Author SHA1 Message Date
Tadas Labudis 20afb96f66 Merge pull request #1004 from github/labudis/issue-fields-description
Update issue-fields-migration skill description
2026-03-15 23:37:42 +00:00
Tadas LabudisandCopilot f7a0d97433 Update issue-fields-migration description with trigger prompts and feature context
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 07:30:32 +00:00
Tadas LabudisandCopilot af09f9c38e New skill: issue-fields-migration (#990)
* Add issue-fields-migration skill

Standalone skill to bulk-copy field values from Project V2 fields to
org-level issue fields. Includes 5-phase workflow (discovery, option
mapping, data scan, preview/dry-run, execution) with API references
for issue fields REST API and Projects V2 API.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Expand issue-fields-migration skill to support label migration

Add support for migrating repo-based labels to org-level issue fields,
in addition to the existing project field migration flow.

Changes:
- Add Step 0 routing: ask user if migrating labels or project fields
- Add Label Migration Flow (Phases L1-L5) with conflict detection,
  bulk mapping, and optional label removal
- Add labels API to Available Tools table
- Create references/labels-api.md
- Add 3 label migration examples (single, bulk, cross-repo)
- Expand Important Notes with label-specific guidance
- Rename existing phases to P1-P6 under Project Field Migration Flow
- Include P1 fixes from prior work (proxy field filtering, batch
  option mapping, preflight permission checks, pagination fixes)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: payload format, field_id type + 10 UX/scale improvements

Bug fixes:
- Wrap write endpoint payload in {"issue_field_values": [...]} (was bare array)
- Use integer field_id, not string (both Phase L5 and P6)

UX improvements:
- Label filtering guidance for repos with 50+ labels
- Smarter auto-suggest with 4 pattern tiers (exact, prefix-number, strip-separators, substring)
- Handle zero-issue labels gracefully (stop and suggest alternatives)
- Add time estimates to migration previews
- Document read response shape (.single_select_option.name vs .value)

Scale & reliability:
- Script generation guidance for 100+ issue migrations
- Idempotent/resumable migration note
- Warn about --limit 1000 silent truncation
- Warn about macOS bash 3.x (no declare -A)
- PR filtering guidance (type field)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update README.skills.md with build

Regenerated skills index to reflect label migration support and
updated references for issue-fields-migration skill.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review comments: fix MCP conventions, step numbering, pagination, phase refs

- Align MCP tool calls with repo conventions (method: instead of action:,
  owner: instead of project_owner:) in SKILL.md and projects-api.md
- Fix step numbering in Phase P2 (duplicate step 5 → renumber to 6)
- Update example phase references to use P1-P6/P1-P5 labels
- Add pageInfo pagination to GraphQL fields and fieldValues queries
- Fix MCP tool name in labels-api.md to mcp__github__list_issues

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 09:42:14 +11:00
Tadas LabudisandCopilot cf4e33e1fd fix: improve github-issues skill trigger phrases and fix GraphQL dependency examples (#946)
- Add dependency/blocking trigger phrases to skill description so the
  skill activates on requests like 'link issues', 'add dependency',
  'blocked by', and 'blocking'
- Fix incorrect GraphQL return field in dependencies.md: blockedByIssue
  does not exist on AddBlockedByPayload; the correct field is
  blockingIssue

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-10 10:44:35 +11:00
Tadas LabudisandCopilot fca5de1f6a Improve github-issues skill: fix MCP tools, add search reference, fix sub-issues docs (#888)
* Add advanced search reference with query syntax guide

Covers search qualifiers, boolean logic, date ranges, missing metadata
filters, common patterns, and when to use search vs list_issues.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add issue fields search support to search and issue-fields references

- Add Advanced Search Mode section to search.md covering field: qualifier,
  has:field: syntax, REST advanced_search=true, and GraphQL ISSUE_ADVANCED
- Add Searching by Field Values section to issue-fields.md with REST/GraphQL
  examples and qualifier reference table
- Note MCP search_issues limitation (no advanced_search support)
- Update SKILL.md capability table to mention issue field filters

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Clarify three search approaches: list_issues vs search_issues vs advanced search

Replace the simple two-column comparison with a capability matrix showing
what each approach supports (field filters, boolean logic, scope, etc.)
and a decision guide for when to use each one.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix issue field search syntax: use dot notation (field.name:value)

The colon notation (field:Name:Value) is silently ignored by the API.
The correct syntax is dot notation (field.priority:P0) which works in
REST (advanced_search=true), GraphQL (ISSUE_ADVANCED), and web UI.

Also supports has:field.name, no:field.name, and date comparisons.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix github-issues skill: correct MCP tools and add gh api workflows

The skill listed 5 MCP tools that don't exist (create_issue, update_issue,
get_issue, add_issue_comment, list_issue_types), causing tool-not-found
errors when agents tried to follow the skill instructions.

Changes:
- Split tools table into MCP (read ops) and CLI/API (write ops)
- Add gh api commands for creating, updating, commenting on issues
- Document that gh issue create doesn't support --type flag
- Add GraphQL query for discovering issue types
- Remove redundant [Bug]/[Feature] title prefixes (use type param instead)
- Update examples to use gh api instead of non-existent MCP tools

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix sub-issues reference: add gh api examples and integer gotcha

The sub_issue_id parameter requires an integer but gh api -f sends strings,
causing 422 errors. Updated all REST examples to use --input with raw JSON.

Also added:
- Recommended two-step workflow (create issue, then link)
- Explicit warning about -f vs --input for integer params
- Proper gh api command syntax instead of raw HTTP notation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review: fix search docs accuracy and broken link

- Fix misleading claim about full boolean logic support (implicit AND only)
- Remove sort:updated from query example (it's an API param, not a qualifier)
- Clarify -linked:pr comment to avoid confusion with authoring status
- Fix relative link in issue-fields.md (sibling file, not nested path)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Improve projects reference: scope warning, gh api examples, issue-side queries

From hands-on usage: hit INSUFFICIENT_SCOPES trying to update project
status because token had read:project but not project write scope.

Added:
- OAuth scope requirements table with gh auth refresh workaround
- How to find an issue's project item ID (query from issue side)
- All GraphQL examples now use gh api graphql (copy-paste ready)
- End-to-end example: set issue status to In Progress

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add images-in-issues reference: hosting methods, pitfalls, screenshots

Documents three approaches for embedding images in issue comments
via CLI: Contents API with github.com/raw/ URLs, browser drag-drop
for permanent user-attachments URLs, and gist hosting limitations.

Includes puppeteer screenshot recipe and comparison table.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update README.skills.md with images reference

Run npm run build to regenerate skill listing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix issue-fields search: add GraphQL bulk query, caveat search syntax

The field.name:value search qualifier is unreliable via API (returns
0 results even when matching issues exist). Added a recommended
GraphQL approach that fetches issues and filters by issueFieldValues
client-side. Documented the correct IssueFieldSingleSelectValue
schema (name, not value). Marked search qualifier syntax as
experimental with a reliability warning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs(github-issues): improve project discovery guidance

The projectsV2 query param does keyword search, not exact match,
and sorts by recency. For large orgs like github, common words like
'issue' return 400+ results and bury the target project.

Added a priority-ordered discovery strategy:
1. Direct lookup by number (instant)
2. Reverse lookup from a known issue's projectItems (most reliable)
3. GraphQL name search with client-side jq filtering (fallback)
4. MCP tool (small orgs only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-06 21:20:36 +11:00
Tadas LabudisandCopilot 13970c3275 Add copilot-spaces skill (#889)
* Add copilot-spaces skill for loading project-specific context

New skill that teaches agents to use Copilot Spaces MCP tools
(list_copilot_spaces, get_copilot_space) to discover and load
curated project context into conversations. Covers discovery
workflow, loading spaces by owner/name, and using space content
to ground responses in team-specific docs, code, and standards.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Improve copilot-spaces skill with real-world usage patterns

- Add 'Spaces as workflow engines' pattern for multi-step processes
- Add 'Follow the breadcrumbs' step for fetching referenced resources
- Document read-only API limitation (no create/update/delete)
- Add filtering tip for list_copilot_spaces by owner
- Add large output handling guidance (20KB+ spaces)
- Add Example 4: Space as a workflow engine
- Strengthen tips with actionable guidance

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Spaces CRUD REST API to copilot-spaces skill

- Document full CRUD API endpoints (create, update, delete, collaborators)
- Add 'Managing Spaces' workflow section with gh api examples
- Add Example 5: updating Space instructions programmatically
- Fix incorrect 'read-only' claim - MCP is read-only, REST API is full CRUD
- Add scope requirements (user scope for writes)
- Add resource management tips (array replacement, _destroy)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-06 08:06:55 +11:00
Tadas LabudisandCopilot 164b6eb268 Add sub-issues, issue types, projects, and issue fields guidance to github-issues skill (#884)
* Add issue fields, issue types, and list_issue_types to github-issues skill

- Add list_issue_types to available MCP tools table
- Add type parameter to optional parameters with guidance
- Expand issue types section: MCP tools (preferred) + GraphQL (advanced)
- Document org-level type discovery, create/update with type, GraphQL mutations
- Add issue fields section: discover, read, set via GraphQL
- Note required GraphQL-Features headers (issue_fields, issue_types)
- Update skill description to mention fields, types, dates, priority

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Projects V2 guidance to github-issues skill

Include MCP tools (projects_list, projects_get, projects_write) and
GraphQL examples for project item management.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add sub-issues section, move issue fields to end with preview note

- Add Sub-Issues and Parent Issues section (MCP, REST, GraphQL)
- Add issue_read tool to MCP tools table
- Move Issue Fields to last section with private preview callout
- Link to community discussion for requesting access

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Prefer issue types over labels for categorization

Update guidance and examples to use type parameter (Bug, Feature)
instead of equivalent labels when issue types are available.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Prefer issue fields over project fields for metadata

Issue fields live on the issue and travel across projects.
Project fields are scoped to a single project.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add issue dependencies (blocked by/blocking) section

Covers REST endpoints (list, add, remove) and GraphQL
(blockedBy, blocking, issueDependenciesSummary, mutations).
Also documents tracked issues read-only fields.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add project discovery workflow for progress reports

Teach agents how to find projects by name, discover fields
and iterations, paginate items, and build status breakdowns.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Generate updated skill listing after SKILL.md changes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Split skill into reference files per reviewer feedback

Move sub-issues, dependencies, issue types, projects, and issue fields
into separate references/ files. Main SKILL.md now contains core MCP
workflow and a capability table pointing to each reference. This way
the agent only loads the knowledge it needs for the specific task.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-05 22:10:11 +11:00