claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialproductivity

📋agent-activity-log

プラグイン
airtable
ライセンス
MIT

説明

オプトイン形式の `Agent activity log`(エージェント活動ログ)テーブルを構築・運用するスキルです。 このテーブルは、長期にわたるまたは複数セッションにまたがる Airtable ワークフローにおいて、エージェントが実行したこと・下した判断・行き詰まった箇所を記録します。 次のような場合に使用: - ワークフロースキル(product-ops、sales-ops、marketing-ops など)をエージェント主導の運用(定期トリアージ、複数ステップのプラン、自動モニタリング、アジェンティックワークフロー)向けにセットアップするとき - ユーザーが「agent activity tracking(エージェント活動追跡)」「audit log of agent decisions(エージェント判断の監査ログ)」「agent memory(エージェントメモリ)」「track what the agent did(エージェントの行動履歴を記録)」またはそれに類する要求を明示的に行ったとき このパターンはオプトイン方式を採用しています(最初に提案を行い、ユーザーにとっての監査可能性という観点でメリットを提示します。監視目的ではありません)。 `show-airtable-link` スキルと同様の方法でワークフロースキルに組み込むことができます。各ワークフロースキルはスキーマをインラインで再実装するのではなく、このスキルを参照する形で連携します。

原文を表示

Scaffold and operate an opt-in `Agent activity log` table that records what the agent did, decided, and got blocked on across a long-running or multi-session Airtable workflow. Use whenever a workflow skill (product-ops, sales-ops, marketing-ops, etc.) is being set up for an agent-driven motion (recurring triage, multi-step plan, automated monitoring, agentic workflow), or when the user explicitly asks for "agent activity tracking," "audit log of agent decisions," "agent memory," "track what the agent did," or similar. The pattern is opt-in (front-load the offer, frame as auditability for the user's benefit, not surveillance). Composes into workflow skills the same way `show-airtable-link` does — workflow skills point at this skill rather than re-implementing the schema inline.

ユースケース

  • エージェント主導の定期トリアージをセットアップするとき
  • 複数ステップのプランを自動実行するとき
  • エージェント活動追跡を要求されたとき
  • エージェント判断の監査ログが必要なとき
  • エージェントの行動履歴を記録したいとき

本文(日本語訳)

Agent アクティビティログ

Agentの意思決定・ブロッカー・成果を記録する型付き監査ログです。 明示的にAgent駆動のワークフローを構築しているユーザーに向けたオプトイン機能です。

最大の価値は、人間(および次のAgentセッション)が、明日には消えているかもしれないコンテキストウィンドウのサマリーを信頼せずとも、Agentが何をしたか・なぜそうしたかを読み返せる点にあります。 Airtableが持つ「永続的なAgentの基盤」としての役割と自然に組み合わさります。

このスキルはスキーマと開示文言を管理します。ワークフロースキル(product-ops・sales-ops・marketing-ops 等)は、このパターンを再実装するのではなく本スキルをコンポーズして使用します。ユーザーの意図がAgent駆動のワークフローを示すタイミングでトリガーし、スキャフォールディングと継続的な利用のために本スキルに処理を委譲してください。


発火タイミング

トリガーフレーズ — ワークフロースキルは、以下のいずれかが現れたときにこの機能をユーザーに提示してください:

  • 「Agentの動作を追跡したい」「Agentアクティビティログ」「Agentの意思決定の監査ログ」
  • 「長期実行ワークフロー」「Agentメモリ」「Agentの永続的な状態」
  • 「何が変わったか・なぜ変わったかを記録しておきたい」
  • Agent駆動のワークフローを設定するフレーズ: 「毎朝Agentにフィードバックをトリアージさせたい」「Agentに変更案を提案させて自分が承認したい」「自動実行するワークフローを設定したい」

ユーザーの言葉が「Agentが繰り返し・または自律的に実行するものを構築している」と示唆する場合には、積極的に提示してください。一度限りのやり取りには不要です。


開示(オプトイン、監視ではない)

最初に提示してください。 ユーザーが最初に同意または辞退する形にします。どちらでも構いません。

Agent activity log というテーブルに私自身の活動ログを設定することもできます。これにより、私が何をしたか・なぜそうしたかを監査できます。作成・更新したすべてのレコードとその理由が記録されます。オプトインなので、不要であればスキップします。含めますか?」

ユーザーの利益のための監査可能性として提示してください。Agentが何を決定し、何を変更し、どこで詰まったかが確認できる、という観点で説明します。Agentを監視すること自体を目的とするような言い方は避けてください。


スキーマ

テーブルは Agent activity log の1つです。 ステークホルダー向けのインターフェイスには含めないでください。このテーブルはAgentのオペレーター向けの内部監査データであり、チーム全体がアプリ内で閲覧するコンテンツではありません。

コアフィールド

フィールド名 タイプ 説明
Summary singleLineText(プライマリ) 何が起きたかを1行で。プライマリフィールドです。
Timestamp createdTime イベントが発生した日時。
Action / Event type singleSelect: Read / Create / Update / Delete / Decision / Blocker / Question / Completion / Error ワークフローの粒度に合わせて選択肢を調整してください。
Reasoning / Detail multilineText Agentの意図・理由。検討したインプットや却下した代替案を含めます。
Outcome singleSelect: Completed / Partial / Failed / Blocked 結果。
Status singleSelect: Open / Acknowledged / Resolved / Stale 人間のフォローアップが必要なブロッカーや質問に使用。
Session ID singleLineText 1回のAgent呼び出しからのイベントをまとめて紐付けます。

Agentが操作したレコードへのリンク

Airtableの multipleRecordLinks フィールドは、フィールド作成時に単一のターゲットテーブルに紐付けられます。 複数テーブルをまたぐポリモーフィックなリンクレコードフィールドは存在しません。 実用的なパターンは2つあります:

1. ターゲットごとのリンクレコードフィールド(推奨)

Agentが操作しうる各テーブルに対して multipleRecordLinks フィールドを1つずつ用意します。

  • product-ops ベースの場合: Linked Roadmap item / Linked Customer feedback / Linked Release / Linked OKR
  • sales-ops ベースの場合: Linked Account / Linked Contact / Linked Opportunity / Linked Activity

Agentは操作したレコードのテーブルに対応するフィールドだけを埋め、残りは空のままにします。

メリット: 逆リンクナビゲーションが有効になります。 操作したレコードを開くと、そのレコードに関連するすべての Agent activity log エントリが自動的に表示されます。Agentが操作するテーブルが増えるたびにスキーマのオーバーヘッドが若干発生します。

2. URLのみのフォールバック

単一の Target record URL(URLフィールド)で操作したレコードへのディープリンクを保持します。逆リンクナビゲーションやログ全体のロールアップはできませんが、スキーマがシンプルです。 Agentが多数のテーブルを操作し、テーブルごとのリンクフィールドが煩雑になる場合や、ブラウザでの確認で十分な初期段階のセットアップに適しています。


多くの構成では、Agentが最もよく操作する3〜5テーブルにはパターン1を使用し、それ以外のアドホックな操作にはパターン2をフォールバックとして併用します。テーブルごとのリンクレコードフィールドと並べて Target record URL フィールドも追加し、操作したレコードのテーブルが事前にリンクフィールドを用意したテーブルでない場合はこちらに記録します。

さらに Target table(ワークフローのテーブル一覧を選択肢とするsingleSelect)を追加しておくと、ビューアーがクリックスルーする前にどの種類のレコードを操作したエントリかをすぐに把握できます。

ワークフロードメインごとのスキーマの変形

スキーマの構造はワークフロースキル全体で共通です。変わるのは、親ベースのテーブルに合わせたターゲットごとのリンクレコードフィールドだけです。agent-activity-log を呼び出すワークフロースキルは自身のテーブル一覧を把握しており、それを渡してください。


使用ガイダンス

Agent駆動のセッション全体を通じて、意思決定が行われるか、ブロッカーが発生するたびにログにイベントを書き込みます。パターンは以下の通りです:

  1. セッション開始時: Action = CompletionOutcome = Completed でイベントを書き込み、何のセッションを開始するかを Summary に記載します。このエントリの Session ID が、以降のセッション内書き込みをまとめるスレッドになります。
  2. 意味のある意思決定ごと: Decision イベントを書き込み、Reasoning に完全な推論を記載します。検討した代替案と却下した理由も含めます。
  3. ブロッカー発生時: Status = OpenBlocker イベントを書き込み、テーブルごとのリンクレコードフィールドで影響を受けたレコードにリンクします。
  4. 人間への質問時: Status = OpenQuestion イベントを書き込み、影響を受けたレコードにリンクします。人間はレコードを更新(コメントの追加やステータスを Acknowledged に変更するなど)することで回答できます。
  5. エラー発生時: Outcome = FailedError イベントを書き込み、Reasoning にエラーのコンテキストを記載します。
  6. セッション終了時: セッションの成果と未解決のアイテムをまとめた Completion イベントを書き込みます。

過剰なログは避けてください。 意味のある意思決定と変更のみを記録し、すべてのツール呼び出しを記録する必要はありません。特に「読み取り」は、ワークフローの監査価値がそれに依存しない限り、通常はログ不要です。


ワークフロースキルへのコンポーズ

ワークフロースキル(product-ops・sales-ops・marketing-ops 等)は以下を行ってください:

  1. 上記のトリガーフレーズが現れた際にこのパターンをユーザーに提示する — オプトインとして案内すること。
  2. agent-activity-log をコンポーズする — スキーマをインラインで再実装しないこと。URLハンドオフパターンにおいて show-airtable-link を参照するのと同様に、このスキルを参照すること。
  3. ワークフロー固有のコンテキストを渡す — Agentが操作するテーブル情報を渡し、そのワークフローに合わせたターゲットごとのリンクレコードフィールドが正しくスキャフォールドされるようにすること。
  4. セッション終了時に show-airtable-link でハンドオフするAgent activity log テーブル、または「最近のAgentアクティビティ」インターフェイスビューへのリンクをユーザーに渡し、確認できるようにすること。

ワークフロースキルのボディ言語の例:

「ユーザーがAgentアクティビティの追跡('Agentの意思決定の監査ログ''長期実行ワークフロー''Agentメモリ' 等)を求めた場合、agent-activity-log スキルをコンポーズする。オプトインとして提示し、ユーザーが同意してからスキャフォールドすること。ターゲットごとのリンクレコードフィールドが正しいテーブルにスキャフォールドされるよう、ワークフローのレコード操作テーブルを渡すこと。」


show-airtable-link とのコンポーズ

セッション終了時(またはAgentの活動内容を提示する際)、show-airtable-link を使用して Agent activity log テーブルへのリンクをユーザーに渡してください。あるいは、現在の Session ID でフィルタリングされた専用のインターフェイスビューへのリンクでも構いません。そうすることで、ユーザーはそのセッションのアクティビティのみを確認できます。どちらも有効です。テーブル全体を閲覧したいか、セッションごとに確認したいかというユーザーの希望に応じて選択してください。


アンチパターン

  • 開示なしに Agent activity log を自動作成しない。 このパターンは提案することで信頼を獲得しますが、押し付けると信頼を損ないます。必ず先に開示してください。

  • 「ポリモーフィックな」リンクレコードフィールドだと主張しない。 Airtableの multipleRecordLinks フィールドは単一のターゲットテーブルに紐付けられます。上記のテーブルごとのリンクフィールド+URLフォールバックパターンに従ってスキーマを設計してください。

  • Agentログとワークフローの通常テーブルを混同しない。 Agent activity log はAgentが作業中に行ったことを記録します。ワークフローテーブル(Opportunities・Roadmap items・Campaigns・Projects 等)はチームが取り組んでいる内容を記録します。それぞれ並行して存在し、リンクされていますが、明確に区別してください。

  • 監視としてフレーミングしない。 開示文言は、Agentを監視すること自体を目的とするのではなく、ユーザーの利益のための監査可能性として表現してください。

  • 過剰にログを記録しない。 意味のある意思決定と変更のみを記録してください。すべてのツール呼び出しを記録する必要はありません。監査として特に必要でない限り、読み取りは通常ログ不要

原文(English)を表示

Agent activity log

A typed audit log of agent decisions, blockers, and outcomes — opt-in for users who are explicitly building an agent-driven workflow. The selling point: humans (and the next agent session) can read back what the agent did and why, without trusting a context-window summary that may be gone tomorrow. Pairs naturally with Airtable's role as a persistent agent substrate.

This skill owns the schema and disclosure language. Workflow skills (product-ops, sales-ops, marketing-ops, etc.) compose this skill rather than re-implementing the pattern; they trigger it when the user's intent surfaces an agent-driven workflow and pass through to this skill for the scaffolding + ongoing use.

When this fires

Trigger phrases — workflow skills should offer this to the user when any of these surface:

  • "track what the agent is doing", "agent activity log," "audit log of agent decisions"
  • "long-running workflow," "agent memory," "persistent state for the agent"
  • "keep a record of what changed and why"
  • Setup-mode invocations describing an agent-driven motion: "I want the agent to triage feedback every morning," "the agent should propose changes for me to approve," "set up a self-running workflow"

Surface proactively when the user's language signals they're building something the agent will run repeatedly or autonomously — not for one-shot interactions.

Disclosure (opt-in, not surveillance)

Front-load the offer. The user agrees up front or declines; either is fine.

"I can also set up a log of my own activity in a table called Agent activity log so you can audit what I've done and why. It tracks every record I create or modify with the reasoning. It's opt-in — if you'd rather not have it, we'll skip it. Want me to include it?"

Frame as auditability for the user's benefit — they can see what the agent decided, what got changed, and where the agent got stuck. Not as monitoring the agent for its own sake.

Schema

A single Agent activity log table. Keep it out of stakeholder-facing Interfaces — this is internal audit data for the agent's operator, not content the broader team should browse in the app.

Core fields

  • Summary (singleLineText, primary) — one-line what-happened. This is the primary field.
  • Timestamp (createdTime) — when the event happened.
  • Action or Event type (singleSelect: Read, Create, Update, Delete, Decision, Blocker, Question, Completion, Error) — adapt the choices to the workflow's grain.
  • Reasoning or Detail (multilineText) — what the agent intended and why, including inputs considered and alternatives rejected
  • Outcome (singleSelect: Completed, Partial, Failed, Blocked)
  • Status (singleSelect: Open, Acknowledged, Resolved, Stale) — for blockers and questions that need human follow-up
  • Session ID (singleLineText) — tie events from one agent invocation together

Linking to the records the agent touched

Airtable's multipleRecordLinks field is bound to a single target table at field-creation time — there is no polymorphic linked-record field that spans multiple tables. Two viable patterns:

  1. Per-target linked-record fields (recommended) — one multipleRecordLinks field per table the agent might touch. For a product-ops base: Linked Roadmap item, Linked Customer feedback, Linked Release, Linked OKR. For a sales-ops base: Linked Account, Linked Contact, Linked Opportunity, Linked Activity. The agent populates whichever field matches the touched record's table; the others stay empty. Gives reverse-link navigation — opening a touched record shows all Agent activity log entries that touched it, automatically. Slightly more schema overhead per added table the agent touches.
  2. URL-only fallback — a single Target record URL (URL field) holding the deep-link to the touched record. No reverse-link navigation, no rollups across the log, but simpler schema. Reasonable when the agent touches many tables and per-table linked fields would get unwieldy, or for early-stage setups where browser-driven inspection is fine.

Most builds use pattern 1 for the 3-5 tables the agent touches most often + pattern 2 as fallback for ad-hoc touches — add a Target record URL field alongside the per-table linked-record fields and populate it whenever the touched record's table isn't one of the wired-up linked fields.

Add a Target table (singleSelect of the workflow's tables) so a viewer can quickly see which kind of record an entry touched, even before clicking through.

Schema variants per workflow domain

The shape is the same across workflow skills; the per-target linked-record fields change to match the parent base's tables. The workflow skill that's invoking agent-activity-log knows its own table inventory and should pass them through.

Use guidance

Throughout any agent-driven session, write events to the log as decisions are made or blockers surface. Pattern:

  1. At session start: write an event with Action = Completion, Outcome = Completed, and Summary describing what the session is starting on. The Session ID for this entry becomes the tie-thread for the rest of the session's writes.
  2. On each meaningful decision: write a Decision event with the full reasoning in Reasoning. Include alternatives considered and why they were rejected.
  3. On blockers: write a Blocker event with Status = Open, link to the affected records via the per-table linked-record fields.
  4. On questions for the human: write a Question event with Status = Open, link to the affected records. The human can answer by updating the record (e.g., adding a comment or moving status to Acknowledged).
  5. On errors: write an Error event with Outcome = Failed and the error context in Reasoning.
  6. At session end: write a Completion event summarizing the session's outputs and any unresolved items.

Don't over-write — log meaningful decisions and changes, not every tool call. Reads in particular usually don't need to be logged unless the workflow's audit value depends on it.

Composition into workflow skills

The workflow skill (product-ops, sales-ops, marketing-ops, etc.) should:

  1. Surface this pattern to the user when the trigger phrases above appear, framing it as opt-in.
  2. Compose agent-activity-log — don't re-implement the schema inline; point at this skill the same way workflow skills point at show-airtable-link for the URL-handoff pattern.
  3. Pass through workflow-specific context — the tables the agent will be touching, so the per-target linked-record fields can be scaffolded correctly for that workflow.
  4. Hand off at session end via show-airtable-link — link to the Agent activity log table or to a "Recent agent activity" Interface view so the user can inspect.

Suggested workflow-skill body language:

"When the user wants agent-activity tracking ('audit log of agent decisions,' 'long-running workflow,' 'agent memory,' etc.), compose the agent-activity-log skill. Frame as opt-in — disclose first, scaffold after the user agrees. Pass the workflow's record-touching tables through so the per-target linked-record fields get scaffolded for the right tables."

Composition with show-airtable-link

At session end (or when surfacing what the agent did), hand off to the user with a show-airtable-link to the Agent activity log table — or to a dedicated Interface view filtered to the current Session ID so the user sees only this session's activity. Both are valid; pick based on the user's stated preference for browsing vs. session-by-session review.

Anti-patterns

  • Don't auto-create Agent activity log without disclosure. This pattern earns trust when offered; it erodes trust when imposed. Always disclose first.
  • Don't claim "polymorphic" linked-record fields. Airtable's multipleRecordLinks field is bound to a single target table — schema-design accordingly with the per-table linked-record + URL-fallback pattern above.
  • Don't conflate the agent log with the workflow's normal tables. Agent activity log records what the agent did while helping; the workflow tables (Opportunities, Roadmap items, Campaigns, Projects, etc.) record what the team is working on. Keep them parallel, linked, but distinct.
  • Don't surveillance-frame. Disclosure language frames as auditability for the user's benefit, not monitoring the agent for its own sake.
  • Don't over-log. Meaningful decisions and changes, not every tool call. Reads usually don't need logging unless the audit story specifically depends on it.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。