feat: add gitlab skill SKILL.md
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
---
|
||||
name: gitlab
|
||||
description: >
|
||||
This skill should be used whenever the user asks about code in the MPM GitLab
|
||||
repository, including questions about "the codebase", "the repo", "RDMC code",
|
||||
"middleware code", "APK code", "Visual Applications", "how does X work in the
|
||||
code", "find where Y is defined", "search the repo for", "look at the source",
|
||||
"what does this function do", "show me the code for", "check the backend",
|
||||
"how is X implemented", or any question that requires reading or searching
|
||||
source code. Also triggers on "GitLab", "the repository", "our codebase",
|
||||
"the source", or any request to understand, audit, or trace code in the
|
||||
MPM system. Also triggers on "setup gitlab credentials", "store my token",
|
||||
"update my PAT", or "rotate my gitlab token".
|
||||
metadata:
|
||||
version: "0.2.0"
|
||||
author: "Message Point Media"
|
||||
---
|
||||
|
||||
## MPM GitLab Repository Access
|
||||
|
||||
The `gitlab-mpm` MCP server provides read-only access to MPM's GitLab account at gitlab.com. Use it to answer code questions, trace functionality, find implementation details, and understand system architecture across MPM's repositories.
|
||||
|
||||
## First-Time Setup
|
||||
|
||||
After installing this plugin, credentials must be stored before any repository access will work. Run:
|
||||
|
||||
```
|
||||
setup_credentials("<your-gitlab-pat>")
|
||||
```
|
||||
|
||||
The PAT is stored in macOS Keychain — never in the plugin files. To verify the connection is working, run `check_credentials()`. To rotate a token, just run `setup_credentials()` again with the new value.
|
||||
|
||||
## MPM Repository Groups
|
||||
|
||||
| Group | Contents |
|
||||
|-------|----------|
|
||||
| `mpmedia-andriod` | APK code: launchers, TDM apps, ITxPT, RDMC monitoring, IoT |
|
||||
| `mpmedia-transit-apps` | Visual Applications (HTML): wayside and on-vehicle display apps, plugins |
|
||||
| `MPMedia` | Middleware, agency GTFS projects, backend tools |
|
||||
| `mpm-backend-refactors` | RDMC-Mono, shared backend services |
|
||||
| `mpmprojects` | Web apps, GTFS integrations, customer-specific projects |
|
||||
|
||||
Use `list_group_projects("<group>")` to see all repos in a group.
|
||||
|
||||
## How to Use the GitLab MCP Tools
|
||||
|
||||
When a user asks a code-related question:
|
||||
|
||||
1. **Start with project discovery** — use `list_group_projects` or `list_projects` to identify the right repository before reading files
|
||||
2. **Search before you read** — use `search_code` to locate specific symbols, functions, or patterns rather than reading entire files
|
||||
3. **Follow the thread** — when you find a relevant file, check imports and references to understand the full call chain
|
||||
4. **Summarize with precision** — report file paths, line numbers, and function names; don't paraphrase code logic without citing the source
|
||||
|
||||
## Tool Reference
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `setup_credentials` | Store PAT in Keychain (run once after install) |
|
||||
| `check_credentials` | Verify token is stored and working |
|
||||
| `clear_credentials` | Remove token from Keychain |
|
||||
| `list_projects` | List all accessible repos (membership-scoped) |
|
||||
| `list_group_projects` | List all repos in a specific group |
|
||||
| `get_project` | Get details for a project by ID or path |
|
||||
| `list_repository_tree` | Browse files and directories |
|
||||
| `get_file_contents` | Read a specific file |
|
||||
| `search_code` | Search for code within a project |
|
||||
| `list_branches` | List branches |
|
||||
| `list_commits` | List recent commits |
|
||||
| `get_commit` | Get commit details and stats |
|
||||
|
||||
## Access Scope
|
||||
|
||||
Read-only. The `read_api` PAT scope allows listing projects, searching code, reading file contents, and browsing repository structure. No write operations are possible.
|
||||
Reference in New Issue
Block a user