config/agents/skills/tone/SKILL.md
Use when the user asks for help drafting a GitHub PR description, a PR review comment, or a Slack post in their own tone (i.e., their personal writing voice). The skill detects the context (formal for PR / review, casual for Slack) and target_type (pr_description, pr_review, slack), drafts the body with an explicit reflection step that avoids verbose, mechanical phrasing, and stages the draft to `~/.local/state/tone/drafts/` via `tone-stage-draft.sh`. The user later runs `/tone-capture <url>` after posting, which pairs the staged draft with the final body to build a corpus for future tone tuning. Trigger especially when the user mentions PR description, PR review comment, Slack post, または「文を書いて」「文面を作って」「自分らしく」「トーン」「tone」.
npx skillsauth add kumewata/dotfiles toneInstall 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.
GitHub PR description / PR レビューコメント / Slack 投稿のドラフトを生成しつつ、(draft, final) ペアコーパス構築のために draft をローカルにステージングする。Phase 1 では capture と編集アシストに専念し、Phase 2(few-shot 注入や style rule 抽出)は corpus が育ってから設計する。
| 状況 | context | target_type |
| -------------------------------------------------------------------------------------- | -------- | ---------------- |
| GitHub PR の description を書いて欲しい / 更新して欲しい | formal | pr_description |
| GitHub PR にレビューコメントを書いて欲しい(inline / toplevel / submit body どれでも) | formal | pr_review |
| GitHub Discussion の本文 / コメント / 返信を書いて欲しい | formal | discussion |
| Slack に投稿する文面を書いて欲しい(チャンネル投稿、スレッド返信、DM) | casual | slack |
判別が難しいときはユーザーに 1 問だけ確認する。context と target_type の組み合わせ制約:
formal → pr_description / pr_review / discussioncasual → slack 一択以下のものは tone corpus を汚すだけなので発動しない:
draft 生成前に以下を内省する:
pr_description は淡々と、pr_review は率直だが委譲色を残し、slack はくだけた口調で短く。pr_review では本題に入る前に 1 文置く(「対応ありがとうございます」「以前からの課題なのでこの PR では approve です」「先日と似た対応なのですが」など)。冷たい入りを避ける。[nits] / [imo] を first choice にする。[want] [info] は強すぎる/業務指示色が出るのでこの corpus では避ける傾向。重大度が高い指摘でも [imo] でいったん投げる。formal でも要所で🙆♂️🙋🙏を使う。1 投稿に 1〜2 個まで。pr_description は装飾控えめ、pr_review の approve や別案提示で🙆♂️🙋、slack の依頼で🙏が典型。pr_description では見出しを使う。pr_review では原則使わない。slack で相談・依頼を投げるときは # やりたいこと # 相談したいこと 等の見出しを使ってよい(announcement ではなく対話/相談として組み立てる)。**...**) は基本使わない(plain text に倒す)。技術用語は素のままより日本語混じりを好む傾向: catalog→カタログ、principal→プリンシパル、bucket policy→バケットポリシー、folder→フォルダ。コード片のバッククォートも final では外されることが多いので、識別子レベルなら付けず、文中で識別子と地の文が紛れるときだけ付ける。slack の draft は「announcement(変更告知 + PR 添付 + 副作用説明)」になりがちだが、実投稿は 対話/相談 形式に倒れる。以下を必ず含める:
@mention(必要なら複数人):pray: / :ok_woman: 等の :emoji: を 1〜2 個draft 本文が固まったら、tone-stage-draft.sh に渡してステージングする。
~/.claude/scripts/tone-stage-draft.sh \
--context <formal|casual> \
--target-type <pr_description|pr_review|discussion|slack> \
--target-hint "<元のユーザー依頼を 1 文で要約>" <<'DRAFT'
<draft 本文>
DRAFT
スクリプトは成功時に draft_id だけを stdout に返す。この draft_id を保持して、ユーザーへの応答末尾の notice に埋める。
draft 本文をユーザーに提示したあと、必ず 末尾に以下の notice を添える:
📝 staged as <draft_id>. After posting, run /tone-capture <url>
Slack の場合は注釈を 1 行追加する:
(Slack の URL は `<workspace>.slack.com/archives/<channel>/p<ts>` 形式の permalink を使う。/tone-capture が MCP 経由で final 本文を取得する。)
~/.local/state/tone/ は tone corpus 専用のローカルディレクトリ。git 管理外で、機微情報を含む可能性がある。/tone-capture <url> を叩く。/tone-status 実行時に 30 日 TTL で GC される。tools
Use when creating a new skill or making a substantial change to an existing skill and you also need to design, update, or review Waza-based executable evaluations. This includes deciding whether Waza is warranted, mapping `evals.json` cases into Waza tasks, choosing fixtures and graders, selecting a valid model with `waza models --json`, and running a local-first `waza run` workflow. Do NOT use for installing the Waza CLI itself or for general skill-authoring advice that does not involve Waza; use `skill-creator` for skill design and this skill for the Waza execution layer. Trigger especially when the user mentions Waza, `waza run`, `waza models`, executable evals, compare, graders, fixtures, or wants to validate a skill change with model-backed evaluation.
tools
Use when the user wants Codex to ask Claude Code for a second opinion or review on code, docs, diffs, PR changes, or design notes without modifying files. This delegates bounded review-only analysis through the Claude Code CLI (`claude -p`). Do NOT use for implementation or file edits; keep this skill review-only. Trigger especially when the user says ask Claude, ask Claude Code, cc-delegate, Claude review, second opinion from Claude, compare Codex and Claude, or review this diff/document with Claude Code.
tools
Airflow DAG development skill for writing, reviewing, testing, and debugging Apache Airflow workflows. Use whenever the user mentions Airflow, DAGs, tasks, operators, sensors, schedules, retries, catchup, DAG import errors, DAG parse performance, or workflow orchestration in Python. Also use for Amazon MWAA / Managed Workflows for Apache Airflow work, including MWAA DAG deployment, requirements.txt, plugins.zip, aws-mwaa-docker-images, S3 DAG folders, CloudWatch logs, and MWAA-specific dependency or IAM issues.
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.