つばろぐ

主に C#, .NET, Azure の備忘録です。たまに日記。

GitHub Agentic Workflows 入門

GH-600 (GitHub Certified: Agentic AI Developer) の試験範囲には、GitHub Agentic Workflows も含まれているっぽいです。
これまでちゃんと GitHub Agentic Workflows を使っていなかったため、今回改めて学習してみることにしました。

ドキュメント類

github.github.com

docs.github.com

docs.github.com

GitHub Agentic Workflows とは

GitHub Agentic Workflows は、GitHub Actions のワークフローを介して AI エージェントを実行するための仕組みです。
自動化の構成を Markdown 形式で記述し、コマンドでコンパイルしてワークフローを生成します。

構成

Markdown ファイルは2つの要素で構成されます。

  1. YAML 形式の Frontmatter
  2. Markdown 形式の本文

YAML 形式の Frontmatter

ワークフローが実行されるタイミング、ワークフローが持つ権限、および許可される書き込み操作を設定します。
--- で囲みます。

キーワード 説明
description ワークフローの説明を設定
on ワークフローが実行されるトリガーを指定
permissions ワークフローが持つ権限を指定
tools 使用するツールを指定
safe-outputs 安全に出力される値を指定
source ワークフローの参考のソースを指定

例 (githubnext/agentics/repo-status)

description: |
  This workflow creates daily repo status reports. It gathers recent repository
  activity (issues, PRs, discussions, releases, code changes) and generates
  engaging GitHub issues with productivity insights, community highlights,
  and project recommendations.

on:
  schedule: daily
  workflow_dispatch:

permissions:
  contents: read
  issues: read
  pull-requests: read

  copilot-requests: none
network: defaults

tools:
  bash: ["cat", "ls", "find", "grep", "head", "tail", "wc"]
  github:
    # If in a public repo, setting `lockdown: false` allows
    # reading issues, pull requests and comments from 3rd-parties
    # If in a private repo this has no particular effect.
    lockdown: false
    min-integrity: none # This workflow is allowed to examine and comment on any issues

safe-outputs:
  mentions: false
  allowed-github-references: []
  create-issue:
    title-prefix: "[repo-status] "
    labels: [report, daily-status]
    close-older-issues: true
source: githubnext/agentics/workflows/repo-status.md@4bc8419fad05e6b032741cbfd189986700bcf71c

本文 (Markdown形式)

AI エージェントに対する指示を記述します。

例 (githubnext/agentics/repo-status)

# Repo Status

Create an upbeat daily status report for the repo as a GitHub issue.

## What to include

- Recent repository activity (issues, PRs, discussions, releases, code changes)
- Progress tracking, goal reminders and highlights
- Project status and recommendations
- Actionable next steps for maintainers

## Style

- Be positive, encouraging, and helpful 🌟
- Use emojis moderately for engagement
- Keep it concise - adjust length based on actual activity

## Process

1. Gather recent activity from the repository
2. Study the repository, its issues and its pull requests
3. Create a new GitHub issue with your findings and insights

サポートしているエージェント

github.github.com

作り方

GitHub CLI でワークフローを作成・実行します。

インストール

gh extension install github/gh-aw

初期化

リポジトリにおける Agentic Workflows を初期化します。

gh aw init
  • .github/skills/agentic-workflows/SKILL.md : Agentic Workflows のスキルファイル
  • .vscode/settings.json : Markdown で GitHub Copilot を有効にする VS Code 設定
  • .gitattributes : リポジトリの言語統計にロックファイルを含まない設定

作成

上記の初期化はせずに、プロンプトでワークフローを生成したほうが良さそうです。
ドキュメントの例が参考になります。

github.github.com

Create a workflow for GitHub Agentic Workflows using https://raw.githubusercontent.com/github/gh-aw/main/create.md

The purpose of the workflow is to triage new issues: label them by type and priority, identify duplicates, ask clarifying questions when the description is unclear, and assign them to the right team members.

https://raw.githubusercontent.com/github/gh-aw/main/create.md を参照させるとよいらしい。

コンパイル

gh aw compile

Markdown ファイルを書いてコンパイルすると .lock.yml ファイルが生成され、これがワークフローとして実行できるようになります。

実行

gh aw run <workflow-name>

作成したワークフローを実行します。
実行すると、ジョブサマリーに結果が表示され、Artifacts が生成されます。

github.github.com

GitHub Copilot CLIからGitHub Copilot Appを起動する

GitHub Copilot CLI v1.0.81 にて app コマンドが追加されたので、試してみました。

cd ~/workspace/my-project
copilot app

Copilot App の起動時に、セッションの開始について確認されます。

  • Allow: 現在のディレクトリでセッションを開始する
  • Deny: セッション開始を拒否する

x.com

2026年6月に北海道旅行に行ってきました

※この記事はトピックをもとに AI によって自動生成された文章をベースにしています。


埼玉県より北に行ったことがこれまで無かったのですが、2026年6月26日から28日にかけて家族で北海道に行ってきました。
2泊3日の短い旅行ではありましたが、札幌、小樽、新千歳空港周辺までしっかり回ることができて、北海道らしい食事もいろいろ楽しめました。

今回は平日を1日含む日程だったので、娘には学校を1日休んでもらう形になりました。旅行のたびに思いますが、家族全員の予定を合わせて出かけるのはなかなか大変です。

日程と移動

移動は飛行機で、JAL の特典航空券を使いました。往路は前日に便を変更したのですが、そのときに1人分だけなぜか払い戻しに失敗して少し慌ただしいスタートになりました。

最終的には予定通り移動できたのでよかったものの、特典航空券まわりの変更はもう少し余裕を持ってやったほうが安心だと感じました。

新千歳空港ではレンタカーを借りました。札幌市内だけなら公共交通機関でも十分そうですが、今回は小樽やエスコンフィールドにも寄りたかったので、車があるとかなり動きやすかったです。

www.hokkaido-airports.com

宿泊は札幌市内のホテルJALシティ札幌中島公園にしました。地下鉄での移動もしやすく、観光の拠点として便利でした。

www.sapporo-nakajimapark.hoteljalcity.com

1日目

北海道に着いた初日は少し雨が降っていました。

到着後はまず遅めの昼食として、スープカレー GARAKU 千歳店へ行きました。北海道といえばスープカレーのイメージがあったので、最初の食事としてちょうどよかったです。

s-garaku.com

その後はホテルにチェックインして少し落ち着いてから、地下鉄で札幌駅まで行ってみました。子供のシール探しに行ってみましたが、北海道らしいシールを見つけることはできませんでした。

夜はしっかりした夕食というより、少し遅めの時間にセイコーマートのカツ丼を食べました。
北海道に来たらセイコーマートは一度は行っておきたいと思っていたので、これも満足度が高かったです。
旅行先のローカルコンビニは、その地域の日常が見える感じがして好きです。

2日目

2日目は朝だけ雨が残っていましたが、昼前からはしっかり晴れてきました。朝食は二条市場で海鮮丼にしました。観光地価格ということもあって、なかなかのお値段ではありましたが、せっかく北海道に来たので海鮮を食べる目的は無事に達成できました。

maps.app.goo.gl

その後はロイズ チョコレートタウンへ移動しました。妻と娘はチョコレート作り体験に参加していて、私は見学しながら館内を回っていました。工場見学や体験ができる施設としてもかなり楽しめました。子ども連れとの相性も良い場所だと思います。

www.royce.com

昼食は茨戸ガーデン・ノースヒルというお店でジンギスカンでした。普段の生活ではそこまで羊肉を食べる機会がないので、旅先で食べると特別感があります。

www.hills1916.jp

午後は小樽市に移動して、小樽運河を見たり、廃線となった線路跡を歩いたりしました。小樽は札幌とはまた雰囲気が違っていて、観光地らしい落ち着きと歩きやすさがありました。

夕食はすすきので味噌ラーメンを食べました。これも北海道で食べたかったもののひとつです。スープカレー、海鮮丼、ジンギスカン、味噌ラーメンと、2日目まででかなり北海道らしいメニューを一通り回れた気がします。

misogin.com

3日目

3日目は快晴でした。

朝食はペンギンベーカリーというパン屋で、カレーパンとコーンパンを食べました。北海道といえばコーンパンとちくわパンらしいですね。

www.penguinbakery.com

そのまま空港へ向かう途中で、エスコンフィールドにも寄りました。野球好きとしては一度見ておきたい場所だったので、短時間でも立ち寄れてよかったです。この日は試合はありませんでしたが、ペットのイベントがあったようで、犬・猫・ブタをみかけました。

www.hkdballpark.com

レンタカーを返却したあとは、新千歳空港の中を少し散策しました。新千歳空港は空港自体がかなり充実していました。ロイズのミニ工場があったり、雪ミクの展示があったり、北海道らしいお土産もたくさんありました。

まとめ

2泊3日でもかなり楽しめましたが、北海道はやはり広いので、今度行くならもう少し日数を取って、札幌や小樽以外の場所にも足を延ばしてみたいです。まずは初めての北海道旅行として、家族で無事に楽しく回れたのが何よりでした。

CursorではGitHub Copilotのスキルをそのまま使えない

2026年8月17日に Cursor Build Fukuoka というイベントに参加してきました。

luma.com

このイベントで初めて Cursor を触ってみました。
UI や操作感はほぼ GitHub Copilot App と同じですね。というか、おそらく GitHub Copilot App のほうが後発なのかな。

イベントでは、自分が普段使っているエージェントスキルを Cursor で使えるかどうかを試しました。

github.com

このスキルは GitHub Changelog の1ヶ月分のアップデートを、1つのページにまとめたページを作成するスキルです。

Cursor で既存のスキルを使えるかなと試してみましたが、当然ですが / にスキルは表示されませんでした。

調べたところ Cursor 向けのエージェントスキルは .cursor/skills ディレクトリに配置する必要があるようです。

cursor.com

場所 スコープ
.agents/skills/ プロジェクトレベル
.cursor/skills/ プロジェクトレベル
~/.agents/skills/ ユーザーレベル (グローバル)
~/.cursor/skills/ ユーザーレベル (グローバル)

ということで既存のスキルを .cursor/skills に複製しました。
しかし内容まで複製してしまうと二重管理となってしまうため、Cursor 向けのスキルは GitHub Copilot 向けのスキルを参照する形にしました。

---
name: monthly-digest
description: ...
---

import [.github/skills/monthly-digest/](../../../.github/skills/monthly-digest/)

これで Cursor で同じスキルを使えるようになりました。
スキルもきちんと GitHub Copilot のほうを参照してくれました。

github.com

GitHub Copilot AppでMicrosoft FoundryのClaudeモデルをBYOKで利用する

この記事の続きで、今回は Microsoft Foundry の Claude モデルを BYOK で設定する手順を紹介します。

tsubalog.hatenablog.com

GitHub Copilot App の設定画面を開き、「Model Providers」から「Anthropic」を追加します。

あらかじめ用意した Microsoft Foundry プロジェクトの情報を表のとおりに入力します。

項目 値
Display Name Anthropic (Foundry) ※任意でOK
Base URL {Azure OpenAI エンドポイントの URL}/anthropic
API Key Microsoft Foundry の API キー
Custom headers 不要

続いて、Foundry にデプロイした Claude モデルを入力して追加します。

これでモデルの登録が完了したので、GitHub Copilot App で利用することが可能になりました。