npx claudepluginhub pokuding/my-harness --plugin my-harnessThis skill uses the workspace's default tool permissions.
프로젝트별 API 토큰을 `.harness/config.env`에 저장한다 (gitignored, 로컬 전용).
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
프로젝트별 API 토큰을 .harness/config.env에 저장한다 (gitignored, 로컬 전용).
.harness/config.env가 존재하면 Read한다. 저장된 키 목록을 사용자에게 보여준다 (값은 마스킹). 파일이 없으면 "설정이 없습니다"라고 안내한다.
사용자에게 질문한다: "어떤 서비스를 설정하시겠습니까? 1. Slack 2. 종료"
Slack을 선택하면 질문한다: "Slack Bot Token (xoxb-...) 또는 User Token (xoxp-...)을 입력하세요:"
입력값이 xoxb- 또는 xoxp-로 시작하는지 검증한다. 아니면 다시 요청.
SLACK_BOT_TOKEN으로 저장SLACK_USER_TOKEN으로 저장질문: "Slack List URL을 등록하시겠습니까? (선택사항, 나중에 추가 가능)"
등록한다면: "Slack List URL을 입력하세요 (https://...slack.com/lists/T.../F...):"
입력값이 https://*.slack.com/lists/*/F* 패턴과 일치하는지 검증한다. 아니면 다시 요청.
SLACK_LIST_URL로 저장.
Write 도구로 프로젝트 루트의 .harness/config.env를 생성하거나 업데이트한다.
형식: 한 줄에 KEY=value 하나씩. 파일 상단에 주석 추가: # DO NOT COMMIT - this file is gitignored.
파일이 이미 있으면 해당 키만 업데이트하고 다른 항목은 보존한다.
.harness/가 .gitignore에 있는지 확인한다. 없으면 추가한다.
저장된 키 이름을 보여준다 (값은 마스킹). /slack-plan을 실행할 수 있다고 안내한다.