|
1 | 1 | <tool_usage_guide> |
2 | 2 | <overview> |
3 | | - Guidance for using GitHub MCP and file tools for creating release notes. |
| 3 | + Guidance for using GitHub CLI (gh) and file tools for creating release notes. |
4 | 4 | </overview> |
5 | 5 |
|
6 | | - <github_tools> |
7 | | - <tool name="github.get_tag"> |
| 6 | + <github_cli_tools> |
| 7 | + <tool name="gh api (get tag)"> |
8 | 8 | <purpose>Fetch release date for a version tag.</purpose> |
9 | 9 | <usage><![CDATA[ |
10 | | -<use_mcp_tool> |
11 | | -<server_name>github</server_name> |
12 | | -<tool_name>get_tag</tool_name> |
13 | | -<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "tag": "v3.20.3" }</arguments> |
14 | | -</use_mcp_tool> |
| 10 | +<execute_command> |
| 11 | +<command>gh api repos/RooCodeInc/Roo-Code/git/refs/tags/v3.20.3 --jq '.object.sha' | xargs -I {} gh api repos/RooCodeInc/Roo-Code/git/commits/{} --jq '.committer.date'</command> |
| 12 | +</execute_command> |
15 | 13 | ]]></usage> |
16 | 14 | <output>Returns commit date for the tag to set the PR search range.</output> |
17 | 15 | </tool> |
18 | 16 |
|
19 | | - <tool name="github.search_issues"> |
| 17 | + <tool name="gh pr list (search PRs)"> |
20 | 18 | <purpose>Get all merged PRs between two dates.</purpose> |
21 | 19 | <usage><![CDATA[ |
22 | | -<use_mcp_tool> |
23 | | -<server_name>github</server_name> |
24 | | -<tool_name>search_issues</tool_name> |
25 | | -<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "q": "is:pr is:merged repo:RooCodeInc/Roo-Code merged:2025-01-10..2025-01-13" }</arguments> |
26 | | -</use_mcp_tool> |
| 20 | +<execute_command> |
| 21 | +<command>gh pr list --repo RooCodeInc/Roo-Code --state merged --search "merged:2025-01-10..2025-01-13" --json number,title,author,mergedAt --limit 1000</command> |
| 22 | +</execute_command> |
27 | 23 | ]]></usage> |
28 | | - <parsing_tip>Extract PR numbers from the results list.</parsing_tip> |
| 24 | + <parsing_tip>Returns JSON array with PR numbers, titles, authors, and merge dates.</parsing_tip> |
29 | 25 | </tool> |
30 | 26 |
|
31 | | - <tool name="github.get_pull_request"> |
| 27 | + <tool name="gh pr view"> |
32 | 28 | <purpose>Get details for a specific PR.</purpose> |
33 | 29 | <usage><![CDATA[ |
34 | | -<use_mcp_tool> |
35 | | -<server_name>github</server_name> |
36 | | -<tool_name>get_pull_request</tool_name> |
37 | | -<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "pull_number": 1234 }</arguments> |
38 | | -</use_mcp_tool> |
| 30 | +<execute_command> |
| 31 | +<command>gh pr view 1234 --repo RooCodeInc/Roo-Code --json number,title,author,body,mergedAt,files</command> |
| 32 | +</execute_command> |
39 | 33 | ]]></usage> |
40 | 34 | <extract> |
41 | 35 | <field>title</field> |
42 | | - <field>user.login (author)</field> |
| 36 | + <field>author.login (author)</field> |
43 | 37 | <field>body</field> |
| 38 | + <field>files (changed files)</field> |
44 | 39 | </extract> |
45 | 40 | </tool> |
46 | 41 |
|
47 | | - <tool name="github.get_pull_request_files"> |
48 | | - <purpose>See which files changed in a PR.</purpose> |
49 | | - <usage><![CDATA[ |
50 | | -<use_mcp_tool> |
51 | | -<server_name>github</server_name> |
52 | | -<tool_name>get_pull_request_files</tool_name> |
53 | | -<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "pull_number": 1234 }</arguments> |
54 | | -</use_mcp_tool> |
55 | | - ]]></usage> |
56 | | - <analysis> |
57 | | - Use file paths to understand change scope (e.g., src/extension/* for core, webview-ui/* for UI). |
58 | | - </analysis> |
59 | | - </tool> |
60 | | - |
61 | | - <tool name="github.get_pull_request_diff"> |
62 | | - <purpose>Get code changes for deeper analysis.</purpose> |
63 | | - <when_to_use>When PR title/description is unclear.</when_to_use> |
64 | | - </tool> |
65 | | - |
66 | | - <tool name="github.get_issue"> |
| 42 | + <tool name="gh issue view"> |
67 | 43 | <purpose>Get details for linked issues to acknowledge all contributors.</purpose> |
68 | 44 | <usage><![CDATA[ |
69 | | -<use_mcp_tool> |
70 | | -<server_name>github</server_name> |
71 | | -<tool_name>get_issue</tool_name> |
72 | | -<arguments>{ "owner": "RooCodeInc", "repo": "Roo-Code", "issue_number": 987 }</arguments> |
73 | | -</use_mcp_tool> |
| 45 | +<execute_command> |
| 46 | +<command>gh issue view 987 --repo RooCodeInc/Roo-Code --json number,title,author,body</command> |
| 47 | +</execute_command> |
74 | 48 | ]]></usage> |
75 | 49 | <extract> |
76 | 50 | <field>title</field> |
77 | | - <field>user.login (reporter)</field> |
| 51 | + <field>author.login (reporter)</field> |
78 | 52 | <field>body</field> |
79 | 53 | </extract> |
80 | 54 | <issue_extraction_patterns> |
|
85 | 59 | <pattern>#123</pattern> |
86 | 60 | </issue_extraction_patterns> |
87 | 61 | </tool> |
88 | | - </github_tools> |
| 62 | + |
| 63 | + <tool name="gh search prs"> |
| 64 | + <purpose>Alternative method to search for PRs with more complex queries.</purpose> |
| 65 | + <usage><![CDATA[ |
| 66 | +<execute_command> |
| 67 | +<command>gh search prs --repo RooCodeInc/Roo-Code --merged --merged-at "2025-01-10..2025-01-13" --json number,title,author,mergedAt --limit 1000</command> |
| 68 | +</execute_command> |
| 69 | + ]]></usage> |
| 70 | + <note>Use this if gh pr list doesn't support the date range properly.</note> |
| 71 | + </tool> |
| 72 | + </github_cli_tools> |
89 | 73 |
|
90 | 74 | <subtask_tools> |
91 | 75 | <tool name="new_task"> |
|
101 | 85 | <message>Investigate PR #1234 for release notes v3.20.3. |
102 | 86 |
|
103 | 87 | Task: |
104 | | -1. Get PR details (github.get_pull_request) |
| 88 | +1. Get PR details (gh pr view) |
105 | 89 | 2. Extract linked issues from description |
106 | | -3. Get issue details (github.get_issue) |
| 90 | +3. Get issue details (gh issue view) |
107 | 91 | 4. Analyze and categorize change |
108 | 92 | 5. Write findings to temp_pr_analysis.md in the required format. Use insert_content with line 0. |
| 93 | +
|
| 94 | +Use update_todo_list to track your progress through these steps. |
109 | 95 | </message> |
110 | 96 | </new_task> |
111 | 97 | ]]></usage> |
112 | 98 | </tool> |
| 99 | + |
| 100 | + <tool name="update_todo_list"> |
| 101 | + <purpose>Track progress through PR investigation steps in subtasks.</purpose> |
| 102 | + <when_to_use>At the start of each PR investigation subtask and after completing each step.</when_to_use> |
| 103 | + <usage><![CDATA[ |
| 104 | +<!-- Initial todo list at start of PR investigation --> |
| 105 | +<update_todo_list> |
| 106 | +<todos> |
| 107 | +[ ] Fetch PR details with gh pr view |
| 108 | +[ ] Extract linked issues from PR description |
| 109 | +[ ] Get details for each linked issue |
| 110 | +[ ] Analyze and categorize the change |
| 111 | +[ ] Write findings to temp_pr_analysis.md |
| 112 | +[ ] Complete subtask |
| 113 | +</todos> |
| 114 | +</update_todo_list> |
| 115 | +
|
| 116 | +<!-- After fetching PR details --> |
| 117 | +<update_todo_list> |
| 118 | +<todos> |
| 119 | +[x] Fetch PR details with gh pr view |
| 120 | +[-] Extract linked issues from PR description |
| 121 | +[ ] Get details for each linked issue |
| 122 | +[ ] Analyze and categorize the change |
| 123 | +[ ] Write findings to temp_pr_analysis.md |
| 124 | +[ ] Complete subtask |
| 125 | +</todos> |
| 126 | +</update_todo_list> |
| 127 | +
|
| 128 | +<!-- Final update when all done --> |
| 129 | +<update_todo_list> |
| 130 | +<todos> |
| 131 | +[x] Fetch PR details with gh pr view |
| 132 | +[x] Extract linked issues from PR description |
| 133 | +[x] Get details for each linked issue |
| 134 | +[x] Analyze and categorize the change |
| 135 | +[x] Write findings to temp_pr_analysis.md |
| 136 | +[x] Complete subtask |
| 137 | +</todos> |
| 138 | +</update_todo_list> |
| 139 | + ]]></usage> |
| 140 | + <best_practices> |
| 141 | + <practice>Update immediately after each step completes</practice> |
| 142 | + <practice>Use [-] for in-progress items, [x] for completed</practice> |
| 143 | + <practice>Add specific issue numbers when multiple issues exist</practice> |
| 144 | + <practice>Only mark complete when verified</practice> |
| 145 | + </best_practices> |
| 146 | + </tool> |
113 | 147 |
|
114 | 148 | <tool name="new_task"> |
115 | 149 | <purpose>Create a subtask for Discord formatting.</purpose> |
|
0 commit comments