Skip to content

feat: add Context Engine CLI skill (DEV3-4818)#13

Open
yonidavidson wants to merge 12 commits intomainfrom
feat/ctx-cli-skill-DEV3-4818
Open

feat: add Context Engine CLI skill (DEV3-4818)#13
yonidavidson wants to merge 12 commits intomainfrom
feat/ctx-cli-skill-DEV3-4818

Conversation

@yonidavidson
Copy link
Copy Markdown
Contributor

@yonidavidson yonidavidson commented Mar 26, 2026

Summary

Adds Tabnine skills for Gemini CLI and Tabnine agent (new agents), plus a new ctx skill for Context Engine CLI across all agents.

Two independent plugins — install what you need:

Plugin What it does
tabnine Codebase search + coding guidelines (existing, now also on Gemini)
ctx Context Engine knowledge graph via ctx-cli (new)

Install

Claude Code

claude plugin add tabnine/skills        # tabnine plugin
claude plugin add tabnine/skills:ctx    # ctx plugin

Cursor

Both plugins appear separately in the Cursor marketplace.

Gemini CLI

gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/codebase-search
gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/coding-guidelines
gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/ctx

Tabnine agent

tabnine skills install https://github.com/tabnine/skills.git --path plugins/gemini/ctx
tabnine skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/codebase-search
tabnine skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/coding-guidelines

Verified locally:

$ tabnine skills list
ctx [Enabled]
  Description: Query the Context Engine knowledge graph...
  Location:    ~/.tabnine/agent/skills/ctx/SKILL.md

Example: What the ctx skill enables

When a developer asks "What does the auth service depend on?", the agent:

  1. Reads the ctx skill
  2. Runs: `ctx-cli mcp call investigate_service -p serviceName=auth-service -o json`
  3. Returns the full dependency graph, ownership, documentation, and flows

Other examples:

  • "Check blast radius before I change payment-api" → `ctx-cli mcp call blast_radius -p target=payment-api -p changeType=breaking -o json`
  • "Create a Jira ticket for this bug" → `ctx-cli mcp call create_jira_issue --json '...' -o json`
  • "Who should I notify about this incident?" → `ctx-cli mcp call incident_response -p serviceName=auth -o json`
  • "List all available tools" → `ctx-cli mcp list -o json` (100+ tools dynamically discovered)

Notes

  • Gemini/Tabnine SKILL.md uses only `name` + `description` frontmatter (no `allowed-tools` — that's Claude Code-specific)
  • Tabnine agent and Gemini CLI share the same skill format and install path (`plugins/gemini/`)
  • Marketplace manifests added for both Claude (`.claude-plugin/marketplace.json`) and Cursor (`.cursor-plugin/marketplace.json`) to support multi-plugin discovery

Files

File Description
`plugins/claude/ctx/` Claude Code ctx plugin (separate from tabnine plugin)
`plugins/cursor/ctx/` Cursor ctx plugin (separate from tabnine plugin)
`plugins/gemini/ctx/` Gemini/Tabnine ctx skill
`plugins/gemini/tabnine/codebase-search/` Gemini/Tabnine codebase search skill
`plugins/gemini/tabnine/coding-guidelines/` Gemini/Tabnine coding guidelines skill
`.claude-plugin/marketplace.json` Updated — added ctx plugin entry
`.cursor-plugin/marketplace.json` New — tabnine + ctx plugin entries
`README.md` Rewritten for multi-plugin, multi-agent repo

Related

Test plan

  • Tabnine agent: `tabnine skills install /path --path plugins/gemini/ctx` → installed, shows in `tabnine skills list`
  • Claude Code: `claude plugin add tabnine/skills:ctx` → skill appears
  • Cursor: install via marketplace, verify ctx skill + rule load
  • Gemini CLI: `gemini skills install ... --path plugins/gemini/ctx`

🤖 Generated with Claude Code

yonidavidson and others added 12 commits March 26, 2026 19:24
Add ctx skill that teaches agents how to use ctx-cli to query the
knowledge graph, investigate services, check blast radius, manage
Jira issues, and handle incidents. Added for both Claude Code and
Cursor agents.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Plain markdown (no YAML frontmatter) at plugins/gemini/tabnine/ctx-tools.md.
Gemini CLI loads .gemini/ files as project context. Installed via
`ctx-cli install --skills=gemini` which copies to .gemini/ctx-tools.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Gemini CLI has a native skills system (`gemini skills install`).
Replace plain markdown with standard SKILL.md in a directory.

Install with:
  gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/ctx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…V3-4818)

Three separate Gemini skills, each independently installable:

  gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/ctx
  gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/codebase-search
  gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/tabnine/coding-guidelines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…(DEV3-4818)

ctx is now a standalone plugin that can be installed independently from
the Tabnine plugin (codebase-search + coding-guidelines). Users choose
which plugins they want.

Structure:
  plugins/claude/tabnine/ — existing (codebase-search, coding-guidelines)
  plugins/claude/ctx/     — NEW separate plugin
  plugins/cursor/tabnine/ — existing
  plugins/cursor/ctx/     — NEW separate plugin
  plugins/gemini/tabnine/ — existing (codebase-search, coding-guidelines)
  plugins/gemini/ctx/     — NEW separate skill

Install independently:
  Claude: claude plugin add tabnine/skills:ctx
  Gemini: gemini skills install https://github.com/tabnine/skills.git --path plugins/gemini/ctx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add ctx as a separate plugin entry in Claude marketplace.json.
Create Cursor marketplace.json with both tabnine and ctx plugins.

This enables independent installation of each plugin:
- Claude: `claude plugin add tabnine/skills` (tabnine) or `claude plugin add tabnine/skills:ctx` (ctx)
- Cursor: both plugins discoverable in marketplace

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Updated to reflect two independent plugins (tabnine + ctx) across
three agents (Claude Code, Cursor, Gemini CLI). Includes install
commands per agent, prerequisites per plugin, tool reference,
and full project structure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
allowed-tools is a Claude Code-specific frontmatter field. Gemini and
Tabnine agents reject unknown fields. Only name + description are
supported.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
codota/ctx is private — binaries are published to tabnine/skills
releases instead. Updated all SKILL.md files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tabnine agent (Gemini fork) gets its own install path separate from
Gemini CLI. Same skill format, cleaner UX:

  tabnine skills install https://github.com/tabnine/skills.git --path plugins/tabnine/ctx
  tabnine skills install https://github.com/tabnine/skills.git --path plugins/tabnine/codebase-search
  tabnine skills install https://github.com/tabnine/skills.git --path plugins/tabnine/coding-guidelines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tabnine agent gets its own plugins/tabnine/ directory with all three
skills. Separate from plugins/gemini/ for branding clarity. Verified
install with `tabnine skills install --path plugins/tabnine/ctx`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…RL (DEV3-4818)

- Cursor SKILL.md: remove allowed-tools (Claude Code-specific field)
- README: fix download URL from codota/ctx to tabnine/skills

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@yonidavidson yonidavidson marked this pull request as ready for review March 29, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant