Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add pantheon-org/tekhne --skill gitlab-apigit clone --depth 1 https://github.com/pantheon-org/tekhneWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pantheon-org/tekhne/gitlab-api)<a href="https://agentmods.dev/skills/pantheon-org/tekhne/gitlab-api"><img src="https://agentmods.dev/badge/skills/pantheon-org/tekhne/gitlab-api/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pantheon-org/tekhne/gitlab-api"><img src="https://agentmods.dev/badge/skills/pantheon-org/tekhne/gitlab-api.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 94 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.01766 |
| Opus 5.5 | $0.00034 | $0.00706 |
| Sonnet 5.5 | $0.00017 | $0.00353 |
| Haiku 4.5 | $0.00009 | $0.00177 |
Grade A, and why
gitlab-api scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Requires: `curl`, `jq` How it starts
The opening of the file, as written. The whole thing — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GitLab API Integration
Retrieve and analyze GitLab merge request comments and metadata using authenticated API calls.
Mindset
Every GitLab MR comment fetch is a snapshot of a moving target, not a stable record. Comments get edited, resolved, and deleted between when a review happens and when it's analyzed, and the GitLab API returns 200 OK even when the payload inside is an error object — HTTP status alone does not mean "this data is valid." Treat every fetch as provisional: validate the shape of what came back before trusting it, and re-fetch rather than cache when the analysis is time-sensitive (an "unresolved discussion" report generated from an hour-old cache is actively misleading, not just stale).
The second load-bearing habit: System and Type are two independent axes, not one. System: true/false answers "who/what generated this" (bot vs human); Type: DiffNote/comment answers "where does this comment live" (inline on a diff line vs a general MR-level remark). A report that conflates them — e.g. treating all DiffNotes as human or all comments as automated — will misclassify real feedback.
When to Use
- Fetching, filtering, or summarizing GitLab MR comment threads, reviewer feedback, or approval/discussion status via the API
- Building a script or report that needs to distinguish human review feedback from automated/bot comments, or inline code comments from general discussion
- Diagnosing why an MR API call fails (401/404, malformed URL, missing scope)
When NOT to Use
- GitLab CI/CD pipeline configuration or
.gitlab-ci.ymlauthoring — unrelated to the MR comments API this skill wraps - Working with GitLab issues, epics, or wikis — this skill's script and output format are scoped to merge request discussions only
Prerequisites
- Set
GITLAB_TOKENorGITLAB_PATwithread_apiscope - Requires:
curl,jq
Available Scripts
get_mr_comments.sh
Fetches all comments from a GitLab merge request. Run it relative to this skill's own directory:
What ships with it
28 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .audits/2026-03-02/analysis.md 1.0 KB
- .audits/2026-03-02/audit.json 408 B
- .audits/2026-03-02/remediation-plan.md 2.7 KB
- .audits/2026-09-23/Analysis.md 528 B
- .audits/2026-09-23/audit.json 673 B
- .audits/2026-09-23/Remediation.md 1.3 KB
- .audits/latest 10 B
- .tekhne/plugin.json 221 B
- CHANGELOG.md 1.8 KB
- evals/instructions.json 2.0 KB
- evals/scenario-1/capability.txt 218 B
- evals/scenario-1/criteria.json 1.8 KB
- evals/scenario-1/task.md 3.8 KB
- evals/scenario-2/capability.txt 213 B
- evals/scenario-2/criteria.json 1.8 KB
- evals/scenario-2/task.md 3.6 KB
- evals/scenario-3/capability.txt 199 B
- evals/scenario-3/criteria.json 1.7 KB
- evals/scenario-3/task.md 3.7 KB
- evals/scenario-4/capability.txt 187 B
- evals/scenario-4/criteria.json 1.8 KB
- evals/scenario-4/task.md 3.5 KB
- evals/scenario-5/capability.txt 187 B
- evals/scenario-5/criteria.json 1.5 KB
- evals/scenario-5/task.md 3.3 KB
- evals/summary.json 506 B
- references/workflows-and-error-handling.md 1.6 KB
- scripts/get_mr_comments.sh 1.5 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +37 lines 516dc4264cbd
- 1mo ago First seen · 127 lines · 86 tokens per session scan A 2ff8804ed304
gitlab-api is a skill published in the GitHub repository pantheon-org/tekhne (10 stars, last pushed yesterday), licensed MIT. It adds 86 tokens to every session and 1,766 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
antfu-create-pr
Create a reviewable GitHub pull request from the current branch with a Conventional Commits title, a concise evidence-based body, and before/after screenshots for UI changes. Use when asked to open, create, publish, or prepare a PR.
git-workflow
Git best practices, branching strategies, commit conventions, and code review patterns.
create-pr
Create pull requests following Sentry conventions. Use when opening PRs, writing PR descriptions, or preparing changes for review. Follows Sentry's code review guidelines.
codex-review
Professional code review with auto CHANGELOG generation, integrated with Codex AI.
pr-review
One-shot read-only review of a GitHub PR: dispatches the pr-reviewer agent once and reports its verdict and findings without touching your code. Also writes maintainer relevance rules via /pr-review remember ; invoke with /pr-review.
implement-suggestion
Applies human and AI-bot review comments on one or more PRs — each gated by /critical + /confidence, committed separately, pushed, and its thread resolved — or one pasted suggestion in place. --watch repeats on one PR until reviewers go quiet; --resolve-all also closes every non-fix thread it honestly can; triggers on…