You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -844,24 +844,30 @@ Options are:
844
844
-`project_number`: The project's number. (number, required)
845
845
846
846
-**list_project_fields** - List project fields
847
+
-`after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
848
+
-`before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
847
849
-`owner`: 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. (string, required)
848
850
-`owner_type`: Owner type (string, required)
849
-
-`per_page`: Number of results per page (max 100, default: 30) (number, optional)
851
+
-`per_page`: Results per page (max 50) (number, optional)
850
852
-`project_number`: The project's number. (number, required)
851
853
852
854
-**list_project_items** - List project items
853
-
-`fields`: Specific list of field IDs to include in the response (e.g. ["102589", "985201", "169875"]). If not provided, only the title field is included. (string[], optional)
855
+
-`after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
856
+
-`before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
857
+
-`fields`: Field IDs to include (e.g. ["102589", "985201"]). CRITICAL: Always provide to get field values. Without this, only titles returned. (string[], optional)
854
858
-`owner`: 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. (string, required)
855
859
-`owner_type`: Owner type (string, required)
856
-
-`per_page`: Number of results per page (max 100, default: 30) (number, optional)
860
+
-`per_page`: Results per page (max 50) (number, optional)
857
861
-`project_number`: The project's number. (number, required)
858
-
-`query`: Search query to filter items (string, optional)
862
+
-`query`: Query string for advanced filtering of project items using GitHub's project filtering syntax. (string, optional)
859
863
860
864
-**list_projects** - List projects
865
+
-`after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
866
+
-`before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
861
867
-`owner`: 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. (string, required)
862
868
-`owner_type`: Owner type (string, required)
863
-
-`per_page`: Number of results per page (max 100, default: 30) (number, optional)
864
-
-`query`: Filter projects by a search query (matches title and description) (string, optional)
869
+
-`per_page`: Results per page (max 50) (number, optional)
870
+
-`query`: Filter projects by title text and open/closed state; permitted qualifiers: is:open, is:closed; examples: "roadmap is:open", "is:open feature planning". (string, optional)
865
871
866
872
-**update_project_item** - Update project item
867
873
-`item_id`: The unique identifier of the project item. This is not the issue or pull request ID. (number, required)
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/list_project_fields.snap
+9-1Lines changed: 9 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,14 @@
6
6
"description": "List Project fields for a user or org",
7
7
"inputSchema": {
8
8
"properties": {
9
+
"after": {
10
+
"description": "Forward pagination cursor from previous pageInfo.nextCursor.",
11
+
"type": "string"
12
+
},
13
+
"before": {
14
+
"description": "Backward pagination cursor from previous pageInfo.prevCursor (rare).",
15
+
"type": "string"
16
+
},
9
17
"owner": {
10
18
"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.",
11
19
"type": "string"
@@ -19,7 +27,7 @@
19
27
"type": "string"
20
28
},
21
29
"per_page": {
22
-
"description": "Number of results per page (max 100, default: 30)",
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/list_project_items.snap
+12-4Lines changed: 12 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,19 @@
3
3
"title": "List project items",
4
4
"readOnlyHint": true
5
5
},
6
-
"description": "List Project items for a user or org",
6
+
"description": "Search project items with advanced filtering",
7
7
"inputSchema": {
8
8
"properties": {
9
+
"after": {
10
+
"description": "Forward pagination cursor from previous pageInfo.nextCursor.",
11
+
"type": "string"
12
+
},
13
+
"before": {
14
+
"description": "Backward pagination cursor from previous pageInfo.prevCursor (rare).",
15
+
"type": "string"
16
+
},
9
17
"fields": {
10
-
"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.",
18
+
"description": "Field IDs to include (e.g. [\"102589\", \"985201\"]). CRITICAL: Always provide to get field values. Without this, only titles returned.",
11
19
"items": {
12
20
"type": "string"
13
21
},
@@ -26,15 +34,15 @@
26
34
"type": "string"
27
35
},
28
36
"per_page": {
29
-
"description": "Number of results per page (max 100, default: 30)",
37
+
"description": "Results per page (max 50)",
30
38
"type": "number"
31
39
},
32
40
"project_number": {
33
41
"description": "The project's number.",
34
42
"type": "number"
35
43
},
36
44
"query": {
37
-
"description": "Search query to filter items",
45
+
"description": "Query string for advanced filtering of project items using GitHub's project filtering syntax.",
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/list_projects.snap
+11-3Lines changed: 11 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,17 @@
3
3
"title": "List projects",
4
4
"readOnlyHint": true
5
5
},
6
-
"description": "List Projects for a user or org",
6
+
"description": "List Projects for a user or organization",
7
7
"inputSchema": {
8
8
"properties": {
9
+
"after": {
10
+
"description": "Forward pagination cursor from previous pageInfo.nextCursor.",
11
+
"type": "string"
12
+
},
13
+
"before": {
14
+
"description": "Backward pagination cursor from previous pageInfo.prevCursor (rare).",
15
+
"type": "string"
16
+
},
9
17
"owner": {
10
18
"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.",
11
19
"type": "string"
@@ -19,11 +27,11 @@
19
27
"type": "string"
20
28
},
21
29
"per_page": {
22
-
"description": "Number of results per page (max 100, default: 30)",
30
+
"description": "Results per page (max 50)",
23
31
"type": "number"
24
32
},
25
33
"query": {
26
-
"description": "Filter projects by a search query (matches title and description)",
34
+
"description": "Filter projects by title text and open/closed state; permitted qualifiers: is:open, is:closed; examples: \"roadmap is:open\", \"is:open feature planning\".",
Return COMPLETE data or state what's missing (e.g. pages skipped).
96
+
97
+
list_project_items query rules:
98
+
Query string - For advanced filtering of project items using GitHub's project filtering syntax:
99
+
100
+
MUST reflect user intent; strongly prefer explicit content type if narrowed:
101
+
- "open issues" → state:open is:issue
102
+
- "merged PRs" → state:merged is:pr
103
+
- "items updated this week" → updated:>@today-7d (omit type only if mixed desired)
104
+
- "list all P1 priority items" → priority:p1 (omit state if user wants all, omit type if user specifies "items")
105
+
- "list all open P2 issues" → is:issue state:open priority:p2 (include state if user wants open or closed, include type if user specifies "issues" or "PRs")
106
+
- "all open issues I'm working on" → is:issue state:open assignee:@me
107
+
108
+
Query Construction Heuristics:
109
+
a. Extract type nouns: issues → is:issue | PRs, Pulls, or Pull Requests → is:pr | tasks/tickets → is:issue (ask if ambiguity)
110
+
b. Map temporal phrases: "this week" → updated:>@today-7d
111
+
c. Map negations: "excluding wontfix" → -label:wontfix
112
+
d. Map priority adjectives: "high/sev1/p1" → priority:high OR priority:p1 (choose based on field presence)
113
+
e. When filtering by label, always use wildcard matching to account for cross-repository differences or emojis: (e.g. "bug 🐛" → label:*bug*)
114
+
f. When filtering by milestone, always use wildcard matching to account for cross-repository differences: (e.g. "v1.0" → milestone:*v1.0*)
115
+
116
+
Syntax Essentials (items):
117
+
AND: space-separated. (label:bug priority:high).
118
+
OR: comma inside one qualifier (label:bug,critical).
119
+
NOT: leading '-' (-label:wontfix).
120
+
Hyphenate multi-word field names. (team-name:"Backend Team", story-points:>5).
0 commit comments