@mohammadhprp/system-prompt 0.12.1 → 0.12.3

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 (173) hide show
  1. package/framework/agents/README.md +0 -1
  2. package/framework/commands/README.md +1 -1
  3. package/framework/commands/mr.md +8 -9
  4. package/framework/commands/review.md +1 -1
  5. package/framework/mcps/README.md +0 -4
  6. package/framework/plugins/ponytail/README.md +0 -1
  7. package/framework/plugins/ponytail/capabilities.md +1 -1
  8. package/framework/references/standards/api.md +0 -1
  9. package/framework/references/standards/architecture.md +0 -1
  10. package/framework/references/standards/database.md +0 -1
  11. package/framework/references/standards/debugging.md +0 -1
  12. package/framework/references/standards/documentation.md +0 -1
  13. package/framework/references/standards/logging.md +0 -1
  14. package/framework/references/standards/naming.md +0 -1
  15. package/framework/references/standards/observability.md +0 -1
  16. package/framework/references/standards/performance.md +0 -1
  17. package/framework/references/standards/pull-requests.md +0 -1
  18. package/framework/references/standards/security.md +0 -1
  19. package/framework/references/standards/testing.md +0 -1
  20. package/framework/skills/README.md +4 -14
  21. package/framework/skills/glab/SKILL.md +222 -0
  22. package/framework/skills/glab/references/commands-detailed.md +616 -0
  23. package/framework/skills/glab/references/quick-reference.md +145 -0
  24. package/framework/skills/glab/references/troubleshooting.md +669 -0
  25. package/framework/skills/improve/SKILL.md +135 -0
  26. package/framework/skills/improve/examples.md +19 -0
  27. package/framework/skills/improve/references/audit-playbook.md +130 -0
  28. package/framework/skills/improve/references/closing-the-loop.md +96 -0
  29. package/framework/skills/improve/references/plan-template.md +197 -0
  30. package/framework/skills/jira-cli/SKILL.md +260 -0
  31. package/framework/skills/jira-cli/references/commands-detailed.md +268 -0
  32. package/framework/skills/jira-cli/references/quick-reference.md +111 -0
  33. package/framework/skills/jira-cli/references/troubleshooting.md +114 -0
  34. package/framework/skills/laravel-best-practices/SKILL.md +56 -216
  35. package/framework/skills/laravel-best-practices/references/architecture.md +1 -1
  36. package/framework/skills/laravel-best-practices/references/checklist.md +139 -0
  37. package/framework/skills/laravel-best-practices/references/eloquent.md +4 -2
  38. package/framework/skills/laravel-best-practices/references/infer-conventions.md +97 -0
  39. package/framework/skills/laravel-best-practices/references/pest-testing.md +47 -18
  40. package/framework/skills/laravel-best-practices/references/security.md +1 -1
  41. package/framework/skills/laravel-best-practices/references/style.md +1 -1
  42. package/framework/skills/laravel-best-practices/references/tailwindcss.md +0 -1
  43. package/framework/styles/README.md +9 -4
  44. package/framework/styles/factory/DESIGN.md +360 -0
  45. package/framework/styles/factory/README.md +32 -0
  46. package/framework/styles/factory/assets/preview.jpg +0 -0
  47. package/framework/styles/huly/DESIGN.md +449 -0
  48. package/framework/styles/huly/README.md +32 -0
  49. package/framework/styles/huly/assets/preview.jpg +0 -0
  50. package/framework/styles/notion/DESIGN.md +423 -0
  51. package/framework/styles/notion/README.md +32 -0
  52. package/framework/styles/notion/assets/preview.jpg +0 -0
  53. package/package.json +1 -1
  54. package/src/catalog.js +7 -19
  55. package/framework/agents/backend-architect.md +0 -146
  56. package/framework/mcps/github-mcp/README.md +0 -51
  57. package/framework/mcps/github-mcp/capabilities.md +0 -83
  58. package/framework/mcps/github-mcp/configs/.env.example +0 -1
  59. package/framework/mcps/github-mcp/configs/opencode.json +0 -13
  60. package/framework/mcps/github-mcp/install.md +0 -60
  61. package/framework/mcps/github-mcp/troubleshooting.md +0 -79
  62. package/framework/mcps/gitlab-mcp/README.md +0 -53
  63. package/framework/mcps/gitlab-mcp/capabilities.md +0 -216
  64. package/framework/mcps/gitlab-mcp/configs/.env.example +0 -2
  65. package/framework/mcps/gitlab-mcp/configs/opencode.json +0 -13
  66. package/framework/mcps/gitlab-mcp/install.md +0 -99
  67. package/framework/mcps/gitlab-mcp/troubleshooting.md +0 -116
  68. package/framework/mcps/jira-mcp/README.md +0 -52
  69. package/framework/mcps/jira-mcp/capabilities.md +0 -79
  70. package/framework/mcps/jira-mcp/configs/.env.example +0 -2
  71. package/framework/mcps/jira-mcp/configs/opencode.json +0 -13
  72. package/framework/mcps/jira-mcp/install.md +0 -94
  73. package/framework/mcps/jira-mcp/troubleshooting.md +0 -113
  74. package/framework/mcps/notion-mcp/README.md +0 -57
  75. package/framework/mcps/notion-mcp/capabilities.md +0 -118
  76. package/framework/mcps/notion-mcp/configs/opencode.json +0 -9
  77. package/framework/mcps/notion-mcp/install.md +0 -70
  78. package/framework/mcps/notion-mcp/troubleshooting.md +0 -95
  79. package/framework/skills/brainstorming/SKILL.md +0 -159
  80. package/framework/skills/brainstorming/examples.md +0 -49
  81. package/framework/skills/brainstorming/scripts/frame-template.html +0 -213
  82. package/framework/skills/brainstorming/scripts/helper.js +0 -167
  83. package/framework/skills/brainstorming/scripts/server.cjs +0 -723
  84. package/framework/skills/brainstorming/scripts/start-server.sh +0 -209
  85. package/framework/skills/brainstorming/scripts/stop-server.sh +0 -120
  86. package/framework/skills/brainstorming/visual-companion.md +0 -291
  87. package/framework/skills/code-review/SKILL.md +0 -72
  88. package/framework/skills/code-review/examples.md +0 -31
  89. package/framework/skills/codenavi/SKILL.md +0 -306
  90. package/framework/skills/codenavi/examples.md +0 -33
  91. package/framework/skills/codenavi/references/coding-principles.md +0 -143
  92. package/framework/skills/codenavi/references/notebook-spec.md +0 -171
  93. package/framework/skills/create-adr/SKILL.md +0 -429
  94. package/framework/skills/create-adr/examples.md +0 -35
  95. package/framework/skills/design/SKILL.md +0 -399
  96. package/framework/skills/design/examples.md +0 -34
  97. package/framework/skills/gitlab-mcp/SKILL.md +0 -83
  98. package/framework/skills/gitlab-mcp/examples.md +0 -31
  99. package/framework/skills/gitlab-mcp/references/code-review.md +0 -110
  100. package/framework/skills/gitlab-mcp/references/issues.md +0 -141
  101. package/framework/skills/gitlab-mcp/references/merge-requests.md +0 -120
  102. package/framework/skills/gitlab-mcp/references/pipelines.md +0 -67
  103. package/framework/skills/gitlab-mcp/references/search.md +0 -17
  104. package/framework/skills/gitlab-mcp/references/webhooks.md +0 -32
  105. package/framework/skills/gitlab-mcp/references/work-items.md +0 -50
  106. package/framework/skills/great-interface/SKILL.md +0 -43
  107. package/framework/skills/great-interface/references/animations.md +0 -205
  108. package/framework/skills/great-interface/references/better-accessibility.md +0 -106
  109. package/framework/skills/great-interface/references/better-colors.md +0 -100
  110. package/framework/skills/great-interface/references/better-interface.md +0 -132
  111. package/framework/skills/great-interface/references/better-layout.md +0 -76
  112. package/framework/skills/great-interface/references/better-typography.md +0 -157
  113. package/framework/skills/great-interface/references/better-ui.md +0 -107
  114. package/framework/skills/great-interface/references/better-writing.md +0 -109
  115. package/framework/skills/great-interface/references/choosing-fonts.md +0 -64
  116. package/framework/skills/great-interface/references/color-formats.md +0 -90
  117. package/framework/skills/great-interface/references/color-usage.md +0 -118
  118. package/framework/skills/great-interface/references/contrast.md +0 -79
  119. package/framework/skills/great-interface/references/css-cheat-sheet.md +0 -65
  120. package/framework/skills/great-interface/references/details-and-accessibility.md +0 -119
  121. package/framework/skills/great-interface/references/enter-exit.md +0 -147
  122. package/framework/skills/great-interface/references/explain-interface.md +0 -126
  123. package/framework/skills/great-interface/references/find-the-effect.md +0 -94
  124. package/framework/skills/great-interface/references/focus-and-keyboard.md +0 -131
  125. package/framework/skills/great-interface/references/forms.md +0 -84
  126. package/framework/skills/great-interface/references/from-an-image.md +0 -55
  127. package/framework/skills/great-interface/references/grouping-and-alignment.md +0 -123
  128. package/framework/skills/great-interface/references/hit-areas.md +0 -94
  129. package/framework/skills/great-interface/references/icon-transitions.md +0 -102
  130. package/framework/skills/great-interface/references/icons.md +0 -110
  131. package/framework/skills/great-interface/references/interface-review.md +0 -148
  132. package/framework/skills/great-interface/references/motion-and-zoom.md +0 -79
  133. package/framework/skills/great-interface/references/no-browser.md +0 -73
  134. package/framework/skills/great-interface/references/palette-generation.md +0 -104
  135. package/framework/skills/great-interface/references/palette-structure.md +0 -76
  136. package/framework/skills/great-interface/references/performance.md +0 -88
  137. package/framework/skills/great-interface/references/picker.md +0 -76
  138. package/framework/skills/great-interface/references/read-the-system.md +0 -178
  139. package/framework/skills/great-interface/references/removed-signals.md +0 -38
  140. package/framework/skills/great-interface/references/review-format.md +0 -46
  141. package/framework/skills/great-interface/references/scope-resolution.md +0 -88
  142. package/framework/skills/great-interface/references/screen-readers.md +0 -101
  143. package/framework/skills/great-interface/references/semantics-and-aria.md +0 -84
  144. package/framework/skills/great-interface/references/spacing-and-adaptivity.md +0 -159
  145. package/framework/skills/great-interface/references/spacing-and-sizing.md +0 -121
  146. package/framework/skills/great-interface/references/surfaces.md +0 -219
  147. package/framework/skills/great-interface/references/token-naming.md +0 -97
  148. package/framework/skills/great-interface/references/variable-fonts-and-opentype.md +0 -105
  149. package/framework/skills/great-interface/references/variant.md +0 -104
  150. package/framework/skills/great-interface/references/wrapping-and-punctuation.md +0 -55
  151. package/framework/skills/jira-mcp/SKILL.md +0 -57
  152. package/framework/skills/jira-mcp/examples.md +0 -31
  153. package/framework/skills/jira-mcp/references/comments.md +0 -27
  154. package/framework/skills/jira-mcp/references/issues.md +0 -97
  155. package/framework/skills/jira-mcp/references/projects.md +0 -39
  156. package/framework/skills/learning-opportunities/SKILL.md +0 -140
  157. package/framework/skills/learning-opportunities/examples.md +0 -34
  158. package/framework/skills/learning-opportunities/references/PRINCIPLES.md +0 -42
  159. package/framework/skills/notion-mcp/SKILL.md +0 -57
  160. package/framework/skills/notion-mcp/examples.md +0 -31
  161. package/framework/skills/notion-mcp/references/comments.md +0 -112
  162. package/framework/skills/notion-mcp/references/databases.md +0 -193
  163. package/framework/skills/notion-mcp/references/pages.md +0 -235
  164. package/framework/skills/spec-driven-eval/SKILL.md +0 -341
  165. package/framework/skills/spec-driven-eval/examples.md +0 -35
  166. package/framework/skills/spec-driven-eval/references/quickstart.md +0 -118
  167. package/framework/skills/spec-driven-eval/references/reference.md +0 -295
  168. package/framework/skills/technical-design-doc-creator/README.md +0 -411
  169. package/framework/skills/technical-design-doc-creator/SKILL.md +0 -1484
  170. package/framework/skills/technical-design-doc-creator/examples.md +0 -35
  171. package/framework/skills/web-design-guidelines/SKILL.md +0 -65
  172. package/framework/skills/web-design-guidelines/examples.md +0 -32
  173. package/framework/skills/web-design-guidelines/references/guideline.md +0 -174
@@ -1,141 +0,0 @@
1
- # Issue Management
2
-
3
- ## Create
4
-
5
- ```
6
- create_issue
7
- project_id: "my-group/my-project"
8
- title: "Login page returns 500"
9
- description: "Steps to reproduce..."
10
- labels: "bug,critical"
11
- assignee_ids: [123]
12
- milestone_id: 5
13
- ```
14
-
15
- ## Read
16
-
17
- ```
18
- get_issue -> single issue details
19
- list_issues -> project issues (default: created by current user)
20
- scope: "all" -> list ALL issues (not just current user's)
21
- state: "opened" -> filter by state
22
- labels: "bug" -> filter by labels
23
- my_issues -> issues assigned to current user across all projects
24
- ```
25
-
26
- **Important**: `list_issues` defaults to showing only issues created by the current user.
27
- Pass `scope: "all"` to see all project issues.
28
-
29
- ## Update
30
-
31
- ```
32
- update_issue
33
- project_id: "my-group/my-project"
34
- issue_iid: 10
35
- state_event: "close" # or "reopen"
36
- labels: "bug,resolved"
37
- assignee_ids: [456]
38
- ```
39
-
40
- ### Patch-based description update (token-efficient)
41
-
42
- ```
43
- update_issue_description_patch
44
- project_id: "my-group/my-project"
45
- issue_iid: 10
46
- patch_type: "search_replace" # or "unified_diff"
47
- patch: |
48
- <<<<<<< SEARCH
49
- Status: In progress
50
- =======
51
- Status: Ready for review
52
- >>>>>>> REPLACE
53
- dry_run: false
54
- create_note: true
55
- ```
56
-
57
- Applies a small patch to the issue description without sending the full text.
58
- Reduces token usage for AI agents editing long descriptions.
59
-
60
- **Search/Replace format**:
61
- ```
62
- <<<<<<< SEARCH
63
- text to find
64
- =======
65
- replacement text
66
- >>>>>>> REPLACE
67
- ```
68
-
69
- **Options**:
70
- - `dry_run: true` — preview changes without updating
71
- - `create_note: true` — add a comment summarizing the change after update
72
- - `allow_multiple: true` — allow multiple matches to all be replaced (search_replace only)
73
-
74
- **Error handling**:
75
- - Search text not found → fails with clear message
76
- - Multiple matches (without `allow_multiple`) → fails with count
77
- - Patch results in identical description → fails (no-op)
78
- - Unified diff doesn't match → fails
79
-
80
- ## Delete
81
-
82
- ```
83
- delete_issue -> permanently delete (destructive, cannot be undone)
84
- ```
85
-
86
- ## Issue Links
87
-
88
- Link related issues:
89
-
90
- ```
91
- create_issue_link
92
- project_id: "my-group/my-project"
93
- issue_iid: 10
94
- target_project_id: "my-group/other-project"
95
- target_issue_iid: 20
96
- link_type: "relates_to" # or "blocks", "is_blocked_by"
97
- ```
98
-
99
- ```
100
- list_issue_links -> list all linked issues
101
- get_issue_link -> get specific link details
102
- delete_issue_link -> remove a link
103
- ```
104
-
105
- ## Discussions & Notes
106
-
107
- Add comments:
108
-
109
- ```
110
- create_issue_note
111
- project_id: "my-group/my-project"
112
- issue_iid: 10
113
- body: "Confirmed, this is a regression"
114
- discussion_id: "abc123" # optional: reply to existing thread
115
- ```
116
-
117
- ```
118
- update_issue_note -> edit a comment
119
- list_issue_discussions -> list all discussion threads
120
- ```
121
-
122
- ### Emoji reactions
123
-
124
- ```
125
- list_issue_emoji_reactions -> list reactions on an issue
126
- create_issue_emoji_reaction -> add reaction to an issue
127
- delete_issue_emoji_reaction -> remove reaction from an issue
128
- list_issue_note_emoji_reactions -> list reactions on an issue note or thread reply
129
- create_issue_note_emoji_reaction -> add reaction to an issue note or thread reply
130
- delete_issue_note_emoji_reaction -> remove reaction from an issue note or thread reply
131
- ```
132
-
133
- Generic note creation (works for both issues and MRs):
134
-
135
- ```
136
- create_note
137
- project_id: "my-group/my-project"
138
- noteable_type: "Issue" # or "MergeRequest"
139
- noteable_iid: 10
140
- body: "Note content"
141
- ```
@@ -1,120 +0,0 @@
1
- # Merge Request Workflow
2
-
3
- ## Create
4
-
5
- ```
6
- create_merge_request
7
- project_id: "my-group/my-project"
8
- title: "Add user authentication"
9
- source_branch: "feature/auth"
10
- target_branch: "main"
11
- description: "Implements OAuth2 login flow"
12
- assignee_id: 123
13
- labels: "feature,auth"
14
- ```
15
-
16
- ## Read & Track
17
-
18
- ```
19
- get_merge_request -> full MR details (by IID or branch name)
20
- list_merge_requests -> list with filters (state, labels, author, etc.)
21
- - without project_id: current user's MRs across all projects
22
- - with project_id: MRs in that project
23
- get_merge_request_conflicts -> check for merge conflicts
24
- list_merge_request_pipelines -> list pipelines attached to an MR
25
- ```
26
-
27
- ## Update
28
-
29
- ```
30
- update_merge_request
31
- project_id: "my-group/my-project"
32
- mergeRequestIid: 42
33
- title: "Updated title"
34
- state_event: "close" # or "reopen"
35
- assignee_ids: [123, 456]
36
- labels: "feature,reviewed"
37
- ```
38
-
39
- ## Review & Approve
40
-
41
- See [code-review.md](code-review.md) for the full diff review workflow.
42
-
43
- ```
44
- approve_merge_request -> approve
45
- unapprove_merge_request -> retract approval
46
- get_merge_request_approval_state -> check who approved, rules status
47
- ```
48
-
49
- ## Merge
50
-
51
- ```
52
- merge_merge_request
53
- project_id: "my-group/my-project"
54
- mergeRequestIid: 42
55
- should_remove_source_branch: true
56
- squash: true
57
- merge_when_pipeline_succeeds: true
58
- ```
59
-
60
- **Warning**: `merge_merge_request` is destructive - cannot be undone.
61
-
62
- ## Discussion Management
63
-
64
- ### Threads (inline code comments)
65
-
66
- ```
67
- create_merge_request_thread -> new thread on a diff line
68
- resolve_merge_request_thread -> mark thread resolved
69
- ```
70
-
71
- ### Notes (general comments)
72
-
73
- ```
74
- create_merge_request_note -> add comment
75
- get_merge_request_notes -> list all comments
76
- update_merge_request_note -> edit comment
77
- delete_merge_request_note -> remove comment
78
- ```
79
-
80
- ### Discussion notes (replies in threads)
81
-
82
- ```
83
- mr_discussions -> list all discussions
84
- create_merge_request_discussion_note -> reply to thread
85
- update_merge_request_discussion_note -> edit reply
86
- delete_merge_request_discussion_note -> remove reply
87
- ```
88
-
89
- ### Draft notes (pending review)
90
-
91
- ```
92
- create_draft_note -> create pending comment
93
- list_draft_notes -> see all drafts
94
- update_draft_note -> edit before publishing
95
- delete_draft_note -> discard
96
- publish_draft_note -> publish single draft
97
- bulk_publish_draft_notes -> publish all drafts at once
98
- ```
99
-
100
- ### Emoji reactions
101
-
102
- ```
103
- list_merge_request_emoji_reactions -> list reactions on an MR
104
- create_merge_request_emoji_reaction -> add reaction to an MR
105
- delete_merge_request_emoji_reaction -> remove reaction from an MR
106
- list_merge_request_note_emoji_reactions -> list reactions on an MR note or thread reply
107
- create_merge_request_note_emoji_reaction -> add reaction to an MR note or thread reply
108
- delete_merge_request_note_emoji_reaction -> remove reaction from an MR note or thread reply
109
- ```
110
-
111
- ## Branch Comparison
112
-
113
- Compare without an existing MR:
114
-
115
- ```
116
- get_branch_diffs
117
- project_id: "my-group/my-project"
118
- from: "main"
119
- to: "feature/auth"
120
- ```
@@ -1,67 +0,0 @@
1
- # Pipeline Operations
2
-
3
- > **Opt-in toolset**: Enable with `USE_PIPELINE=true` or `GITLAB_TOOLSETS=pipelines`
4
-
5
- ## List & Inspect
6
-
7
- ```
8
- list_pipelines -> list pipelines with filters (status, ref, source)
9
- get_pipeline -> pipeline details (status, duration, coverage)
10
- list_pipeline_jobs -> all jobs in a pipeline
11
- list_pipeline_trigger_jobs -> trigger/bridge jobs (downstream pipelines)
12
- get_pipeline_job -> single job details
13
- get_pipeline_job_output -> job log output (supports pagination for large logs)
14
- ```
15
-
16
- ## Create & Control
17
-
18
- ```
19
- create_pipeline -> trigger new pipeline for a branch/tag
20
- project_id: "my-group/my-project"
21
- ref: "main"
22
- variables: [{ key: "DEPLOY_ENV", value: "staging" }]
23
- ```
24
-
25
- ```
26
- retry_pipeline -> retry all failed jobs in a pipeline
27
- cancel_pipeline -> cancel running pipeline
28
- play_pipeline_job -> run a manual job
29
- retry_pipeline_job -> retry a single failed job
30
- cancel_pipeline_job -> cancel a single running job
31
- ```
32
-
33
- ## Artifacts
34
-
35
- ```
36
- list_job_artifacts -> list files in a job's artifact archive
37
- get_job_artifact_file -> get content of a single artifact file
38
- download_job_artifacts -> download full artifact archive (zip) to local_path
39
- ```
40
-
41
- ## Deployments & Environments
42
-
43
- ```
44
- list_deployments -> list deployments with filters
45
- get_deployment -> deployment details
46
- list_environments -> list project environments
47
- get_environment -> environment details
48
- ```
49
-
50
- ## Common Patterns
51
-
52
- ### Check why a pipeline failed
53
-
54
- 1. `list_pipelines` with `status: "failed"` -> get pipeline ID
55
- 2. `list_pipeline_jobs` -> find failed job(s)
56
- 3. `get_pipeline_job_output` -> read error logs
57
-
58
- ### Retry failed pipeline
59
-
60
- 1. `retry_pipeline` -> retries all failed jobs
61
- OR
62
- 2. `retry_pipeline_job` -> retry specific job only
63
-
64
- ### Download test results
65
-
66
- 1. `list_job_artifacts` -> find the test report file path
67
- 2. `get_job_artifact_file` -> read the report content
@@ -1,17 +0,0 @@
1
- # Code Search
2
-
3
- > **Opt-in toolset**: Enable with `GITLAB_TOOLSETS=search`
4
-
5
- Search requires GitLab advanced search or exact code search/Zoekt support on the target instance.
6
-
7
- ## Scope
8
-
9
- ```
10
- search_code -> search code across all accessible projects
11
- search_project_code -> search within one project
12
- search_group_code -> search within one group
13
- ```
14
-
15
- ## Pattern
16
-
17
- Use the narrowest scope that can answer the question. Prefer `search_project_code` when the project is known, then broaden to group or instance-wide search only when needed.
@@ -1,32 +0,0 @@
1
- # Webhook Operations
2
-
3
- > **Opt-in toolset**: Enable with `GITLAB_TOOLSETS=webhooks`
4
-
5
- ## List Webhooks
6
-
7
- Provide either `project_id` or `group_id`.
8
-
9
- ```
10
- list_webhooks
11
- project_id: "my-group/my-project"
12
- ```
13
-
14
- ## Inspect Recent Events
15
-
16
- GitLab exposes recent webhook events for the past 7 days.
17
-
18
- ```
19
- list_webhook_events
20
- project_id: "my-group/my-project"
21
- webhook_id: 123
22
- summary: true
23
- ```
24
-
25
- Fetch full event details only after narrowing to the event ID.
26
-
27
- ```
28
- get_webhook_event
29
- project_id: "my-group/my-project"
30
- webhook_id: 123
31
- event_id: 456
32
- ```
@@ -1,50 +0,0 @@
1
- # Work Item Operations
2
-
3
- > **Opt-in toolset**: Enable with `GITLAB_TOOLSETS=workitems`
4
-
5
- Work items are GraphQL-based and cover issues, tasks, incidents, epics, objectives, requirements, tickets, and related hierarchy/status fields. Some status and custom field features require GitLab Premium/Ultimate.
6
-
7
- ## Read
8
-
9
- ```
10
- list_work_items -> list work items with filters
11
- get_work_item -> full details with status, hierarchy, type, labels, assignees, widgets
12
- list_work_item_notes -> notes and discussions on a work item
13
- list_work_item_statuses -> available statuses for a work item type
14
- list_custom_field_definitions -> custom field definitions for a work item type
15
- ```
16
-
17
- ## Create & Update
18
-
19
- ```
20
- create_work_item
21
- project_id: "my-group/my-project"
22
- title: "Investigate checkout failure"
23
- work_item_type: "issue"
24
- description: "Steps to reproduce..."
25
- ```
26
-
27
- ```
28
- update_work_item -> title, description, labels, assignees, state, parent, children, health, dates, custom fields
29
- convert_work_item_type -> convert issue/task/incident/etc.
30
- move_work_item -> move a work item to another project
31
- create_work_item_note -> add a note, threaded reply, or internal note
32
- ```
33
-
34
- ## Emoji Reactions
35
-
36
- ```
37
- list_work_item_emoji_reactions -> list reactions on a work item
38
- create_work_item_emoji_reaction -> add reaction to a work item
39
- delete_work_item_emoji_reaction -> remove reaction from a work item
40
- list_work_item_note_emoji_reactions -> list reactions on a work item note or thread reply
41
- create_work_item_note_emoji_reaction -> add reaction to a work item note or thread reply
42
- delete_work_item_note_emoji_reaction -> remove reaction from a work item note or thread reply
43
- ```
44
-
45
- ## Incident Timeline
46
-
47
- ```
48
- get_timeline_events -> list timeline events for an incident
49
- create_timeline_event -> create an incident timeline event
50
- ```
@@ -1,43 +0,0 @@
1
- ---
2
- name: great-interface
3
- description: >-
4
- Build, explain, review, and refine product interfaces across accessibility, layout,
5
- writing, typography, color, UI polish, holistic review, change review, and design variants.
6
- Use when creating frontend interfaces, reviewing interface quality, explaining how an
7
- interface works, or comparing UI directions.
8
- ---
9
-
10
- # Great Interface
11
-
12
- Use the domain references below as the sources of truth. Load the smallest set that covers
13
- the request, except for a holistic review, which loads every applicable review domain.
14
-
15
- ## Build and refine
16
-
17
- - Accessibility: [better-accessibility.md](references/better-accessibility.md)
18
- - Layout: [better-layout.md](references/better-layout.md)
19
- - Writing: [better-writing.md](references/better-writing.md)
20
- - Typography: [better-typography.md](references/better-typography.md)
21
- - Colors: [better-colors.md](references/better-colors.md)
22
- - UI polish and motion: [better-ui.md](references/better-ui.md)
23
-
24
- ## Review
25
-
26
- - Holistic screen or flow review: [better-interface.md](references/better-interface.md)
27
- - Change, branch, or pull request review: [interface-review.md](references/interface-review.md)
28
-
29
- ## Explore alternatives
30
-
31
- - Explain how an interface or effect was built: [explain-interface.md](references/explain-interface.md)
32
- - Build and compare multiple UI directions: [variant.md](references/variant.md)
33
-
34
- ## Ownership
35
-
36
- Do not duplicate rules across domains. Accessibility owns keyboard support, focus, ARIA,
37
- semantic structure, hit areas, announcements, and reduced motion. Layout owns grouping,
38
- spacing, responsive structure, and spatial RTL. Writing owns interface copy. Typography owns
39
- how text renders and wraps. Colors owns palette systems and color measurement. UI owns
40
- surfaces, icons, and visual motion. The review references own orchestration and reporting.
41
-
42
- When domains overlap, report or apply the rule in the owning domain and mention secondary
43
- effects only where useful.
@@ -1,205 +0,0 @@
1
- # Animations
2
-
3
- Interruptible transitions, press feedback and the restraint that decides whether to animate at all. Staged entrances and exits live in [enter-exit.md](enter-exit.md); icon swaps in [icon-transitions.md](icon-transitions.md).
4
-
5
- ## Interruptible animations
6
-
7
- Users change intent mid-interaction. Animations that cannot be interrupted make the interface feel broken.
8
-
9
- ### CSS transitions vs. keyframes
10
-
11
- | | CSS Transitions | CSS Keyframe Animations |
12
- | --- | --- | --- |
13
- | **Behavior** | Interpolate toward latest state | Run on a fixed timeline |
14
- | **Interruptible** | Yes, retargets mid-animation | No, restarts from beginning |
15
- | **Use for** | Interactive state changes (hover, toggle, open/close) | Staged sequences that run once (enter animations, loading) |
16
- | **Duration** | Fixed; retargets the value mid-flight, not the timeline | Fixed timeline, restarts from the beginning |
17
-
18
- ```css
19
- /* Good: interruptible transition for a toggle */
20
- .drawer {
21
- transform: translateX(-100%);
22
- transition: transform 200ms ease-out;
23
- }
24
- .drawer.open {
25
- transform: translateX(0);
26
- }
27
-
28
- /* Clicking again mid-animation smoothly reverses, no jank */
29
- ```
30
-
31
- ```css
32
- /* Bad: keyframe animation for interactive element */
33
- .drawer.open {
34
- animation: slideIn 200ms ease-out forwards;
35
- }
36
-
37
- /* Closing mid-animation snaps or restarts, feels broken */
38
- ```
39
-
40
- Prefer CSS transitions for interactive elements. Reserve keyframes for one-shot sequences.
41
-
42
- ## Scale on press
43
-
44
- A subtle scale-down on click gives buttons tactile feedback. Always `scale(0.96)`, never below `0.95`, which feels exaggerated. Use CSS transitions so a release mid-press returns smoothly.
45
-
46
- Not every button needs it. Add a `static` prop that disables the scale where the motion would distract.
47
-
48
- ### CSS example
49
-
50
- ```css
51
- .button {
52
- transition-property: scale;
53
- transition-duration: 150ms;
54
- transition-timing-function: ease-out;
55
- }
56
-
57
- .button:active {
58
- scale: 0.96;
59
- }
60
- ```
61
-
62
- ### Tailwind example
63
-
64
- ```tsx
65
- <button className="transition-transform duration-150 ease-out active:scale-[0.96]">
66
- Click me
67
- </button>
68
- ```
69
-
70
- ### Motion example
71
-
72
- ```tsx
73
- <motion.button whileTap={{ scale: 0.96 }}>
74
- Click me
75
- </motion.button>
76
- ```
77
-
78
- ### Static prop pattern
79
-
80
- Extract the scale class into a variable and apply it conditionally on a `static` prop:
81
-
82
- ```tsx
83
- const tapScale = "active:not-disabled:scale-[0.96]";
84
-
85
- function Button({ static: isStatic, className, children, ...props }) {
86
- return (
87
- <button
88
- className={cn(
89
- "transition-transform duration-150 ease-out",
90
- !isStatic && tapScale,
91
- className,
92
- )}
93
- {...props}
94
- >
95
- {children}
96
- </button>
97
- );
98
- }
99
-
100
- // Usage
101
- <Button>Click me</Button> {/* scales on press */}
102
- <Button static>Submit</Button> {/* no scale */}
103
- ```
104
-
105
- ## Skip animation on page load
106
-
107
- Use `initial={false}` on `AnimatePresence` to stop enter animations firing on first render. An element already in its default state animates on later state changes, not on page load.
108
-
109
- ### When it works
110
-
111
- ```tsx
112
- // Good: icon doesn't animate in on mount, only on state change
113
- <AnimatePresence initial={false} mode="popLayout">
114
- <motion.span
115
- key={isActive ? "active" : "inactive"}
116
- initial={{ opacity: 0, scale: 0.25, filter: "blur(4px)" }}
117
- animate={{ opacity: 1, scale: 1, filter: "blur(0px)" }}
118
- exit={{ opacity: 0, scale: 0.25, filter: "blur(4px)" }}
119
- >
120
- <Icon />
121
- </motion.span>
122
- </AnimatePresence>
123
- ```
124
-
125
- Works well for icon swaps, toggles, tabs and segmented controls, anything with a default state on page load.
126
-
127
- ### When it breaks
128
-
129
- Never use `initial={false}` where the component relies on its `initial` prop for a first-time enter animation, such as a staggered page hero or a loading state. Removing it skips the entire entrance.
130
-
131
- ```tsx
132
- // Bad: initial={false} would skip the staggered page enter entirely
133
- <AnimatePresence initial={false}>
134
- <motion.div initial="hidden" animate="visible" variants={...}>
135
- ...
136
- </motion.div>
137
- </AnimatePresence>
138
- ```
139
-
140
- Verify the component still looks right on a full page refresh before applying this.
141
-
142
- ## Suppress transitions on theme switch
143
-
144
- Flipping the theme changes `color`, `background-color`, `border-color` and `box-shadow` on nearly every element at once. Everything carrying a transition on those properties animates together, so the switch reads as a slow smear rather than an instant change. Disable transitions for the swap and restore them right after.
145
-
146
- Inject a stylesheet that turns off every transition, force a reflow so the new colors commit while it still applies, then drop it on the next frame:
147
-
148
- ```tsx
149
- "use client";
150
-
151
- import { useEffect } from "react";
152
-
153
- export function DisableThemeTransitions() {
154
- useEffect(() => {
155
- const mql = window.matchMedia("(prefers-color-scheme: dark)");
156
-
157
- const handleChange = () => {
158
- const style = document.createElement("style");
159
- style.append(
160
- document.createTextNode(
161
- "*,*::before,*::after{transition:none !important}"
162
- )
163
- );
164
- document.head.append(style);
165
-
166
- const _flushReflow = document.body.offsetHeight;
167
-
168
- requestAnimationFrame(() => {
169
- requestAnimationFrame(() => style.remove());
170
- });
171
- };
172
-
173
- mql.addEventListener("change", handleChange);
174
- return () => mql.removeEventListener("change", handleChange);
175
- }, []);
176
-
177
- return null;
178
- }
179
- ```
180
-
181
- `document.body.offsetHeight` is read for its side effect, forcing a synchronous style flush so the new theme resolves while the override is still in the document and no transition starts. The nested `requestAnimationFrame` removes the override only after that paint, restoring transitions before the next interaction.
182
-
183
- That covers the OS-level change. An in-app toggle needs the same treatment around its own flip: apply the override, change the theme, flush, remove. `next-themes` ships this as `disableTransitionOnChange`.
184
-
185
- ## Motion restraint
186
-
187
- Motion is a budget, not a garnish. Three rules decide whether an animation belongs at all:
188
-
189
- - **Give high-frequency interactions instant feedback instead of animation.** Every keystroke, every list-row hover, every tab switch in a work tool. Reserve expressive motion for infrequent moments (first load of a view, success states, empty states); high-frequency interactions get instant feedback or the subtlest possible transition (`opacity`/`background-color` at ≤150ms).
190
- - **Motion is never the only feedback channel.** Every state change an animation communicates stays visible when it doesn't run: a color change, an icon swap, a label. Users with reduced motion enabled and anyone who blinked still need to see what happened.
191
- - **Brief and precise beats prominent.** Where a shorter, smaller animation says the same thing, use it. When in doubt cut the duration, not the clarity.
192
-
193
- ```css
194
- /* Good: high-frequency hover gets a minimal transition */
195
- .row:hover {
196
- background-color: var(--surface-hover);
197
- transition: background-color 100ms ease-out;
198
- }
199
-
200
- /* Bad: every hover replays a full entrance */
201
- .row:hover .row-icon {
202
- animation: bounceIn 500ms;
203
- }
204
- ```
205
-