agentsclimarketplace

Writing

Skill OPN48/skills-apple-human-interface-guidelines/skills/apple-human-interface-guidelines/writing

iOS写作规范,包含文案风格、大小写、常用术语。Invoke when writing UI text or copy for iOS/Android app.From its SKILL.md

Install
npx -y skills add OPN48/skills-apple-human-interface-guidelines --skill writing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.4 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

iOS Writing - 写作指南

基于 Apple Human Interface Guidelines 的界面写作规范。

核心原则

简洁

  • 快速切入要点
  • 使用短句和常用词
  • 避免不必要的词(the, a, an, that)

友好语气

  • 就像与用户对话
  • 使用缩写
  • 避免术语和技术缩写
  • 界面中避免"please"(除错误消息外)

主动语态

  • 更清晰直接
  • 错误消息尤其重要

直接称呼

  • 使用"你"和"你的"
  • 更个人化

避免 condescension

  • 避免 simply, just, obviously, merely
  • 不要让人感到被催促或愚蠢

一致性

  • 相同概念使用相同词
  • 帮助用户建立心智模型

大小写规则

句式大小写 (Sentence Case)

用于大多数UI文本:

  • 正文
  • 标签
  • Tab名称
  • 按钮标签
  • 菜单项
  • 工具提示

标题大小写 (Title Case)

用于:

  • 窗口标题
  • 导航栏标题
  • Table View Section Headers
  • 一些大型字体处理
  • 专有名词(包括应用名称)

按钮大小写

  • 首字母大写,所有主要词大写
  • 不大写介词(at, for, by, from, in, of, on, to, up, as)
  • 除非是第一个或最后一个词

常见术语

UI 元素

元素术语
Action sheetAlert
Activity view-
AlertAlert
Button按钮
Menu菜单
Navigation barNavigation Bar
Search barSearch Bar
Tab barTab Bar
Table viewTable View
Text fieldText Field
ToolbarToolbar
WindowWindow

手势

手势术语
点击Tap
长按Touch and hold / Long press
滑动Swipe, Swipe up/down/left/right
滚动Scroll up/down/left/right
拖动滑块Drag the slider
缩放Pinch to zoom
旋转Rotate

错误消息

原则

  • 解释发生了什么
  • 说明如何解决
  • 主动语态
  • 避免责备

示例

不好的好的
Invalid email address.Enter an email address in the format: [email protected].

本地化注意

空间

  • 某些语言需要多30%空间
  • 避免长无间断字符串

RTL

  • 自动翻转
  • 使用系统元素

文化

  • 避免俚语
  • 避免文化特定引用

Android 适配

字符串资源

<!-- strings.xml -->
<string name="welcome">Welcome!</string>
<string name="enter_password">Enter your password</string>
<string name="delete_confirm">Delete this item?</string>
<string name="loading">Loading…</string>
<string name="error_generic">Something went wrong. Please try again.</string>

格式化字符串

<string name="welcome_user">Welcome, %1$s!</string>
<string name="item_count">%1$d items selected</string>

复数形式

<plurals name="item_count">
    <item quantity="one">%d item</item>
    <item quantity="other">%d items</item>
</plurals>

按钮文字

<!-- 使用动词 -->
<string name="action_done">Done</string>
<string name="action_cancel">Cancel</string>
<string name="action_delete">Delete</string>
<string name="action_edit">Edit</string>
<string name="action_save">Save</string>

避免

<!-- 避免 -->
<string name="error_occurred">An error has occurred.</string>

<!-- 使用 -->
<string name="error_generic">Something went wrong.</string>

大小写应用

<!-- 按钮:首字母大写 -->
<string name="btn_submit">Submit</string>
<string name="btn_cancel">Cancel</string>

<!-- 标签:句式大小写 -->
<string name="label_username">Username</string>
<string name="label_password">Password</string>

<!-- 标题:标题大小写 -->
<string name="title_settings">Settings</string>
<string name="title_profile">Profile</string>

占位符

<!-- 输入框提示 -->
<string name="hint_email">Email address</string>
<string name="hint_password">Password</string>
<string name="hint_search">Search</string>

辅助功能

<!-- ContentDescription 用于图片 -->
<ImageView
    android:src="@drawable/ic_menu"
    android:contentDescription="@string/menu" />

<!-- LabelFor 用于输入框 -->
<TextView
    android:id="@+id/label_email"
    android:text="@string/label_email"
    android:labelFor="@+id/input_email" />

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,629. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.