[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CZXW82AM31KPA1TC3FPCD9":3,"skill-same:01M6CZXW82AM31KPA1TC3FPCD9":73},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6CZXW82AM31KPA1TC3FPCD9","j5ik2o-pekko-cqrs-es-implementation",null,"Use only for Scala 3 implementations of CQRS\u002FEvent Sourcing with Apache Pekko. Covers aggregate actors, PersistenceEffector-style command handling, domain-model separation, typed state transitions, event design, Protocol Buffers serialization, ZIO use cases, and read-model updaters. Do not trigger for non-Scala stacks or conceptual CQRS questions without Pekko\u002FScala implementation work.","j5ik2o\u002Fai-tools","j5ik2o","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F461711?v=4","01M6CR6HZJM242J0HDRJT5GY6J","Junichi Kato","01M6CZP6PXKYDDNX5A7PZ3P4DY",28,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Fsoftware-design\u002Fskills\u002Fj5ik2o-pekko-cqrs-es-implementation\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"j5ik2o pekko cqrs es implementation","cqrs","es","implementation","read","transitions","domain","do","only","use","design","command","work","model","serialization","event sourcing","apache","protocol","state","scala","2026-11-10 10:12:30",false,"---\nname: j5ik2o-pekko-cqrs-es-implementation\ndescription: >-\n  Use only for Scala 3 implementations of CQRS\u002FEvent Sourcing with Apache Pekko. Covers aggregate actors, PersistenceEffector-style command handling, domain-model separation, typed state transitions, event design, Protocol Buffers serialization, ZIO use cases, and read-model updaters. Do not trigger for non-Scala stacks or conceptual CQRS questions without Pekko\u002FScala implementation work.\n---\n\n# Pekko CQRS\u002FES Implementation\n\nUse this skill only when the implementation stack is Scala 3 plus Apache Pekko and the architecture is CQRS\u002FEvent Sourcing.\n\n## Workflow\n\n1. Confirm the aggregate, commands, events, state lifecycle, and serialization requirements.\n\n2. Keep the domain model separate from the Pekko actor shell.\n\n3. Model command handling as validation plus event emission.\n\n4. Apply events through pure state transition functions.\n\n5. Define Protocol Buffers schemas and evolution rules for persisted events.\n\n6. Put use-case orchestration in ZIO\u002Fapplication services, not inside the aggregate actor.\n\n7. Build read-model updaters as idempotent projections.\n\n## Implementation Checks\n\n- Commands should not mutate state directly.\n\n- Events are facts in past tense and must be versioned carefully.\n\n- Recovery must rebuild the same state from events.\n\n- Projection handlers must tolerate retries and duplicates.\n\n- Serialization compatibility is part of the public contract.\n\n## Detailed Reference\n\nFor non-trivial implementation, review, or refactoring work, read `references\u002Fdetails.md` before giving final guidance. It contains the detailed rules, examples, smells, and migration notes that do not belong in the short invocation body.\n\n## Output\n\nReturn aggregate actor structure, domain model APIs, command\u002Fevent\u002Fstate definitions, serialization notes, and projection flow.\n","# Pekko CQRS\u002FES Implementation\n\nUse this skill only when the implementation stack is Scala 3 plus Apache Pekko and the architecture is CQRS\u002FEvent Sourcing.\n\n## Workflow\n\n1. Confirm the aggregate, commands, events, state lifecycle, and serialization requirements.\n\n2. Keep the domain model separate from the Pekko actor shell.\n\n3. Model command handling as validation plus event emission.\n\n4. Apply events through pure state transition functions.\n\n5. Define Protocol Buffers schemas and evolution rules for persisted events.\n\n6. Put use-case orchestration in ZIO\u002Fapplication services, not inside the aggregate actor.\n\n7. Build read-model updaters as idempotent projections.\n\n## Implementation Checks\n\n- Commands should not mutate state directly.\n\n- Events are facts in past tense and must be versioned carefully.\n\n- Recovery must rebuild the same state from events.\n\n- Projection handlers must tolerate retries and duplicates.\n\n- Serialization compatibility is part of the public contract.\n\n## Detailed Reference\n\nFor non-trivial implementation, review, or refactoring work, read `references\u002Fdetails.md` before giving final guidance. It contains the detailed rules, examples, smells, and migration notes that do not belong in the short invocation body.\n\n## Output\n\nReturn aggregate actor structure, domain model APIs, command\u002Fevent\u002Fstate definitions, serialization notes, and projection flow.\n",{"name":5,"description":7},"main","3e6b722545091ed1bb6b81fe15f38189099154c1","plugins\u002Fsoftware-design\u002Fskills\u002Fj5ik2o-pekko-cqrs-es-implementation",0,"https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools","https:\u002F\u002Fgithub.com\u002Fj5ik2o","https:\u002F\u002Flapras.com\u002Fpublic\u002FNHXS5RH","I'm a tech-lead in the IDEO;PLUS Inc, is lover to Scala\u002FRust, Akka, DDD\u002FCQRS+Event Sourcing.","2026-11-10 09:06:07",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add j5ik2o\u002Fai-tools --skill j5ik2o-pekko-cqrs-es-implementation",{"tool":59,"command":60},"bunx","bunx skills add j5ik2o\u002Fai-tools --skill j5ik2o-pekko-cqrs-es-implementation",{"tool":62,"command":63},"pnpm","pnpm dlx skills add j5ik2o\u002Fai-tools --skill j5ik2o-pekko-cqrs-es-implementation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Fsoftware-design\u002Fskills\u002Fj5ik2o-pekko-cqrs-es-implementation\u002FSKILL.md",true,[67],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fdetails.md","REFERENCE","参考文档",1288,"https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Fsoftware-design\u002Fskills\u002Fj5ik2o-pekko-cqrs-es-implementation\u002Freferences\u002Fdetails.md",[74,89,96,119,130,142],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":39},"01M6D03X604YGMM6YFEG4M6767","takt","TAKT ワークフローエンジン。Agent Team を使ったマルチエージェントオーケストレーション。ワークフロー YAML（steps \u002F initial_step）に従ってマルチエージェントを実行する。","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-workflow-builder\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[76,86,87,88],"agent team","team","yaml",{"skillNo":90,"name":76,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":39},"01M6D03TAJ6WKRV6XACZHZ70NS","TAKT ワークフローエンジン。codex exec でサブエージェントを起動し、ワークフロー YAML（steps \u002F initial_step）に従って マルチエージェントオーケストレーションを実行する。","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-workflow-builder\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002FSKILL.md",[],[76,88,95],"codex",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":108,"publishedAt":39},"01M6D02V9SQ13TEDYDGN67K3WA","j5ik2o-takt-workflow-builder","TAKTワークフロー（ワークフローYAML）の作成・カスタマイズスキル。Faceted Prompting （Persona\u002FPolicy\u002FInstruction\u002FKnowledge\u002FOutput Contract）に基づくファセット群の 生成を含む。references\u002Ftaktにあるtaktのソースコード・ドキュメント・ビルトインワークフロー群を 参照資料として活用する。ユーザーの要件をヒアリングし、step構成、ルール設計、 ファセットファイル生成を一括で行う。 トリガー：「ワークフローを作りたい」「ワークフローを定義」「taktのワークフローを作成」 「新しいtaktワークフローを作って」「takt workflow」「ワークフローYAML」","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-workflow-builder\u002FSKILL.md",[102,103],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[109,76,110,111,112,113,114,115,116,117,118],"j5ik2o takt workflow builder","builder","workflow builder","workflow","生成","contract","references","knowledge","persona","policy",{"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":125,"publishedAt":39},"01M6D02P0Y4DEJ19J6V4S5VZ2S","j5ik2o-takt-task-builder","TAKTのtasks.yaml（タスクメタデータ）とタスクディレクトリ（.takt\u002Ftasks\u002F{slug}\u002Forder.md）の 作成・編集を支援するスキル。TaskRecordスキーマに準拠したYAMLエントリの生成、 order.mdタスク仕様書の作成、ステータス遷移ルールの検証を行う。 references\u002Ftaktにあるtaskスキーマ定義・ドキュメントを参照資料として活用する。 トリガー：「タスクを追加」「tasks.yamlを編集」「taktタスクを作成」 「タスク仕様書を書く」「order.mdを作成」「takt task」「タスクを定義」 「pendingタスクを追加」「GitHub Issueからタスク作成」","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-task-builder\u002FSKILL.md",[],[76,126,127,110,115,113,88,128,129],"j5ik2o takt task builder","task","tasks","github",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":39},"01M6D022WYSR825B6KB2CSNNY0","j5ik2o-takt-skill-updater","nrslib\u002Ftakt の新バージョンリリース時に、takt-*スキル群（j5ik2o-takt-task-builder, j5ik2o-takt-workflow-builder, j5ik2o-takt-facet-builder, j5ik2o-takt-analyzer, j5ik2o-takt-optimizer）を最新のtaktバージョンに追従させるスキル。 TypeScriptスキーマ（taskRecordSchemas.ts \u002F taskExecutionSchemas.ts）、ワークフローYAML、ファセットMarkdownの差分を検出し、 SKILL.md・参照ドキュメント（task-schema.md等）を体系的に更新する。 トリガー：「taktスキルを更新」「takt-*スキルの鮮度チェック」「taktバージョンアップ対応」 「スキルが古くないか確認」「takt skill updater」","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-skill-updater\u002FSKILL.md",[136],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[76,138,139,112,140,110,127,141],"skill updater","j5ik2o takt skill updater","schema","optimizer",{"skillNo":143,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":39},"01M6D01Z6WJEXJTXRKEK6N2NBM","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill\u002FSKILL.md",[146],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[76,87,86,88]]