🐦 Twitter Post Details

Viewing enriched Twitter post

@dair_ai

If you build web agents, this one is worth your time. It's on how to make agent skills reusable. (bookmark it) LLM web agents usually run as tool callers. Each turn, the model reads a fresh page and emits one low-level action, so horizons and policy-facing LLM completions both blow up on benchmarks like Mind2Web and WebArena. Skill libraries are meant to fix this by wrapping repeated fragments as callable tools, but they trigger reuse on instruction similarity or site metadata, which barely fires on held-out sites. This work routes skill reuse by transferable interaction patterns instead, so a skill learned on one site fires on new sites that share the same interaction shape. That lifts reuse where domain-keyed retrieval falls flat. Why does it matter? The same search, filter, and paginate dance shows up across sites. Abstracting it into a pattern-keyed skill makes web-agent skills generalize beyond the site on which they were learned. Paper: https://t.co/ku7kFIBhhy Learn to build effective AI agents in our academy: https://t.co/LRnpZN7L4c

Media 1

📊 Media Metadata

{
  "media": [
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2067620607643246861/media_0.png",
      "filename": "media_0.png"
    }
  ],
  "processed_at": "2026-06-18T15:01:11.857577",
  "pipeline_version": "2.0"
}

🔧 Raw API Response

{
  "type": "tweet",
  "id": "2067620607643246861",
  "url": "https://x.com/dair_ai/status/2067620607643246861",
  "twitterUrl": "https://twitter.com/dair_ai/status/2067620607643246861",
  "text": "If you build web agents, this one is worth your time.\n\nIt's on how to make agent skills reusable.\n\n(bookmark it)\n\nLLM web agents usually run as tool callers. Each turn, the model reads a fresh page and emits one low-level action, so horizons and policy-facing LLM completions both blow up on benchmarks like Mind2Web and WebArena.\n\nSkill libraries are meant to fix this by wrapping repeated fragments as callable tools, but they trigger reuse on instruction similarity or site metadata, which barely fires on held-out sites.\n\nThis work routes skill reuse by transferable interaction patterns instead, so a skill learned on one site fires on new sites that share the same interaction shape. That lifts reuse where domain-keyed retrieval falls flat.\n\nWhy does it matter?\n\nThe same search, filter, and paginate dance shows up across sites. Abstracting it into a pattern-keyed skill makes web-agent skills generalize beyond the site on which they were learned.\n\nPaper: https://t.co/ku7kFIBhhy\n\nLearn to build effective AI agents in our academy: https://t.co/LRnpZN7L4c",
  "source": "Twitter for iPhone",
  "retweetCount": 0,
  "replyCount": 0,
  "likeCount": 6,
  "quoteCount": 0,
  "viewCount": 352,
  "createdAt": "Thu Jun 18 14:49:02 +0000 2026",
  "lang": "en",
  "bookmarkCount": 6,
  "isReply": false,
  "inReplyToId": null,
  "conversationId": "2067620607643246861",
  "displayTextRange": [
    0,
    280
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "dair_ai",
    "url": "https://x.com/dair_ai",
    "twitterUrl": "https://twitter.com/dair_ai",
    "id": "889050642903293953",
    "name": "DAIR.AI",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/1643277398522187778/31dedbLo_normal.jpg",
    "coverPicture": "https://pbs.twimg.com/profile_banners/889050642903293953/1773242460",
    "description": "",
    "location": "",
    "followers": 126247,
    "following": 1,
    "status": "",
    "canDm": true,
    "canMediaTag": true,
    "createdAt": "Sun Jul 23 09:12:45 +0000 2017",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {}
    },
    "fastFollowersCount": 0,
    "favouritesCount": 4609,
    "hasCustomTimelines": true,
    "isTranslator": false,
    "mediaCount": 249,
    "statusesCount": 3328,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [
      "2067620607643246861"
    ],
    "profile_bio": {
      "description": "Democratizing AI research, education, and technologies. Learn about AI Agents for FREE at https://t.co/HHXg8rryu4",
      "entities": {
        "description": {
          "urls": [
            {
              "display_url": "academy.dair.ai/courses/elemen…",
              "expanded_url": "https://academy.dair.ai/courses/elements-of-ai-agents",
              "indices": [
                90,
                113
              ],
              "url": "https://t.co/HHXg8rryu4"
            }
          ]
        },
        "url": {
          "urls": [
            {
              "display_url": "dair.ai",
              "expanded_url": "https://www.dair.ai/",
              "indices": [
                0,
                23
              ],
              "url": "https://t.co/lkqPZtMU5s"
            }
          ]
        }
      }
    },
    "isAutomated": false,
    "automatedBy": null
  },
  "extendedEntities": {
    "media": [
      {
        "display_url": "pic.twitter.com/AmQcbMC40e",
        "expanded_url": "https://twitter.com/dair_ai/status/2067620607643246861/photo/1",
        "ext_master_playlist_only": [],
        "ext_media_availability": {
          "status": "Available"
        },
        "ext_playlists": [],
        "features": {
          "large": {
            "faces": [
              {
                "h": 95,
                "w": 95,
                "x": 1267,
                "y": 1308
              }
            ]
          },
          "orig": {
            "faces": [
              {
                "h": 95,
                "w": 95,
                "x": 1267,
                "y": 1308
              }
            ]
          }
        },
        "id_str": "2067620604048818176",
        "indices": [
          281,
          304
        ],
        "media_key": "3_2067620604048818176",
        "media_results": {
          "id": "QXBpTWVkaWFSZXN1bHRzOgwAAQoAARyxqfwSm8AACgACHLGp/OjaYQ0AAA==",
          "result": {
            "__typename": "ApiMedia",
            "id": "QXBpTWVkaWE6DAABCgABHLGp/BKbwAAKAAIcsan86NphDQAA",
            "media_key": "3_2067620604048818176"
          }
        },
        "media_url_https": "https://pbs.twimg.com/media/HLGp_BKbwAAVtoE.png",
        "original_info": {
          "focus_rects": [
            {
              "h": 904,
              "w": 1614,
              "x": 0,
              "y": 0
            },
            {
              "h": 1614,
              "w": 1614,
              "x": 0,
              "y": 0
            },
            {
              "h": 1836,
              "w": 1611,
              "x": 3,
              "y": 0
            },
            {
              "h": 1836,
              "w": 918,
              "x": 413,
              "y": 0
            },
            {
              "h": 1836,
              "w": 1614,
              "x": 0,
              "y": 0
            }
          ],
          "height": 1836,
          "width": 1614
        },
        "sizes": {
          "large": {
            "h": 1836,
            "w": 1614
          }
        },
        "type": "photo",
        "url": "https://t.co/AmQcbMC40e"
      }
    ]
  },
  "card": null,
  "place": {},
  "entities": {
    "hashtags": [],
    "symbols": [],
    "urls": [
      {
        "display_url": "arxiv.org/abs/2606.17645",
        "expanded_url": "https://arxiv.org/abs/2606.17645",
        "indices": [
          965,
          988
        ],
        "url": "https://t.co/ku7kFIBhhy"
      },
      {
        "display_url": "academy.dair.ai",
        "expanded_url": "https://academy.dair.ai/",
        "indices": [
          1041,
          1064
        ],
        "url": "https://t.co/LRnpZN7L4c"
      }
    ],
    "user_mentions": []
  },
  "quoted_tweet": null,
  "retweeted_tweet": null,
  "isLimitedReply": false,
  "communityInfo": null,
  "article": null
}