一键导入
currency-display-standards
Centralized rules for currency formatting, including spacing, symbol sizing, and code formats.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Centralized rules for currency formatting, including spacing, symbol sizing, and code formats.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guidelines for managing Varisankya releases across Beta and Production tracks.
How to safely record extra payments without advancing the Varisankya subscription next due date.
Instructions for extracting the Play Store upload keystore, Firebase JSON, and passwords from Bitwarden.
Standard operating procedure for concluding an AI agent session and ensuring workspace integrity.
Guidelines for compiling Varisankya from the CLI without Android Studio.
How to correctly handle custom dates for extra subscription payments using MaterialDatePicker.
| name | Currency Display Standards |
| description | Centralized rules for currency formatting, including spacing, symbol sizing, and code formats. |
This skill defines the visual hierarchy and formatting rules for all currency displays in Varisankya.
Standard Spacing: A non-breaking space MUST exist between the currency symbol/code and the numeric amount.
$ 120.00KES 4,500Adaptive Sizing: The currency symbol or 3-letter code MUST be rendered at exactly 50% of the amount's text size.
KES) from overwhelming the UI.Symbol Format: All currencies should use the "CODE Symbol" format for selection and settings, but only the Symbol/Code for inline displays.
USD $, INR ₹, KES KSh$ 120, KES 450Use CurrencyHelper.formatCurrency(context, amount, code) to get a SpannableStringBuilder with the correct 50% RelativeSizeSpan applied.
fun formatCurrency(context: Context, amount: Double, currencyCode: String): CharSequence {
val symbol = getSymbol(currencyCode)
val formattedAmount = // ... format to 0 or 2 decimals
val fullText = "$symbol $formattedAmount"
val spannable = SpannableStringBuilder(fullText)
spannable.setSpan(RelativeSizeSpan(0.5f), 0, symbol.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
return spannable
}
When using AnimationHelper.animateTextCountUp, the prefix MUST contain the trailing space (e.g., "$symbol "). The animator logic should automatically detect this and apply the RelativeSizeSpan during every frame update.