Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

projects: add server instructions#1352

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some comments aren't visible on the classic Files Changed page.

18 changes: 12 additions & 6 deletionsREADME.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -844,24 +844,30 @@ Options are:
- `project_number`: The project's number. (number, required)

- **list_project_fields** - List project fields
- `after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
- `before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
- `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)
- `owner_type`: Owner type (string, required)
- `per_page`:Number of resultsper page (max100, default: 30) (number, optional)
- `per_page`:Resultsper page (max50) (number, optional)
- `project_number`: The project's number. (number, required)

- **list_project_items** - List project items
- `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)
- `after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
- `before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
- `fields`: Field IDs to include (e.g. ["102589", "985201"]). CRITICAL: Always provide to get field values. Without this, only titles returned. (string[], optional)
- `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)
- `owner_type`: Owner type (string, required)
- `per_page`:Number of resultsper page (max100, default: 30) (number, optional)
- `per_page`:Resultsper page (max50) (number, optional)
- `project_number`: The project's number. (number, required)
- `query`:Search query to filteritems (string, optional)
- `query`:Query string for advanced filtering of projectitems using GitHub's project filtering syntax. (string, optional)

- **list_projects** - List projects
- `after`: Forward pagination cursor from previous pageInfo.nextCursor. (string, optional)
- `before`: Backward pagination cursor from previous pageInfo.prevCursor (rare). (string, optional)
- `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)
- `owner_type`: Owner type (string, required)
- `per_page`:Number of resultsper page (max100, default: 30) (number, optional)
- `query`: Filter projects bya search query (matches title and description) (string, optional)
- `per_page`:Resultsper page (max50) (number, optional)
- `query`: Filter projects bytitle text and open/closed state; permitted qualifiers: is:open, is:closed; examples: "roadmap is:open", "is:open feature planning". (string, optional)

- **update_project_item** - Update project item
- `item_id`: The unique identifier of the project item. This is not the issue or pull request ID. (number, required)
Expand Down
10 changes: 9 additions & 1 deletionpkg/github/__toolsnaps__/list_project_fields.snap
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -6,6 +6,14 @@
"description": "List Project fields for a user or org",
"inputSchema": {
"properties": {
"after": {
"description": "Forward pagination cursor from previous pageInfo.nextCursor.",
"type": "string"
},
"before": {
"description": "Backward pagination cursor from previous pageInfo.prevCursor (rare).",
"type": "string"
},
"owner": {
"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.",
"type": "string"
Expand All@@ -19,7 +27,7 @@
"type": "string"
},
"per_page": {
"description": "Number of resultsper page (max100, default: 30)",
"description": "Resultsper page (max50)",
"type": "number"
},
"project_number": {
Expand Down
16 changes: 12 additions & 4 deletionspkg/github/__toolsnaps__/list_project_items.snap
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,11 +3,19 @@
"title": "List project items",
"readOnlyHint": true
},
"description": "List Project itemsfor a user or org",
"description": "Search project itemswith advanced filtering",
"inputSchema": {
"properties": {
"after": {
"description": "Forward pagination cursor from previous pageInfo.nextCursor.",
"type": "string"
},
"before": {
"description": "Backward pagination cursor from previous pageInfo.prevCursor (rare).",
"type": "string"
},
"fields": {
"description": "Specific list of fieldIDs to includein the response(e.g. [\"102589\", \"985201\", \"169875\"]).If not provided, only the titlefieldis included.",
"description": "FieldIDs to include (e.g. [\"102589\", \"985201\"]).CRITICAL: Always provide to getfieldvalues. Without this, only titles returned.",
"items": {
"type": "string"
},
Expand All@@ -26,15 +34,15 @@
"type": "string"
},
"per_page": {
"description": "Number of resultsper page (max100, default: 30)",
"description": "Resultsper page (max50)",
"type": "number"
},
"project_number": {
"description": "The project's number.",
"type": "number"
},
"query": {
"description": "Search query to filteritems",
"description": "Query string for advanced filtering of projectitems using GitHub's project filtering syntax.",
"type": "string"
}
},
Expand Down
14 changes: 11 additions & 3 deletionspkg/github/__toolsnaps__/list_projects.snap
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,9 +3,17 @@
"title": "List projects",
"readOnlyHint": true
},
"description": "List Projects for a user ororg",
"description": "List Projects for a user ororganization",
"inputSchema": {
"properties": {
"after": {
"description": "Forward pagination cursor from previous pageInfo.nextCursor.",
"type": "string"
},
"before": {
"description": "Backward pagination cursor from previous pageInfo.prevCursor (rare).",
"type": "string"
},
"owner": {
"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.",
"type": "string"
Expand All@@ -19,11 +27,11 @@
"type": "string"
},
"per_page": {
"description": "Number of resultsper page (max100, default: 30)",
"description": "Resultsper page (max50)",
"type": "number"
},
"query": {
"description": "Filter projects bya search query (matches title and description)",
"description": "Filter projects bytitle text and open/closed state; permitted qualifiers: is:open, is:closed; examples: \"roadmap is:open\", \"is:open feature planning\".",
"type": "string"
}
},
Expand Down
69 changes: 69 additions & 0 deletionspkg/github/instructions.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,6 +62,75 @@ Check 'list_issue_types' first for organizations to use proper issue types. Use
return `## Discussions

Use 'list_discussion_categories' to understand available categories before creating discussions. Filter by category for better organization.`
case "projects":
return `## Projects

Workflow: 1) list_project_fields (get field IDs), 2) list_project_items (with pagination), 3) optional updates.

Field usage:
- Call list_project_fields first to understand available fields and get IDs/types before filtering.
- Use EXACT returned field names (case-insensitive match). Don't invent names or IDs.
- Iteration synonyms (sprint/cycle) only if that field exists; map to the actual name (e.g. sprint:@current).
- Only include filters for fields that exist and are relevant.

Pagination (mandatory):
- Loop while pageInfo.hasNextPage=true using after=pageInfo.nextCursor.
- Keep query, fields, per_page IDENTICAL on every page.
- Use before=pageInfo.prevCursor only when explicitly navigating to a previous page.

Counting rules:
- Count items array length after full pagination.
- Never count field objects, content, or nested arrays as separate items.

Summary vs list:
- Summaries ONLY if user uses verbs: analyze | summarize | summary | report | overview | insights.
- Listing verbs (list/show/get/fetch/display/enumerate) → enumerate + total.

Self-check before returning:
- Paginated fully
- Correct IDs used
- Field names valid
- Summary only if requested.

Return COMPLETE data or state what's missing (e.g. pages skipped).

list_project_items query rules:
Query string - For advanced filtering of project items using GitHub's project filtering syntax:

MUST reflect user intent; strongly prefer explicit content type if narrowed:
- "open issues" → state:open is:issue
- "merged PRs" → state:merged is:pr
- "items updated this week" → updated:>@today-7d (omit type only if mixed desired)
- "list all P1 priority items" → priority:p1 (omit state if user wants all, omit type if user specifies "items")
- "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")
- "all open issues I'm working on" → is:issue state:open assignee:@me

Query Construction Heuristics:
a. Extract type nouns: issues → is:issue | PRs, Pulls, or Pull Requests → is:pr | tasks/tickets → is:issue (ask if ambiguity)
b. Map temporal phrases: "this week" → updated:>@today-7d
c. Map negations: "excluding wontfix" → -label:wontfix
d. Map priority adjectives: "high/sev1/p1" → priority:high OR priority:p1 (choose based on field presence)
e. When filtering by label, always use wildcard matching to account for cross-repository differences or emojis: (e.g. "bug 🐛" → label:*bug*)
f. When filtering by milestone, always use wildcard matching to account for cross-repository differences: (e.g. "v1.0" → milestone:*v1.0*)

Syntax Essentials (items):
AND: space-separated. (label:bug priority:high).
OR: comma inside one qualifier (label:bug,critical).
NOT: leading '-' (-label:wontfix).
Hyphenate multi-word field names. (team-name:"Backend Team", story-points:>5).
Quote multi-word values. (status:"In Review" team-name:"Backend Team").
Ranges: points:1..3, updated:<@today-30d.
Wildcards: title:*crash*, label:bug*.
Assigned to User: assignee:@me | assignee:username | no:assignee

Common Qualifier Glossary (items):
is:issue | is:pr | state:open|closed|merged | assignee:@me|username | label:NAME | status:VALUE |
priority:p1|high | sprint-name:@current | team-name:"Backend Team" | parent-issue:"org/repo#123" |
updated:>@today-7d | title:*text* | -label:wontfix | label:bug,critical | no:assignee | has:label

Never:
- Infer field IDs; fetch via list_project_fields.
- Drop 'fields' param on subsequent pages if field values are needed.`
default:
return ""
}
Expand Down
Loading
Loading

[8]ページ先頭

©2009-2025 Movatter.jp