[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H6C08D2F3T8P4BHGS8F5MG":3,"skill-same:01M6H6C08D2F3T8P4BHGS8F5MG":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M6H6C08D2F3T8P4BHGS8F5MG","domain-fintech",null,"Use when building fintech apps. Keywords: fintech, trading, decimal, currency, financial, money, transaction, ledger, payment, exchange rate, precision, rounding, accounting, 金融, 交易系统, 货币, 支付","0xharryriddle\u002Fcodex-field-kit","0xharryriddle","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F100945007?v=4","01M6H686JV0QKZYP2RWG6B2B8T","harryriddle","01M6H686PVZ8JGKWEG7B3GM5PD",3,"MIT","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Farchive\u002Fupstream\u002Fchasebuild-agent-skills\u002Frust\u002Fskills\u002Fdomain-fintech\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"fintech","domain fintech","domain","use","trading","accounting","money","payment","transaction","exchange","currency","false","apps","ledger","2026-11-10 10:12:30",false,"---\nname: domain-fintech\ndescription: \"Use when building fintech apps. Keywords: fintech, trading, decimal, currency, financial, money, transaction, ledger, payment, exchange rate, precision, rounding, accounting, 金融, 交易系统, 货币, 支付\"\nuser-invocable: false\n---\n\n# FinTech Domain\n\n> **Layer 3: Domain Constraints**\n\n## Domain Constraints → Design Implications\n\n| Domain Rule | Design Constraint | Rust Implication |\n|-------------|-------------------|------------------|\n| Audit trail | Immutable records | Arc\u003CT>, no mutation |\n| Precision | No floating point | rust_decimal |\n| Consistency | Transaction boundaries | Clear ownership |\n| Compliance | Complete logging | Structured tracing |\n| Reproducibility | Deterministic execution | No race conditions |\n\n---\n\n## Critical Constraints\n\n### Financial Precision\n\n```\nRULE: Never use f64 for money\nWHY: Floating point loses precision\nRUST: Use rust_decimal::Decimal\n```\n\n### Audit Requirements\n\n```\nRULE: All transactions must be immutable and traceable\nWHY: Regulatory compliance, dispute resolution\nRUST: Arc\u003CT> for sharing, event sourcing pattern\n```\n\n### Consistency\n\n```\nRULE: Money can't disappear or appear\nWHY: Double-entry accounting principles\nRUST: Transaction types with validated totals\n```\n\n---\n\n## Trace Down ↓\n\nFrom constraints to design (Layer 2):\n\n```\n\"Need immutable transaction records\"\n    ↓ m09-domain: Model as Value Objects\n    ↓ m01-ownership: Use Arc for shared immutable data\n\n\"Need precise decimal math\"\n    ↓ m05-type-driven: Newtype for Currency\u002FAmount\n    ↓ rust_decimal: Use Decimal type\n\n\"Need transaction boundaries\"\n    ↓ m12-lifecycle: RAII for transaction scope\n    ↓ m09-domain: Aggregate boundaries\n```\n\n---\n\n## Key Crates\n\n| Purpose | Crate |\n|---------|-------|\n| Decimal math | rust_decimal |\n| Date\u002Ftime | chrono, time |\n| UUID | uuid |\n| Serialization | serde |\n| Validation | validator |\n\n## Design Patterns\n\n| Pattern | Purpose | Implementation |\n|---------|---------|----------------|\n| Currency newtype | Type safety | `struct Amount(Decimal);` |\n| Transaction | Atomic operations | Event sourcing |\n| Audit log | Traceability | Structured logging with trace IDs |\n| Ledger | Double-entry | Debit\u002Fcredit balance |\n\n## Code Pattern: Currency Type\n\n```rust\nuse rust_decimal::Decimal;\n\n#[derive(Clone, Debug, PartialEq)]\npub struct Amount {\n    value: Decimal,\n    currency: Currency,\n}\n\nimpl Amount {\n    pub fn new(value: Decimal, currency: Currency) -> Self {\n        Self { value, currency }\n    }\n\n    pub fn add(&self, other: &Amount) -> Result\u003CAmount, CurrencyMismatch> {\n        if self.currency != other.currency {\n            return Err(CurrencyMismatch);\n        }\n        Ok(Amount::new(self.value + other.value, self.currency))\n    }\n}\n```\n\n---\n\n## Common Mistakes\n\n| Mistake | Domain Violation | Fix |\n|---------|-----------------|-----|\n| Using f64 | Precision loss | rust_decimal |\n| Mutable transaction | Audit trail broken | Immutable + events |\n| String for amount | No validation | Validated newtype |\n| Silent overflow | Money disappears | Checked arithmetic |\n\n---\n\n## Trace to Layer 1\n\n| Constraint | Layer 2 Pattern | Layer 1 Implementation |\n|------------|-----------------|------------------------|\n| Immutable records | Event sourcing | Arc\u003CT>, Clone |\n| Transaction scope | Aggregate | Owned children |\n| Precision | Value Object | rust_decimal newtype |\n| Thread-safe sharing | Shared immutable | Arc (not Rc) |\n\n---\n\n## Related Skills\n\n| When | See |\n|------|-----|\n| Value Object design | m09-domain |\n| Ownership for immutable | m01-ownership |\n| Arc for sharing | m02-resource |\n| Error handling | m13-domain-error |\n","# FinTech Domain\n\n> **Layer 3: Domain Constraints**\n\n## Domain Constraints → Design Implications\n\n| Domain Rule | Design Constraint | Rust Implication |\n|-------------|-------------------|------------------|\n| Audit trail | Immutable records | Arc\u003CT>, no mutation |\n| Precision | No floating point | rust_decimal |\n| Consistency | Transaction boundaries | Clear ownership |\n| Compliance | Complete logging | Structured tracing |\n| Reproducibility | Deterministic execution | No race conditions |\n\n---\n\n## Critical Constraints\n\n### Financial Precision\n\n```\nRULE: Never use f64 for money\nWHY: Floating point loses precision\nRUST: Use rust_decimal::Decimal\n```\n\n### Audit Requirements\n\n```\nRULE: All transactions must be immutable and traceable\nWHY: Regulatory compliance, dispute resolution\nRUST: Arc\u003CT> for sharing, event sourcing pattern\n```\n\n### Consistency\n\n```\nRULE: Money can't disappear or appear\nWHY: Double-entry accounting principles\nRUST: Transaction types with validated totals\n```\n\n---\n\n## Trace Down ↓\n\nFrom constraints to design (Layer 2):\n\n```\n\"Need immutable transaction records\"\n    ↓ m09-domain: Model as Value Objects\n    ↓ m01-ownership: Use Arc for shared immutable data\n\n\"Need precise decimal math\"\n    ↓ m05-type-driven: Newtype for Currency\u002FAmount\n    ↓ rust_decimal: Use Decimal type\n\n\"Need transaction boundaries\"\n    ↓ m12-lifecycle: RAII for transaction scope\n    ↓ m09-domain: Aggregate boundaries\n```\n\n---\n\n## Key Crates\n\n| Purpose | Crate |\n|---------|-------|\n| Decimal math | rust_decimal |\n| Date\u002Ftime | chrono, time |\n| UUID | uuid |\n| Serialization | serde |\n| Validation | validator |\n\n## Design Patterns\n\n| Pattern | Purpose | Implementation |\n|---------|---------|----------------|\n| Currency newtype | Type safety | `struct Amount(Decimal);` |\n| Transaction | Atomic operations | Event sourcing |\n| Audit log | Traceability | Structured logging with trace IDs |\n| Ledger | Double-entry | Debit\u002Fcredit balance |\n\n## Code Pattern: Currency Type\n\n```rust\nuse rust_decimal::Decimal;\n\n#[derive(Clone, Debug, PartialEq)]\npub struct Amount {\n    value: Decimal,\n    currency: Currency,\n}\n\nimpl Amount {\n    pub fn new(value: Decimal, currency: Currency) -> Self {\n        Self { value, currency }\n    }\n\n    pub fn add(&self, other: &Amount) -> Result\u003CAmount, CurrencyMismatch> {\n        if self.currency != other.currency {\n            return Err(CurrencyMismatch);\n        }\n        Ok(Amount::new(self.value + other.value, self.currency))\n    }\n}\n```\n\n---\n\n## Common Mistakes\n\n| Mistake | Domain Violation | Fix |\n|---------|-----------------|-----|\n| Using f64 | Precision loss | rust_decimal |\n| Mutable transaction | Audit trail broken | Immutable + events |\n| String for amount | No validation | Validated newtype |\n| Silent overflow | Money disappears | Checked arithmetic |\n\n---\n\n## Trace to Layer 1\n\n| Constraint | Layer 2 Pattern | Layer 1 Implementation |\n|------------|-----------------|------------------------|\n| Immutable records | Event sourcing | Arc\u003CT>, Clone |\n| Transaction scope | Aggregate | Owned children |\n| Precision | Value Object | rust_decimal newtype |\n| Thread-safe sharing | Shared immutable | Arc (not Rc) |\n\n---\n\n## Related Skills\n\n| When | See |\n|------|-----|\n| Value Object design | m09-domain |\n| Ownership for immutable | m01-ownership |\n| Arc for sharing | m02-resource |\n| Error handling | m13-domain-error |\n",{"name":5,"description":7,"user-invocable":34},"main","6c13f6f4ac5a3bc1e6b78cd2bb1704f122c4a73e","archive\u002Fupstream\u002Fchasebuild-agent-skills\u002Frust\u002Fskills\u002Fdomain-fintech",0,"https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit","https:\u002F\u002Fgithub.com\u002F0xharryriddle","https:\u002F\u002Fharryriddle.vercel.app","2026-04-11 11:49:51",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add 0xharryriddle\u002Fcodex-field-kit --skill domain-fintech",{"tool":52,"command":53},"bunx","bunx skills add 0xharryriddle\u002Fcodex-field-kit --skill domain-fintech",{"tool":55,"command":56},"pnpm","pnpm dlx skills add 0xharryriddle\u002Fcodex-field-kit --skill domain-fintech","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Farchive\u002Fupstream\u002Fchasebuild-agent-skills\u002Frust\u002Fskills\u002Fdomain-fintech\u002FSKILL.md",true,[],[61,93,112,122,148,175],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":72,"publishedAt":33},"01M6H7ZKE6MR33HC84QZ1TA6MV","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Fskills\u002Fvercel-react-best-practices\u002FSKILL.md",[67],{"categoryNo":68,"categoryName":69,"taxonomyType":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92],"react best practices","react","vercel react best practices","best practices","vercel","tasks","data fetching","triggers","pages","next","performance optimization","refactoring","Next.js","Optimization","code","guidelines","react components","components","performance","writing",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":33},"01M6H7ZGC2WK8SEKYHWDNTMDA9","swarm-planner","[EXPLICIT INVOCATION ONLY] Creates dependency-aware implementation plans optimized for parallel multi-agent execution.","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Fskills\u002Fswarm-planner\u002FSKILL.md",[],[100,101,102,103,104,105,106,107,108,109,110,111],"swarm","swarm planner","planner","parallel","multi-agent","only","execution","plans","dependency","for","multi","implementation",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":33},"01M6H7ZD93853RZCYQWH1D38TM","super-swarm-spark","Only to be triggered by explicit super-swarm-spark commands.","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Fskills\u002Fsuper-swarm-spark\u002FSKILL.md",[],[119,100,120,105,121],"super swarm spark","spark","commands",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":33},"01M6H7Z987QBY49JCCPT953EAZ","role-creator","Create and install Codex custom agent roles in ~\u002F.codex\u002Fconfig.toml, generate role config files, enforce supported keys, and guide users through required role inputs (model, reasoning effort, developer_instructions).","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Fskills\u002Frole-creator\u002FSKILL.md",[],[129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"role","creator","role creator","keys","users","roles","toml","enforce","install","guide","instructions","model","developer","reasoning","generate","create","config","codex","files",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":157,"publishedAt":33},"01M6H7Z5TRPMDQ7YSZQXPN1G60","read-github","Read and search GitHub repository documentation via gitmcp.io MCP service.\n\n**WHEN TO USE:**\n- User provides a GitHub URL\n- User mentions a specific repo in owner\u002Frepo format\n- User asks \"what does this repo do?\", \"read the docs for X repo\", or similar\n- User wants to search code or docs within a repo","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Fskills\u002Fread-github\u002FSKILL.md",[154],{"categoryNo":155,"categoryName":156,"taxonomyType":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000023","Skill与智能体开发",[158,159,160,87,161,162,163,164,109,165,166,167,168,169,170,22,171,172,173,174],"github","read github","read","documentation","docs","MCP","search","when to use","URL","via","io","service","do","user","repo","format","repository",{"skillNo":176,"name":102,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":33},"01M6H7Z215CTKYJ4Y1X6EQWN6M","Create comprehensive, phased implementation plans with sprints and atomic tasks. Use when user says: \"make a plan\", \"create a plan\", \"plan this out\", \"plan the implementation\", \"help me plan\", \"design a plan\", \"draft a plan\", \"write a plan\", \"outline the steps\", \"break this down into tasks\", \"what's the plan for\", or any similar planning request. Also triggers on explicit \"\u002Fplanner\" or \"\u002Fplan\" commands.","https:\u002F\u002Fgithub.com\u002F0xharryriddle\u002Fcodex-field-kit\u002Fblob\u002Fmain\u002Fskills\u002Fplanner\u002FSKILL.md",[],[102,181,109,182,183,184,80,107,121,185,186,22,187,188,189,190,191,144,78,192],"outline","atomic","with","sprints","draft","me","write","phased implementation","plan","help","planning","design"]