Plugin marketplace for Claude Code to boost development on the Citeck platform.
Run /citeck:citeck-changes-to-task after finishing work on a branch — Claude analyzes the diff, determines the task type (Bug / Story / Task), generates a title in English and a structured description in Russian for QA, and creates an issue in Project Tracker. No need to switch context or fill in forms manually.
You don't need code changes at all. Describe what you need in natural language — Claude creates the issue with the right type, priority, components, and tags.
Ask Claude to take a look at any issue by ID (e.g. "look at COREDEV-3703"). Claude will:
- Fetch the issue details and all comments
- Automatically download and analyze screenshots and images from comments — visual context is read without asking
- Understand the full picture: description, discussion, decisions, and attached screenshots
- Suggest a fix, start implementation, or answer questions about the issue
The plugin exposes raw records_query and records_mutate tools — the same Records API that powers the platform. This means Claude can:
- Create test data — populate the system with records for development and testing
- Query any data — search and inspect records across the platform by predicates, load attributes, paginate
- Bulk mutations — update multiple records at once
- Explore data models — discover available attributes and types by querying with
?json
Beyond creation, the plugin provides full issue lifecycle tools:
- Search issues with filters (status, assignee, type, sprint, component, priority)
- Update issues — change status, reassign, update priority or description
- Browse sprints, components, tags, and releases for any project
Run /citeck:citeck-ask-docs <question> to query the Citeck ECOS documentation via RAG. Claude searches citeck-docs semantically and synthesizes a grounded answer with citations — no need to open the docs site manually. Works for platform concepts, configuration, and APIs.
- uv — Python package manager (required for MCP server)
Install uv if you don't have it:
curl -LsSf https://astral.sh/uv/install.sh | sh/plugin marketplace add Citeck/citeck-claude-code-tools/plugin install citeck@citeckThe MCP server starts automatically via uv run — dependencies are installed on first launch, no manual setup needed.
After installation:
- MCP tools are available automatically (e.g.
mcp__citeck__create_issue) - Skills are available with the
citeck:prefix (e.g./citeck:citeck-auth)
claude plugin update citeck@citeckOr enable auto-update: /plugin → Marketplaces → citeck → Enable auto-update.
- Install the plugin (see above)
- Run
/citeck:citeck-authto configure your Citeck ECOS connection (URL, credentials) - Start using MCP tools or skills
The plugin provides an MCP server with the following tools, available as mcp__citeck__<tool_name>:
| Tool | Description |
|---|---|
ping |
Health-check: verify the MCP server is running |
test_connection |
Verify auth connection to Citeck ECOS |
records_query |
Raw Records API query — search by predicate, load by IDs |
records_mutate |
Raw Records API mutation — create/update records |
list_projects |
List projects, fetch from API |
set_project_default |
Set the default project for operations |
search_issues |
Search issues with filters (status, assignee, type, sprint, etc.) |
create_issue |
Create a new issue with preview support |
update_issue |
Update an existing issue with preview support |
query_comments |
Fetch comments for a record with auto-download of image attachments |
download_attachment |
Download a file from Citeck via authenticated session |
query_sprints |
List sprints for a project |
query_components |
List components for a project |
query_tags |
List tags for a project |
query_releases |
List releases for a project |
search_docs |
Semantic search over Citeck documentation (citeck-docs RAG) |
set_docs_profile |
Set the profile used for documentation search |
set_ept_profile |
Set the profile used for task-tracker tools (issues, projects, comments, attachments) |
set_records_profile |
Set the profile used for plain records_query / records_mutate |
list_profiles |
List configured Citeck profiles with non-sensitive metadata |
set_active_profile |
Switch the active profile (used as fallback by every tool group) |
| Skill | Description |
|---|---|
| citeck-auth | Configure Citeck ECOS connection — set URL, credentials, and test connectivity |
| citeck-changes-to-task | Create a Citeck Project Tracker issue from current git changes |
| citeck-changes-to-task-md | Generate task.md file with structured task description from git changes |
| citeck-ask-docs | Ask a question about Citeck — semantic search over citeck-docs with cited answer |
Configure and manage connections to Citeck ECOS instances. Supports multiple profiles for different environments (local, staging, production).
/citeck:citeck-authFeatures:
- Interactive credential setup (URL, username, password, OIDC/Basic auth)
- PKCE browser-based login (recommended, no password stored)
- Multiple profiles for different environments
- Connection testing
- Profile switching
Credentials are stored in ~/.citeck/credentials.json with restricted permissions.
Create a Citeck Project Tracker issue directly from current git changes.
/citeck:citeck-changes-to-taskFeatures:
- Analyze git diff to generate structured task description
- Automatic type detection (Bug, Story, Task)
- Russian-language descriptions for QA
- Dry-run preview before creation
- Creates issue via MCP
create_issuetool
Generate a task.md file with a structured task description from git changes. Does not create an issue in the tracker.
/citeck:citeck-changes-to-task-mdAsk a question about the Citeck ECOS platform — semantic search over citeck-docs via RAG, answer synthesized with citations.
/citeck:citeck-ask-docs <question>The RAG service is reached via the profile set as docs_profile in ~/.citeck/credentials.json (falls back to the active profile). Switch it with the set_docs_profile MCP tool if needed.
Tool groups can be routed to different environments independently of the active profile:
| Setting | Tools it affects | MCP tool |
|---|---|---|
docs_profile |
search_docs |
set_docs_profile |
ept_profile |
search_issues, create_issue, update_issue, list_projects, set_project_default, query_sprints/components/tags/releases, query_comments, download_attachment |
set_ept_profile |
records_profile |
records_query, records_mutate |
set_records_profile |
Each setting falls back to active_profile when unset. Typical use case: task tracker lives on production but records queries should run against a local Citeck.
set_ept_profile(profile="prod")
set_records_profile(profile="local")
Pass an empty string to clear a setting. Each affected tool also accepts a per-call profile argument for one-off overrides.
The plugin includes a shared library (plugins/citeck/lib/) used by the MCP server and auth scripts:
config.py— credential management with multi-profile supportauth.py— OIDC and Basic Auth with token cachingpkce.py— PKCE browser-based OAuth flowrecords_api.py— unified Records API client
The plugin stores credentials and tokens in ~/.citeck/:
~/.citeck/
├── credentials.json # Profiles with URL, username, password (chmod 600)
├── downloads/ # Downloaded attachments (images, PDFs, etc.)
└── tokens/
└── <profile>/
└── token.json # Cached OIDC tokens (chmod 600)
The plugin automatically sets chmod 600 on credentials.json when saving credentials, restricting access to the file owner only. If you create or edit the file manually, ensure proper permissions:
chmod 600 ~/.citeck/credentials.jsonNote: passwords are stored in plaintext in credentials.json. This is acceptable for local development environments. Do not commit this file to version control.
.
├── .claude-plugin/
│ └── marketplace.json # Marketplace catalog
└── plugins/
└── citeck/ # Plugin
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── .mcp.json # MCP server config (uv run)
├── pyproject.toml # Python dependencies (FastMCP)
├── servers/
│ └── citeck_mcp.py # FastMCP server — all MCP tools
├── lib/ # Shared modules
│ ├── auth.py # OIDC/Basic auth + token cache
│ ├── config.py # Credentials management
│ ├── pkce.py # PKCE OAuth flow
│ └── records_api.py # Records API client
├── skills/
│ ├── _shared/ # Shared prompts (task description guide)
│ ├── citeck-auth/ # Auth setup skill (PKCE browser flow)
│ ├── citeck-ask-docs/ # Ask Citeck docs via RAG
│ ├── citeck-changes-to-task/ # Create issue from git changes
│ └── citeck-changes-to-task-md/ # Generate task.md from git changes
└── tests/ # Unit tests
- Clone the repo and create a feature branch
- Add your skill/hook to
plugins/citeck/ - Update this README
- Open a Pull Request
claude --plugin-dir ./plugins/citeckcd plugins/citeck && uv run python -m pytest tests/ -v