ima-claude 2.20.0 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +48 -9
  2. package/dist/cli.js +1 -1
  3. package/package.json +1 -1
  4. package/plugins/ima-claude/.claude-plugin/plugin.json +1 -1
  5. package/plugins/ima-claude/agents/explorer.md +29 -15
  6. package/plugins/ima-claude/agents/implementer.md +58 -13
  7. package/plugins/ima-claude/agents/memory.md +19 -19
  8. package/plugins/ima-claude/agents/reviewer.md +56 -34
  9. package/plugins/ima-claude/agents/tester.md +59 -16
  10. package/plugins/ima-claude/agents/wp-developer.md +66 -21
  11. package/plugins/ima-claude/hooks/bootstrap.sh +42 -44
  12. package/plugins/ima-claude/hooks/prompt_coach_digest.md +14 -17
  13. package/plugins/ima-claude/hooks/prompt_coach_system.md +10 -12
  14. package/plugins/ima-claude/personalities/README.md +17 -6
  15. package/plugins/ima-claude/personalities/enable-efficient.md +61 -0
  16. package/plugins/ima-claude/personalities/enable-terse.md +71 -0
  17. package/plugins/ima-claude/skills/agentic-workflows/SKILL.md +35 -71
  18. package/plugins/ima-claude/skills/architect/SKILL.md +54 -168
  19. package/plugins/ima-claude/skills/compound-bridge/SKILL.md +41 -94
  20. package/plugins/ima-claude/skills/design-to-code/SKILL.md +43 -78
  21. package/plugins/ima-claude/skills/discourse/SKILL.md +79 -194
  22. package/plugins/ima-claude/skills/discourse-admin/SKILL.md +41 -103
  23. package/plugins/ima-claude/skills/docs-organize/SKILL.md +63 -203
  24. package/plugins/ima-claude/skills/ember-discourse/SKILL.md +90 -200
  25. package/plugins/ima-claude/skills/espocrm/SKILL.md +14 -23
  26. package/plugins/ima-claude/skills/espocrm-api/SKILL.md +79 -192
  27. package/plugins/ima-claude/skills/functional-programmer/SKILL.md +33 -237
  28. package/plugins/ima-claude/skills/gh-cli/SKILL.md +26 -65
  29. package/plugins/ima-claude/skills/ima-bootstrap/SKILL.md +71 -104
  30. package/plugins/ima-claude/skills/ima-bootstrap/references/ima-brand.md +32 -22
  31. package/plugins/ima-claude/skills/ima-brand/SKILL.md +18 -23
  32. package/plugins/ima-claude/skills/ima-copywriting/SKILL.md +68 -179
  33. package/plugins/ima-claude/skills/ima-doc2pdf/SKILL.md +32 -102
  34. package/plugins/ima-claude/skills/ima-editorial-scorecard/SKILL.md +38 -63
  35. package/plugins/ima-claude/skills/ima-editorial-workflow/SKILL.md +69 -114
  36. package/plugins/ima-claude/skills/ima-email-creator/SKILL.md +16 -22
  37. package/plugins/ima-claude/skills/ima-forms-expert/SKILL.md +21 -37
  38. package/plugins/ima-claude/skills/jira-checkpoint/SKILL.md +39 -120
  39. package/plugins/ima-claude/skills/jquery/SKILL.md +107 -233
  40. package/plugins/ima-claude/skills/js-fp/SKILL.md +75 -296
  41. package/plugins/ima-claude/skills/js-fp-api/SKILL.md +52 -162
  42. package/plugins/ima-claude/skills/js-fp-react/SKILL.md +47 -270
  43. package/plugins/ima-claude/skills/js-fp-vue/SKILL.md +55 -209
  44. package/plugins/ima-claude/skills/js-fp-wordpress/SKILL.md +59 -204
  45. package/plugins/ima-claude/skills/livecanvas/SKILL.md +19 -32
  46. package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +92 -162
  47. package/plugins/ima-claude/skills/mcp-context7/SKILL.md +32 -64
  48. package/plugins/ima-claude/skills/mcp-gitea/SKILL.md +98 -188
  49. package/plugins/ima-claude/skills/mcp-github/SKILL.md +60 -124
  50. package/plugins/ima-claude/skills/mcp-memory/SKILL.md +1 -177
  51. package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +58 -115
  52. package/plugins/ima-claude/skills/mcp-sequential/SKILL.md +32 -87
  53. package/plugins/ima-claude/skills/mcp-serena/SKILL.md +54 -80
  54. package/plugins/ima-claude/skills/mcp-tavily/SKILL.md +40 -63
  55. package/plugins/ima-claude/skills/mcp-vestige/SKILL.md +75 -116
  56. package/plugins/ima-claude/skills/php-authnet/SKILL.md +32 -65
  57. package/plugins/ima-claude/skills/php-fp/SKILL.md +50 -129
  58. package/plugins/ima-claude/skills/php-fp-wordpress/SKILL.md +25 -73
  59. package/plugins/ima-claude/skills/phpunit-wp/SKILL.md +103 -463
  60. package/plugins/ima-claude/skills/playwright/SKILL.md +69 -220
  61. package/plugins/ima-claude/skills/prompt-starter/SKILL.md +33 -83
  62. package/plugins/ima-claude/skills/prompt-starter/references/code-review.md +38 -0
  63. package/plugins/ima-claude/skills/py-fp/SKILL.md +78 -384
  64. package/plugins/ima-claude/skills/quasar-fp/SKILL.md +54 -255
  65. package/plugins/ima-claude/skills/quickstart/SKILL.md +7 -11
  66. package/plugins/ima-claude/skills/rails/SKILL.md +63 -184
  67. package/plugins/ima-claude/skills/resume-session/SKILL.md +14 -35
  68. package/plugins/ima-claude/skills/rg/SKILL.md +61 -146
  69. package/plugins/ima-claude/skills/ruby-fp/SKILL.md +66 -163
  70. package/plugins/ima-claude/skills/save-session/SKILL.md +10 -39
  71. package/plugins/ima-claude/skills/scorecard/SKILL.md +24 -38
  72. package/plugins/ima-claude/skills/skill-analyzer/SKILL.md +42 -71
  73. package/plugins/ima-claude/skills/skill-creator/SKILL.md +79 -250
  74. package/plugins/ima-claude/skills/task-master/SKILL.md +11 -31
  75. package/plugins/ima-claude/skills/task-planner/SKILL.md +44 -153
  76. package/plugins/ima-claude/skills/task-runner/SKILL.md +61 -143
  77. package/plugins/ima-claude/skills/unit-testing/SKILL.md +59 -134
  78. package/plugins/ima-claude/skills/wp-ddev/SKILL.md +38 -120
  79. package/plugins/ima-claude/skills/wp-local/SKILL.md +26 -108
@@ -11,13 +11,13 @@ description: >-
11
11
 
12
12
  # Gitea MCP - Internal Git Repository Management
13
13
 
14
- The team's internal Git platform. All tools prefixed `mcp__gitea__`.
14
+ Team's internal Git platform. All tools prefixed `mcp__gitea__`.
15
15
 
16
- Gitea is the **primary** tool for daily development work (PRs, issues, releases).
17
- GitHub is FOSS publishing only use `mcp-github` for GitHub operations.
18
- The `gh` CLI is GitHub-only; it does not work with Gitea.
16
+ - Gitea = primary for daily work (PRs, issues, releases)
17
+ - GitHub = FOSS publishing only use `mcp-github`
18
+ - `gh` CLI = GitHub-only, does not work with Gitea
19
19
 
20
- **Method-dispatch pattern:** Several tools (`pull_request_read`, `pull_request_write`, `pull_request_review_write`, `issue_read`, `issue_write`) use a required `method` parameter to select the operation. Always include `method` — omitting it causes a missing parameter error.
20
+ **Method-dispatch:** `pull_request_read`, `pull_request_write`, `pull_request_review_write`, `issue_read`, `issue_write` require a `method` param — omitting it causes a missing parameter error.
21
21
 
22
22
  ## Tool Catalog
23
23
 
@@ -28,7 +28,7 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
28
28
  | `get_me` | Current authenticated user | *(none)* |
29
29
  | `get_user_orgs` | User's organizations | *(none)* |
30
30
  | `search_users` | Search users by name/email | `query` |
31
- | `search_repos` | Search repositories across Gitea | `query`, `owner` |
31
+ | `search_repos` | Search repositories | `query`, `owner` |
32
32
  | `search_org_teams` | Find teams within an org | `org`, `query` |
33
33
  | `list_my_repos` | List authenticated user's repos | `page`, `perPage` |
34
34
  | `get_gitea_mcp_server_version` | Server version info | *(none)* |
@@ -37,20 +37,20 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
37
37
 
38
38
  | Tool | Purpose | Key Params |
39
39
  |------|---------|------------|
40
- | `create_repo` | Create a new repository | `owner`, `name`, `description`, `private` |
41
- | `fork_repo` | Fork an existing repository | `owner`, `repo`, `organization` |
42
- | `get_file_contents` | Get file contents at a path | `owner`, `repo`, `filepath`, `ref` |
43
- | `get_dir_contents` | List directory contents | `owner`, `repo`, `filepath`, `ref` |
44
- | `create_or_update_file` | Create or update a file | `owner`, `repo`, `filepath`, `content`, `message`, `sha` (required for updates) |
45
- | `delete_file` | Delete a file | `owner`, `repo`, `filepath`, `message`, `sha` |
40
+ | `create_repo` | Create repository | `owner`, `name`, `description`, `private` |
41
+ | `fork_repo` | Fork repository | `owner`, `repo`, `organization` |
42
+ | `get_file_contents` | Get file at path | `owner`, `repo`, `filepath`, `ref` |
43
+ | `get_dir_contents` | List directory | `owner`, `repo`, `filepath`, `ref` |
44
+ | `create_or_update_file` | Create or update file | `owner`, `repo`, `filepath`, `content`, `message`, `sha` (required for updates) |
45
+ | `delete_file` | Delete file | `owner`, `repo`, `filepath`, `message`, `sha` |
46
46
 
47
47
  ### Branches
48
48
 
49
49
  | Tool | Purpose | Key Params |
50
50
  |------|---------|------------|
51
51
  | `list_branches` | List all branches | `owner`, `repo`, `page`, `perPage` |
52
- | `create_branch` | Create a new branch | `owner`, `repo`, `new_branch_name`, `old_branch_name` |
53
- | `delete_branch` | Delete a branch | `owner`, `repo`, `branch` |
52
+ | `create_branch` | Create branch | `owner`, `repo`, `new_branch_name`, `old_branch_name` |
53
+ | `delete_branch` | Delete branch | `owner`, `repo`, `branch` |
54
54
 
55
55
  ### Pull Requests
56
56
 
@@ -59,15 +59,15 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
59
59
  | `list_pull_requests` | List PRs with filtering | `owner`, `repo`, `state` (open/closed/all), `sort`, `milestone`, `page`, `perPage` |
60
60
  | `pull_request_read` | Read PR data and reviews | `method` (get/get_diff/get_reviews/get_review/get_review_comments), `owner`, `repo`, `index`; `review_id` for get_review/get_review_comments |
61
61
  | `pull_request_write` | Create, update, merge PR; manage reviewers | `method` (create/update/merge/add_reviewers/remove_reviewers), `owner`, `repo`; `index` required except for create |
62
- | `pull_request_review_write` | Submit, delete, or dismiss a PR review | `method` (create/submit/delete/dismiss), `owner`, `repo`, `index`; `review_id` required for submit/delete/dismiss |
62
+ | `pull_request_review_write` | Submit, delete, or dismiss review | `method` (create/submit/delete/dismiss), `owner`, `repo`, `index`; `review_id` required for submit/delete/dismiss |
63
63
 
64
- **`pull_request_write` method details:**
64
+ **`pull_request_write` methods:**
65
65
  - `create`: `title` (req), `head` (req), `base` (req), `body`
66
66
  - `update`: `index` (req), `title`, `body`, `state`, `assignee`, `assignees`, `milestone`, `base`, `allow_maintainer_edit`
67
67
  - `merge`: `index` (req), `merge_style` (merge/rebase/rebase-merge/squash/fast-forward-only), `message`, `delete_branch`, `title`
68
68
  - `add_reviewers` / `remove_reviewers`: `index` (req), `reviewers` (string[]), `team_reviewers` (string[])
69
69
 
70
- **`pull_request_review_write` method details:**
70
+ **`pull_request_review_write` methods:**
71
71
  - `create`: `body`, `commit_id`, `comments` (inline array with `path`, `body`, `old_line_num`, `new_line_num`), `state`
72
72
  - `submit`: `review_id` (req), `body`, `state` (APPROVED/REQUEST_CHANGES/COMMENT/PENDING)
73
73
  - `delete`: `review_id` (req)
@@ -79,9 +79,9 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
79
79
  |------|---------|------------|
80
80
  | `list_issues` | List issues with filtering | `owner`, `repo`, `state` (default "all"), `page`, `perPage` |
81
81
  | `issue_read` | Get issue details, comments, or labels | `method` (get/get_comments/get_labels), `owner`, `repo`, `index` |
82
- | `issue_write` | Create, update, comment, or manage labels | `method` (create/update/add_comment/edit_comment/add_labels/remove_label/replace_labels/clear_labels), `owner`, `repo`; `index` required except for create |
82
+ | `issue_write` | Create, update, comment, manage labels | `method` (create/update/add_comment/edit_comment/add_labels/remove_label/replace_labels/clear_labels), `owner`, `repo`; `index` required except for create |
83
83
 
84
- **`issue_write` method details:**
84
+ **`issue_write` methods:**
85
85
  - `create`: `title` (req), `body`, `assignees`, `labels` (number[]), `milestone`
86
86
  - `update`: `index` (req), `title`, `body`, `state`, `assignees`, `milestone`
87
87
  - `add_comment`: `index` (req), `body` (req)
@@ -95,14 +95,14 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
95
95
  | Tool | Purpose | Key Params |
96
96
  |------|---------|------------|
97
97
  | `label_read` | Get label details | `owner`, `repo`, `id` |
98
- | `label_write` | Create or update a label | `owner`, `repo`, `name`, `color` |
98
+ | `label_write` | Create or update label | `owner`, `repo`, `name`, `color` |
99
99
 
100
100
  ### Milestones
101
101
 
102
102
  | Tool | Purpose | Key Params |
103
103
  |------|---------|------------|
104
104
  | `milestone_read` | Get milestone details | `owner`, `repo`, `id` |
105
- | `milestone_write` | Create or update a milestone | `owner`, `repo`, `title`, `due_on`, `description` |
105
+ | `milestone_write` | Create or update milestone | `owner`, `repo`, `title`, `due_on`, `description` |
106
106
 
107
107
  ### Releases & Tags
108
108
 
@@ -110,26 +110,26 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
110
110
  |------|---------|------------|
111
111
  | `list_releases` | List all releases | `owner`, `repo`, `page`, `perPage` |
112
112
  | `get_release` | Get release by ID | `owner`, `repo`, `id` |
113
- | `get_latest_release` | Get the latest published release | `owner`, `repo` |
114
- | `create_release` | Create a new release | `owner`, `repo`, `tag_name`, `name`, `body`, `draft`, `prerelease` |
115
- | `delete_release` | Delete a release | `owner`, `repo`, `id` |
113
+ | `get_latest_release` | Get latest published release | `owner`, `repo` |
114
+ | `create_release` | Create release | `owner`, `repo`, `tag_name`, `name`, `body`, `draft`, `prerelease` |
115
+ | `delete_release` | Delete release | `owner`, `repo`, `id` |
116
116
  | `list_tags` | List all tags | `owner`, `repo`, `page`, `perPage` |
117
117
  | `get_tag` | Get tag by name | `owner`, `repo`, `tag` |
118
- | `create_tag` | Create a new tag | `owner`, `repo`, `tag_name`, `message`, `target` |
119
- | `delete_tag` | Delete a tag | `owner`, `repo`, `tag` |
118
+ | `create_tag` | Create tag | `owner`, `repo`, `tag_name`, `message`, `target` |
119
+ | `delete_tag` | Delete tag | `owner`, `repo`, `tag` |
120
120
 
121
121
  ### Commits
122
122
 
123
123
  | Tool | Purpose | Key Params |
124
124
  |------|---------|------------|
125
- | `list_commits` | List commits on a branch | `owner`, `repo`, `sha`, `path`, `page`, `perPage` |
125
+ | `list_commits` | List commits on branch | `owner`, `repo`, `sha`, `path`, `page`, `perPage` |
126
126
 
127
127
  ### Wiki
128
128
 
129
129
  | Tool | Purpose | Key Params |
130
130
  |------|---------|------------|
131
- | `wiki_read` | Read a wiki page | `owner`, `repo`, `pageName` |
132
- | `wiki_write` | Create or update a wiki page | `owner`, `repo`, `pageName`, `content`, `message` |
131
+ | `wiki_read` | Read wiki page | `owner`, `repo`, `pageName` |
132
+ | `wiki_write` | Create or update wiki page | `owner`, `repo`, `pageName`, `content`, `message` |
133
133
 
134
134
  ### CI/CD Actions
135
135
 
@@ -144,54 +144,41 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
144
144
 
145
145
  | Tool | Purpose | Key Params |
146
146
  |------|---------|------------|
147
- | `timetracking_read` | Read time entries on an issue | `owner`, `repo`, `index` |
148
- | `timetracking_write` | Log time on an issue | `owner`, `repo`, `index`, `time` (seconds) |
147
+ | `timetracking_read` | Read time entries on issue | `owner`, `repo`, `index` |
148
+ | `timetracking_write` | Log time on issue | `owner`, `repo`, `index`, `time` (seconds) |
149
149
 
150
150
  ## Common Workflows
151
151
 
152
152
  ### Create a Pull Request
153
153
 
154
154
  ```
155
- 1. Ensure your feature branch is pushed:
156
- git push origin feature/my-branch
157
-
158
- 2. pull_request_write(
159
- method: "create",
160
- owner: "FLCCC",
161
- repo: "my-repo",
162
- title: "feat: add new feature",
163
- body: "## Summary\n- What changed\n- Why it changed\n\n## Test plan\n- [ ] Tested locally",
164
- head: "feature/my-branch",
165
- base: "main"
166
- )
155
+ git push origin feature/my-branch
156
+
157
+ pull_request_write(
158
+ method: "create",
159
+ owner: "FLCCC", repo: "my-repo",
160
+ title: "feat: add new feature",
161
+ body: "## Summary\n- What changed\n\n## Test plan\n- [ ] Tested locally",
162
+ head: "feature/my-branch", base: "main"
163
+ )
167
164
  ```
168
165
 
169
166
  ### Review a Pull Request
170
167
 
171
168
  ```
172
- 1. pull_request_read(method: "get", owner: "FLCCC", repo: "my-repo", index: 42)
173
- Review title, description, and diff summary
174
-
175
- 2. pull_request_read(method: "get_reviews", owner: "FLCCC", repo: "my-repo", index: 42)
176
- Check existing reviews
177
-
178
- 3. pull_request_review_write(
179
- method: "create",
180
- owner: "FLCCC",
181
- repo: "my-repo",
182
- index: 42,
183
- state: "APPROVED",
184
- body: "LGTM — clean implementation, tests look solid"
185
- )
186
- → Then submit it:
187
- pull_request_review_write(
188
- method: "submit",
189
- owner: "FLCCC",
190
- repo: "my-repo",
191
- index: 42,
192
- review_id: <id from create response>,
193
- state: "APPROVED"
194
- )
169
+ pull_request_read(method: "get", owner: "FLCCC", repo: "my-repo", index: 42)
170
+ pull_request_read(method: "get_reviews", owner: "FLCCC", repo: "my-repo", index: 42)
171
+
172
+ pull_request_review_write(
173
+ method: "create",
174
+ owner: "FLCCC", repo: "my-repo", index: 42,
175
+ state: "APPROVED", body: "LGTM — clean implementation"
176
+ )
177
+ pull_request_review_write(
178
+ method: "submit",
179
+ owner: "FLCCC", repo: "my-repo", index: 42,
180
+ review_id: <id from create>, state: "APPROVED"
181
+ )
195
182
  ```
196
183
 
197
184
  ### Merge a Pull Request
@@ -199,160 +186,83 @@ The `gh` CLI is GitHub-only; it does not work with Gitea.
199
186
  ```
200
187
  pull_request_write(
201
188
  method: "merge",
202
- owner: "FLCCC",
203
- repo: "my-repo",
204
- index: 42,
205
- merge_style: "squash",
206
- delete_branch: true
189
+ owner: "FLCCC", repo: "my-repo", index: 42,
190
+ merge_style: "squash", delete_branch: true
207
191
  )
208
192
  ```
209
193
 
210
194
  ### Create a Release
211
195
 
212
196
  ```
213
- 1. get_latest_release(owner: "FLCCC", repo: "my-repo")
214
- → Note current version for bump reference
215
-
216
- 2. create_tag(
217
- owner: "FLCCC",
218
- repo: "my-repo",
219
- tag_name: "v2.1.0",
220
- message: "Release v2.1.0",
221
- target: "main"
222
- )
223
-
224
- 3. create_release(
225
- owner: "FLCCC",
226
- repo: "my-repo",
227
- tag_name: "v2.1.0",
228
- name: "v2.1.0 — Feature Name",
229
- body: "## Changes\n- ...\n\n## Breaking Changes\n- none",
230
- draft: false,
231
- prerelease: false
232
- )
197
+ get_latest_release(owner: "FLCCC", repo: "my-repo")
198
+
199
+ create_tag(owner: "FLCCC", repo: "my-repo", tag_name: "v2.1.0", message: "Release v2.1.0", target: "main")
200
+
201
+ create_release(
202
+ owner: "FLCCC", repo: "my-repo",
203
+ tag_name: "v2.1.0", name: "v2.1.0 — Feature Name",
204
+ body: "## Changes\n- ...\n\n## Breaking Changes\n- none",
205
+ draft: false, prerelease: false
206
+ )
233
207
  ```
234
208
 
235
209
  ### Manage Issues
236
210
 
237
211
  ```
238
- # Create an issue
239
- issue_write(
240
- method: "create",
241
- owner: "FLCCC",
242
- repo: "my-repo",
243
- title: "Bug: description of problem",
244
- body: "## Steps to reproduce\n1. ...\n\n## Expected\n...\n\n## Actual\n..."
245
- )
212
+ issue_write(method: "create", owner: "FLCCC", repo: "my-repo",
213
+ title: "Bug: description", body: "## Steps\n1. ...\n\n## Expected\n...\n\n## Actual\n...")
246
214
 
247
- # Update an existing issue
248
- issue_write(
249
- method: "update",
250
- owner: "FLCCC",
251
- repo: "my-repo",
252
- index: 15,
253
- body: "<updated body>"
254
- )
255
-
256
- # Add a comment
257
- issue_write(
258
- method: "add_comment",
259
- owner: "FLCCC",
260
- repo: "my-repo",
261
- index: 15,
262
- body: "Confirmed — reproduced on v2.9.1."
263
- )
215
+ issue_write(method: "add_comment", owner: "FLCCC", repo: "my-repo", index: 15,
216
+ body: "Confirmed — reproduced on v2.9.1.")
264
217
 
265
- # Filter open issues
266
- list_issues(
267
- owner: "FLCCC",
268
- repo: "my-repo",
269
- state: "open",
270
- perPage: 20
271
- )
218
+ list_issues(owner: "FLCCC", repo: "my-repo", state: "open", perPage: 20)
272
219
  ```
273
220
 
274
221
  ### Browse Repo Contents
275
222
 
276
223
  ```
277
- # List files in a directory
278
224
  get_dir_contents(owner: "FLCCC", repo: "my-repo", filepath: "src/", ref: "main")
279
-
280
- # Read a specific file
281
225
  get_file_contents(owner: "FLCCC", repo: "my-repo", filepath: "package.json", ref: "main")
282
226
  ```
283
227
 
284
228
  ## Decision Logic
285
229
 
286
230
  ```
287
- Is this a Gitea-hosted repo?
288
- (check: git remote -v shows gitea.* or internal hostname)
289
- Yes: Use mcp__gitea__* tools ← PRIMARY for daily work
290
-
291
- → No: Is it GitHub-hosted? (github.com in remote URL)
292
- Yes: Use mcp__github__* tools (see mcp-github skill)
293
- or gh CLI for GitHub-specific operations
294
-
295
- For local-only git operations (commit, diff, log, stash, rebase):
296
- Always use git CLI directly — no MCP needed for local ops
297
-
298
- Operation decision tree:
299
- Creating a PR pull_request_write(method: "create")
300
- Reading PR details/diff pull_request_read(method: "get" | "get_diff")
301
- Reviewing a PR pull_request_review_write(method: "create" then "submit")
302
- Merging a PR pull_request_write(method: "merge")
303
- Issue triage/tracking issue_write(method: "create" | "update") / list_issues
304
- Adding a commentissue_write(method: "add_comment")
305
- Cutting a release create_tag → create_release
306
- Browsing file contents → get_file_contents / get_dir_contents
307
- Editing a file via MCP → create_or_update_file (need sha for updates)
308
- Branch management → create_branch / delete_branch
309
- CI/CD pipeline status → actions_run_read
310
- Team documentation → wiki_write / wiki_read
311
- Time logging → timetracking_write
231
+ Gitea-hosted repo? (git remote -v shows gitea.* or internal hostname)
232
+ → Yes: mcp__gitea__* ← PRIMARY for daily work
233
+ No, github.com: mcp__github__* or gh CLI
234
+ → Local git ops (commit, diff, log, stash, rebase): git CLI directly
235
+
236
+ Operation Tool
237
+ Creating PR → pull_request_write(method: "create")
238
+ Reading PR/diff → pull_request_read(method: "get" | "get_diff")
239
+ Reviewing PR → pull_request_review_write(method: "create" then "submit")
240
+ Merging PR pull_request_write(method: "merge")
241
+ Issue triage → issue_write / list_issues
242
+ Adding comment → issue_write(method: "add_comment")
243
+ Cutting release → create_tag create_release
244
+ Browsing files get_file_contents / get_dir_contents
245
+ Editing file via MCP create_or_update_file (need sha for updates)
246
+ Branch management create_branch / delete_branch
247
+ CI/CD status actions_run_read
248
+ Team docswiki_write / wiki_read
249
+ Time logging timetracking_write
312
250
  ```
313
251
 
314
252
  ## Token-Saving Strategies
315
253
 
316
- ### 1. Paginate Large Lists
317
-
318
- ```
319
- list_issues(owner: "FLCCC", repo: "my-repo", perPage: 15, page: 1)
320
- # Default can return 30+ items. Set perPage to what you actually need.
321
- ```
322
-
323
- ### 2. Filter by State
324
-
325
- ```
326
- list_pull_requests(owner: "FLCCC", repo: "my-repo", state: "open") # "open" | "closed" | "all"
327
- list_issues(owner: "FLCCC", repo: "my-repo", state: "open") # Skip closed unless historical review
328
- ```
329
-
330
- ### 3. Target Specific Refs
331
-
332
- ```
333
- get_file_contents(ref: "main") # Avoid default branch ambiguity
334
- list_commits(sha: "feature-branch", perPage: 10, page: 1) # Last 10 commits only
335
- ```
336
-
337
- ### 4. Avoid Redundant Discovery
338
-
339
- Cache within a session (these don't change):
340
- - Owner/org names from `get_me` or `get_user_orgs`
341
- - Repo names once confirmed via `search_repos`
342
- - Label IDs once fetched via `label_read`
343
- - Milestone IDs once fetched via `milestone_read`
344
-
345
- ### 5. Read Before Write (Files)
346
-
347
- `create_or_update_file` requires the current file `sha` for updates. Always call
348
- `get_file_contents` first to extract the `sha` — skipping this causes a 409 conflict error.
254
+ - **Paginate:** set `perPage` to what you need — defaults can return 30+ items
255
+ - **Filter state:** `state: "open"` on PRs/issues; skip closed unless historical review
256
+ - **Target refs:** always pass `ref: "main"` to avoid ambiguity; use `perPage: 10` on commits
257
+ - **Cache in session:** owner/org names, repo names, label IDs, milestone IDs — these don't change
258
+ - **Read before file write:** `create_or_update_file` requires current `sha` call `get_file_contents` first or get a 409 conflict
349
259
 
350
260
  ## When NOT to Use Gitea MCP
351
261
 
352
262
  | Situation | Use Instead |
353
263
  |-----------|-------------|
354
- | GitHub-hosted repo (github.com) | `mcp__github__*` tools or `gh` CLI |
355
- | Local git operations (commit, diff, stash, rebase, cherry-pick) | `git` CLI directly |
356
- | Pushing/pulling code | `git push` / `git pull` (git CLI) |
264
+ | GitHub-hosted repo (github.com) | `mcp__github__*` or `gh` CLI |
265
+ | Local git operations (commit, diff, stash, rebase, cherry-pick) | `git` CLI |
266
+ | Pushing/pulling code | `git push` / `git pull` |
357
267
  | GitHub Actions (github.com CI) | `gh` CLI |
358
- | Cloning a repo | `git clone` (git CLI) |
268
+ | Cloning a repo | `git clone` |