[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EA3FVVWN96E89DEVF1G4BX":3,"skill-same:01M6EA3FVVWN96E89DEVF1G4BX":74},{"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":28,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6EA3FVVWN96E89DEVF1G4BX","oc-finance-skill",null,"Personal finance memory layer.","luokai0\u002Fai-agent-skills-by-luo-kai","luokai0","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F266954973?v=4","01M6E16VNT42JB8B3X3254QWJ7","luo kai","01M6E16VTFVP6S5XJF1V1MPV90",14,"MIT","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F18-ai-agents-and-automation (by Luo Kai)\u002F11-financial-agents\u002Foc-finance-skill\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[29,30,31,32,33,34,35],"finance","oc finance skill","personal","python","memory","Tools","personal finance","2026-11-10 10:12:30",false,"---\nauthor: luo-kai\nname: oc-finance-skill\nversion: 1.0.0\ndescription: Personal finance memory layer.\nlicense: MIT\nmetadata:\n  author: luokai0\n  version: \"1.0\"\n  category: python-tools\n---\n\n# Finance Skill\n\nYou are an expert python engineer. Personal finance memory layer.\n\n## Before Starting\n\n1. **Goal** — what specific outcome do you need?\n2. **Environment** — versions, platform, existing setup?\n3. **Constraints** — performance, security, compatibility requirements?\n4. **Integration** — what systems does this connect to?\n5. **Output format** — code, config, script, or documentation?\n\n---\n\n## Core Expertise Areas\n\n- **Core implementation** — full working code for Finance Skill\n- **Error handling** — robust error recovery and logging\n- **Performance** — optimized patterns for production use\n- **Testing** — unit and integration test strategies\n- **Configuration** — environment-specific setup and tuning\n- **Security** — secure coding patterns and best practices\n- **Documentation** — clear API and usage documentation\n\n---\n\n## Key Patterns & Code\n\n### Core Implementation\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\n\"\"\"\nFinanceSkill — by luo-kai (Lous Creations)\nPersonal finance memory layer.\n\"\"\"\nfrom __future__ import annotations\nimport logging, sys\nfrom pathlib import Path\nfrom typing import Any\n\nlogging.basicConfig(level=logging.INFO, format='%(asctime)s [%(levelname)s] %(message)s')\nlogger = logging.getLogger(\"finance-skill\")\n\nclass FinanceSkill:\n    \"\"\"Main implementation of FinanceSkill.\"\"\"\n\n    def __init__(self, config: dict[str, Any] | None = None):\n        self.config = config or {}\n        self._ready = False\n\n    def setup(self) -> None:\n        logger.info(\"Setting up FinanceSkill...\")\n        self._ready = True\n\n    def run(self, input_data: Any) -> dict[str, Any]:\n        if not self._ready:\n            self.setup()\n        logger.info(\"Processing...\")\n        result = self._process(input_data)\n        return {\"success\": True, \"result\": result, \"author\": \"luo-kai\"}\n\n    def _process(self, data: Any) -> Any:\n        return data  # Override with real logic\n\ndef main() -> int:\n    tool = FinanceSkill()\n    try:\n        tool.setup()\n        result = tool.run(sys.argv[1:])\n        print(f\"Done: {result['result']}\")\n        return 0\n    except Exception as e:\n        logger.error(f\"Error: {e}\")\n        return 1\n\nif __name__ == \"__main__\":\n    sys.exit(main())\n```\n\n### Configuration & Setup\n```python\n# Finance Skill — Configuration\n# Author: luo-kai (Lous Creations)\n\nconfig = {\n    \"name\": \"finance-skill\",\n    \"version\": \"1.0.0\",\n    \"author\": \"luo-kai\",\n    \"enabled\": True,\n    \"debug\": False,\n    \"timeout_seconds\": 30,\n    \"max_retries\": 3,\n}\n```\n\n### Error Handling\n```python\n# Robust error handling pattern\nimport logging\nlogger = logging.getLogger(\"finance-skill\")\n\ndef safe_run(func, *args, **kwargs):\n    try:\n        return func(*args, **kwargs)\n    except Exception as e:\n        logger.error(f\"finance-skill error: {e}\", exc_info=True)\n        raise\n```\n\n---\n\n## Best Practices\n\n- **Fail fast with clear errors** — raise descriptive exceptions with context\n- **Log at appropriate levels** — DEBUG for dev, INFO for ops, ERROR for problems\n- **Validate inputs** — never trust external data without validation\n- **Use type annotations** — improves IDE support and catches bugs early\n- **Handle cleanup** — use context managers and `finally` blocks\n- **Test edge cases** — empty inputs, nulls, max values, concurrent access\n\n---\n\n## Common Pitfalls\n\n| Pitfall | Problem | Fix |\n|---------|---------|-----|\n| No error handling | Silent failures in production | Wrap with try\u002Fexcept + logging |\n| Hardcoded values | Not portable across environments | Use config\u002Fenv vars |\n| Missing timeouts | Hangs indefinitely | Always set timeout values |\n| No retry logic | Single failure = broken workflow | Add exponential backoff |\n| No cleanup on exit | Resource leaks | Use context managers |\n\n---\n\n## Related Skills\n\n- python-expert\n- finance-skill-advanced\n- performance-optimization\n- error-handling\n- testing-expert\n","# Finance Skill\n\nYou are an expert python engineer. Personal finance memory layer.\n\n## Before Starting\n\n1. **Goal** — what specific outcome do you need?\n2. **Environment** — versions, platform, existing setup?\n3. **Constraints** — performance, security, compatibility requirements?\n4. **Integration** — what systems does this connect to?\n5. **Output format** — code, config, script, or documentation?\n\n---\n\n## Core Expertise Areas\n\n- **Core implementation** — full working code for Finance Skill\n- **Error handling** — robust error recovery and logging\n- **Performance** — optimized patterns for production use\n- **Testing** — unit and integration test strategies\n- **Configuration** — environment-specific setup and tuning\n- **Security** — secure coding patterns and best practices\n- **Documentation** — clear API and usage documentation\n\n---\n\n## Key Patterns & Code\n\n### Core Implementation\n\n```python\n#!\u002Fusr\u002Fbin\u002Fenv python3\n\"\"\"\nFinanceSkill — by luo-kai (Lous Creations)\nPersonal finance memory layer.\n\"\"\"\nfrom __future__ import annotations\nimport logging, sys\nfrom pathlib import Path\nfrom typing import Any\n\nlogging.basicConfig(level=logging.INFO, format='%(asctime)s [%(levelname)s] %(message)s')\nlogger = logging.getLogger(\"finance-skill\")\n\nclass FinanceSkill:\n    \"\"\"Main implementation of FinanceSkill.\"\"\"\n\n    def __init__(self, config: dict[str, Any] | None = None):\n        self.config = config or {}\n        self._ready = False\n\n    def setup(self) -> None:\n        logger.info(\"Setting up FinanceSkill...\")\n        self._ready = True\n\n    def run(self, input_data: Any) -> dict[str, Any]:\n        if not self._ready:\n            self.setup()\n        logger.info(\"Processing...\")\n        result = self._process(input_data)\n        return {\"success\": True, \"result\": result, \"author\": \"luo-kai\"}\n\n    def _process(self, data: Any) -> Any:\n        return data  # Override with real logic\n\ndef main() -> int:\n    tool = FinanceSkill()\n    try:\n        tool.setup()\n        result = tool.run(sys.argv[1:])\n        print(f\"Done: {result['result']}\")\n        return 0\n    except Exception as e:\n        logger.error(f\"Error: {e}\")\n        return 1\n\nif __name__ == \"__main__\":\n    sys.exit(main())\n```\n\n### Configuration & Setup\n```python\n# Finance Skill — Configuration\n# Author: luo-kai (Lous Creations)\n\nconfig = {\n    \"name\": \"finance-skill\",\n    \"version\": \"1.0.0\",\n    \"author\": \"luo-kai\",\n    \"enabled\": True,\n    \"debug\": False,\n    \"timeout_seconds\": 30,\n    \"max_retries\": 3,\n}\n```\n\n### Error Handling\n```python\n# Robust error handling pattern\nimport logging\nlogger = logging.getLogger(\"finance-skill\")\n\ndef safe_run(func, *args, **kwargs):\n    try:\n        return func(*args, **kwargs)\n    except Exception as e:\n        logger.error(f\"finance-skill error: {e}\", exc_info=True)\n        raise\n```\n\n---\n\n## Best Practices\n\n- **Fail fast with clear errors** — raise descriptive exceptions with context\n- **Log at appropriate levels** — DEBUG for dev, INFO for ops, ERROR for problems\n- **Validate inputs** — never trust external data without validation\n- **Use type annotations** — improves IDE support and catches bugs early\n- **Handle cleanup** — use context managers and `finally` blocks\n- **Test edge cases** — empty inputs, nulls, max values, concurrent access\n\n---\n\n## Common Pitfalls\n\n| Pitfall | Problem | Fix |\n|---------|---------|-----|\n| No error handling | Silent failures in production | Wrap with try\u002Fexcept + logging |\n| Hardcoded values | Not portable across environments | Use config\u002Fenv vars |\n| Missing timeouts | Hangs indefinitely | Always set timeout values |\n| No retry logic | Single failure = broken workflow | Add exponential backoff |\n| No cleanup on exit | Resource leaks | Use context managers |\n\n---\n\n## Related Skills\n\n- python-expert\n- finance-skill-advanced\n- performance-optimization\n- error-handling\n- testing-expert\n",{"name":5,"author":41,"license":15,"version":42,"metadata":43,"description":7},"luo-kai","1.0.0",{"author":9,"version":44,"category":45},"1.0","python-tools","main","4d2fb89cdfb75f3f6fd3c6c5ec9ad90ea129eb3c","ai-agent-skills\u002F18-ai-agents-and-automation (by Luo Kai)\u002F11-financial-agents\u002Foc-finance-skill",1,"https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai","https:\u002F\u002Fgithub.com\u002Fluokai0","a solo builder.","2026-05-06 04:29:04",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add luokai0\u002Fai-agent-skills-by-luo-kai --skill oc-finance-skill",{"tool":60,"command":61},"bunx","bunx skills add luokai0\u002Fai-agent-skills-by-luo-kai --skill oc-finance-skill",{"tool":63,"command":64},"pnpm","pnpm dlx skills add luokai0\u002Fai-agent-skills-by-luo-kai --skill oc-finance-skill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F18-ai-agents-and-automation (by Luo Kai)\u002F11-financial-agents\u002Foc-finance-skill\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"plan-document-reviewer-prompt.md","REFERENCE","参考文档",1713,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.factory\u002Fskills\u002Fwriting-plans\u002Fplan-document-reviewer-prompt.md",[75,102,119,145,178,213],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":36},"01M6F2SKTE208174C7S7JJCZC7","write-contracts","Generates secure Aptos Move V2 smart contracts with Object model, Digital Asset integration, security patterns, and storage type guidance. Includes comprehensive storage decision framework for optimal data structure selection. Triggers on: 'write contract', 'create NFT collection', 'build marketplace', 'implement minting', 'generate Move module', 'create token contract', 'build DAO', 'implement staking'. Ask storage questions when: 'store', 'track', 'registry', 'mapping', 'list', 'collection'.","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F22-clawhub-skills\u002Fwrite-contracts\u002FSKILL.md",[],[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],"write","contracts","write contracts","storage","secure","create","generate","collection","model","decision","ask","smart-contracts","selection","objects","structure","nft","token","aptos","critical","move",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":36},"01M6F2RFXJ6T9MKW0A7N7GM45B","web-search","通用网络搜索技能，支持多引擎搜索（百度、必应、DuckDuckGo），无需API密钥即可获取实时信息","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F22-clawhub-skills\u002Fweb-search-ex-skill\u002FSKILL.md",[],[109,110,111,112,113,114,115,116,117,118],"web","search","web search","搜索","baidu","bing","duckduckgo","百度","多引擎","internet",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":126,"publishedAt":36},"01M6F2K968G1FZEZFPW2E6B222","solo-build","Execute implementation plan tasks with TDD workflow, auto-commit, and phase gates. Use when user says \"build it\", \"start building\", \"execute plan\", \"implement tasks\", \"ship it\", or references a track ID. Do NOT use for planning (use \u002Fplan) or scaffolding (use \u002Fscaffold).","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F22-clawhub-skills\u002Fsolo-build\u002FSKILL.md",[125],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[127,128,129,130,131,132,133,134,110,135,136,137,82,138,139,140,141,142,143,144],"build","solo","solo build","MCP","workflow","commit","tasks","code","Bash","plan","read","auto","references","context7","query","scaffolding","ship it","project",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":157,"publishedAt":36},"01M6F2GKN39SGHSPWYB3662YC8","react-email","Use when building HTML email templates with React components, adding a visual email editor to an application using the React Email visual editor, rendering emails to HTML, or sending emails with Resend. Covers welcome emails, password resets, notifications, order confirmations, newsletters, transactional emails, and the embeddable email editor component.","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F22-clawhub-skills\u002Freact-email-skills\u002FSKILL.md",[151,154],{"categoryNo":152,"categoryName":153,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":155,"categoryName":156,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],"react","email","react email","github","editor","components","react components","component","welcome","https","notifications","password","node","use","html","resend","visual","emails","rendering","with",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":194,"publishedAt":36},"01M6F2FBVGVDFSG8SSFJGXA40C","APITester Agent-Driven API Testing","Test API endpoints and document responses. Define tests in plain English, run them, get formatted results. Agent-driven Postman alternative.","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F22-clawhub-skills\u002Fopenclaw-api-tester\u002FSKILL.md",[184,187,190,191],{"categoryNo":185,"categoryName":186,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":192,"categoryName":193,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"testing","api","api testing","driven","APITester Agent Driven API Testing","test","run","postman","results","plain english","tester","endpoints","document","get","define","tests","english","api-tester",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":219,"publishedAt":36},"01M6F273Y3NGAPVJZ608BC0G9G","hubspot-implementation-plan","Generate a phased implementation plan from a HubSpot audit report. Creates prioritized, sequenced cleanup processes with effort estimates, dependencies, and automation feasibility. Use after running \u002Fhubspot-audit.","https:\u002F\u002Fgithub.com\u002Fluokai0\u002Fai-agent-skills-by-luo-kai\u002Fblob\u002Fmain\u002Fai-agent-skills\u002F22-clawhub-skills\u002Fhubspot-implementation-plan\u002FSKILL.md",[],[136,220,221,222,223,224,225,88,226,227,228,229,230,171,231,232,177,233],"implementation","hubspot","hubspot implementation plan","automation","feasibility","cleanup","planning","report","audit","audit report","phased implementation","dependencies","processes","hubspot audit"]