feat(greptile): add greptile skills plugin#243
Conversation
- install check-pr, cli-review, greploop skills from greptileai/skills via skills.sh - register plugin in Claude/Codex/Cursor marketplaces and release-please - document plugin in README built-in plugins section
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 33 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (18)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 Tessl Skill Review
|
| Dimension | Score | Detail |
|---|---|---|
| conciseness | ██░ 2/3 | The skill is fairly long with some redundancy between the main body and the reference files (e.g., GraphQL queries and GitLab API calls appear in both). The key field comparison tables and platform detection logic are useful, but the Perforce sections sometimes explain things Claude would know (e.g., what CL fields mean). Some tightening is possible. |
| actionability | ███ 3/3 | The skill provides fully executable bash commands for all three platforms at every step — detection, fetching, polling, resolving threads, committing fixes, and re-shelving. Commands are copy-paste ready with clear placeholders, and the GraphQL queries are complete and functional. |
| workflow clarity | ███ 3/3 | The 9-step workflow is clearly sequenced with explicit validation checkpoints: waiting for pending checks before analysis (step 3), categorizing issues before acting (step 5), asking the user before fixing (step 7), and resolving threads only after fixes are made (step 8). The polling loop with 30-second intervals and terminal state conditions provides a clear feedback loop. |
| progressive disclosure | ███ 3/3 | The main SKILL.md provides a complete overview with inline essentials, while appropriately referencing two bundle files (references/graphql-queries.md and references/gitlab-api.md) for detailed API specifics. References are one level deep, clearly signaled with markdown links, and the bundle files contain complementary detail that supports the main content without duplication issues being severe. |
Overall: This is a well-structured, highly actionable skill that covers three VCS platforms with executable commands at every step. The workflow is clearly sequenced with appropriate validation checkpoints and user confirmation before destructive actions. The main weakness is moderate verbosity — some content is duplicated between the main body and reference files, and a few sections explain things Claude already knows, but overall the skill is effective and well-organized.
Suggestions:
- Reduce duplication by removing the full GraphQL queries and GitLab API examples from the main SKILL.md body, keeping only brief summaries with references to the bundle files where the complete queries already exist.
plugins/greptile/.agents/skills/cli-review/SKILL.md
Review Details
Review Details
| Dimension | Score | Detail |
|---|---|---|
| conciseness | ███ 3/3 | Every section is lean and purposeful. No unnecessary explanations of what Greptile is, what CLI tools are, or how npm works. Each step provides only the commands and decision logic Claude needs. |
| actionability | ███ 3/3 | All commands are concrete, copy-paste ready bash commands. Each step specifies exact commands to run, what to check for, and what to do in success/failure cases. No pseudocode or vague instructions. |
| workflow clarity | ███ 3/3 | The 5-step workflow is clearly sequenced with explicit validation at each stage: check git repo, check CLI installation, check authentication, run review with fallback, then summarize. Each step includes error handling and fallback paths (e.g., JSON fails → --agent, npm unavailable → curl installer). |
| progressive disclosure | ███ 3/3 | This is a simple, single-purpose skill under 50 lines with no need for external references. The content is well-organized into clearly labeled sequential sections, making it easy to navigate without additional files. |
Overall: This is a well-crafted skill that efficiently guides Claude through a multi-step CLI workflow with clear sequencing, concrete commands, and appropriate error handling at each stage. It respects Claude's intelligence by avoiding unnecessary explanations while providing all the decision logic needed for edge cases like missing tools, failed authentication, and output format fallbacks.
plugins/greptile/.agents/skills/greploop/SKILL.md
Review Details
Review Details
| Dimension | Score | Detail |
|---|---|---|
| conciseness | ██░ 2/3 | The skill is quite long (~300+ lines) with substantial code blocks for three platforms (GitHub, GitLab, Perforce). While most content is actionable, there's repetition across platforms and some explanatory text that could be trimmed (e.g., explaining what fields mean, the Perforce webhook paragraph). The multi-platform coverage inherently adds bulk, but some of it could be better organized into reference files. |
| actionability | ███ 3/3 | The skill provides fully executable bash commands and API calls for every step across all three platforms. Code is copy-paste ready with specific CLI tools (gh, glab, p4), API endpoints, jq filters, and GraphQL queries. The polling loops, exit conditions, and commit commands are all concrete and complete. |
| workflow clarity | ███ 3/3 | The workflow is clearly sequenced (detect platform → identify PR → loop with steps A-F → report) with explicit exit conditions (5/5 confidence AND zero unresolved comments, or max 5 iterations). There are validation checkpoints (check if Greptile is already running before triggering, poll until completion, verify exit conditions before continuing). The max iteration cap prevents runaway loops. |
| progressive disclosure | ██░ 2/3 | The skill references two bundle files (references/gitlab-api.md and references/graphql-queries.md) appropriately, but the main SKILL.md still contains a large amount of inline detail that overlaps with those reference files (e.g., the GraphQL queries and GitLab API calls appear in both places). The Perforce-specific content could also be split into a reference file to reduce the main file's length. |
Overall: This is a well-structured, highly actionable skill with clear workflow sequencing and explicit exit conditions across three VCS platforms. Its main weakness is length — the multi-platform coverage creates a long document where some content duplicates what's already in the reference files. The progressive disclosure could be improved by moving more platform-specific API details into the reference files and keeping the main skill leaner.
Suggestions:
- Move the detailed GitLab polling/API code and Perforce Swarm API details into their respective reference files, keeping only concise summaries in the main SKILL.md to reduce duplication and length.
- Trim explanatory text like 'Key field differences' tables and Perforce webhook explanations — Claude can infer these from the code examples provided.
To improve your score, point your agent at the Tessl optimization guide. Need help? Jump on our Discord.
Feedback
Report issues with this review at tesslio/skill-review, or send private feedback from your terminal with tessl feedback.
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Code Review
This pull request introduces the new 'greptile' plugin across the repository. It registers the plugin in the marketplace files for Claude, Cursor, and Agents, updates the main README.md with installation instructions, and configures release-please. It also adds the Greptile agent skills ('check-pr', 'cli-review', and 'greploop') under the 'plugins/greptile/.agents/skills/' directory, along with their API reference documentation and plugin manifest files. There are no review comments provided, so I have no feedback to provide on the review itself.
Greptile SummaryThis PR adds a new built-in plugin
Confidence Score: 4/5Safe to merge after addressing the git add -A issue in greploop; all other changes are manifest and config additions with no runtime side effects. The greploop skill runs git add -A on each automated iteration, unconditionally staging every file in the working tree including any untracked secrets or sensitive config files, and immediately committing and pushing them. A user running greploop in a directory that contains an untracked .env or credentials file would have those silently pushed to their remote. The rest of the PR is straightforward and low-risk. plugins/greptile/.agents/skills/greploop/SKILL.md — the automated commit step needs scoped staging instead of git add -A.
|
| Filename | Overview |
|---|---|
| plugins/greptile/.agents/skills/greploop/SKILL.md | Defines the automated iterative-review loop; uses git add -A unconditionally, risking accidental staging of sensitive or unintended files on every iteration. |
| plugins/greptile/.agents/skills/cli-review/SKILL.md | Defines local Greptile CLI review skill; Bash(command:*) in allowed-tools is broader than needed for a command -v check, and the `curl |
| plugins/greptile/.agents/skills/check-pr/SKILL.md | Defines the PR/MR/CL inspection skill; uses git add <files> (targeted staging) for fixes — no issues found. |
| plugins/greptile/.claude-plugin/plugin.json | Claude runtime manifest for the greptile plugin; correctly references ./.agents/skills/. |
| release-please-config.json | Adds plugins/greptile package with extra-files covering all four version-bearing manifests; paths are relative to the package root and resolve correctly. |
| plugins/greptile/skills-lock.json | Locks three skills from greptileai/skills with 64-char (SHA-256) computed hashes; no issues. |
| .claude-plugin/marketplace.json | Registers the greptile plugin entry; minimal but consistent with adjacent entries. |
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
plugins/greptile/.agents/skills/greploop/SKILL.md:364-366
`git add -A` in the automated loop stages every file in the working tree — including untracked secrets, `.env` files, or any other sensitive content that happens to exist at review time. Because this runs on each iteration without user confirmation, one unintended file can be committed and pushed to the remote before the user notices. Prefer explicit staging of only the files touched by the fix step.
```suggestion
git add -u
git commit -m "address greptile review feedback (greploop iteration N)"
git push
```
### Issue 2 of 2
plugins/greptile/.agents/skills/cli-review/SKILL.md:11
`Bash(command:*)` is listed as an allowed tool solely so the skill can run `command -v greptile`. The wildcard `*` after `command` allows the agent to invoke any command through the shell builtin, which is much broader than the single existence-check it needs. A tighter pattern limits the blast radius if this skill is composed with others.
```suggestion
allowed-tools: Bash(git:*) Bash(greptile:*) Bash(command -v:*) Bash(curl:*) Bash(npm:*)
```
Reviews (1): Last reviewed commit: "feat(greptile): add greptile skills plug..." | Re-trigger Greptile
|



Summary
Adds a new built-in plugin
greptile(v1.0.0) bundling three skills.sh-managed agent skills from greptileai/skills (MIT license):The skills are installed under
plugins/greptile/.agents/skills/{check-pr,cli-review,greploop}/viabunx skills add, tracked byskills-lock.json..claude-plugin/plugin.jsonis the source-of-truth manifest ("skills": "./.agents/skills/"); the Codex, Antigravity, and Cursor runtime manifests (.codex-plugin/plugin.json,plugin.json,.cursor-plugin/plugin.json) were generated withbun scripts/cli.ts multi-format.Changes
plugins/greptile/— new plugin: installed skills,skills-lock.json, and the four version-bearing runtime manifests.claude-plugin/marketplace.json— registers thegreptileentry (source of truth).agents/plugins/marketplace.json,.cursor-plugin/marketplace.json— regenerated viamulti-format(greptile entry only, no unrelated drift)release-please-config.json— addsplugins/greptilepackage withextra-filescovering all 4 version-bearing manifests.release-please-manifest.json— adds"plugins/greptile": "1.0.0"README.md— adds the Greptile entry under Built-in Pluginsclaude plugin validate plugins/greptilepasses (one pre-existing-pattern warning: missingauthorfield, consistent with other built-in plugins in this repo).Note:
claude plugin validate .claude-plugin/marketplace.jsoncurrently reports a pre-existing duplicateasanamarketplace entry validation error. This is unrelated to this PR — theasanaplugin entry already existed before this change and is untouched here.Related issue
N/A — not tied to a tracked issue.
Checklist
bun run test) — N/A, no test suite for static plugin manifests/skillsbun run lint) — N/A, not run for this static content changeBREAKING CHANGE:note is includedSummary by cubic
Adds a new built-in
greptileplugin (v1.0.0) with three agent skills—check-pr,cli-review, andgreploop—to automate PR checks and Greptile reviews on GitHub, GitLab, and Perforce. Registers the plugin in all marketplaces and sets up release automation.plugins/greptilewith skills managed byskills.sh:check-pr,cli-review,greploop(tracked inskills-lock.json)..claude-plugin/plugin.json,.codex-plugin/plugin.json,.cursor-plugin/plugin.json, andplugin.json(all at v1.0.0)..claude-plugin/marketplace.json,.agents/plugins/marketplace.json,.cursor-plugin/marketplace.json.release-please-config.jsonand.release-please-manifest.jsonupdated to versionplugins/greptileand bump all manifests together.claude plugin validate plugins/greptilepasses; a duplicateasanaentry warning is pre-existing and unchanged.Written for commit e820a0a. Summary will update on new commits.