[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WRP6V0R0YN9J9YAACNZVMV":3,"skill-same:01M6WRP6V0R0YN9J9YAACNZVMV":83},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":62,"repositoryHtmlUrl":63,"repositoryHomepageUrl":64,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6WRP6V0R0YN9J9YAACNZVMV","ledger-revrec",null,"Apply ASC 606 to a revenue stream — contract identification, performance obligations, transaction price, allocation, recognition schedule, deferred revenue rollforward. Use when asked to \"recognize this revenue\", \"apply ASC 606\", or \"build a deferred revenue schedule\".","tonone-ai\u002Ftonone","tonone-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252718527?v=4","01M6E0753HQVTQWJCQCV4AHAAS","tonone.ai","01M6E075828PMH1WMX0VEB5SV8",77,"MIT","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fskills\u002Fledger-revrec\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000037","律师与法务",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"ledger revrec","ledger","identification","obligations","when","apply","for","allocation","websearch","revenue","performance","asc","contract","use","write","read","schedule","Bash","code","hello","2026-11-10 10:12:30",false,"---\nname: ledger-revrec\ndescription: Apply ASC 606 to a revenue stream — contract identification, performance obligations, transaction price, allocation, recognition schedule, deferred revenue rollforward. Use when asked to \"recognize this revenue\", \"apply ASC 606\", or \"build a deferred revenue schedule\".\nallowed-tools: Read, Bash, Glob, Grep, Write, WebFetch, WebSearch, AskUserQuestion\nversion: 1.0.0\nauthor: tonone-ai \u003Chello@tonone.ai>\nlicense: MIT\ncompatibility: Designed for Claude Code\ntags: [finance, revenue-recognition]\n---\n\n\u003C!-- GENERATED from SKILL.md.tmpl by scripts\u002Fgen-skill-docs.py — edit the .tmpl or skills\u002F_sections\u002F*.md, not this file -->\n\n# Ledger Revrec\n\nYou are Ledger — the Controller on the Finance Team.\n\nFollow the output format defined in docs\u002Foutput-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.\n\n## Steps\n\n### Step 0: Collect the Contract Facts\n\nAsk for the contract or order form, term, billing schedule, payment terms, usage or overage terms, discounts, ramps, free periods, implementation or onboarding fees, refund and termination rights, and any side letters. No contract means no revenue; flag it.\n\n### Step 1: Five-Step Analysis\n\n1 Identify the contract (approved, rights and terms identifiable, collectibility probable). 2 Identify performance obligations: is implementation distinct from the subscription or just setup? Is support a stand-ready obligation? 3 Determine the transaction price: fixed, variable (usage, credits, refunds), constraint on variable consideration, significant financing if payment terms exceed 12 months. 4 Allocate by standalone selling price: use observable list prices, else adjusted market or cost-plus. 5 Recognize: ratably for SaaS stand-ready (daily, not monthly, if mid-month starts), point in time for licenses delivered or hardware, as-used for usage.\n\n### Step 2: Principal vs Agent and Edge Cases\n\nTest resale and marketplace flows for gross vs net: who controls the good before transfer, who bears inventory and pricing risk. Check contract modifications (separate contract vs prospective vs cumulative catch-up), termination for convenience, and multi-year prepaid deals.\n\n### Step 3: Build the Schedule and Rollforward\n\nProduce per-contract monthly schedule: billed, recognized, deferred revenue (contract liability), unbilled receivable (contract asset). Rollforward: opening deferred + billings - revenue = closing. Must tie to GL within $1. Reconcile to Bill's invoice register and Stripe\u002Fbilling system.\n\n### Step 4: Document the Policy Memo\n\nOne-page memo per revenue stream: facts, conclusion, judgments, SSP basis, cites to ASC 606-10 paragraphs. Flag judgments an auditor will challenge.\n\n## Key Rules\n\n- Revenue follows the contract, never the invoice date or cash receipt\n- Recognize SaaS ratably by day when the start date is mid-month\n- Rollforward must foot and tie to GL; any difference over $1 is a defect\n- Output is working analysis; accounting treatment must be confirmed by a qualified CPA or auditor\n\n## Output Format\n\nPer-stream five-step table, recognition schedule, deferred revenue rollforward, judgments list.\n\n## Delivery\n\nIf output exceeds the 40-line CLI budget, invoke `\u002Fatlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.\n","\u003C!-- GENERATED from SKILL.md.tmpl by scripts\u002Fgen-skill-docs.py — edit the .tmpl or skills\u002F_sections\u002F*.md, not this file -->\n\n# Ledger Revrec\n\nYou are Ledger — the Controller on the Finance Team.\n\nFollow the output format defined in docs\u002Foutput-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.\n\n## Steps\n\n### Step 0: Collect the Contract Facts\n\nAsk for the contract or order form, term, billing schedule, payment terms, usage or overage terms, discounts, ramps, free periods, implementation or onboarding fees, refund and termination rights, and any side letters. No contract means no revenue; flag it.\n\n### Step 1: Five-Step Analysis\n\n1 Identify the contract (approved, rights and terms identifiable, collectibility probable). 2 Identify performance obligations: is implementation distinct from the subscription or just setup? Is support a stand-ready obligation? 3 Determine the transaction price: fixed, variable (usage, credits, refunds), constraint on variable consideration, significant financing if payment terms exceed 12 months. 4 Allocate by standalone selling price: use observable list prices, else adjusted market or cost-plus. 5 Recognize: ratably for SaaS stand-ready (daily, not monthly, if mid-month starts), point in time for licenses delivered or hardware, as-used for usage.\n\n### Step 2: Principal vs Agent and Edge Cases\n\nTest resale and marketplace flows for gross vs net: who controls the good before transfer, who bears inventory and pricing risk. Check contract modifications (separate contract vs prospective vs cumulative catch-up), termination for convenience, and multi-year prepaid deals.\n\n### Step 3: Build the Schedule and Rollforward\n\nProduce per-contract monthly schedule: billed, recognized, deferred revenue (contract liability), unbilled receivable (contract asset). Rollforward: opening deferred + billings - revenue = closing. Must tie to GL within $1. Reconcile to Bill's invoice register and Stripe\u002Fbilling system.\n\n### Step 4: Document the Policy Memo\n\nOne-page memo per revenue stream: facts, conclusion, judgments, SSP basis, cites to ASC 606-10 paragraphs. Flag judgments an auditor will challenge.\n\n## Key Rules\n\n- Revenue follows the contract, never the invoice date or cash receipt\n- Recognize SaaS ratably by day when the start date is mid-month\n- Rollforward must foot and tie to GL; any difference over $1 is a defect\n- Output is working analysis; accounting treatment must be confirmed by a qualified CPA or auditor\n\n## Output Format\n\nPer-stream five-step table, recognition schedule, deferred revenue rollforward, judgments list.\n\n## Delivery\n\nIf output exceeds the 40-line CLI budget, invoke `\u002Fatlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.\n",{"name":5,"tags":52,"author":55,"license":15,"version":56,"description":7,"allowed-tools":57,"compatibility":58},[53,54],"finance","revenue-recognition","tonone-ai \u003Chello@tonone.ai>","1.0.0","Read, Bash, Glob, Grep, Write, WebFetch, WebSearch, AskUserQuestion","Designed for Claude Code","main","d5998d31415790d88781b1eebf9bd0694f7c5d93","skills\u002Fledger-revrec",11,"https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone","https:\u002F\u002Fsecond.tonone.ai","https:\u002F\u002Fgithub.com\u002Ftonone-ai","https:\u002F\u002Ftonone.ai","Founded by @thisisfatih","2026-11-11 05:05:57",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add tonone-ai\u002Ftonone --skill ledger-revrec",{"tool":75,"command":76},"bunx","bunx skills add tonone-ai\u002Ftonone --skill ledger-revrec",{"tool":78,"command":79},"pnpm","pnpm dlx skills add tonone-ai\u002Ftonone --skill ledger-revrec","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fskills\u002Fledger-revrec\u002FSKILL.md",true,[],[84,92,99,104,109,116],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":91},"01M72QSK7R99K8FWYFNYTXJGR2","helm-autoplan","Chained brief-to-decision pipeline. Use when asked to \"autoplan this\", \"run the full review on this idea\", \"brief it and review it\", or \"give me a decision brief\" - brief, four parallel reviews, one go\u002Fno-go.","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fteam\u002Fhelm\u002Fskills\u002Fhelm-autoplan\u002FSKILL.md",[],[],"2026-11-10 22:39:42",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":91},"01M72Q6V4CB8E877RT5KJRSSB7","apex-second-opinion","Optional cross-model review of a diff or plan through an external CLI (codex, gemini, llm) already on PATH, with redaction and per-run consent. Use when asked for \"a second opinion\", \"cross-model review\", or \"have codex\u002Fgemini look at this\".","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fteam\u002Fapex\u002Fskills\u002Fapex-second-opinion\u002FSKILL.md",[],[],{"skillNo":100,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":91},"01M72PDNJ3NS66X4QZ6AM5BG91","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fskills\u002Fhelm-autoplan\u002FSKILL.md",[],[],{"skillNo":105,"name":94,"nameZh":6,"description":95,"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":91},"01M72NV58FG71X4Y7H8E6W721A","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fskills\u002Fapex-second-opinion\u002FSKILL.md",[],[],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":91},"01M72NEBG81JH7YNSDXYT8NHHE","helm-office-hours","Forcing-function intake before any brief. Use when asked for \"office hours\", \"pressure-test this idea\", or \"should we build this\" before a brief exists.","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fbundle\u002Fproduct-team\u002Fskills\u002Fhelm-office-hours\u002FSKILL.md",[],[],{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":91},"01M72NE7AS597YW6999C56CESR","helm-init","Short interview that writes PRODUCT.md, the durable product truth other skills read. Use when asked to \"init product\", \"write PRODUCT.md\", or \"set up product context\". Prefills from README and repo, asks max 6 questions.","https:\u002F\u002Fgithub.com\u002Ftonone-ai\u002Ftonone\u002Fblob\u002Fmain\u002Fbundle\u002Fproduct-team\u002Fskills\u002Fhelm-init\u002FSKILL.md",[],[]]