本文へ移動
cccskills
無料GitHub で公開日本語紹介

ui-copy

ボタンやエラー、設定画面などの英語文言を、利用者が意味と次の行動を理解できる表現に整え、用語・表記・操作案内の一貫性を保ちながら作成・レビューするスキル。

原文原文の説明を見る

Copy rules for every user-visible string in riptide-ui, riptide-cloud, packages/ui, and server strings that reach a toast. ACTIVATE when adding, changing, or reviewing a button, menu item, dialog, toast, error, empty state, placeholder, tooltip, aria-label, setting, hotkey description, banner, or onboarding text. Not for apps/docs, the CLI, or comments.

humanlayer/humanlayerスター 12,707(GitHub 12,707 + cccskills 0)
連携ツールJira

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • ボタンやメニューの文言を作りたいとき
  • エラーと対処方法を分かりやすくしたいとき
  • 用語と表記のばらつきを確認したいとき
  • 空画面や読み上げ用ラベルを見直したいとき

日本語での紹介

できること

ボタン、メニュー、エラー、通知、設定など、画面に表示する英語の文言を作成・レビューします。内部の処理状況を説明するだけでなく、利用者にとっての意味と次の行動が伝わる表現に整えます。大文字・小文字、句読点、数字、キー表記、製品用語に加え、読み上げ用のラベルにも具体的な規則があります。

こんなときに便利

画面ごとに呼び方が違う、エラーを読んでも対処が分からない、といった文言を見直す場面に向いています。既存文言では表記上の誤りと語り口の判断を分け、必要な箇所だけを修正します。意図のある個性的な表現を一律に書き換えない方針も示されています。

使い方の例

「このエラーを、作業への影響と次の操作が分かる文にして」「ボタンと設定項目の表記を確認して」「空の一覧に表示する案内と読み上げ用ラベルを見直して」と依頼します。

注意点

対象は riptide-ui、riptide-cloud、packages/ui と、画面の通知に届くサーバー側の文言です。apps/docs、CLI、コメントは対象外です。HumanLayer 固有の用語集を含み、宣伝文句や主要な見出しは事実誤認がない限り対象外です。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

資料チェック

SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。

安全面送信・削除・コマンド実行などの扱いが明示されているか
A良好文言の作成・レビューを扱い、外部送信や破壊的操作は記載されていない。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
B一部不足対象リポジトリとHumanLayer用語集は示されるが、導入手順や要件はない。

点数には入れていません。 2026年10月29日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(1)

  • SKILL.md14.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

First rule: write to the person, never about the system. Every string answers "what does this mean for me and what can I do now?", never "what state is the code in?". A string that narrates internal state, preconditions, or implementation progress is a log line, not copy, even when it is accurate. Before any rule below, reread the string as the user and ask what they would do next. Workspace setup is running independently. No session has started. → Setting up your workspace. Your session starts when it finishes. Worktree configuration is required to use "Now". → Add a workspace config to create worktrees now. Task creation sync timed out → Could not confirm the task was created. Check the task list before retrying. Comment sync still loading → Comments are loading. Workspace setup row is parked on an error → Workspace setup failed. Converging, Delivery rejected: … → never.

Voice: a competent colleague at the next desk. Says the actual thing, names the key, admits limits. Never apologizes, sells, or shouts. Model string: Updating will interrupt 3 active sessions on this device. Finish your work before updating, or choose Later.

Changing a string that already ships

Writing a new string: apply everything below. Changing one that exists: read this first. A rule matching a line is not on its own a reason to rewrite it.

  • Two kinds of finding. Mechanical — a raw enum, Title Case, ..., ENTER, (s), an internal name, Failed to, "please", a dead route. One right answer, no taste, fix it. Voice — hero lines, warnings, tips, empty states, anything with a deliberate point of view. Here the rule is a prompt to look, not a verdict.
  • Change the defect, not the sentence. If one word is wrong, fix that word. …how Riptide queries data… You probably don't want to mess with these. needed Riptide → HumanLayer and nothing else.
  • If the rewrite is only more conformant, stop. It must be clearer, more honest, or more useful to the reader. "Now it follows the guide" is not a benefit anyone experiences.
  • Never bulk-rewrite voice. Mechanical findings batch; voice findings go one at a time, with the tension named, for a person to decide. An audit that proposes 180 rewrites has stopped reading and started matching.
  • Hero and marketing copy is out of scope unless it is factually wrong. The install page and the composer headline are written on purpose.
  • When you are unsure which kind you have, it is voice. Leave it and say why you looked.

Mechanics

  • Sentence case everywhere: buttons, titles, headings, menu items, labels, badges, tabs, toasts.
  • Proper nouns keep casing: HumanLayer, HumanLayer Cloud, Claude Code, Codex, Fold, GitHub, Linear, Jira, Slack, Stripe, macOS, Starter/Pro/Enterprise, RPI, PRD, TDD.
  • Feature names are common nouns: fast mode, bypass permissions, auto-accept edits, multiplayer prompting, advanced metrics, commit tracking.
  • Never uppercase in the source string: write Needs approval, not NEEDS_APPROVAL; DENY → Deny. Rendering is then a CSS decision in one place, and the default is not to uppercase. The terminal-style caps on badges and eyebrows accreted rather than being designed, and the app reads better without them; keep them only where a surface earns it.
  • Never render a raw enum (needs_approval, xhigh). Add a label map first.
  • Full sentences end with a period. Fragments (buttons, labels, badges, placeholders, toast titles, headings, hotkey descriptions) do not.
  • Ellipsis is …, only on in-progress labels: Saving…. Never ..., never on placeholders.
  • Em dash with spaces for a consequence. · between status facts (This device · online). → for sequences. – for ranges (2–4×). Oxford comma. Straight quotes.
  • No !. & only in a compact two-verb button (Interrupt & send); prose uses "and". No + in prose.
  • Address the user as "you".
  • Actor: you do what you click (install the GitHub App, connect Linear, start a daemon). The agent does the work in a session (fixes, implements, opens a pull request). HumanLayer only does what happens on its own with no click (syncs, checks this device, sends a notification). Otherwise no subject: Could not save draft. Connect GitHub so the agent can open pull requests. HumanLayer checks this device before your first task.
  • Never the company "we" — a faceless narrator reporting or apologising: We couldn't fetch your organizations, Something went wrong on our end, we'll investigate. Rewrite with no subject or with HumanLayer as the subject.
  • The collaborative "we" — you and the agent, as a pair — is allowed, and only in the composer where that pairing is literally what is happening: What should we build today? stays. Do not extend it to status, errors, or settings.
  • Never "please", "sorry", "successfully", "just", "simply", "Something went wrong", "Are you sure". No roadmap hedges: "currently", "not yet", "coming soon". yet in an empty-state fact (No tasks yet) is fine.
  • Do not sand off personality. A line with a point of view is not a defect. You probably don't want to mess with these is doing a real job; flattening it to Change these only when asked to is the machine talking. Fix what is wrong in a line (an internal name, a raw enum) and leave the rest alone. If a rewrite is only blander, do not make it.
  • Use contractions (can't, don't, isn't). The one exception is cannot in irreversibility warnings: This action cannot be undone.
  • No internal names (Riptide, CodeLayer, Launcher V3, Projects V2, Phase 5, route paths, ISO timestamps, WorkOS).
  • Digits, real plurals (1 session, 2 sessions, never (s)), thousands separators. Zero is a word: No sessions, not 0 sessions.
  • Time: relative in lists (3 min ago, yesterday), absolute in the tooltip (Sep 10, 2026, 15:04), durations as 2m 3s.
  • Truncate the end of a title and the middle of a path (~/code/…/riptide-ui). Never truncate a number or a key.
  • Keys: ⌘ ⇧ ⌥ / Ctrl Shift Alt, joined with +, Enter, Esc, uppercase letters. Always give the non-mac form. Never Cmd, ENTER, ↵, ⌃. A key is a keycap element next to the label, never typed into the label string. In this document a key shown after a label means a keycap.

Session status labels

valuelabel
draftDraft
ready_for_launchQueued
waiting_for_workspacePreparing workspace
launching, resumingStarting
runningRunning
ready_for_inputIdle
needs_approvalNeeds approval
interrupt_requestedInterrupting
interruptedInterrupted
failedFailed
lostStalled

Shapes

typeshapeexample
Button, menu itemverb + object; bare verb when the object is the dialog subject; in-flight = gerund + …Create task, Delete, Creating…. Not OK, Yes, Submit, Confirm, Got it
Success toasttitle = object + past participle; partial success: title names the win, description the missDraft saved. Token created / The token list could not be refreshed.
Error1 what happened Could not <verb> <object> 2 what it means for your work 3 what to do or an action buttonCould not send. Your draft was restored. Not Failed to, Unable to, Error, Unknown error
Blocked statethe precondition as an instructionConnect a host to launch
Integration promptConnect <Product> to <payoff>; payoff is one clause naming what appears or what the agent can do; optional cost hint as status factsConnect GitHub to see pull requests and checks here · about a minute · opens github.com
Capability limitlimit + alternativeTerminal is not available for sessions on remote hosts.
Permission denialwho can fix itOnly organization admins can manage billing. Ask an admin.
Retryonly when it can succeed, with a how or when; never bare Please try again.Refresh billing and try again.
Raw backend textnever a title; description or Show details
Confirm dialogtitle <Verb> <object>?; body = consequence, what is preserved, undoable?; confirm = title verb; Cancel + Esc; confirm = ⌘+EnterArchive project? / Existing workspaces are not deleted. / Archive
Reversible actionno dialog; undo toastSession archived + Undo Z
Warninglist the consequences; never an intensifiernot Use with extreme caution!
Empty statefact, then what fills it or what to do, with keyNo tasks yet / Create a task to organize your sessions + Create task T
Loadingname the work or actorCreating worktrees…, Asking the agent…; plain Loading… only when nothing more is true
Step listshort noun phrase; states Pending / In progress / Complete / Failed / SkippedPrepare launch
Placeholdernoun phrase, instruction, or format example; no …, no period; a key hint is keycap + textSearch tasks, you@company.com, ENG-123 or a Linear issue URL, Enter to start typing
Setting labelnoun phrase, not Enable XDefault coding agent
Setting descriptionone sentence: on, and off if not the obvious inverse; experiments say what changes and what does notSend all queued messages together as soon as the session is ready. Turn off to send one at a time.
Org lockYour organization has turned this off.
Tooltip (icon button)action label + keycapToggle terminal ⌘+T
Tooltip (explainer)one or two full sentences
aria-label (control)verb + object, no key, no periodCopy file link
aria-label (region)noun phraseDocument outline
Toggle state (aria){label}: on / : off
Hotkey descriptionverb + object, no articleOpen command palette. Reuse hotkeysCatalog.ts wording
Bannertitle fragment + one-sentence body; route non-admins to a personPayment overdue / Update billing details to avoid blocked writes.
Notification toasttitle = event; body = session or task; action = verb + keyNeeds approval / Jump to session ⌘+⇧+J
Money, ratesas charged$3.84 / commit, 2–4×

Glossary

conceptusenot
productHumanLayer; HumanLayer CloudRiptide, CodeLayer, Codelayer, the app, the application
unit of worktaskticket (= the Linear/Jira issue), project
one agent runsessionconversation, chat, run
unlaunched task/sessiondraft, Untitled draftUntitled session
reusable repo recipeprojectworkspace, recipe
session output documentartifactdocument, doc, file
repo file or attachmentfileartifact
per-task checkoutworkspace, workspace setupworktree setup
git worktreeworktreeworkspace
top-level panetabworkspace
machine that runs sessionshost; this device; remote hostcomputer, machine, worker, daemon host, locally
process on a hostdaemon (only when starting, stopping, installing)host
the AI in prosethe agent; coding agent (category); subagentClaude, bot, model, sub-agent, assistant
the AI as an identity label (speaker, badge, picker)the product name: Claude Code, Codex, Foldclaude code, codelayer
tenantorganizationorg, team, workspace
people in itmember; teammates when invitinguser
rolesadmin, member; owner (of a task/artifact)administrator, org admin
tool-call decisionapprove / deny; allow (standing rule)accept, reject
hide reversiblyarchive / unarchiveun-archive, remove
to trashdeletearchive, dismiss
close a nudgedismissdelete, hide
thread lifecycleresolve / reopenmark as resolved, close
comments to agentsend to agent; send and resolvecopy for agent (= clipboard)
permission modesbypass permissions, auto-accept edits, manualYOLO, Auto-Accept, default
priority tierfast modeFast Mode, priority-tier
reasoning budgeteffortreasoning effort
GitHub PRpull request (prose), PR (labels)merge request
metricsTeam metrics, Advanced metrics, cost per commit, cost per 1,000 lines changedkLOC
filesystem locationdirectory; path (the string)folder

Open product decisions, do not add a third name: the codelayer agent option is labelled Codex, shows as CodeLayer in badges, and becomes Fold under a flag; workflows have two label sets (RPI / PRD / TDD / Freeform / Exploratory and Small / Medium / Large / Exploratory).

Rewrites

beforeafter
Failed to approveCould not approve the tool call. The agent is still waiting.
We couldn't fetch your organizations. Please check your connection and try again.Could not load organizations. Check your connection and retry.
Something went wrong on our end. Please try again later.Could not reach HumanLayer. Try again in a moment.
An unexpected error occurred. The error has been reported and we'll investigate the issue.This page could not be rendered. The error has been reported. + Try again
User role updated successfully / Draft saved!Role updated / Draft saved
APPROVE & DON'T ASK AGAINApprove and don't ask again
Use with extreme caution!The agent will edit files, run commands, and call tools without asking. Turn it off any time with ⌥+Y
ENTER to start typing...Enter to start typing
No hosts available. Please start a daemon first.No hosts online. Start a daemon to launch sessions.
Organization created, but 2 invite(s) failed. Manage invitations at /admin/invitationsOrganization created, but 2 invitations were not sent. + Manage invitations
Agent delivery is added in Phase 5remove the control until it ships

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

agent-browser

無料概要あり

Webページの移動やフォーム入力、クリックをエージェントに任せ、情報抽出や画面保存、操作前後の比較まで行います。ブラウザ作業の自動化やWebアプリの確認に使えるスキル。

  • フォーム入力やクリックを自動化したいとき
  • Webページのテキスト抽出
  • ページのスクリーンショット・PDF保存
humanlayer/humanlayer1.3万2026年10月29日 更新

asd-ste100

無料概要あり

曖昧で読みにくい英文を、語の意味をそろえた短い能動態の文へ書き直すスキル。指示文やツール説明を見直し、修正理由と変更前後を表で確認できます。

  • 別のエージェントへの英文指示の明確化
  • 英語のツール説明やエラー文の簡素化
  • 英語を母語としない読者向けの文章整理
humanlayer/humanlayer1.3万2026年10月29日 更新

better-github-skill

無料概要あり

GitHubのPRの状態、レビューの会話、CI失敗のログを専用スクリプトで収集し、変更の確認状況や未解決の指摘、失敗したジョブとステップを調べるスキル。

  • PRの状態をまとめて確認したいとき
  • 未解決のレビューの会話の確認
  • CIの失敗ジョブとステップの調査
humanlayer/humanlayer1.3万2026年10月29日 更新

bump-version

無料概要あり

リリース時に対象パッケージの基準バージョンを更新し、関連ファイルの同期と生成結果を検証して、コミットからPRブランチへのプッシュまで進めるスキル。

  • リリース用のバージョンを更新したいとき
  • 関連ファイルのバージョン表記の同期
  • プッシュ前の生成バージョン検証
humanlayer/humanlayer1.3万2026年10月29日 更新

calldiff

無料概要あり

Git のコミット間や作業中のコードで、関数の呼び出し構造の違いを確認します。呼び出しツリーの表示や、指定した関数へ至る経路の調査にも使えます。

  • 変更前後の関数呼び出しを比較したいとき
  • ブランチ間の呼び出し構造レビュー
  • 起点から目的の関数への経路調査
humanlayer/humanlayer1.3万2026年10月29日 更新

chrome-devtools-cli

無料概要あり

ターミナルからブラウザのクリックや入力、ページ移動を自動化し、通信やエラー、表示速度も調べられる、Chrome DevToolsのCLI操作を支援するスキル。

  • フォーム入力やページ移動の自動化
  • ページや要素の画面撮影
  • 通信内容やコンソールエラーの調査
humanlayer/humanlayer1.3万2026年10月29日 更新

humanlayer のスキルをすべて見る

このスキルの問題を報告する