src/abyss/builtin_skills/linear/SKILL.md
# Linear Linear 이슈 트래커 MCP (stdio, personal API token). 이슈 검색·생성·수정·코멘트, 팀/프로젝트/사이클 조회, 우선순위/라벨/할당자 관리. **Always confirm before creating/updating issues or posting comments.** 생성 전 team·project·title·assignee 확인 후 승인. 상태 전환 전 현재→목표 확인 후 승인. 일괄 수정 금지. 삭제는 사용 안 함 (status를 cancelled / done으로 전환 제안). ## Auth 서버: [`@tacticlaunch/mcp-linear`](https://www.npmjs.com/package/@tacticlaunch/mcp-linear) (stdio, `npx -y`). 인증: 환경변수 **`LINEAR_API_TOKEN`** (Linear → Settings → API → "Create new personal AP
npx skillsauth add heg-wtf/cclaw src/abyss/builtin_skills/linearInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Linear 이슈 트래커 MCP (stdio, personal API token). 이슈 검색·생성·수정·코멘트, 팀/프로젝트/사이클 조회, 우선순위/라벨/할당자 관리.
Always confirm before creating/updating issues or posting comments. 생성 전 team·project·title·assignee 확인 후 승인. 상태 전환 전 현재→목표 확인 후 승인. 일괄 수정 금지. 삭제는 사용 안 함 (status를 cancelled / done으로 전환 제안).
서버: @tacticlaunch/mcp-linear (stdio, npx -y).
인증: 환경변수 LINEAR_API_TOKEN (Linear → Settings → API → "Create new personal API key").
호스트 Claude Code 플러그인의 OAuth 토큰과는 분리됨 — 봇 subprocess가 OAuth callback listener를 turn 사이 유지 못하므로 personal token 방식만 동작.
(도구명은 모두 linear_* 접미사. 응답은 한국어로, 필드명은 영어 원문 유지.)
첫 호출 — 본인 계정 + 워크스페이스 확인. "내가 누구로 연결됐어?" 같은 질문에 사용.
워크스페이스 메타. 이슈 생성·검색 전에 team key / assignee ID / label / project ID 매핑할 때 호출.
팀별 상태 목록 (Backlog / Todo / In Progress / In Review / Done / Cancelled 등). 상태 전환 전 후보 ID 확인.
스프린트(=cycle) 조회. "이번 스프린트 뭐 남았어?" → linear_getActiveCycle → linear_getCycleIssues.
필터 예시 (서버 spec 따라):
team = HEG
assignee = @me
state = "In Progress"
priority >= 2 # Urgent(1) / High(2) / Medium(3) / Low(4) / 0=None
label = "bug"
updated > -7d
text ~ "checkout flow"
이슈 ID 형식 <TEAM>-<NUM> (예: HEG-7, PAY-42). 사람이 이슈 키 언급하면 먼저 linear_getIssueById로 상세 확인.
이슈 코멘트 타임라인 — getIssueById로 안 보이는 세부 논의 추적.
필수: team ID, title. 선택: description, assignee, priority, project, labels, parent, cycle, dueDate, estimate. 반드시 사용자 승인 후 호출. title이 모호하면 description 보강 제안.
이슈 ID + 변경 필드 (상태 전환 포함). 변경 내용을 보여주고 승인 후 실행. 한 번에 여러 이슈 수정 금지 (개별 confirm).
부분 업데이트 헬퍼. updateIssue 대신 의도가 명확할 때 사용.
이슈 ↔ 프로젝트 / 사이클 매핑.
이슈 ID + body. 봇이 자동으로 코멘트 다는 경우는 명시적 사용자 지시가 있을 때만.
본인을 옵저버로 추가. 알림 받고 싶은 이슈에만.
linear_getIssueById로 상세 확인 후 사람에게 요약.LINEAR_API_TOKEN env var 누락) MCP 호출이 즉시 실패 — 사람한테 토큰 발급 + 환경변수 설정 안내.tools
# About Me (Shared User Knowledge Base) You have a structured, shared knowledge base about the user across seven categories: `identity`, `relationships`, `preferences`, `routines`, `current_focus`, `health`, `values`. A short index of confirmed facts is already in your CLAUDE.md system prompt under the **About Me (Shared, Read-Only)** section. You have **four tools** to interact with this knowledge base: - `about_me_propose` — propose a new fact you have just learned - `about_me_get` — read e
development
# code_review Run a Claude Code `ultrareview` on a pull request or local target and summarize findings back to the user. Use this when the user asks for a code review, asks you to "ultrareview", drops a PR link, or otherwise wants a multi-aspect review of code rather than a free-form chat about a diff. ## When to use Trigger this skill when the message is clearly a review request: - A GitHub / GitLab / Bitbucket PR URL. - A bare PR number (e.g. `#123`). - A local path (`src/auth/`) plus the
tools
# Conversation Search You have a tool that searches your **own past conversations with the user**. Use it when you need to recall something specific that the user mentioned earlier and is no longer in the visible context window. ## When to call `search_conversations` Call this tool when **any** of the following is true: - The user asks about something they previously told you ("지난주에 추천한 책 뭐였지?", "what was the cafe name I mentioned?"). - They reference a past plan, decision, or commitment t
tools
# Twitter Twitter/X MCP. 트윗 게시 및 검색. **Always confirm before posting.** Show full tweet text and get user approval. 280자 제한. 민감정보(비밀번호, API키, 개인정보) 게시 금지. 스팸성 반복 게시 금지. ## Operations ### Post Tweet - 텍스트 작성 → 사용자에게 보여주기 → 승인 후 게시 - 280자 초과 시 트리밍 또는 스레드 분할 제안 ### Search Tweets - 검색 문법: `from:username`, `to:username`, `keyword`, `#hashtag`, `keyword lang:ko` - 결과: 작성자, 텍스트, 날짜 형식으로 정리 ## Notes - Free tier: 500 posts/month - Rate limit 발생 시 사용자에게 안내