AOのセッションやPRに対して停止・再開・レビュー・マージなどを行い、ブラウザー画像や成果物の送信、ホスト維持、定期実行も扱います。
- AOのセッションを中断・再開したいとき
- PRのレビューやマージを進めたいとき
- セッションの画面や成果物を受け取りたいとき
AOの各ホストで動くセッションの状態や、マージ可能なPR、レビュー通知をまとめて確認し、必要に応じて日次ダイジェストを作成します。
What AO is doing on every host: which sessions are running, waiting on the user, idle or exited, which PRs are ready to merge or got a review, and a daily digest. Read-only. Use for "status", "what's running", "what's waiting on me", "what's ready to merge", "anything stuck", and the AO daily digest routine.
実行スコア 未検証
インストール方法を見る複数ホストにあるAOセッションを確認し、実行中、ユーザー待ち、アイドル、終了済みの状態を整理します。マージ可能なプルリクエストや、新しいレビュー結果などの通知も確認できます。特定セッションの直近の依頼と応答を読み、何をしていたか短くまとめることもできます。日次ダイジェストでは、前回以降に完了した作業、返答待ち、マージ可能なPR、予期せず終了したセッションをホストごとにまとめます。
AO上で進行中の作業や、ユーザーの返答が必要な項目を把握したいときに向いています。レビュー通知やマージ待ちのPRを確認したい場合、しばらく離れていたプロジェクトの状況を短時間でつかみたい場合にも使えます。
このスキルはAO上の状態を読み取り専用で確認します。ホスト情報が記録されていない場合は ao-setup が必要です。ホストを保存する前にユーザーの同意を得ます。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。
点数には入れていません。 2026年10月29日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Follow the ao-rules skill. Read-only in AO: it never marks anything read there. It keeps its own seen list in ~/.ao-grok/ on each via computer. Run on every host in the AO hosts note, in parallel, each from its via computer with the aoapi helper (set AO_REMOTE_BASE and AO_REMOTE_HEADER for remote hosts). If memory has no AO hosts note, run ao-setup first. Don't save hosts without the user's yes.
f(){ <aoapi helper>; aoapi GET 'sessions?active=true' | python3 -c '
import json,sys
for s in json.load(sys.stdin)["sessions"]:
a=s.get("activity") or {}
print("\t".join([s["id"], s.get("kind",""), a.get("state",""), str(len(s.get("prs") or [])), (s.get("displayName") or "")[:60]]))'; }; f
Columns: id, kind (orchestrator or worker), state, PR count, name. States:
| State | Say |
|---|---|
active | running |
waiting_input, blocked | waiting on you |
idle | idle: finished its turn, or not started |
exited | the agent exited; it can be resumed (ao-actions) |
For what's waiting on the user, run ao-answer "Find what's waiting": it finds sessions in waiting_input or blocked, and idle sessions whose last reply asked the user a question. Never use notifications for it. Group by host, then by project (the session id starts with the project id).
Keep the reply short enough for a phone, at most 6 lines: first what needs the user, then what's running, then one line per host with counts (for example "MacBook Pro: 25 idle, 9 exited"). Name a session only when it needs the user or is running. Leave out idle orchestrators, PR numbers and exited sessions unless asked. Report what you saw; don't guess why (a crash, a restart) unless the user asks.
f(){ <aoapi helper>
aoapi GET 'notifications?status=unresolved' | python3 -c '
import json,sys
for n in json.load(sys.stdin)["notifications"]:
if n.get("type")=="ready_to_merge": print("\t".join(["ready_to_merge", n.get("sessionId",""), n.get("prUrl",""), (n.get("title") or "")[:80]]))'
SEEN="$HOME/.ao-grok/<host name>.seen-news"; mkdir -p ~/.ao-grok; touch "$SEEN"
aoapi GET 'notifications?status=unread' | python3 -c '
import json,sys
seen=set(open(sys.argv[1]).read().split()); new=[]
for n in json.load(sys.stdin)["notifications"]:
if n.get("type") in ("review_completed","review_changes_requested","pr_merged","pr_closed_unmerged") and not n.get("resolvedAt") and n.get("id") not in seen:
new.append(n["id"]); print("\t".join([n["type"], n.get("sessionId",""), n.get("prUrl",""), (n.get("title") or "")[:80]]))
open(sys.argv[1],"a").writelines(i+"\n" for i in new)' "$SEEN"
tail -n 500 "$SEEN" > "$SEEN.tmp" && mv "$SEEN.tmp" "$SEEN"; }; f
ready_to_merge comes from the unresolved list, so a PR that was merged or changed since drops off. For "what's ready to merge", list these with the PR link, and offer the merge (ao-actions; needs the user's yes per PR).review_completed, review_changes_requested, pr_merged, pr_closed_unmerged are news. The command prints only news this bot hasn't reported before, and records it as reported, so each item appears once, in a status reply or in the digest, whichever comes first. Mention each in one line. For "what's new again" or "show all news", run it without the seen list.needs_input notifications. They can outlive the wait (the session answered or exited); section 1 is the source for what's waiting.For "what is <session> doing": find it (ask which host if the id is on two hosts), then read its last turn:
f(){ <aoapi helper>; aoapi GET "sessions/<id>/history?offset=0&limit=1" | python3 -c '
import json,sys
t=(json.load(sys.stdin).get("turns") or [{}])[0]
print("asked:", (t.get("userRequest") or "")[:500]); print("replied:", (t.get("agentResponse") or "")[-1500:])'; }; f
Summarise in two or three lines. For "catch me up on <project>", ask the project's orchestrator instead (ao-orchestrator). It has the workers' reports.
The AO daily digest routine runs this skill. Per host: what finished since the last digest (idle sessions with lastEventAt since then), what's waiting on the user, what's ready to merge, and anything exited unexpectedly. Skip quiet projects. Send nothing if nothing happened and nothing is waiting. Write the time of this digest to ~/.ao-grok/<host name>.last-digest on via and read it next time, instead of keeping it in memory.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
AOのセッションやPRに対して停止・再開・レビュー・マージなどを行い、ブラウザー画像や成果物の送信、ホスト維持、定期実行も扱います。
AO上でユーザーの返答を待つセッションを見つけ、質問や承認内容を選択肢で示して回答を返します。離席中の判断ルールにも沿って処理します。
AOの実際のデスクトップアプリを起動・再起動し、画面変更を確認するスキル。ローカルデータでの動作確認や、プロセス・ポート競合などの原因調査を支援します。
AOのプロジェクト担当オーケストレーターに依頼や質問を届け、返答を確認してユーザーに伝えます。
AOを使う各スキルに共通する接続方法やホストの扱い、判断・承認、書き込み、秘密情報のルールを確認できます。
AOが動くコンピューターを検出してホスト情報を記録し、必要に応じてリモート接続や定期確認の設定を進めます。