> File YouTrack issues for the kotlinx-rpc project (KRPC). Use this skill whenever the user wants to create a bug report, feature request, task, or any issue in YouTrack for kotlinx-rpc. Also use it when the user mentions filing a ticket, reporting a bug, creating a task, logging an issue, or tracking work in YouTrack — even if they don't say "YouTrack" explicitly but the context is clearly about issue tracking for this project. Covers choosing the right issue type, scope, priority, tags, and writing well-structured descriptions that match the team's conventions.
npx skills add https://github.com/Kotlin/kotlinx-rpc --skill file-youtrack-issue
This skill guides you through creating well-formed issues in the KRPC YouTrack project.
The project key is KRPC and issues are tracked at https://youtrack.jetbrains.com/issue/KRPC-*.
kRPC and gRPC are protocols, not transports. This distinction matters throughout the
project. kRPC is the custom RPC protocol; gRPC is the HTTP/2 + Protocol Buffers RPC protocol.
Always refer to them as protocols in issue descriptions and summaries.
Use the mcp__youtrack__* MCP tools for standard operations (create, search, update, tag).
Before creating an issue, always confirm the summary, type, scope, and description with
the user — issues are visible to the team immediately.
If MCP tools lack a capability you need (e.g., bulk operations, complex queries, attachment
uploads, or reading fields not exposed by the MCP tools), fall back to the YouTrack REST API
directly. The YOUTRACK_TOKEN environment variable contains a permanent Bearer token:
curl -s -H "Authorization: Bearer $YOUTRACK_TOKEN" \
"https://youtrack.jetbrains.com/api/issues?query=project:KRPC&fields=id,summary"
The REST API base URL is https://youtrack.jetbrains.com/api. See the
for available endpoints.
Read references/krpc-fields.md for the full field reference (scopes, types, priority, tags,
optional fields). The key points:
not the serialization format.
Normal.Vibe-report tag after creation (mandatory for AI-created issues).Scope must be a JSON array, even for a single value.Read references/description-templates.md for per-type templates (Bug, Feature/Task,
Meta Issue, Usability/Performance).
The critical rule: Do NOT include proposed solutions or implementation approaches.
The agent's job is to analyze and report the problem clearly, not to solve it. Only include
an approach if the user explicitly dictates one.
YouTrack does not have semantic search — it only matches exact keywords. A single broad
query will miss duplicates. Run at least 3-5 targeted queries using different keyword
combinations and synonyms:
mcp__youtrack__search_issues(query="project: KRPC <exact keyword 1>")
mcp__youtrack__search_issues(query="project: KRPC <exact keyword 2>")
mcp__youtrack__search_issues(query="project: KRPC <synonym or related term>")
mcp__youtrack__search_issues(query="project: KRPC Scope: {<relevant scope>}")
For example, for a streaming flow completion bug, search for:
project: KRPC callServerStreamingproject: KRPC streaming flow completesproject: KRPC flow hangproject: KRPC Scope: {kRPC. Client}Also use scope-filtered searches to browse related issues. If a potential duplicate exists,
mention it to the user and let them decide.
Use mcp__youtrack__create_issue with these parameters:
project: "KRPC"
summary: "<concise title — imperative or noun phrase>"
description: "<markdown description following templates from references/description-templates.md>"
customFields: {
"Type": "<one of the types from references/krpc-fields.md>",
"Priority": "<priority>",
"Scope": ["<scope1>", "<scope2>"] # MUST be a JSON array, not a comma-separated string, even if there's only one
}
Multiline text fields (description, summary): The parameter value must contain
actual newlines, not literal \n escape sequences. YouTrack stores the string as-is —
literal \n will render as visible \n characters instead of line breaks.
Then immediately add the Vibe-report tag (mandatory for AI-created issues) plus any other
relevant tags with mcp__youtrack__manage_issue_tags.
[GitHub]After creating the issue, report back:
KRPC-540 https://youtrack.jetbrains.com/issue/KRPC-540)If the user wants to link it to a parent issue, use the parentIssue parameter. If they want
to add comments or other modifications after creation, use mcp__youtrack__update_issue.
User reports a bug while coding:
Vibe-report tag + any other relevant tagsUser wants to track a task:
Vibe-report tag + any other relevant tagsUser mentions a GitHub issue to track:
[GitHub] prefix and link in descriptiongithub-issue tag — it's auto-importedVibe-report tagGuide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementing any feature or bugfix, before writing implementation code
Use when you have a spec or requirements for a multi-step task, before touching code
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Use when writing or improving README files. Not all READMEs are the same — provides templates and guidance matched to your audience and project type.
| Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.
Take kotlin/file-youtrack-issue from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.