[{"id":561329,"postType":"Article","slug":"7f0d3693f70e2f","commentsCount":0,"likedCount":66,"bookmarkedCount":35,"bodyLettersCount":7015,"articleType":"tech","emoji":"🎨","isSuspendingPrivate":false,"publishedAt":"2026-04-11T16:06:21.833+09:00","bodyUpdatedAt":"2026-04-12T15:47:27.479+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/tsubotax/articles/7f0d3693f70e2f","principalType":"User","title":"DESIGN.md + 壊れたら気づくハーネス - AI向けデザインシステムを「維持できる仕組み」にした記録","user":{"id":6811,"username":"tsubotax","name":"tsubotax","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--4Uh95dfy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/c5981110c4.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":559940,"postType":"Article","slug":"b6ff5ea33c7a71","commentsCount":0,"likedCount":185,"bookmarkedCount":47,"bodyLettersCount":14377,"articleType":"tech","emoji":"🪣","isSuspendingPrivate":false,"publishedAt":"2026-04-09T15:00:10.906+09:00","bodyUpdatedAt":"2026-04-09T14:58:49.433+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/genda_jp/articles/b6ff5ea33c7a71","principalType":"Publication","title":"S3 Filesで消えるアーキテクチャ層、生まれるアーキテクチャ","user":{"id":6354,"username":"ikenyal","name":"ikenyal","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--ANW-sWmC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/b93264d877.jpeg?_a=BACAGSGT"},"publication":{"id":517,"name":"genda_jp","displayName":"GENDA","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--Qaimf29u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/3b3c528d68.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/3b3c528d68.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":555067,"postType":"Article","slug":"c472e358412864","commentsCount":2,"likedCount":84,"bookmarkedCount":26,"bodyLettersCount":4139,"articleType":"tech","emoji":"🗂","isSuspendingPrivate":false,"publishedAt":"2026-04-09T18:00:13.277+09:00","bodyUpdatedAt":"2026-04-09T15:13:56.379+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/aldagram_tech/articles/c472e358412864","principalType":"Publication","title":"転職してエクセルファイルを読み解いてHTMLに変換する仕事をしていたが、悪役令嬢は出てこないし、勇者パーティーも追放されなかった話","user":{"id":312816,"username":"hiroyahorai","name":"hiroyahorai","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocL7-TswNGggHPVkawIFC2M2NHvel00yu0Eu0ji-ZBGMZ_WUjw=s250-c"},"publication":{"id":18,"name":"aldagram_tech","displayName":"アルダグラム Tech Blog","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--RHCbwHFf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/bb3ad09575.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/bb3ad09575.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560308,"postType":"Article","slug":"b8da42a57bbc39","commentsCount":0,"likedCount":57,"bookmarkedCount":31,"bodyLettersCount":13619,"articleType":"tech","emoji":"📝","isSuspendingPrivate":false,"publishedAt":"2026-04-10T18:32:22.970+09:00","bodyUpdatedAt":"2026-04-10T14:37:26.299+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/dely_jp/articles/b8da42a57bbc39","principalType":"Publication","title":"Claude Code + Obsidian — Daily Note の下書きを自動生成し、週次・月次レビューまで積み上げる仕組みを作った","user":{"id":234581,"username":"s_hamabata","name":"s_hamabata","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--qWNWoYqf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/86e1ceb386.jpeg?_a=BACAGSGT"},"publication":{"id":879,"name":"dely_jp","displayName":"Kurashiru Tech Blog","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--BiVsFF0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/3706268d6c.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/3706268d6c.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":561339,"postType":"Article","slug":"copilot-task-management","commentsCount":0,"likedCount":33,"bookmarkedCount":12,"bodyLettersCount":5351,"articleType":"tech","emoji":"📋","isSuspendingPrivate":false,"publishedAt":"2026-04-11T15:55:36.776+09:00","bodyUpdatedAt":"2026-04-11T17:37:21.570+09:00","sourceRepoUpdatedAt":"2026-04-11T17:37:53.392+09:00","pinned":false,"path":"/microsoft/articles/copilot-task-management","principalType":"Publication","title":"GitHub Copilot CLI で個人タスク管理をやってみる","user":{"id":8237,"username":"okazuki","name":"Kazuki Ota","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--n4oIhrF2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/8f78742c44.jpeg?_a=BACAGSGT"},"publication":{"id":90,"name":"microsoft","displayName":"Microsoft (有志)","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--9cOQ-vuo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/c3d3b7b78f.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/c3d3b7b78f.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":531278,"postType":"Article","slug":"76a5098905c978","commentsCount":0,"likedCount":58,"bookmarkedCount":19,"bodyLettersCount":10281,"articleType":"tech","emoji":"🎮","isSuspendingPrivate":false,"publishedAt":"2026-04-10T12:00:10.110+09:00","bodyUpdatedAt":"2026-03-29T18:52:06.979+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/sonicmoov/articles/76a5098905c978","principalType":"Publication","title":"お父さん、ゲーム作れるの？","user":{"id":55666,"username":"ienaga","name":"Toshiyuki Ienaga","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14GgPL520IY1gIVPjlpJ6w8qoWNn5nOySidas6NPi=s96-c"},"publication":{"id":992,"name":"sonicmoov","displayName":"株式会社ソニックムーブ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--6uTRwfr---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/64b604a738.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/64b604a738.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":561280,"postType":"Article","slug":"365845d65e6cf4","commentsCount":0,"likedCount":15,"bookmarkedCount":3,"bodyLettersCount":9339,"articleType":"tech","emoji":"🤖","isSuspendingPrivate":false,"publishedAt":"2026-04-11T14:47:45.843+09:00","bodyUpdatedAt":"2026-04-11T17:17:02.453+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/kumamo_tone/articles/365845d65e6cf4","principalType":"User","title":"Claude Managed Agents を試してみた","user":{"id":12940,"username":"kumamo_tone","name":"Kazumasa KUMAMOTO","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--xTT3_Ci3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/8bb044b6a3.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":557360,"postType":"Article","slug":"semantic-layer-agent-bigquery","commentsCount":0,"likedCount":10,"bookmarkedCount":3,"bodyLettersCount":22214,"articleType":"tech","emoji":"🤖","isSuspendingPrivate":false,"publishedAt":"2026-04-10T18:23:42.327+09:00","bodyUpdatedAt":"2026-04-11T01:57:38.068+09:00","sourceRepoUpdatedAt":"2026-04-11T01:57:38.055+09:00","pinned":false,"path":"/gixo/articles/semantic-layer-agent-bigquery","principalType":"Publication","title":"分析エージェントの問題点と、セマンティックレイヤーという打ち手──AIにSQLを書かせない設計","user":{"id":313740,"username":"k568","name":"Kouma Nakashima","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--k2Ofg_mF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/d686cf3bce.jpeg?_a=BACAGSGT"},"publication":{"id":254,"name":"gixo","displayName":"株式会社ギックス","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--zXjPPH3A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/5da0bf1863.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/5da0bf1863.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":559670,"postType":"Article","slug":"22227c79a94a86","commentsCount":0,"likedCount":33,"bookmarkedCount":20,"bodyLettersCount":11544,"articleType":"tech","emoji":"😎","isSuspendingPrivate":false,"publishedAt":"2026-04-09T18:53:08.673+09:00","bodyUpdatedAt":"2026-04-10T14:19:09.244+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/catatsumuri/articles/22227c79a94a86","principalType":"User","title":"Playwright CLI + Claude Code で自律UI修正開発の提案","user":{"id":194046,"username":"catatsumuri","name":"ﾓｯ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--riiTd2I_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/ee335c39f0.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":561301,"postType":"Article","slug":"082457e115885c","commentsCount":0,"likedCount":10,"bookmarkedCount":7,"bodyLettersCount":14634,"articleType":"tech","emoji":"🥽","isSuspendingPrivate":false,"publishedAt":"2026-04-11T16:19:21.995+09:00","bodyUpdatedAt":"2026-04-11T16:16:01.646+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/shinyaa31/articles/082457e115885c","principalType":"User","title":"agent-browser入門：Claude Codeからブラウザを自在に操る！導入＆他ツール使い分けガイド","user":{"id":7036,"username":"shinyaa31","name":"しんや","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--hxoiwT8C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/844313b2c0.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":561319,"postType":"Article","slug":"43b5cf583fac76","commentsCount":0,"likedCount":7,"bookmarkedCount":2,"bodyLettersCount":11014,"articleType":"tech","emoji":"🖼️","isSuspendingPrivate":false,"publishedAt":"2026-04-11T15:23:48.263+09:00","bodyUpdatedAt":"2026-04-11T15:23:48.263+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/catatsuy/articles/43b5cf583fac76","principalType":"User","title":"CDNを活用した画像配信の設計と最適化","user":{"id":1676,"username":"catatsuy","name":"catatsuy","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--Aaft4Clb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/cba5eb4c11.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560046,"postType":"Article","slug":"c1d02fe074d20b","commentsCount":0,"likedCount":26,"bookmarkedCount":11,"bodyLettersCount":5535,"articleType":"tech","emoji":"🗺️","isSuspendingPrivate":false,"publishedAt":"2026-04-10T10:19:07.666+09:00","bodyUpdatedAt":"2026-04-09T12:56:51.096+09:00","sourceRepoUpdatedAt":"2026-04-10T10:19:07.657+09:00","pinned":false,"path":"/sun_asterisk/articles/c1d02fe074d20b","principalType":"Publication","title":"GitHub Copilot SDKを使えばユーザーのサブスクを使ってAIサービスが作れるのでは…？","user":{"id":4587,"username":"kurogoma4d","name":"Kurogoma4D","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--mU9wcjo1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/19b673ffa3.jpeg?_a=BACAGSGT"},"publication":{"id":170,"name":"sun_asterisk","displayName":"Sun* Developers","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--NNNMQo58--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/c5a54f6b3c.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/c5a54f6b3c.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":556210,"postType":"Article","slug":"cd04dd1350bac5","commentsCount":0,"likedCount":32,"bookmarkedCount":9,"bodyLettersCount":7125,"articleType":"tech","emoji":"🧵","isSuspendingPrivate":false,"publishedAt":"2026-04-09T20:00:04.338+09:00","bodyUpdatedAt":"2026-04-09T19:54:54.205+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/layerx/articles/cd04dd1350bac5","principalType":"Publication","title":"\"なんとなく改善\"からの脱却。Langfuseで作る、精度を改善し続けられるAI開発基盤","user":{"id":72924,"username":"arfes","name":"yata","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14GguKcaV5uORdvM97rUdpfeTxKH1FkxhQG6WnRIJ=s96-c"},"publication":{"id":377,"name":"layerx","displayName":"LayerX","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--TEPjDNB3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/a691e618c7.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/a691e618c7.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":561265,"postType":"Article","slug":"golang-react-state-machine-transition-table","commentsCount":0,"likedCount":7,"bookmarkedCount":1,"bodyLettersCount":32754,"articleType":"tech","emoji":"🧭","isSuspendingPrivate":false,"publishedAt":"2026-04-11T13:20:22.778+09:00","bodyUpdatedAt":"2026-04-11T13:20:22.778+09:00","sourceRepoUpdatedAt":"2026-04-11T13:20:22.778+09:00","pinned":false,"path":"/okamyuji/articles/golang-react-state-machine-transition-table","principalType":"User","title":"Go + Reactで現場レベルの状態遷移を1つのテーブルに統合する — 13状態×15イベントを型で閉じ込める","user":{"id":104265,"username":"okamyuji","name":"okamyuji","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--d49oggPE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/69b1f462b9.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":561251,"postType":"Article","slug":"opencode-gpt54-screenshot-review-skill","commentsCount":0,"likedCount":7,"bookmarkedCount":5,"bodyLettersCount":5897,"articleType":"tech","emoji":"👁","isSuspendingPrivate":false,"publishedAt":"2026-04-11T12:59:50.502+09:00","bodyUpdatedAt":"2026-04-11T12:59:50.501+09:00","sourceRepoUpdatedAt":"2026-04-11T12:59:50.501+09:00","pinned":false,"path":"/soyukke/articles/opencode-gpt54-screenshot-review-skill","principalType":"User","title":"GitHub Copilot CLIの画像レビューをスキル化したらUI改善が捗った","user":{"id":11871,"username":"soyukke","name":"そゆっけ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--OkrTJVBL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/89058c0d3f.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":534021,"postType":"Article","slug":"terraform-infra-design-overview","commentsCount":0,"likedCount":4,"bookmarkedCount":2,"bodyLettersCount":20323,"articleType":"tech","emoji":"🏗️","isSuspendingPrivate":false,"publishedAt":"2026-04-11T20:41:12.275+09:00","bodyUpdatedAt":"2026-04-12T12:23:51.421+09:00","sourceRepoUpdatedAt":"2026-04-12T12:23:51.415+09:00","pinned":false,"path":"/toutou/articles/terraform-infra-design-overview","principalType":"User","title":"Terraformインフラ管理の設計観点と選択肢の比較","user":{"id":22140,"username":"toutou","name":"toutou node","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14GhxUucTzJ3L-yyjf47QpmEefxMHJanWZJmFiWlM=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":559640,"postType":"Article","slug":"4a61491a6b5059","commentsCount":0,"likedCount":79,"bookmarkedCount":58,"bodyLettersCount":8471,"articleType":"tech","emoji":"👾","isSuspendingPrivate":false,"publishedAt":"2026-04-08T19:04:28.889+09:00","bodyUpdatedAt":"2026-04-08T20:04:09.374+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/medirom_tech/articles/4a61491a6b5059","principalType":"Publication","title":"PMが本来やるべき仕事の時間を取り戻す — Claude Codeで変わった3つのPM業務","user":{"id":72790,"username":"tera_t","name":"てら","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14GhegRFb1VspqBpGDkswcUozWo_o0d9ULPC8w6IE=s96-c"},"publication":{"id":1105,"name":"medirom_tech","displayName":"メディロムグループ　Tech Blog","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--S0WaqHr3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/84c0ee07f8.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/84c0ee07f8.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560723,"postType":"Article","slug":"30c5ca850e8050","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":16679,"articleType":"tech","emoji":"👿","isSuspendingPrivate":false,"publishedAt":"2026-04-12T11:38:38.510+09:00","bodyUpdatedAt":"2026-04-12T13:45:06.653+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/solvio/articles/30c5ca850e8050","principalType":"Publication","title":"App RunnerからECS Express ModeへTerraformで移行する","user":{"id":223602,"username":"kazuki2929","name":"okawa_","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--B7n7BSPz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/2b882e5525.jpeg?_a=BACAGSGT"},"publication":{"id":838,"name":"solvio","displayName":"Solvio株式会社","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--SWKojSMq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/8e612daaeb.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/8e612daaeb.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":561150,"postType":"Article","slug":"gsa-egress-ip-geolocation","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":9407,"articleType":"tech","emoji":"🌐","isSuspendingPrivate":false,"publishedAt":"2026-04-11T09:29:04.929+09:00","bodyUpdatedAt":"2026-04-11T09:34:40.106+09:00","sourceRepoUpdatedAt":"2026-04-11T09:34:40.097+09:00","pinned":false,"path":"/microsoft/articles/gsa-egress-ip-geolocation","principalType":"Publication","title":"Microsoft Entra Internet Access の Egress IP 実機検証","user":{"id":127832,"username":"nmurata113","name":"Nobufumi Murata","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--Q5sgt0lA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/091ce04219.jpeg?_a=BACAGSGT"},"publication":{"id":90,"name":"microsoft","displayName":"Microsoft (有志)","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--9cOQ-vuo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/c3d3b7b78f.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/c3d3b7b78f.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":561823,"postType":"Article","slug":"claude-code-multi-session-job-queue","commentsCount":0,"likedCount":5,"bookmarkedCount":0,"bodyLettersCount":5752,"articleType":"tech","emoji":"🚀","isSuspendingPrivate":false,"publishedAt":"2026-04-12T15:50:38.057+09:00","bodyUpdatedAt":"2026-04-12T15:50:38.057+09:00","sourceRepoUpdatedAt":"2026-04-12T15:50:38.057+09:00","pinned":false,"path":"/mh4gf/articles/claude-code-multi-session-job-queue","principalType":"User","title":"Claude Codeのマルチセッション管理にジョブキューの概念を取り入れる","user":{"id":5989,"username":"mh4gf","name":"Hirotaka Miyagi","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--FlQ9yq7F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/559008f32f.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560432,"postType":"Article","slug":"42f5c533823a59","commentsCount":0,"likedCount":16,"bookmarkedCount":3,"bodyLettersCount":2269,"articleType":"tech","emoji":"🎹","isSuspendingPrivate":false,"publishedAt":"2026-04-10T00:50:21.288+09:00","bodyUpdatedAt":"2026-04-12T23:08:48.851+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/itouuuuuuuuu/articles/42f5c533823a59","principalType":"User","title":"無線分割キーボードのバッテリー表示アプリを作ったよ（Mac用）","user":{"id":9276,"username":"itouuuuuuuuu","name":"itouuuuuuuuu","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--1vC7_728--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/90ba67cab2.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560717,"postType":"Article","slug":"2026-04-10_cadquery-claude-tools-tutorial","commentsCount":0,"likedCount":9,"bookmarkedCount":7,"bodyLettersCount":5006,"articleType":"tech","emoji":"🧊","isSuspendingPrivate":false,"publishedAt":"2026-04-10T18:38:51.547+09:00","bodyUpdatedAt":"2026-04-10T18:35:41.181+09:00","sourceRepoUpdatedAt":"2026-04-10T18:35:41.171+09:00","pinned":false,"path":"/fabrica/articles/2026-04-10_cadquery-claude-tools-tutorial","principalType":"Publication","title":"Claude Codeで3D CADを操作するMCPサーバとスキルを作った","user":{"id":179924,"username":"hal_fab","name":"hal","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--tI2zk4Ad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/fd94d16b80.jpeg?_a=BACAGSGT"},"publication":{"id":1294,"name":"fabrica","displayName":"Fabrica.テックブログ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--2xkbs3-e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/2da265402f.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/2da265402f.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560600,"postType":"Article","slug":"claude-code-skill-improvement-cycle","commentsCount":0,"likedCount":20,"bookmarkedCount":6,"bodyLettersCount":5304,"articleType":"tech","emoji":"🔄","isSuspendingPrivate":false,"publishedAt":"2026-04-10T10:48:46.271+09:00","bodyUpdatedAt":"2026-04-10T17:32:44.229+09:00","sourceRepoUpdatedAt":"2026-04-10T17:32:44.215+09:00","pinned":false,"path":"/tre_conigli/articles/claude-code-skill-improvement-cycle","principalType":"User","title":"Claude Code Skillsは作って終わりじゃない — 事後ログで改善サイクルを回す","user":{"id":296042,"username":"tre_conigli","name":"3羽のうさぎ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--xl41TSbY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e42f84dd86.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":561106,"postType":"Article","slug":"zenn-copilot-cli-lv1-lv2","commentsCount":0,"likedCount":3,"bookmarkedCount":2,"bodyLettersCount":12617,"articleType":"tech","emoji":"🤖","isSuspendingPrivate":false,"publishedAt":"2026-04-11T03:25:14.846+09:00","bodyUpdatedAt":"2026-04-11T22:01:08.056+09:00","sourceRepoUpdatedAt":"2026-04-11T22:01:08.047+09:00","pinned":false,"path":"/seiwan/articles/zenn-copilot-cli-lv1-lv2","principalType":"User","title":"Copilot CLIをスクリプトから使い倒す: 単発実行からセッション再開まで","user":{"id":185689,"username":"seiwan","name":"sdfsdar","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--_PFSkbqj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/75daac87b2.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560990,"postType":"Article","slug":"20260410_20260409_no-enqueue-before-tx-commit","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":8607,"articleType":"tech","emoji":"📝","isSuspendingPrivate":false,"publishedAt":"2026-04-10T21:26:17.241+09:00","bodyUpdatedAt":"2026-04-10T21:26:17.241+09:00","sourceRepoUpdatedAt":"2026-04-10T21:26:17.241+09:00","pinned":false,"path":"/hayato98/articles/20260410_20260409_no-enqueue-before-tx-commit","principalType":"User","title":"トランザクションのコミット前にキューへ投入してはいけない理由","user":{"id":246696,"username":"hayato98","name":"hayato98","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocJ9_BB_KbBtAPQIWwT2pbR3SpmiMTQaVSlN4p29R8CHcPocYQ=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":559759,"postType":"Article","slug":"github-as-code-with-gh-infra","commentsCount":0,"likedCount":49,"bookmarkedCount":16,"bodyLettersCount":26886,"articleType":"tech","emoji":"🏗️","isSuspendingPrivate":false,"publishedAt":"2026-04-08T20:51:11.086+09:00","bodyUpdatedAt":"2026-04-08T20:51:11.086+09:00","sourceRepoUpdatedAt":"2026-04-08T20:51:11.086+09:00","pinned":false,"path":"/babarot/articles/github-as-code-with-gh-infra","principalType":"User","title":"Terraformを使わずにGitHubをコードで管理する","user":{"id":201039,"username":"babarot","name":"babarot","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocIFcNwcmLeLwKfITHEuRGK_Qeo1rjIFyHB6qZuvPROzooVGZkf9=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":544831,"postType":"Article","slug":"viewing-log-queuing-system","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":9061,"articleType":"tech","emoji":"📊","isSuspendingPrivate":false,"publishedAt":"2026-04-10T19:10:19.789+09:00","bodyUpdatedAt":"2026-04-10T19:12:38.689+09:00","sourceRepoUpdatedAt":"2026-04-10T19:12:38.678+09:00","pinned":false,"path":"/pivotmedia/articles/viewing-log-queuing-system","principalType":"Publication","title":"動画アプリの視聴ログを確実に送るためのキューイングシステム設計（iOS/Android）","user":{"id":250425,"username":"kazyam","name":"さきさん","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--Dr0N4kfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/18310f8492.jpeg?_a=BACAGSGT"},"publication":{"id":1425,"name":"pivotmedia","displayName":"PIVOT Tech Blog","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--EqTj-IVx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/7da53263fd.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/7da53263fd.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560236,"postType":"Article","slug":"31bd95c8135d54","commentsCount":0,"likedCount":6,"bookmarkedCount":1,"bodyLettersCount":5279,"articleType":"tech","emoji":"📖","isSuspendingPrivate":false,"publishedAt":"2026-04-10T18:50:01.084+09:00","bodyUpdatedAt":"2026-04-09T17:40:49.037+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/dely_jp/articles/31bd95c8135d54","principalType":"Publication","title":"ルールだけでは守れない — Claude Code Hooksで決定論的なガードレールを作る","user":{"id":182890,"username":"kiyokuro","name":"kiyokuro","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocLmXGNFVPDnmPtrC3u95Lb-p3dRE3H-YzTqlVN5Gl0Ex7WYxpCbZw=s96-c"},"publication":{"id":879,"name":"dely_jp","displayName":"Kurashiru Tech Blog","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--BiVsFF0_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/3706268d6c.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/3706268d6c.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560265,"postType":"Article","slug":"f50f525d0ed0c3","commentsCount":0,"likedCount":3,"bookmarkedCount":1,"bodyLettersCount":6339,"articleType":"tech","emoji":"🦁","isSuspendingPrivate":false,"publishedAt":"2026-04-10T18:00:08.420+09:00","bodyUpdatedAt":"2026-04-10T17:37:32.897+09:00","sourceRepoUpdatedAt":"2026-04-10T17:37:32.887+09:00","pinned":false,"path":"/socialplus/articles/f50f525d0ed0c3","principalType":"Publication","title":"job-iteration gem から Active Job Continuation に移行した","user":{"id":147395,"username":"terandard","name":"terandard","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocK-SHFwCNZ2vst1UUJuXFlJwvYcM8F2gTVcX2Bhgwj9JQ=s96-c"},"publication":{"id":557,"name":"socialplus","displayName":"Social PLUS Tech Blog","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--H8kXeT-d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/b8286bcc01.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/b8286bcc01.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560727,"postType":"Article","slug":"8a9a201b8f629e","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":2704,"articleType":"tech","emoji":"🔀","isSuspendingPrivate":false,"publishedAt":"2026-04-11T00:56:23.718+09:00","bodyUpdatedAt":"2026-04-11T00:56:52.205+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/nishina__n/articles/8a9a201b8f629e","principalType":"User","title":"Tailscaleでhttps通信。local PCのWebアプリにiphoneからアクセスする。","user":{"id":235732,"username":"nishina__n","name":"Nishina","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocJJ_0bPyk5eh1Zk51GUiTiuWur7hmQRrdLD6TnwLZ3Q0Xcofw=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":558258,"postType":"Article","slug":"4f635043d7feda","commentsCount":0,"likedCount":3,"bookmarkedCount":1,"bodyLettersCount":2463,"articleType":"tech","emoji":"👩‍💻","isSuspendingPrivate":false,"publishedAt":"2026-04-10T13:05:08.006+09:00","bodyUpdatedAt":"2026-04-10T11:00:55.716+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/cybermatrix/articles/4f635043d7feda","principalType":"Publication","title":"【PortSwigger Lab#1】Burp ScannerでXInclude脆弱性を見抜く｜スキャナーに頼らない調査","user":{"id":302574,"username":"lunathecatlover","name":"なかえま","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--yKeZvME0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/2a3207a2ac.jpeg?_a=BACAGSGT"},"publication":{"id":1513,"name":"cybermatrix","displayName":"クラスメソッドセキュリティのブログ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--eAMa9hO4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/2161027732.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/2161027732.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":559799,"postType":"Article","slug":"8ae0a928cafe3e","commentsCount":0,"likedCount":5,"bookmarkedCount":3,"bodyLettersCount":4998,"articleType":"tech","emoji":"🌊","isSuspendingPrivate":false,"publishedAt":"2026-04-11T02:49:46.476+09:00","bodyUpdatedAt":"2026-04-11T02:51:25.299+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/headwaters/articles/8ae0a928cafe3e","principalType":"Publication","title":"【Microsoft Agent Framework 】クライアント生成を理解したい","user":{"id":307077,"username":"hwschinen","name":"ai chinen","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--_J2iBGiQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/2c215f424e.jpeg?_a=BACAGSGT"},"publication":{"id":577,"name":"headwaters","displayName":"ヘッドウォータース","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--1bnGu8xt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/6c4a1ce106.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/6c4a1ce106.jpeg","pro":true,"avatarRegistered":true},"publicationArticleOverride":null},{"id":559840,"postType":"Article","slug":"omamori-audit-log-v070-v075","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":4480,"articleType":"tech","emoji":"📝","isSuspendingPrivate":false,"publishedAt":"2026-04-10T20:13:12.986+09:00","bodyUpdatedAt":"2026-04-10T20:12:08.880+09:00","sourceRepoUpdatedAt":"2026-04-12T11:42:19.549+09:00","pinned":false,"path":"/yottayoshida/articles/omamori-audit-log-v070-v075","principalType":"User","title":"改ざんされない形でブロックした証拠を残す — omamori v0.7","user":{"id":309796,"username":"yottayoshida","name":"yotta","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocK3Exo_3pWhHZ61d7dV0xhcS2zci7VuVKs_7aC4viVbeuadhJPTKg=s250-c"},"publication":null,"publicationArticleOverride":null},{"id":74465,"postType":"Article","slug":"6d40715ab2a822","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":290,"articleType":"tech","emoji":"🎃","isSuspendingPrivate":false,"publishedAt":"2022-02-05T21:48:24.698+09:00","bodyUpdatedAt":"2022-02-05T21:48:24.698+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/ab25cq/articles/6d40715ab2a822","principalType":"User","title":"neo-c version 5.0.3リリースです","user":{"id":56554,"username":"ab25cq","name":"ab25cq","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6L0KlP1uogzdHfNIVj0glQjngwiuHmSukG7mGECs=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":561299,"postType":"Article","slug":"d54866a48ebb60","commentsCount":0,"likedCount":3,"bookmarkedCount":1,"bodyLettersCount":5442,"articleType":"tech","emoji":"🐋","isSuspendingPrivate":false,"publishedAt":"2026-04-11T15:16:47.841+09:00","bodyUpdatedAt":"2026-04-11T15:23:25.293+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/qzira/articles/d54866a48ebb60","principalType":"User","title":"# AIエージェントにAPIゲートウェイを挟んでよかったこと11選","user":{"id":304178,"username":"qzira","name":"qzira(クジラ)","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--Py_xtolh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/b9d385ca38.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560909,"postType":"Article","slug":"7cfdfa217ee0f1","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":3342,"articleType":"tech","emoji":"📖","isSuspendingPrivate":false,"publishedAt":"2026-04-10T21:12:22.204+09:00","bodyUpdatedAt":"2026-04-10T21:12:22.204+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/tnakajima38/articles/7cfdfa217ee0f1","principalType":"User","title":"Microsoft Fabric容量設計入門｜CU超過・スロットリングを防ぐ運用ポイント","user":{"id":315671,"username":"tnakajima38","name":"Nakajima Tsuyoshi","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--joCvapZw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/634105952f.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":556723,"postType":"Article","slug":"cf25e680fa97b0","commentsCount":0,"likedCount":18,"bookmarkedCount":3,"bodyLettersCount":17321,"articleType":"tech","emoji":"🍻","isSuspendingPrivate":false,"publishedAt":"2026-04-09T11:45:05.200+09:00","bodyUpdatedAt":"2026-04-09T01:34:31.891+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/green_tea/articles/cf25e680fa97b0","principalType":"User","title":"AI Agentと数理最適化で飲み会会費の傾斜配分を決める","user":{"id":124776,"username":"green_tea","name":"redtea","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--QQJxpUsA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/233b82dd71.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":559324,"postType":"Article","slug":"d9fc317c1336c2","commentsCount":2,"likedCount":94,"bookmarkedCount":64,"bodyLettersCount":9315,"articleType":"tech","emoji":"🌐","isSuspendingPrivate":false,"publishedAt":"2026-04-08T08:02:05.059+09:00","bodyUpdatedAt":"2026-04-08T00:58:42.492+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/aircloset/articles/d9fc317c1336c2","principalType":"Publication","title":"社内業務をAIに開放 — 自社MCPサーバー群一挙公開！","user":{"id":54795,"username":"thujikun","name":"辻 亮佑","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--G_-KnjXF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/a277d01cad.jpeg?_a=BACAGSGT"},"publication":{"id":1272,"name":"aircloset","displayName":"エアークローゼットテックブログ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--I87PEezV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/91f656f344.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/91f656f344.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560386,"postType":"Article","slug":"753e9987863f6e","commentsCount":0,"likedCount":7,"bookmarkedCount":1,"bodyLettersCount":3550,"articleType":"tech","emoji":"🤿","isSuspendingPrivate":false,"publishedAt":"2026-04-10T07:38:10.343+09:00","bodyUpdatedAt":"2026-04-10T07:38:10.343+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/kawarimidoll/articles/753e9987863f6e","principalType":"User","title":"MacのFinderで今開いているディレクトリをGhosttyで開く","user":{"id":39895,"username":"kawarimidoll","name":"kawarimidoll","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--fUTG-lU8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/d161b5dce5.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560495,"postType":"Article","slug":"dda21c75ff980a","commentsCount":0,"likedCount":4,"bookmarkedCount":1,"bodyLettersCount":10754,"articleType":"tech","emoji":"🌀","isSuspendingPrivate":false,"publishedAt":"2026-04-10T06:18:35.359+09:00","bodyUpdatedAt":"2026-04-10T06:18:35.359+09:00","sourceRepoUpdatedAt":"2026-04-10T06:18:35.359+09:00","pinned":false,"path":"/makotot/articles/dda21c75ff980a","principalType":"User","title":"React Hook FormはなぜReact Compilerのメモ化と噛み合わないのか","user":{"id":294,"username":"makotot","name":"makotot","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--t9E9r9It--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/42e8e6da30.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":559049,"postType":"Article","slug":"design-system-skills","commentsCount":0,"likedCount":148,"bookmarkedCount":75,"bodyLettersCount":7991,"articleType":"tech","emoji":"🍭","isSuspendingPrivate":false,"publishedAt":"2026-04-08T10:09:54.508+09:00","bodyUpdatedAt":"2026-04-08T10:09:54.507+09:00","sourceRepoUpdatedAt":"2026-04-08T10:09:54.497+09:00","pinned":false,"path":"/cybozu_frontend/articles/design-system-skills","principalType":"Publication","title":"デザインシステムを丸ごと Skills にする","user":{"id":520,"username":"mugi","name":"mugi","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14GiYKLtKklUL-3MjNBvaMCZFqvaFMkLTYvOjIOoR-Q=s80-c"},"publication":{"id":17,"name":"cybozu_frontend","displayName":"サイボウズ フロントエンド","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--LIYAKcEz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/ec90598e61.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/ec90598e61.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560737,"postType":"Article","slug":"7dcac5e518b637","commentsCount":0,"likedCount":6,"bookmarkedCount":1,"bodyLettersCount":2293,"articleType":"tech","emoji":"😎","isSuspendingPrivate":false,"publishedAt":"2026-04-10T14:38:22.721+09:00","bodyUpdatedAt":"2026-04-10T14:38:22.721+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/booost/articles/7dcac5e518b637","principalType":"Publication","title":"ブラウザ操作を録画して、AIにPlaywrightテストを書いてもらう","user":{"id":2610,"username":"ma_me","name":"ma_me","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--m_9Rky7R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/33f5d85257.jpeg?_a=BACAGSGT"},"publication":{"id":996,"name":"booost","displayName":"Booost","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--5xnGqwsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/76380c2dbd.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/76380c2dbd.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":558088,"postType":"Article","slug":"8afaebc087440a","commentsCount":0,"likedCount":10,"bookmarkedCount":5,"bodyLettersCount":8997,"articleType":"tech","emoji":"📝","isSuspendingPrivate":false,"publishedAt":"2026-04-10T09:00:09.654+09:00","bodyUpdatedAt":"2026-04-07T22:45:58.240+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/tokium_dev/articles/8afaebc087440a","principalType":"Publication","title":"Claude Codeで「新機能のシステムテスト自動実行」を実現した話 ── 新人テスターを育てるように、AIにナレッジを蓄積させる","user":{"id":310220,"username":"tom_zenn","name":"とみしゅう","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocKJUHuD_ydyznDXr_l5G-pwI9zNh1QbROW0NoeYYQz-G8wf=s250-c"},"publication":{"id":35,"name":"tokium_dev","displayName":"TOKIUMプロダクトチーム テックブログ","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--syn_Qp58--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/5b510b29f1.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/5b510b29f1.jpeg","pro":true,"avatarRegistered":true},"publicationArticleOverride":null},{"id":559349,"postType":"Article","slug":"7ad57493a04f88","commentsCount":1,"likedCount":120,"bookmarkedCount":49,"bodyLettersCount":10884,"articleType":"tech","emoji":"🗿","isSuspendingPrivate":false,"publishedAt":"2026-04-08T02:40:35.163+09:00","bodyUpdatedAt":"2026-04-08T04:05:17.981+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/mikana0918/articles/7ad57493a04f88","principalType":"User","title":"Claudeトークン消費を抑えて５倍使う: 「原始人」口調が80%削減","user":{"id":33084,"username":"mikana0918","name":"mikana0918@InterfaceX","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--JemD1MNi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/4565837000.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":559951,"postType":"Article","slug":"operating-without-operations","commentsCount":0,"likedCount":20,"bookmarkedCount":11,"bodyLettersCount":4270,"articleType":"tech","emoji":"🛠️","isSuspendingPrivate":false,"publishedAt":"2026-04-09T10:15:27.051+09:00","bodyUpdatedAt":"2026-04-09T09:37:41.925+09:00","sourceRepoUpdatedAt":"2026-04-09T10:15:27.042+09:00","pinned":false,"path":"/toshipon/articles/operating-without-operations","principalType":"User","title":"頑張って運用しない。個人開発で『運用しない設計』を作る","user":{"id":18493,"username":"toshipon","name":"toshipon","avatarSmallUrl":"https://lh3.googleusercontent.com/a-/AOh14GjbuTsrwgIBQElWjLBEthNU1DHRfswOcZvCmo_utA=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":560735,"postType":"Article","slug":"2026-04-10_claude","commentsCount":0,"likedCount":3,"bookmarkedCount":0,"bodyLettersCount":1772,"articleType":"tech","emoji":"🤖","isSuspendingPrivate":false,"publishedAt":"2026-04-10T14:34:30.097+09:00","bodyUpdatedAt":"2026-04-10T14:34:30.097+09:00","sourceRepoUpdatedAt":"2026-04-10T14:34:30.096+09:00","pinned":false,"path":"/tkydev/articles/2026-04-10_claude","principalType":"User","title":"Claude Codeをプロジェクト配下で自動起動する","user":{"id":118876,"username":"tkydev","name":"tokiya","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--9p4LwRPy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/3a370e8cf5.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560354,"postType":"Article","slug":"6f1f264e7df58e","commentsCount":0,"likedCount":7,"bookmarkedCount":0,"bodyLettersCount":9603,"articleType":"tech","emoji":"📚","isSuspendingPrivate":false,"publishedAt":"2026-04-09T23:42:43.083+09:00","bodyUpdatedAt":"2026-04-09T23:42:43.083+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/kasada/articles/6f1f264e7df58e","principalType":"User","title":"（スクショ大量付）謎のAgent 365×Gensparkを検証してみた（A365の仕組みもちょっと理解できた）","user":{"id":146856,"username":"kasada","name":"Kaz Asada | しがない情シス","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--R-flLXFr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/36a83fc86f.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560077,"postType":"Article","slug":"3211f5068cec29","commentsCount":0,"likedCount":9,"bookmarkedCount":5,"bodyLettersCount":19361,"articleType":"tech","emoji":"🤖","isSuspendingPrivate":false,"publishedAt":"2026-04-09T13:49:32.228+09:00","bodyUpdatedAt":"2026-04-09T13:49:24.911+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/sprix_it/articles/3211f5068cec29","principalType":"Publication","title":"Anthropic Managed Agents をさくっと触ってみた","user":{"id":124259,"username":"kikegamisprix","name":"いけ","avatarSmallUrl":"https://lh3.googleusercontent.com/a/AAcHTtdMeebq17qOn498qH-AjR2usGs_V-_LCRVSbbJx=s96-c"},"publication":{"id":1556,"name":"sprix_it","displayName":"株式会社スプリックス IT戦略部・SPRIX Enginieering Lab","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s---mrhjgrz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_80/https://storage.googleapis.com/zenn-user-upload/avatar/cca011aaff.jpeg?_a=BACAGSGT","avatarUrl":"https://storage.googleapis.com/zenn-user-upload/avatar/cca011aaff.jpeg","pro":false,"avatarRegistered":true},"publicationArticleOverride":null},{"id":560913,"postType":"Article","slug":"4d6df854aaaa8e","commentsCount":0,"likedCount":5,"bookmarkedCount":0,"bodyLettersCount":6053,"articleType":"tech","emoji":"⚖️","isSuspendingPrivate":false,"publishedAt":"2026-04-10T18:20:10.507+09:00","bodyUpdatedAt":"2026-04-10T18:19:01.928+09:00","sourceRepoUpdatedAt":"2026-04-10T18:20:10.494+09:00","pinned":false,"path":"/philosophum/articles/4d6df854aaaa8e","principalType":"User","title":"最小権限の\"ちょうどいい\"はどこにある？","user":{"id":2563,"username":"philosophum","name":"beli","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--U3Hd91ey--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/38b0acb36b.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560861,"postType":"Article","slug":"1f3fbc506827ac","commentsCount":0,"likedCount":12,"bookmarkedCount":6,"bodyLettersCount":7933,"articleType":"tech","emoji":"✈️","isSuspendingPrivate":false,"publishedAt":"2026-04-10T17:18:41.287+09:00","bodyUpdatedAt":"2026-04-10T17:27:00.243+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/dk_/articles/1f3fbc506827ac","principalType":"User","title":"Claude Code に開発フローを守らせるsuperpowersを使った Skills 設計パターン","user":{"id":28131,"username":"dk_","name":"DK","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--hKraJUdJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/be0971c88b.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560427,"postType":"Article","slug":"c917f5b64ec2dd","commentsCount":0,"likedCount":3,"bookmarkedCount":1,"bodyLettersCount":5036,"articleType":"tech","emoji":"🔰","isSuspendingPrivate":false,"publishedAt":"2026-04-10T01:59:30.672+09:00","bodyUpdatedAt":"2026-04-10T01:59:25.571+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/sweetgreen/articles/c917f5b64ec2dd","principalType":"User","title":"「AWSコンテナ設計・構築[本格]入門 増補改訂版」を使って色々勉強した","user":{"id":194698,"username":"sweetgreen","name":"Avocatron","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--dcf_sq_6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/e1ecd8fd2e.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560419,"postType":"Article","slug":"vscode-browser-copilot","commentsCount":0,"likedCount":6,"bookmarkedCount":0,"bodyLettersCount":2070,"articleType":"tech","emoji":"🤖","isSuspendingPrivate":false,"publishedAt":"2026-04-09T23:20:57.113+09:00","bodyUpdatedAt":"2026-04-09T23:20:57.113+09:00","sourceRepoUpdatedAt":"2026-04-09T23:20:57.113+09:00","pinned":false,"path":"/kurisho/articles/vscode-browser-copilot","principalType":"User","title":"VSCodeの統合ブラウザ機能とCopilotの連携がアツいかもしれない","user":{"id":191939,"username":"kurisho","name":"KuRi","avatarSmallUrl":"https://lh3.googleusercontent.com/a/ACg8ocJHlTACbWb4G5H3FfalN8wOvjisWd399kCNgDo48_oBvbye0lil=s96-c"},"publication":null,"publicationArticleOverride":null},{"id":559531,"postType":"Article","slug":"9f95d185fe356d","commentsCount":0,"likedCount":89,"bookmarkedCount":15,"bodyLettersCount":4398,"articleType":"tech","emoji":"🌊","isSuspendingPrivate":false,"publishedAt":"2026-04-08T13:24:37.432+09:00","bodyUpdatedAt":"2026-04-08T13:23:46.955+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/mattn/articles/9f95d185fe356d","principalType":"User","title":"Vim の春コーデ — 透け見せの着こなし","user":{"id":1100,"username":"mattn","name":"mattn","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--ajoydCh2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/b0b07eb380.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null},{"id":560724,"postType":"Article","slug":"45866b444e65bf","commentsCount":0,"likedCount":4,"bookmarkedCount":1,"bodyLettersCount":6856,"articleType":"tech","emoji":"😫","isSuspendingPrivate":false,"publishedAt":"2026-04-10T14:17:57.276+09:00","bodyUpdatedAt":"2026-04-10T14:17:57.276+09:00","sourceRepoUpdatedAt":null,"pinned":false,"path":"/nix/articles/45866b444e65bf","principalType":"User","title":"App Runner から ECS Express Mode 移行の苦労話（Terraform）","user":{"id":76313,"username":"nix","name":"___nix___","avatarSmallUrl":"https://res.cloudinary.com/zenn/image/fetch/s--ltXlPOZG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/9eaf189d4a.jpeg?_a=BACAGSGT"},"publication":null,"publicationArticleOverride":null}]