[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7DNFK7C7VBJ2CM4FC3ZRFDD":3,"skill-same:01M7DNFK7C7VBJ2CM4FC3ZRFDD":47},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7DNFK7C7VBJ2CM4FC3ZRFDD","effect",null,"Work with Effect v4 TypeScript code in this repo","DragonBallerZ\u002Fdragon-ide","DragonBallerZ","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F199459338?v=4","01M7DN83GSDPNQH3ACEV21SKTQ","Z McDragon","01M7DN83HDR4KMJAMTCB5S4DCJ",12,"MIT","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fopencode\u002F.opencode\u002Fskills\u002Feffect\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: effect\ndescription: Work with Effect v4 TypeScript code in this repo\n---\n\n# Effect\n\nThis codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.\n\n## Source Of Truth\n\nUse the current Effect v4 source, not memory or older Effect v2\u002Fv3 examples.\n\n1. If `.opencode\u002Freferences\u002Feffect` is missing, clone `https:\u002F\u002Fgithub.com\u002FEffect-TS\u002Feffect` there. Do this in the project, not in the skill folder.\n2. Search `.opencode\u002Freferences\u002Feffect` for exact APIs, examples, tests, and naming patterns before answering or implementing Effect-specific code.\n3. Also inspect existing repo code for local house style before introducing new patterns.\n4. Prefer answers and implementations backed by specific source files or nearby repo examples.\n\n## Guidelines\n\n- Prefer current Effect v4 APIs and project-local patterns over old blog posts, examples, or package-memory guesses.\n- Use `Effect.gen(function* () { ... })` for multi-step workflows.\n- Use `Effect.fn(\"Name\")` or `Effect.fnUntraced(...)` for named effects when adding reusable service methods or important workflows.\n- Prefer Effect `Schema` for API and domain data shapes. Use branded schemas for IDs and `Schema.TaggedErrorClass` for typed domain errors when modeling new error surfaces.\n- Keep HTTP handlers thin: decode input, read request context, call services, and map transport errors. Put business rules in services.\n- In Effect service code, prefer Effect-aware platform abstractions and dependencies over ad hoc promises where the surrounding code already does so.\n- Keep layer composition explicit. Avoid broad hidden provisioning that makes missing dependencies hard to see.\n- In tests, prefer the repo's existing Effect test helpers and live tests for filesystem, git, child process, locks, or timing behavior.\n- Do not introduce `any`, non-null assertions, unchecked casts, or older Effect APIs just to satisfy types.\n- Do not answer from memory. Verify against `.opencode\u002Freferences\u002Feffect` or nearby code first.\n\n## Testing Patterns\n\n- Use `testEffect(...)` from `packages\u002Fcore\u002Ftest\u002Flib\u002Feffect.ts` for tests that exercise Effect services, layers, runtime context, scoped resources, or platform integrations.\n- Use `it.live(...)` for filesystem, git repositories, HTTP servers, sockets, child processes, locks, real time, and other live platform behavior.\n- Run tests from package directories such as `packages\u002Fcore`; never run package tests from the repo root.\n- Prefer explicit test layers over ad hoc managed runtimes. Keep dependency provisioning visible in the test file.\n- Use scoped fixtures and finalizers for resources that must be cleaned up, including temporary directories, flags, databases, fibers, servers, and global state.\n","# Effect\n\nThis codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.\n\n## Source Of Truth\n\nUse the current Effect v4 source, not memory or older Effect v2\u002Fv3 examples.\n\n1. If `.opencode\u002Freferences\u002Feffect` is missing, clone `https:\u002F\u002Fgithub.com\u002FEffect-TS\u002Feffect` there. Do this in the project, not in the skill folder.\n2. Search `.opencode\u002Freferences\u002Feffect` for exact APIs, examples, tests, and naming patterns before answering or implementing Effect-specific code.\n3. Also inspect existing repo code for local house style before introducing new patterns.\n4. Prefer answers and implementations backed by specific source files or nearby repo examples.\n\n## Guidelines\n\n- Prefer current Effect v4 APIs and project-local patterns over old blog posts, examples, or package-memory guesses.\n- Use `Effect.gen(function* () { ... })` for multi-step workflows.\n- Use `Effect.fn(\"Name\")` or `Effect.fnUntraced(...)` for named effects when adding reusable service methods or important workflows.\n- Prefer Effect `Schema` for API and domain data shapes. Use branded schemas for IDs and `Schema.TaggedErrorClass` for typed domain errors when modeling new error surfaces.\n- Keep HTTP handlers thin: decode input, read request context, call services, and map transport errors. Put business rules in services.\n- In Effect service code, prefer Effect-aware platform abstractions and dependencies over ad hoc promises where the surrounding code already does so.\n- Keep layer composition explicit. Avoid broad hidden provisioning that makes missing dependencies hard to see.\n- In tests, prefer the repo's existing Effect test helpers and live tests for filesystem, git, child process, locks, or timing behavior.\n- Do not introduce `any`, non-null assertions, unchecked casts, or older Effect APIs just to satisfy types.\n- Do not answer from memory. Verify against `.opencode\u002Freferences\u002Feffect` or nearby code first.\n\n## Testing Patterns\n\n- Use `testEffect(...)` from `packages\u002Fcore\u002Ftest\u002Flib\u002Feffect.ts` for tests that exercise Effect services, layers, runtime context, scoped resources, or platform integrations.\n- Use `it.live(...)` for filesystem, git repositories, HTTP servers, sockets, child processes, locks, real time, and other live platform behavior.\n- Run tests from package directories such as `packages\u002Fcore`; never run package tests from the repo root.\n- Prefer explicit test layers over ad hoc managed runtimes. Keep dependency provisioning visible in the test file.\n- Use scoped fixtures and finalizers for resources that must be cleaned up, including temporary directories, flags, databases, fibers, servers, and global state.\n",{"name":5,"description":7},"main","af285532414d1fa855b4360d86103c12253e6f2f","opencode\u002F.opencode\u002Fskills\u002Feffect",0,"https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide","https:\u002F\u002Fgithub.com\u002FDragonBallerZ","https:\u002F\u002Fwww.velloralabs.com","Building Dangerously Disruptive Technology. ","2026-10-23 14:19:51",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add DragonBallerZ\u002Fdragon-ide --skill effect",{"tool":39,"command":40},"bunx","bunx skills add DragonBallerZ\u002Fdragon-ide --skill effect",{"tool":42,"command":43},"pnpm","pnpm dlx skills add DragonBallerZ\u002Fdragon-ide --skill effect","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fopencode\u002F.opencode\u002Fskills\u002Feffect\u002FSKILL.md",true,[],[48,55,62,69,76,83],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":19},"01M7DNGQPVJGHW226R8PS3R31F","update-skills","Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says \"learn!\", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fupdate-skills\u002FSKILL.md",[],[],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":19},"01M7DNGP5XJWV3CG63DVS6NR8Y","update-pr","Update the pull request for the current session. Use when the user wants to push new changes to an existing PR.","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fupdate-pr\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M7DNGJEMNJZR24NBJ7MF5V8R","troubleshoot","Investigate unexpected behavior in the current Copilot agent session by analyzing its event log. Use when the user asks why something happened, why a request was slow, why a tool was or was not used, or why instructions\u002Fskills\u002Fagents did not load.","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Ftroubleshoot\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M7DNGFVCVMFN5J4ZKV27CDR1","sync","Sync the current session branch with its upstream branch, or publish the current session branch to a remote. Use when the user asks to sync a branch, pull latest changes, rebase onto upstream, push current branch, publish branch, or set upstream.","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fsync\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M7DNGC9GE8EKQED3ZR3KAJ0K","sync-upstream","Update a stale session branch by rebasing onto the latest origin. Use when the upstream has moved significantly and the session needs to catch up, resolving conflicts by preserving upstream changes and adapting session work to fit.","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fsync-upstream\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M7DNG9NJNG1QPJB6C3GFDHVS","merge","Merge changes from the topic branch to the merge base branch. Use when the user wants to merge their session's work back to the base branch.","https:\u002F\u002Fgithub.com\u002FDragonBallerZ\u002Fdragon-ide\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fmerge\u002FSKILL.md",[],[]]