product-writing
Write, edit, or review UI copy, CLI messages, help text, code comments, and technical documentation covering product behavior, errors, status, setup…
Skill by scarletkc
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/scarletkc-product-writing
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/product-writing
What's inside
- Skill name
product-writing- Description
- Write, edit, or review UI copy, CLI messages, help text, code comments, and technical documentation covering product behavior, errors, status, setup, compatibility, or technical results.
- License
- Apache-2.0
- Metadata
- author: scarletkc · source: https://github.com/scarletkc/agents · summary: Write accurate product copy and useful technical docs.
- Instructions
- 152 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- evals.json · evals/
SKILL.md (first lines)
# Product Writing Help the reader understand what is happening and what they can do next. ## Work from the task Use only the sections relevant to the requested copy. Preserve the user's meaning, terminology, audience, and requested format. Follow existing product conventions where they help readers recognize controls, commands, and states. A wording task does not itself authorize changes to product behavior or a reorganization of the documentation. Ground behavioral claims in supplied facts, the relevant implementation or specification, or an observed result. When a fact cannot be verified, identify that uncertainty where it matters and complete the parts that are supported. Do not invent behavior or a cause to make the text sound complete. ## Interface copy, errors, and help - **Name the action or state accurately.** Distinguish saving a setting from testing a connection, accepting a request from completing a job, and partial success from full success. For example, a queued export should not announce that a file is ready to download. - **Make recovery useful.** Identify what failed and the relevant input or operation. Include a next step when it is known and actionable. An unknown network failure does not establish that credentials are wrong. Put detail in the message, an expanded view, or a specific help link as the interface allows; an error need not fill a fixed template. - **Preserve meaningful distinctions.** Keep prerequisites, limits, and consequences that affect the reader's decision. Use the product's names for controls and commands. Do not shorten away which item an action affects or imply that an irreversible action is temporary. ## Status and diagnostic output - **Describe the state the label promises.** Effective settings account for runtime overrides; stored settings should be identified as such. If only the API key comes from the environment, label that field rather than the entire endpoint as environment-provided. - **Keep failure visible.** Distinguish unknown or unavailable values from empty, missing, or default values. If partial results are supported, identify what could not be checked. Follow the project's failure behavior instead of introducing a fallback merely to produce a message. - **Preserve output contracts.** Keep prose and decoration out of JSON, TSV, and other machine formats. Use existing diagnostic channels for explanations. Keep paths, IDs, and commands complete where users need to copy them, subject to the product's redaction rules. - **Give diagnostic views distinct jobs.** When a dedicated inspection command already provides all values and origins, a health summary can focus on deviations, failures, and their sources, with a pointer to full details. Without that separate view, preserve the values needed to investigate the problem. Fifteen normal `field: origin` rows can bury the two overrides that matter, but removing the only available configuration view loses information. Re-read adjacent labels to catch duplication such as `default (default)`. ## Documentation and technical explanations - **Give each page one responsibility.** A how-to completes an operation, a reference defines a contract, a design record explains choices, and a report presents findings and their basis. Put a section on the page that owns its reader question. When a page mixes independent tasks, separate them and leave a useful pointer at the boundary. An overview's responsibility is orientation: summarize the available paths and link to their details instead of becoming a second reference manual. - **Keep README sections focused.** The introduction identifies the product, its audience, and its purpose. Positioning explains why someone would choose it. Quick-start instructions give the shortest complete path to a useful result, including prerequisites, commands, and essential caveats. Full option catalogs, architecture explanations, and decision histories belong in their respective documents, linked from the relevant section. Do not turn a quick start into an architecture tour or a positioning section into a feature dump. Keep a compatibility warning beside the step it affects; moving background detail must not hide a condition needed to follow the instructions safely. - **Keep reasons near the decisions they support.** A setup step may need a short explanation of why a prerequisite matters. A long history of rejected designs usually belongs in a design record linked from the guide, unless that history is the page's purpose. Reports need enough method, source context, assumptions, and limitations for readers to assess the findings. - **Separate summaries from competing specifications.** Keep one maintained source for a detailed contract. A summary explains what the reader needs now; a second complete field table, default list, or precedence rule creates another specification to maintain. For example, a README can show a minimal configuration and link to the full schema instead of copying all seven fields into another table. Detailed repetition may be necessary for independently distributed artifacts; check how those copies stay synchronized. - **Plan how changeable facts stay correct.** Supported versions, pinned install commands, and compatibility limits may be necessary. Verify them against the maintained source, then check what will keep them aligned on the next change: generation, an existing release check, or an explicit maintenance responsibility. Avoid adding a second hand-maintained copy of a build ID, migration count, or current deployment version just to make a page self-contained. Prefer a pointer or generated value when the reader needs the current answer. Preserve version constraints that are part of the instructions; do not remove them simply because versions change. - **Distinguish records from live state.** A dated report can record the version and status actually observed, with the evidence and limits of that observation. A standing operational guide should direct readers to the command or dashboard that answers what is running now. A merged change alone does not establish deployment, and a successful deployment alone does not establish every health or verification claim. - **Make the next reference useful.** Link to the section, command, API entry, or symbol that answers the reader's question. For implementation details, `PROTOCOL_VERSION` is a useful pointer; a repository root leaves the reader to search again. For normal setup, prefer user-facing instructions. Keep caveats next to the steps they qualify and preserve working anchors. ## Comments and standalone artifacts Read titles, comments, and deliverables as someone who has not seen the working conversation. Remove abandoned options and temporary scope qualifications that make sense only in that conversation. An export button title does not need "without the bulk-download panel" if readers were never offered such a panel. Keep exclusions when they explain a real contract, compatibility limit, or tradeoff the reader needs; preserve history in documents requested to record it. Comments are most useful for reasons the code does not make apparent: ordering constraints, upstream defects, compatibility workarounds, and invariants a later edit could break. Explain an alternative when it is one a maintainer would reasonably reach for. For example, a comment explaining why a lock must be
From scarletkc/agents, Apache-2.0.
More from scarletkc/agents
- 0.798score
devin-cli
scarletkc
Delegate bounded coding tasks to the local Devin CLI over ACP from a supervising agent such as Claude Code or Codex.
SkillAFreshness: A★ 225Claude Code +9 - 0.794score
talk-like-scarletkc
scarletkc
按 scarletkc 本人的自然表达习惯代写、改写、润色和翻译文本,适用于推文、评论、聊天消息、模型或工具体验文、项目介绍、GitHub 文本和正式通信。用户要求撰写可直接使用的成稿、去除 AI 腔,或在翻译中保留本人语气和立场时使用,无需明确点名本 skill。单纯的事实问答、技术分析、代码审查和任务讨论不触发。
SkillAFreshness: A★ 225Claude Code +9 - 0.794score
x-content
scarletkc
为 X(Twitter)寻找值得发的素材、筛选选题、撰写和改进帖文或串,并从读者视角重读,改善吸引力、阅读连贯性和真实讨论空间。用户问 X 最近有什么可以发、想写一条有流量的帖文,或反馈 X 帖文太复杂、读不下去时使用。只调整个人语气或忠实翻译已有文本时不触发。
SkillAFreshness: A★ 225Claude Code +9 - 0.752score
grok-cli
scarletkc
Delegate bounded tasks to Grok Build from a supervising agent such as Codex.
SkillBFreshness: B★ 225Claude Code +9 - 0.748score
antigravity-cli
scarletkc
Delegate bounded investigation, review, or implementation tasks to Antigravity CLI from a supervising agent.
SkillBFreshness: B★ 225Claude Code +9 - 0.746score
worktree-pr
scarletkc
Decide whether a task deserves its own git worktree and, if chosen, run it end to end: branch from the integration branch rather than the current tree, keep…
SkillBFreshness: B★ 225Claude Code +9 - 0.746score
ux-writing
scarletkc
Judgment rules for user-facing text and docs: CLI and diagnostic output, error and help text, README and docs structure, code comments, titles, and generated…
SkillBFreshness: B★ 225Claude Code +9 - 0.746score
ask-to-plan
scarletkc
Guide a user from an unclear idea to an actionable plan through the agent harness's native ask tool and clickable choices.
SkillBFreshness: B★ 225Claude Code +9 - 0.746score
codex-cli
scarletkc
When handing work to the Codex CLI earns its cost, and how to size the run: second-model review, bounded implementation hand-offs, sandbox permissions, model…
SkillBFreshness: B★ 225Claude Code +9 - 0.746score
marketing-copy
scarletkc
Write outbound promotional copy for a product or project: launch and update posts for community platforms and social media, store page descriptions and short…
SkillBFreshness: B★ 225Claude Code +9 - 0.746score
scoped-change
scarletkc
Judgment rules for locating the correct boundary of a requested change: staying inert outside it while completing every required site inside it.
SkillBFreshness: B★ 225Claude Code +9
Signals
- Stars
- 225
- Forks
- 12
- Open issues
- 1
- Last commit (this folder)
- Sep 7, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/scarletkc/agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from scarletkc
- 0.798score
devin-cli
scarletkc
Delegate bounded coding tasks to the local Devin CLI over ACP from a supervising agent such as Claude Code or Codex.
SkillAFreshness: A★ 225Claude Code +9 - 0.795score
vexor-cli
scarletkc
Semantic file discovery via `vexor`.
SkillAFreshness: A★ 246Claude Code +9 - 0.794score
x-content
scarletkc
为 X(Twitter)寻找值得发的素材、筛选选题、撰写和改进帖文或串,并从读者视角重读,改善吸引力、阅读连贯性和真实讨论空间。用户问 X 最近有什么可以发、想写一条有流量的帖文,或反馈 X 帖文太复杂、读不下去时使用。只调整个人语气或忠实翻译已有文本时不触发。
SkillAFreshness: A★ 225Claude Code +9 - 0.794score
talk-like-scarletkc
scarletkc
按 scarletkc 本人的自然表达习惯代写、改写、润色和翻译文本,适用于推文、评论、聊天消息、模型或工具体验文、项目介绍、GitHub 文本和正式通信。用户要求撰写可直接使用的成稿、去除 AI 腔,或在翻译中保留本人语气和立场时使用,无需明确点名本 skill。单纯的事实问答、技术分析、代码审查和任务讨论不触发。
SkillAFreshness: A★ 225Claude Code +9 - 0.770score
Vexor
scarletkc
A semantic search engine for files and code.
ConnectorAFreshness: ALocal★ 246↓ 123/wkClaude Code +5 - 0.752score
grok-cli
scarletkc
Delegate bounded tasks to Grok Build from a supervising agent such as Codex.
SkillBFreshness: B★ 225Claude Code +9
Cite this page
product-writing skill. Agent Mart. https://agentmart.dev/skills/scarletkc-product-writing (last updated 2026-10-24)