一键导入
spinder-bucket-management
Create and manage expense categorization buckets in the Spinder app, including filtering logic and data aggregation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create and manage expense categorization buckets in the Spinder app, including filtering logic and data aggregation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create new Lit-based components for the Spinder expense tracking app, following the project's coding standards and architecture patterns.
Debug issues in the Spinder expense tracking app, including transaction processing, UI rendering, and data flow problems.
Create, dispatch, and listen to custom events in the Spinder app using the Zod-validated event system.
Create new pages and routes in the Spinder application, following the routing architecture and page component patterns.
Handle CSV parsing, transaction validation, and data processing for the Spinder expense tracking app.
Create new Zod-based type definitions for the Spinder expense tracking app, following the project's type organization patterns.
| name | spinder-bucket-management |
| description | Create and manage expense categorization buckets in the Spinder app, including filtering logic and data aggregation. |
This skill helps implement and optimize the bucket system for categorizing expenses in the Spinder application, enabling users to organize and analyze their spending patterns.
Use this skill when you need to:
Each bucket contains:
name: Human-readable category namefilterTexts: Array of strings to match against transaction descriptionstransactionCount: Number of matching transactions (computed)totalAmount: Sum of amounts from matching transactions (computed)Transactions are matched to buckets using:
filterTextsfunction matchTransactionToBucket(transaction: Transaction, buckets: Bucket[]): Bucket | null {
for (const bucket of buckets) {
for (const filterText of bucket.filterTexts) {
if (transaction.description.toLowerCase().includes(filterText.toLowerCase())) {
return bucket;
}
}
}
return null; // Unmatched transactions
}
Calculate metrics such as: