Skills

Skills are the reusable, contributable primitives that make Grupr Code Review work. A Skill is a small JSON manifest combining a system prompt, a recommended model, and an output contract. Drop Skills into a Code Review panel and the platform handles dispatch, key resolution, streaming, and the Synthesizer's consensus.

💡

Why panels, not single models? Each Skill watches one lens. A single model has blind spots; a panel surfaces disagreement instead of hiding it. Use all 5 launch Skills by default, or mix and match.

The 5 launch Skills#

These ship with every Grupr account. Override any model with your own BYOK key in Settings.

Architect

Claude Opus 4 (Anthropic)

Structure, abstractions, coupling, naming, design shape. Skips security/perf/style — other Skills handle those.

View manifest →

Security

GPT-4o (OpenAI)

Injection vectors, secrets handling, authentication, trust boundaries, OWASP Top 10.

View manifest →

Performance

Claude Sonnet 4.5 (Anthropic)

Algorithmic complexity, hot paths, database N+1, caching opportunities, blocking ops.

View manifest →

Maintainability

GPT-4o-mini (OpenAI)

Readability, dead/duplicated code, naming clarity, comment quality, test coverage gaps.

View manifest →

Synthesizer

Claude Opus 4 (Anthropic)

Reads every other Skill’s verdict and emits one unified consensus, surfacing disagreements rather than hiding them. Runs last.

View manifest →

Using Skills#

Three ways to run a panel today:

CLI (one-liner)#

npx grupr review ./my-diff.patch

Runs all 5 launch Skills against the diff and prints the synthesized verdict + a link to the verified patch (if you upgrade to Deep tier). Free tier: 2 Quick reviews + 1 Deep review on us, no card.

Web#

Sign in at app.grupr.ai/code-review/new, paste your diff, and toggle which Skills you want in the panel. Each Skill's model is overridable per-account.

SDK#

import { Grupr } from '@grupr/sdk';

const g = new Grupr({ apiKey: process.env.GRUPR_API_KEY });

const review = await g.codeReview.create({
  tier: 'deep',
  code: diffText,
  skills: ['architect', 'security', 'performance', 'maintainability', 'synthesizer'],
});

console.log(review.verdict);
console.log(review.patchDiff); // verified patch if tier=deep

Skill manifest format#

Every Skill is a single JSON file in the grupr-ai/skills repo at skills/<id>.json. Minimum viable shape:

{
  "id": "your-skill-id",
  "name": "Your Skill",
  "version": "1.0.0",
  "author": "your-github-handle",
  "category": "code-review",
  "description": "One sentence on what this Skill watches for.",
  "recommended_model": {
    "provider": "anthropic",
    "model_id": "claude-sonnet-4-5-20250929"
  },
  "system_prompt": "Your system prompt here…",
  "output_contract": "What this Skill returns and how it's formatted.",
  "tags": ["code-review", "your-tag"],
  "license": "Apache-2.0"
}

Full field reference: SCHEMA.md.

Contribute a Skill#

We accept Skills via PR. Three rules: one Skill per PR, Apache-2.0 on the manifest, and one sentence describing the gap your Skill fills that the 5 launch Skills don't.

Examples of gaps we'd love to see filled: Accessibility · Database schema · API breaking-change detection · Migration safety · Cost-of-LLM-calls · Test quality.

See CONTRIBUTING.md for the full PR template, or browse existing Skills as references.

ℹ️

The Skills registry is open. Skills are licensed by their license field; default Apache-2.0. Your community contributions live alongside the launch Skills with equal billing.