Skills Plugins MCP Prompt Model 博客 我的中心

link-ticket-to-session

Link the current Claude Code session to a ticket (Linear, Jira, GitHub Issues, or GitHub Pull Requests) and cache its title/status in karma. Use when the user explicitly asks to link, attach, associate, or connect this session to a ticket, issue, or PR — e.g. "/link-ticket-to-session ABC-123", "link this session to LINEAR-42", "associate this work with issue

DeepseekModel 官方收录技能 质量 优秀 · 78 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=jayantdevkar-claude-code-karma-skills-link-ticket-to-session-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name link-ticket-to-session description Link the current Claude Code session to a ticket (Linear, Jira, GitHub Issues, or GitHub Pull Requests) and cache its title/status in karma. Use when the user explicitly asks to link, attach, associate, or connect this session to a ticket, issue, or PR — e.g. "/link-ticket-to-session ABC-123", "link this session to LINEAR-42", "associate this work with issue argument-hint <ticket-ref-or-url> allowed-tools Bash, mcp__linear, mcp__claude_ai_Linear, mcp__plugin_github_github, mcp__atlassian You are linking the current Claude Code session ( ${CLAUDE_SESSION_ID} ) to: $ARGUMENTS Karma is a read-only observer on the user's machine. It stores the link and caches title/status for display, but never writes back to the ticket provider. You fetch metadata via the user's already-configured MCP server. Karma's API URL comes from KARMA_API_URL (set by users on non-default ports/hosts) with http://localhost:8020 as fallback. Inline ${KARMA_API_URL:-http://localhost:8020} in every curl below — bash variables don't persist across separate Bash tool calls, so a top-of-script assignment would be empty by the time the next curl runs. Step 1 — Parse $ARGUMENTS Recognized forms: Provider Short ref URL forms Linear LINEAR-123 https://linear.app/.../issue/ABC-123 Jira PROJ-45 https://*.atlassian.net/browse/PROJ-45 GitHub Issue owner/repo#42 https://github.com/owner/repo/issues/42 GitHub PR owner/repo#42 https://github.com/owner/repo/pull/42 GitHub issues and pull requests share a single numbering namespace — owner/repo#42 could be either. The URL kind ( /issues/ vs /pull/ ) is the only signal , and karma's backend preserves it, so when you have a URL keep it intact when POSTing (Step 4). For a bare owner/repo#N with no URL, default to /issues/N — GitHub auto-redirects to /pull/N when N is actually a PR, so the link still resolves. A bare #N (no owner/repo) is not accepted — always qualify with owner/repo#N . Step 2 — Identify provider and (for GitHub) kind Set two variables you'll use below: <provider> ∈ linear | jira | github For GitHub: <kind> ∈ issue | pull_request (derived from URL path) For Linear and Jira this collapses to just <provider> . Step 3 — Fetch metadata via MCP (when available) Pick the right MCP tool for the provider and kind: Provider · Kind MCP tool linear Linear MCP — search/fetch issue by key jira Atlassian MCP — fetch by key github · issue mcp__plugin_github_github__issue_read , method get github · pull_request mcp__plugin_github_github__pull_request_read , method get Calling the wrong GitHub method silently returns the wrong thing because both shapes look superficially similar — so derive the kind first. If the relevant MCP isn't installed, skip this step and proceed to Step 4 without title/status. Karma will create the link; the title/status fields stay NULL and can be refreshed later via Step 5. Pull at minimum: title , status (or state), url . Strip large fields — karma caps metadata_json at 64 KB and a full PR payload easily exceeds that. Specifically drop: GitHub PR: body , commits , files , reviewers , comments , labels , requested_reviewers , head / base blobs beyond ref GitHub issue: body , comments , reactions , labels Linear / Jira: description , comments , subscribers , attachments Status semantics by kind The status you cache should reflect what the provider says now , not a generic "open/closed". Karma's UI normalizes these to canonical buckets at render time, so faithful provider language is the right input: Linear : workflow state name verbatim — e.g. Backlog , In Progress , In Review , Done , Cancelled (workspace-defined; don't normalize). Jira : workflow state name — e.g. To Do , In Progress , In Review , Done . GitHub issue : open or closed . GitHub PR : derive from the flags the PR API returns: state draft merged Cache as open true — draft open false — open closed — true MERGED closed — false closed Step 4 — POST the link The url field should be the URL you actually have — /pull/N for PRs, /issues/N for issues. Don't rewrite it. Karma's parser preserves the path segment; the UI uses it to distinguish PRs from issues. curl -s -X POST " ${KARMA_API_URL:-http://localhost:8020} /sessions/ ${CLAUDE_SESSION_ID} /tickets" \ -H 'Content-Type: application/json' \ -d '{"ref":"<key>","provider":"<provider>","url":"<url>","source":"slash_command"}' For GitHub, <key> is always owner/repo#N regardless of kind — the URL field carries the issue/PR distinction. Step 5 — PUT the metadata (only if Step 3 succeeded) curl -s -X PUT " ${KARMA_API_URL:-http://localhost:8020} /tickets/<provider>/<key>" \ -H 'Content-Type: application/json' \ -d '{"title":"<title>","status":"<status>"}' For GitHub keys with / and # , URL-encode the key in the path: octocat/repo#42 → octocat%2Frepo%2342 . Step 6 — Confirm to the user One line. For GitHub, distinguish the kind so the user knows what they just attached: Linked session to LINEAR-123 (Fix login bug, In Progress) — open at https://linear.app/... Linked session to PROJ-45 (Migrate auth, Done) — open at https://acme.atlassian.net/browse/PROJ-45 Linked session to octocat/repo#42 [issue] (Empty state lies, open) — open at .../issues/42 Linked session to octocat/repo#42 [PR] (Fix linting, MERGED) — open at .../pull/42 Notes Karma is loopback-only by default. KARMA_API_URL overrides for custom port or remote host. POST is idempotent on (session, ticket) ; re-running upgrades the link_source if previously set by branch-detect or dashboard. Order: slash_command > dashboard > branch . If the API is unreachable, tell the user karma not running at ${KARMA_API_URL:-http://localhost:8020} so they see what was tried. Don't silently succeed. GitHub issues and PRs sharing #N means a single karma row (one (provider, external_key) pair) covers both views of that number. The URL field is what tells karma's UI which one to render. Send the URL you actually have.
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。