<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[trknhrさんのフィード]]></title><description><![CDATA[Zennのtrknhrさん（@trknhr）のRSSフィードです]]></description><link>https://zenn.dev/trknhr</link><image><url>https://static.zenn.studio/user-upload/avatar/40870c41f9.jpeg</url><title>trknhrさんのフィード</title><link>https://zenn.dev/trknhr</link></image><generator>zenn.dev</generator><lastBuildDate>Fri, 08 May 2026 07:02:08 GMT</lastBuildDate><atom:link href="https://zenn.dev/trknhr/feed" rel="self" type="application/rss+xml"/><language><![CDATA[ja]]></language><item><title><![CDATA[GitHub Copilot SDK + MCP で「不動産評価チェック」を作って学んだこと]]></title><description><![CDATA[
 はじめに
GitHub Copilot SDK を使った小さな Web アプリを作ってみました。
テーマは、住所を入れると「その場所を買う前にざっくり確認する」ための短いレポートを返す PoC です。
使った構成は次の通りです。

フロントはシンプルな Web UI
バックエンドは Go
ユーザー認証は GitHub OAuth
推論の実行は GitHub Copilot SDK
外部データは mlit-geospatial-mcp


実装してみて面白かったのは、単に SDK をつなぐよりも、

Copilot SDK と CLI の関係
Docker での動かし方
MCP の切り...]]></description><link>https://zenn.dev/trknhr/articles/73f0ee9c3ea731</link><guid isPermaLink="true">https://zenn.dev/trknhr/articles/73f0ee9c3ea731</guid><pubDate>Fri, 24 Apr 2026 06:29:17 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--l5k6qb0e--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:GitHub%2520Copilot%2520SDK%2520%252B%2520MCP%2520%25E3%2581%25A7%25E3%2580%258C%25E4%25B8%258D%25E5%258B%2595%25E7%2594%25A3%25E8%25A9%2595%25E4%25BE%25A1%25E3%2583%2581%25E3%2582%25A7%25E3%2583%2583%25E3%2582%25AF%25E3%2580%258D%25E3%2582%2592%25E4%25BD%259C%25E3%2581%25A3%25E3%2581%25A6%25E5%25AD%25A6%25E3%2582%2593%25E3%2581%25A0%25E3%2581%2593%25E3%2581%25A8%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:trknhr%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzQwODcwYzQxZjkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>trknhr</dc:creator></item><item><title><![CDATA[Claude Managed Agentsで家庭内パーソナルアシスタントを作った]]></title><description><![CDATA[
 はじめに
Claude Managed Agentsが出たので、家庭内の雑務を受けるパーソナルアシスタントを試しに作ってみました。まだまだ運用に乗ってないPoCレベルのアプリですが。
やりたかったのは、ざっくり言うと「Slackで呼べて、家庭のメモやタスクや予定をそこそこ賢く扱ってくれるAI」です。家族や親戚の誕生日、何を贈ったか、学校や保育園のプリント、生協の注文、日々の細かい家事タスクあたりを雑に投げても、それなりに覚えて整理してくれるものを目指しました。
最初の印象を先に書くと、Claude Managed Agentsはかなり良かったです。特に、

実行環境を自前でホスティン...]]></description><link>https://zenn.dev/trknhr/articles/b6170f4284789e</link><guid isPermaLink="true">https://zenn.dev/trknhr/articles/b6170f4284789e</guid><pubDate>Mon, 13 Apr 2026 07:32:39 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--tKRqto9M--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Claude%2520Managed%2520Agents%25E3%2581%25A7%25E5%25AE%25B6%25E5%25BA%25AD%25E5%2586%2585%25E3%2583%2591%25E3%2583%25BC%25E3%2582%25BD%25E3%2583%258A%25E3%2583%25AB%25E3%2582%25A2%25E3%2582%25B7%25E3%2582%25B9%25E3%2582%25BF%25E3%2583%25B3%25E3%2583%2588%25E3%2582%2592%25E4%25BD%259C%25E3%2581%25A3%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:trknhr%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzQwODcwYzQxZjkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>trknhr</dc:creator></item><item><title><![CDATA[2026年春のOSS事故から学ぶ  npm・pnpm・GitHub Actionsのサプライチェーン防御]]></title><description><![CDATA[2026年3月OSS のサプライチェーン事故が立て続けに起きました。

Trivy では攻撃者が trivy-action の 77 個中 76 個の version tag と setup-trivy の 7 個の tag を malicious commit に向け直し、v0.69.4 の不正バイナリ公開。
LiteLLM では 1.82.7 と 1.82.8 が不正に PyPI に載り、公式は後続の 1.83.0 を clean version として案内。
axios では 1.14.1 と 0.30.4 が短時間 npm に公開され、隠し依存 plain-crypto-js の...]]></description><link>https://zenn.dev/trknhr/articles/989086c7b8ecf0</link><guid isPermaLink="true">https://zenn.dev/trknhr/articles/989086c7b8ecf0</guid><pubDate>Wed, 01 Apr 2026 17:10:16 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--UBHj-53k--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:2026%25E5%25B9%25B4%25E6%2598%25A5%25E3%2581%25AEOSS%25E4%25BA%258B%25E6%2595%2585%25E3%2581%258B%25E3%2582%2589%25E5%25AD%25A6%25E3%2581%25B6%2520%2520npm%25E3%2583%25BBpnpm%25E3%2583%25BBGitHub%2520Actions%25E3%2581%25AE%25E3%2582%25B5%25E3%2583%2597%25E3%2583%25A9%25E3%2582%25A4%25E3%2583%2581%25E3%2582%25A7%25E3%2583%25BC%25E3%2583%25B3%25E9%2598%25B2%25E5%25BE%25A1%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:trknhr%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzQwODcwYzQxZjkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>trknhr</dc:creator></item><item><title><![CDATA[AIでのコードレビューにセカンドオピニオンを]]></title><description><![CDATA[この記事はヌーラボブログリレー2025冬 Techの19日目として投稿しています。
こんにちは。複数のAIによるコードレビューをサクッと行いたい時はありませんか？僕はあります。実際にこういったことをやろうと思えばAIにスクリプトを生成させてすぐに自分の手元で行うことができます。一件落着！としてしまうとブログが終わってしまいますので少しの間ですが、お付き合いください。

 解決したい問題
さてここまでで大抵の場合は本当に一件落着なんですが、このように作られたスクリプトはChatGPTなどの従量課金であるAPIを叩いてしまうことが多いです。APIを叩くこと自体問題ないのですが、できればこうい...]]></description><link>https://zenn.dev/trknhr/articles/3a31ae00bd88cc</link><guid isPermaLink="true">https://zenn.dev/trknhr/articles/3a31ae00bd88cc</guid><pubDate>Fri, 19 Dec 2025 04:59:42 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--IYpYWxIS--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:AI%25E3%2581%25A7%25E3%2581%25AE%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589%25E3%2583%25AC%25E3%2583%2593%25E3%2583%25A5%25E3%2583%25BC%25E3%2581%25AB%25E3%2582%25BB%25E3%2582%25AB%25E3%2583%25B3%25E3%2583%2589%25E3%2582%25AA%25E3%2583%2594%25E3%2583%258B%25E3%2582%25AA%25E3%2583%25B3%25E3%2582%2592%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:trknhr%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzQwODcwYzQxZjkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>trknhr</dc:creator></item><item><title><![CDATA[実践assistant-ui: AIチャットを速やかに構築する]]></title><description><![CDATA[この記事はこの記事はヌーラボブログリレー2025夏の11日目として投稿しています。
本記事では、AIチャットアプリケーションのUI開発を効率化するライブラリ「assistant-ui」について、その概要から具体的な活用例、サンプルだけだとわかりにくい具体的な機能についての実装を解説します。

 assistant-uiとは
asisitant-uiとは、AIチャットのUIを構築するために特化したTypeScript/Reactライブラリです。デザインとカスタマイズ性で使い勝手が良くコンポーネント不配布のデファクトであるshadcn/ui とTailwind CSSをベースに構築されており...]]></description><link>https://zenn.dev/trknhr/articles/18fa3419e176d1</link><guid isPermaLink="true">https://zenn.dev/trknhr/articles/18fa3419e176d1</guid><pubDate>Mon, 01 Sep 2025 01:12:31 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--Tb7pYabb--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E5%25AE%259F%25E8%25B7%25B5assistant-ui%253A%2520AI%25E3%2583%2581%25E3%2583%25A3%25E3%2583%2583%25E3%2583%2588%25E3%2582%2592%25E9%2580%259F%25E3%2582%2584%25E3%2581%258B%25E3%2581%25AB%25E6%25A7%258B%25E7%25AF%2589%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:trknhr%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzQwODcwYzQxZjkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>trknhr</dc:creator></item><item><title><![CDATA[AI AgentのコンテキストファイルをGitの作業ブランチから分離して管理する]]></title><description><![CDATA[AI Agentと一緒に開発していると、どんどん生まれるコンテキストファイルたちをどう管理するかというところに悩んでいます。
具体的には以下のような困りごとがあります。

AIのコーディングエージェントのコンテキストが育ってきたら吐き出してAIの思考を整理したいためある程度の間隔で更新がある。
AIの作るファイルなので決定的ではなく各開発者のローカルで差異が必ず生じる
コードをマージする際にコンフリクトが生じやすい
レビューの時に邪魔
とはいえ.gitignoreで無視してローカルだけに保持するのではなくバックアップも兼ねてリモートで管理したい

そんな時に出会ったのがai-docsです...]]></description><link>https://zenn.dev/trknhr/articles/ca057a1f849fc2</link><guid isPermaLink="true">https://zenn.dev/trknhr/articles/ca057a1f849fc2</guid><pubDate>Sun, 06 Jul 2025 14:33:51 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--p6SCqC7N--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:AI%2520Agent%25E3%2581%25AE%25E3%2582%25B3%25E3%2583%25B3%25E3%2583%2586%25E3%2582%25AD%25E3%2582%25B9%25E3%2583%2588%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%25E3%2583%25AB%25E3%2582%2592Git%25E3%2581%25AE%25E4%25BD%259C%25E6%25A5%25AD%25E3%2583%2596%25E3%2583%25A9%25E3%2583%25B3%25E3%2583%2581%25E3%2581%258B%25E3%2582%2589%25E5%2588%2586%25E9%259B%25A2%25E3%2581%2597%25E3%2581%25A6%25E7%25AE%25A1%25E7%2590%2586%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:trknhr%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzQwODcwYzQxZjkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>trknhr</dc:creator></item></channel></rss>