Skip to content

Commit 2459b9c

Browse files
committed
update prompts
1 parent 4ec44a2 commit 2459b9c

3 files changed

Lines changed: 276 additions & 244 deletions

File tree

pkg/github/__toolsnaps__/project_read.snap

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,34 @@
33
"title": "Read project information",
44
"readOnlyHint": true
55
},
6-
"description": "Perform read operations on GitHub Projects V2 for a user or organization.\n\nAvailable methods:\n- get_project: Get details of a specific project\n- list_projects: List all projects for a user or organization\n- get_project_field: Get details of a specific project field\n- list_project_fields: List all fields in a project\n- get_project_item: Get details of a specific project item\n- list_project_items: List all items in a project with optional filtering\n\n**Recommended workflow:**\n1. Use list_projects to discover available projects\n2. Use list_project_fields to get field definitions and IDs (essential for step 3)\n3. Use list_project_items with 'fields' parameter (using IDs from step 2) to get items with custom field values\n4. Optionally use 'query' parameter to filter items (e.g., 'is:open', 'assignee:@me', '-is:archived')\n\nAll methods require owner and owner_type parameters. Additional parameters vary by method.",
6+
"description": "Read operations for GitHub Projects V2.\n\nMethods: get_project, list_projects, get_project_field, list_project_fields, get_project_item, list_project_items\n\n**For list_project_items:**\n1. Call list_project_fields FIRST for field IDs\n2. Use 'query' to filter (e.g., 'is:open priority:p1')\n3. Use 'fields' with IDs from step 1\n\nExamples: query='is:open priority:p1', query='is:closed priority:p1 milestone:\"X\" assignee:@me', query='unblocks:*copilot*'",
77
"inputSchema": {
88
"properties": {
99
"after": {
10-
"description": "Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs.",
10+
"description": "Next page cursor (from pageInfo.endCursor)",
11+
"type": "string"
12+
},
13+
"before": {
14+
"description": "Previous page cursor (from pageInfo.startCursor)",
1115
"type": "string"
1216
},
1317
"field_id": {
14-
"description": "The field's ID. Required for: get_project_field.",
18+
"description": "Field ID (required for get_project_field)",
1519
"type": "number"
1620
},
1721
"fields": {
18-
"description": "Specific list of field IDs to include in the response (e.g. [\"102589\", \"985201\", \"169875\"]). If not provided, only the title field is included. Used by: get_project_item, list_project_items.\n\n**Important:** To get field IDs, you must first call this tool with method=\"list_project_fields\" to retrieve all available fields and their IDs for the project. Then use those field IDs here to include field values in item responses. Without specifying field IDs, you won't get custom field values like Status, Priority, etc.",
22+
"description": "Field IDs to include (e.g. [\"102589\", \"985201\"]). CRITICAL: Always provide to get field values. Without this, only titles returned. Get IDs from list_project_fields first.",
1923
"items": {
2024
"type": "string"
2125
},
2226
"type": "array"
2327
},
2428
"item_id": {
25-
"description": "The item's ID. Required for: get_project_item.",
29+
"description": "Item ID (required for get_project_item)",
2630
"type": "number"
2731
},
2832
"method": {
29-
"description": "The read operation to perform.\nOptions are:\n- get_project: Get details of a specific project (requires: project_number)\n- list_projects: List projects (optional: query, per_page)\n- get_project_field: Get a specific field (requires: project_number, field_id)\n- list_project_fields: List project fields (requires: project_number, optional: per_page) - **Call this first before list_project_items to obtain field IDs**\n- get_project_item: Get a specific item (requires: project_number, item_id, optional: fields)\n- list_project_items: List project items (requires: project_number, optional: query, per_page, fields) - **Use 'fields' parameter with IDs from list_project_fields to include custom field values**\n",
33+
"description": "Read operation: get_project, list_projects, get_project_field, list_project_fields (call FIRST for IDs), get_project_item, list_project_items (use query + fields)",
3034
"enum": [
3135
"get_project",
3236
"list_projects",
@@ -38,7 +42,7 @@
3842
"type": "string"
3943
},
4044
"owner": {
41-
"description": "If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive.",
45+
"description": "GitHub username or org name (case-insensitive)",
4246
"type": "string"
4347
},
4448
"owner_type": {
@@ -49,22 +53,16 @@
4953
],
5054
"type": "string"
5155
},
52-
"perPage": {
53-
"description": "Results per page for pagination (min 1, max 100)",
54-
"maximum": 100,
55-
"minimum": 1,
56-
"type": "number"
57-
},
5856
"per_page": {
59-
"description": "Number of results per page (max 100, default: 30). Used by: list_projects, list_project_fields, list_project_items.",
57+
"description": "Results per page (max 20)",
6058
"type": "number"
6159
},
6260
"project_number": {
63-
"description": "The project's number. Required for: get_project, get_project_field, list_project_fields, get_project_item, list_project_items.",
61+
"description": "Project number (required for most methods)",
6462
"type": "number"
6563
},
6664
"query": {
67-
"description": "Search query to filter results. Used by: list_projects (matches title and description), list_project_items (filters items using GitHub's project query syntax).\n\nFor list_project_items, supports:\n- State filters: 'is:open', 'is:closed', '-is:archived' (use '-' to negate)\n- Assignee filters: 'assignee:@me', 'assignee:username', 'no:assignee'\n- Label filters: 'label:bug', 'label:\"needs review\"'\n- Field filters: 'status:\"In Progress\"', 'priority:high'\n- Combining filters: 'assignee:@me status:\"In Progress\" is:open'\nExamples: 'is:open -is:archived', 'assignee:@me is:open', 'label:bug status:todo'",
65+
"description": "Filter string (CRITICAL for list_project_items). Combine filters by SPACE for logical AND (order doesn't matter): e.g. 'is:open is:issue priority:p1 label:bug'. **Content Type:** Use 'is:issue' for issues, 'is:pr' (or 'is:pull-request') for pull requests. Examples: 'is:open is:issue priority:p1', 'is:closed is:pr label:bug', 'is:open is:issue assignee:@me', 'is:pr label:bug priority:high'. Field names with spaces use hyphens (e.g., 'parent-issue:\"github/github-mcp-server#1234\"'). Filters: is:issue/pr/open/closed/merged, assignee:@me/username, label:name, status:value, priority:p1, updated:\u003e@today-7d, title:*text*, -label:wontfix (negate), label:bug,critical (OR with comma), priority:1..3 (range), no:assignee, has:label, iteration:@current",
6866
"type": "string"
6967
}
7068
},

pkg/github/__toolsnaps__/project_write.snap

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33
"title": "Modify project items",
44
"readOnlyHint": false
55
},
6-
"description": "Perform write operations on GitHub Projects V2 for a user or organization.\n\nAvailable methods:\n- add_project_item: Add an issue or pull request to a project\n- update_project_item: Update field values for a project item\n- delete_project_item: Remove an item from a project\n\nAll methods require owner, owner_type, project_number, and item_id parameters (except add_project_item which uses item_id as the issue/PR ID to add).",
6+
"description": "Write operations for GitHub Projects V2.\n\nMethods: add_project_item (add issue/PR), update_project_item (update fields), delete_project_item (remove item).\nNote: item_id for add is the issue/PR ID; for update/delete it's the project item ID.",
77
"inputSchema": {
88
"properties": {
99
"item_id": {
10-
"description": "For add_project_item: The numeric ID of the issue or pull request to add. For update_project_item and delete_project_item: The unique identifier of the project item (not the issue/PR ID).",
10+
"description": "For add: issue/PR ID. For update/delete: project item ID (not issue/PR ID)",
1111
"type": "number"
1212
},
1313
"item_type": {
14-
"description": "The type of item to add: 'issue' or 'pull_request'. Required for: add_project_item.",
14+
"description": "Type to add: 'issue' or 'pull_request' (required for add_project_item)",
1515
"enum": [
1616
"issue",
1717
"pull_request"
1818
],
1919
"type": "string"
2020
},
2121
"method": {
22-
"description": "The write operation to perform.\nOptions are:\n- add_project_item: Add an issue or pull request to a project (requires: item_type, item_id)\n- update_project_item: Update field values for an item (requires: item_id, updated_field)\n- delete_project_item: Remove an item from a project (requires: item_id)\n",
22+
"description": "Write operation: add_project_item (needs item_type, item_id), update_project_item (needs item_id, updated_field), delete_project_item (needs item_id)",
2323
"enum": [
2424
"add_project_item",
2525
"update_project_item",
@@ -28,7 +28,7 @@
2828
"type": "string"
2929
},
3030
"owner": {
31-
"description": "If owner_type == user it is the handle for the GitHub user account. If owner_type == org it is the name of the organization. The name is not case sensitive.",
31+
"description": "GitHub username or org name (case-insensitive)",
3232
"type": "string"
3333
},
3434
"owner_type": {
@@ -40,11 +40,11 @@
4040
"type": "string"
4141
},
4242
"project_number": {
43-
"description": "The project's number.",
43+
"description": "Project number",
4444
"type": "number"
4545
},
4646
"updated_field": {
47-
"description": "Object with the field ID and new value. Required for: update_project_item. Format: {\"id\": 123456, \"value\": \"New Value\"}. To clear a field, set value to null. Value types vary by field type: text fields use strings, single-select fields use option IDs (numbers), date fields use ISO date strings, number fields use numbers.",
47+
"description": "Field update object (required for update_project_item). Format: {\"id\": 123456, \"value\": \u003cvalue\u003e}. Value types: text=string, single-select=option ID (number), date=ISO string, number=number. Set value to null to clear.",
4848
"properties": {},
4949
"type": "object"
5050
}

0 commit comments

Comments
 (0)