[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PEV2K35GGDSWMYKAFSNV2T":3,"skill-same:01M6PEV2K35GGDSWMYKAFSNV2T":51},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6PEV2K35GGDSWMYKAFSNV2T","spending",null,"Track and reset premium request usage","r3dlex\u002Foh-my-githubcopilot","r3dlex","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F291373160?v=4","01M6PEFNGGBVB7SHAPWXFFX933","01M6PEFNMNKPP8K3C881MDS722",1,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fskills\u002Fspending\u002FSKILL.md",[],[5,18,19,20,21,22,23],"omp","reset","false","usage","track","request","2026-11-10 10:12:30",false,"---\nname: spending\ndescription: Track and reset premium request usage\ntrigger: \"spending:, \u002Fspending, \u002Fomp:spending\"\nautoinvoke: false\n---\n# Skill: Spending\n\n## Metadata\n\n| Field | Value |\n|-------|-------|\n| **ID** | `spending` |\n| **Keywords** | `spending:`, `\u002Fspending`, `\u002Fomp:spending` |\n| **Tier** | user |\n| **Source** | `src\u002Fskills\u002Fspending.mts` |\n\n## Description\n\nInspect and manage OMP premium request usage across sessions and months. Track API request consumption against plan limits with monthly and session-level granularity and configurable warning thresholds.\n\n## Interface\n\n```typescript\ninterface SkillInput {\n  action: 'status' | 'reset';\n}\n\ninterface SkillOutput {\n  status: \"ok\" | \"error\";\n  message: string;\n  data?: {\n    session: number;\n    monthly: number;\n    monthlyLimit: number;\n    monthlyPercentage: number;\n    plan: string;\n    month: string;\n  };\n}\n```\n\n## Implementation\n\nReads and updates spending state from `~\u002F.omp\u002Fstate\u002Fspending-monthly.json`. Tracks session and monthly premium request counts. Automatically resets monthly counter when the calendar month changes and session counter when the session ID changes. Resolves configuration from local > global > hardcoded defaults.\n\n## Actions\n\n### status (default)\nShow current session and monthly premium request counts.\n\n```\nspending: status\n```\n\nOutput:\n```\nSpending status (2025-04):\n  Session:  12 requests\n  Monthly:  234 \u002F 300 (78%)\n  Plan:     pro\n```\n\n### reset\nReset the monthly counter by removing the spending state file.\nThe counter will reinitialize on next request.\n\n```\nspending: reset\n```\n\n## Configuration\n\nAdd to `.omp\u002Fconfig.json` or `~\u002F.omp\u002Fconfig.json`:\n\n```json\n{\n  \"spending\": {\n    \"plan\": \"pro_plus\",\n    \"premiumRequestsIncluded\": 1500,\n    \"warningThresholdPct\": 80\n  }\n}\n```\n\nResolution: local > global > hardcoded defaults (`pro`, 300 requests, 80% warning).\n\n## State\n\nSpending state is persisted to `~\u002F.omp\u002Fstate\u002Fspending-monthly.json`.\nMonthly counter resets automatically when the calendar month changes.\nSession counter resets when the session ID changes.\n","# Skill: Spending\n\n## Metadata\n\n| Field | Value |\n|-------|-------|\n| **ID** | `spending` |\n| **Keywords** | `spending:`, `\u002Fspending`, `\u002Fomp:spending` |\n| **Tier** | user |\n| **Source** | `src\u002Fskills\u002Fspending.mts` |\n\n## Description\n\nInspect and manage OMP premium request usage across sessions and months. Track API request consumption against plan limits with monthly and session-level granularity and configurable warning thresholds.\n\n## Interface\n\n```typescript\ninterface SkillInput {\n  action: 'status' | 'reset';\n}\n\ninterface SkillOutput {\n  status: \"ok\" | \"error\";\n  message: string;\n  data?: {\n    session: number;\n    monthly: number;\n    monthlyLimit: number;\n    monthlyPercentage: number;\n    plan: string;\n    month: string;\n  };\n}\n```\n\n## Implementation\n\nReads and updates spending state from `~\u002F.omp\u002Fstate\u002Fspending-monthly.json`. Tracks session and monthly premium request counts. Automatically resets monthly counter when the calendar month changes and session counter when the session ID changes. Resolves configuration from local > global > hardcoded defaults.\n\n## Actions\n\n### status (default)\nShow current session and monthly premium request counts.\n\n```\nspending: status\n```\n\nOutput:\n```\nSpending status (2025-04):\n  Session:  12 requests\n  Monthly:  234 \u002F 300 (78%)\n  Plan:     pro\n```\n\n### reset\nReset the monthly counter by removing the spending state file.\nThe counter will reinitialize on next request.\n\n```\nspending: reset\n```\n\n## Configuration\n\nAdd to `.omp\u002Fconfig.json` or `~\u002F.omp\u002Fconfig.json`:\n\n```json\n{\n  \"spending\": {\n    \"plan\": \"pro_plus\",\n    \"premiumRequestsIncluded\": 1500,\n    \"warningThresholdPct\": 80\n  }\n}\n```\n\nResolution: local > global > hardcoded defaults (`pro`, 300 requests, 80% warning).\n\n## State\n\nSpending state is persisted to `~\u002F.omp\u002Fstate\u002Fspending-monthly.json`.\nMonthly counter resets automatically when the calendar month changes.\nSession counter resets when the session ID changes.\n",{"name":5,"trigger":29,"autoinvoke":25,"description":7},"spending:, \u002Fspending, \u002Fomp:spending","main","55294682936bc69473eba70e93ffa88ede018e81","skills\u002Fspending",0,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot","https:\u002F\u002Fgithub.com\u002Fr3dlex","2026-10-31 18:57:35",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add r3dlex\u002Foh-my-githubcopilot --skill spending",{"tool":43,"command":44},"bunx","bunx skills add r3dlex\u002Foh-my-githubcopilot --skill spending",{"tool":46,"command":47},"pnpm","pnpm dlx skills add r3dlex\u002Foh-my-githubcopilot --skill spending","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fskills\u002Fspending\u002FSKILL.md",true,[],[52,58,64,70,76,84],{"skillNo":53,"name":54,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":24},"01M6PF2CTFS0AEXQXF2NFYT8J2","wiki","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fvscode-omp\u002Fresources\u002Ftemplates\u002F.copilot\u002Fskills\u002Fwiki\u002FSKILL.md",[],[54],{"skillNo":59,"name":60,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":24},"01M6PF2BFXJ97M6NKH7N42XZVZ","ultrawork","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fvscode-omp\u002Fresources\u002Ftemplates\u002F.copilot\u002Fskills\u002Fultrawork\u002FSKILL.md",[],[60],{"skillNo":65,"name":66,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":24},"01M6PF2A38Y1CE5BVJ5HMTMBP6","trace","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fvscode-omp\u002Fresources\u002Ftemplates\u002F.copilot\u002Fskills\u002Ftrace\u002FSKILL.md",[],[66],{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":24},"01M6PF28P7S19AK5XJA41WS9V8","team","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fvscode-omp\u002Fresources\u002Ftemplates\u002F.copilot\u002Fskills\u002Fteam\u002FSKILL.md",[],[72],{"skillNo":77,"name":78,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":24},"01M6PF278EADT8W3EWDYA3C2H0","swe-bench","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fvscode-omp\u002Fresources\u002Ftemplates\u002F.copilot\u002Fskills\u002Fswe-bench\u002FSKILL.md",[],[82,83],"SWE","swe bench",{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":24},"01M6PF25XW1TMP5Z1N89ZVJQDY","swarm","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Foh-my-githubcopilot\u002Fblob\u002Fmain\u002Fvscode-omp\u002Fresources\u002Ftemplates\u002F.copilot\u002Fskills\u002Fswarm\u002FSKILL.md",[],[86]]