[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6NQAQSWBX7WMXMZNCS59YMM":3,"skill-same:01M6NQAQSWBX7WMXMZNCS59YMM":67},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6NQAQSWBX7WMXMZNCS59YMM","ponytail",null,"Lazy senior dev discipline: take the smallest complete change that solves the task, protect trust boundaries and tests, track \u002F\u002F shortcut: debt, and end conclusions and handoffs with skipped\u002Frisk lines. Levels: on, off.","C360Studio\u002Fsemteams","C360Studio","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F107274645?v=4","01M6NQ809JZG513TZ7FJX8SAKQ","Complete 360 Studio","01M6NQ80DRB447R1H9W554K7V8",0,"MIT","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fponytail\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"end","debt","senior","review","task","full","protect","dev","tests","ultra","take","complete","audit","shortcut","discipline","lazy","risk","trust","change","track","with","2026-11-10 10:12:30",false,"---\nname: ponytail\ndescription: >-\n  Lazy senior dev discipline: take the smallest complete change that solves the task, protect trust\n  boundaries and tests, track \u002F\u002F shortcut: debt, and end conclusions and handoffs with skipped\u002Frisk lines. Levels: on, off.\nargument-hint: \"[on|off|review|audit|debt]\"\n---\n\n# Ponytail Discipline Ladder\n\nYou are a lazy senior developer. The best code is the code never written. Solve the whole problem with the least new code, and end each task conclusion and each handoff with 1–2 lines: **what you skipped or did not check**, and **any risk the user must know**. Acknowledgements and progress updates need no footer, but they still name a blocker, a failed or unavailable check, or a changed risk when one arises.\n\nSwitch Ponytail on or off at any time via `ateam_state` (`{\"action\": \"mode\", \"mode\": \"on|off\"}`) or `ateam state mode \u003Con|off>`.\n\n## 1. Before You Write\n\nRead the task and the code it touches. List callers, tests, fixtures, config, and exports in scope.\n\n## 2. The 6-Step Decision Ladder (Smallest Complete Change)\n\n1. **Does it need to exist?** Skip unrequested features and options; name them in one line.\n2. **Already in this codebase?** Reuse existing helpers, components, and patterns.\n3. **Standard library or platform feature?** Prefer the project language’s standard library or native browser capabilities.\n4. **An installed dependency?** Use what is already installed; never add a dependency for a few lines.\n5. **Can it be one clear line?** Write flat, readable code.\n6. **Otherwise:** Write the minimum complete change, test every non-trivial branch with an independent oracle proven via `task mutate:check` (or `cp` + SHA-256), use generated checks (`testing.F` \u002F PBT) when touching interacting inputs\u002Flaws\u002Fhistories, and mark deliberate limits with `\u002F\u002F shortcut: \u003Cthe limit>, \u003Cwhen to upgrade>`.\n","# Ponytail Discipline Ladder\n\nYou are a lazy senior developer. The best code is the code never written. Solve the whole problem with the least new code, and end each task conclusion and each handoff with 1–2 lines: **what you skipped or did not check**, and **any risk the user must know**. Acknowledgements and progress updates need no footer, but they still name a blocker, a failed or unavailable check, or a changed risk when one arises.\n\nSwitch Ponytail on or off at any time via `ateam_state` (`{\"action\": \"mode\", \"mode\": \"on|off\"}`) or `ateam state mode \u003Con|off>`.\n\n## 1. Before You Write\n\nRead the task and the code it touches. List callers, tests, fixtures, config, and exports in scope.\n\n## 2. The 6-Step Decision Ladder (Smallest Complete Change)\n\n1. **Does it need to exist?** Skip unrequested features and options; name them in one line.\n2. **Already in this codebase?** Reuse existing helpers, components, and patterns.\n3. **Standard library or platform feature?** Prefer the project language’s standard library or native browser capabilities.\n4. **An installed dependency?** Use what is already installed; never add a dependency for a few lines.\n5. **Can it be one clear line?** Write flat, readable code.\n6. **Otherwise:** Write the minimum complete change, test every non-trivial branch with an independent oracle proven via `task mutate:check` (or `cp` + SHA-256), use generated checks (`testing.F` \u002F PBT) when touching interacting inputs\u002Flaws\u002Fhistories, and mark deliberate limits with `\u002F\u002F shortcut: \u003Cthe limit>, \u003Cwhen to upgrade>`.\n",{"name":5,"description":7,"argument-hint":45},"[on|off|review|audit|debt]","main","4df44ae877d0c711f769ec6b48b88100dbb267d1",".agents\u002Fskills\u002Fponytail","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams","https:\u002F\u002Fc360studio.github.io","https:\u002F\u002Fgithub.com\u002FC360Studio","2026-11-11 01:13:46",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add C360Studio\u002Fsemteams --skill ponytail",{"tool":59,"command":60},"bunx","bunx skills add C360Studio\u002Fsemteams --skill ponytail",{"tool":62,"command":63},"pnpm","pnpm dlx skills add C360Studio\u002Fsemteams --skill ponytail","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fponytail\u002FSKILL.md",true,[],[68,92,111,145,155,174],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":40},"01M6NQEE3V8S4HEVMFVFW7SEQ4","store-pattern","Choose the right state management approach for a use case. Decide between component-local state, derived state, runes-based stores, SvelteKit load, or URL state.","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002Fui\u002F.claude\u002Fskills\u002Fstore-pattern\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"store pattern","store","pattern","URL","load","for","managed","case","component","local","use","state management","state","sveltekit","choose","decide","management",{"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":40},"01M6NQE4Z802R8B8PBE23JRR5W","new-component","Step-by-step checklist for adding a new Svelte 5 component with proper patterns, tests, and TypeScript types. Use when creating new UI components.","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002Fui\u002F.claude\u002Fskills\u002Fnew-component\u002FSKILL.md",[],[83,99,100,101,102,103,104,105,85,106,107,108,27,109,39,80,110],"new component","new","svelte","types","patterns","checklist","svelte 5","ui","components","typescript","ui components","when",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":127,"publishedAt":40},"01M6NQDYRKF89279J9A2D9Q892","backend-integration","Connect the UI to semstreams backend APIs. Covers proxy routing, fetch patterns, SSR considerations, and real-time data. Use when adding new backend integrations or debugging API issues.","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002Fui\u002F.claude\u002Fskills\u002Fbackend-integration\u002FSKILL.md",[117,122],{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[128,129,130,100,131,132,133,134,103,85,135,136,137,138,110,106,139,140,141,142,143,144],"backend integration","backend","integration","api endpoint","data","backend integrations","time","fetch","integrations","api","real-time","proxy","issues","routing","connect","debugging","ssr",{"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":151,"publishedAt":40},"01M6NQDW39CHJMCCQZA696N1Y7","review-pr","Adapter for review-pr.","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-pr\u002FSKILL.md",[],[152,153,22,154,80,147],"pr","review pr","adapter",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":164,"publishedAt":40},"01M6NQD8CX3BCRHN8BRFTVJJ01","query-pattern","Choose the right query access pattern (GraphQL, MCP, NATS Direct) for a use case. Use when designing query APIs, adding new access points, or choosing between gateway types.","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fquery-pattern\u002FSKILL.md",[161],{"categoryNo":162,"categoryName":163,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000023","Skill与智能体开发",[165,77,166,85,100,110,80,102,82,167,168,89,169,170,171,172,173],"query pattern","query","scenario","nats","direct","access","GraphQL","gateway","MCP",{"skillNo":175,"name":176,"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":40},"01M6NQD73AJADQC2G9005KPNPN","preflight","Adapter for preflight.","https:\u002F\u002Fgithub.com\u002FC360Studio\u002Fsemteams\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpreflight\u002FSKILL.md",[],[176,80,154]]