🐦 Twitter Post Details

Viewing enriched Twitter post

@koylanai

I’m excited to share a new repo: Agent Skills for Context Engineering Instead of just offering a library of black-box tools, it acts as a "Meta-Agent" knowledge base. It provides a standard set of skills, written in markdown and code, that you can feed to an agent so it understands how to manage its own cognitive resources. https://t.co/vWwrYPAd8k Most agent failures are not model failures; they are context failures. This is still an experimental project. The goal is to establish a platform-agnostic standard for context engineering that can be used in Cursor, Claude Code, Copilot or Codex. skills/ context-fundamentals: What context is, why it matters context-degradation: How context fails (lost-in-middle, poisoning) context-optimization: Compaction, masking, caching multi-agent-patterns: Orchestrator, swarm, hierarchical memory-systems: Vector RAG, knowledge graphs, Zep tool-design: Building tools agents can use evaluation: Testing and measuring agent systems I believe this is a good start, showing developers how to approach context engineering rather than relying on ready-made tools. You will also find the aggregated research documents I used to build these skills in the repo. The skills are synthesized from technical blogs on context and prompt engineering that I bookmarked, AI Labs' documentations, and Anthropic Skills examples. Try the 7 Skills, created using Antrhopic's Skills template format. Experiment with the provided scripts and references, and feel free to contribute to the repo.

Media 1
Media 2

📊 Media Metadata

{
  "media": [
    {
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2002797649842331919/media_0.jpg?",
      "media_url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2002797649842331919/media_0.jpg?",
      "type": "photo",
      "filename": "media_0.jpg"
    },
    {
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2002797649842331919/media_1.jpg?",
      "media_url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2002797649842331919/media_1.jpg?",
      "type": "photo",
      "filename": "media_1.jpg"
    }
  ],
  "processed_at": "2025-12-23T04:48:57.101716",
  "pipeline_version": "2.0"
}

🔧 Raw API Response

{
  "type": "tweet",
  "id": "2002797649842331919",
  "url": "https://x.com/koylanai/status/2002797649842331919",
  "twitterUrl": "https://twitter.com/koylanai/status/2002797649842331919",
  "text": "I’m excited to share a new repo: Agent Skills for Context Engineering\n\nInstead of just offering a library of black-box tools, it acts as a \"Meta-Agent\" knowledge base. It provides a standard set of skills, written in markdown and code, that you can feed to an agent so it understands how to manage its own cognitive resources.\n\nhttps://t.co/vWwrYPAd8k\n\nMost agent failures are not model failures; they are context failures. This is still an experimental project. The goal is to establish a platform-agnostic standard for context engineering that can be used in Cursor, Claude Code, Copilot or Codex.\n\nskills/\ncontext-fundamentals: What context is, why it matters\ncontext-degradation: How context fails (lost-in-middle, poisoning)\ncontext-optimization: Compaction, masking, caching\nmulti-agent-patterns: Orchestrator, swarm, hierarchical\nmemory-systems: Vector RAG, knowledge graphs, Zep\ntool-design: Building tools agents can use\nevaluation: Testing and measuring agent systems\n\nI believe this is a good start, showing developers how to approach context engineering rather than relying on ready-made tools.\n\nYou will also find the aggregated research documents I used to build these skills in the repo. The skills are synthesized from technical blogs on context and prompt engineering that I bookmarked, AI Labs' documentations, and Anthropic Skills examples.\n\nTry the 7 Skills, created using Antrhopic's Skills template format. Experiment with the provided scripts and references, and feel free to contribute to the repo.",
  "source": "Twitter for iPhone",
  "retweetCount": 97,
  "replyCount": 29,
  "likeCount": 919,
  "quoteCount": 8,
  "viewCount": 129360,
  "createdAt": "Sun Dec 21 17:45:44 +0000 2025",
  "lang": "en",
  "bookmarkCount": 1320,
  "isReply": false,
  "inReplyToId": null,
  "conversationId": "2002797649842331919",
  "displayTextRange": [
    0,
    272
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "koylanai",
    "url": "https://x.com/koylanai",
    "twitterUrl": "https://twitter.com/koylanai",
    "id": "1603551009854423040",
    "name": "Muratcan Koylan",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/1961793099031527424/Nt1ZvaJe_normal.jpg",
    "coverPicture": "https://pbs.twimg.com/profile_banners/1603551009854423040/1759435051",
    "description": "",
    "location": "Toronto, Canada 🇨🇦",
    "followers": 10609,
    "following": 3951,
    "status": "",
    "canDm": true,
    "canMediaTag": false,
    "createdAt": "Fri Dec 16 00:42:17 +0000 2022",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {}
    },
    "fastFollowersCount": 0,
    "favouritesCount": 54245,
    "hasCustomTimelines": true,
    "isTranslator": false,
    "mediaCount": 2540,
    "statusesCount": 10651,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [
      "1652388457036017667"
    ],
    "profile_bio": {
      "description": "AI Agent Systems Manager @ https://t.co/auQ835cMeJ | prompt design & context engineering, persona embodiment and multi-agent architectures | prev: b2b marketer",
      "entities": {
        "description": {
          "urls": [
            {
              "display_url": "99ravens.ai",
              "expanded_url": "http://99ravens.ai",
              "indices": [
                27,
                50
              ],
              "url": "https://t.co/auQ835cMeJ"
            }
          ]
        },
        "url": {
          "urls": [
            {
              "display_url": "muratcankoylan.com",
              "expanded_url": "https://muratcankoylan.com/",
              "indices": [
                0,
                23
              ],
              "url": "https://t.co/SSBIb4OtFw"
            }
          ]
        }
      }
    },
    "isAutomated": false,
    "automatedBy": null
  },
  "extendedEntities": {
    "media": [
      {
        "allow_download_status": {
          "allow_download": true
        },
        "display_url": "pic.twitter.com/fXDCJQpCSI",
        "expanded_url": "https://twitter.com/koylanai/status/2002797649842331919/photo/1",
        "ext_media_availability": {
          "status": "Available"
        },
        "features": {
          "large": {},
          "orig": {}
        },
        "id_str": "2002797483836022784",
        "indices": [
          273,
          296
        ],
        "media_key": "3_2002797483836022784",
        "media_results": {
          "id": "QXBpTWVkaWFSZXN1bHRzOgwAAQoAARvLXbNFF6AACgACG8td2evW4Q8AAA==",
          "result": {
            "__typename": "ApiMedia",
            "id": "QXBpTWVkaWE6DAABCgABG8tds0UXoAAKAAIby13Z69bhDwAA",
            "media_key": "3_2002797483836022784"
          }
        },
        "media_url_https": "https://pbs.twimg.com/media/G8tds0UXoAAagSR.jpg",
        "original_info": {
          "focus_rects": [
            {
              "h": 1155,
              "w": 2062,
              "x": 0,
              "y": 402
            },
            {
              "h": 2056,
              "w": 2056,
              "x": 0,
              "y": 0
            },
            {
              "h": 2056,
              "w": 1804,
              "x": 0,
              "y": 0
            },
            {
              "h": 2056,
              "w": 1028,
              "x": 0,
              "y": 0
            },
            {
              "h": 2056,
              "w": 2062,
              "x": 0,
              "y": 0
            }
          ],
          "height": 2056,
          "width": 2062
        },
        "sizes": {
          "large": {
            "h": 2042,
            "w": 2048
          }
        },
        "type": "photo",
        "url": "https://t.co/fXDCJQpCSI"
      }
    ]
  },
  "card": null,
  "place": {},
  "entities": {
    "urls": [
      {
        "display_url": "github.com/muratcankoylan…",
        "expanded_url": "https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering",
        "indices": [
          328,
          351
        ],
        "url": "https://t.co/vWwrYPAd8k"
      }
    ]
  },
  "quoted_tweet": {
    "type": "tweet",
    "id": "2002646195684991268",
    "url": "https://x.com/koylanai/status/2002646195684991268",
    "twitterUrl": "https://twitter.com/koylanai/status/2002646195684991268",
    "text": "It’s actually a good question; the difference is subtle but structural. \n\nI usually frame it like this:\nAGENTS[.]md acts as the declarative context. You write this for every repo (and nested directories) to define the project structure, persona, and coding rules.\n\nSkills are the functional protocols. They provide the agent with modular capabilities like advanced tool-use and multi-step chaining that are dynamically discovered only when needed.\n\nIf AGENTS[.]md defines the identity and environment (the body), Skills provide the specialized toolset (the capabilities) used to execute tasks autonomously.",
    "source": "Twitter for iPhone",
    "retweetCount": 2,
    "replyCount": 9,
    "likeCount": 86,
    "quoteCount": 2,
    "viewCount": 86482,
    "createdAt": "Sun Dec 21 07:43:55 +0000 2025",
    "lang": "en",
    "bookmarkCount": 78,
    "isReply": false,
    "inReplyToId": null,
    "conversationId": "2002646195684991268",
    "displayTextRange": [
      0,
      280
    ],
    "inReplyToUserId": null,
    "inReplyToUsername": null,
    "author": {
      "type": "user",
      "userName": "koylanai",
      "url": "https://x.com/koylanai",
      "twitterUrl": "https://twitter.com/koylanai",
      "id": "1603551009854423040",
      "name": "Muratcan Koylan",
      "isVerified": false,
      "isBlueVerified": true,
      "verifiedType": null,
      "profilePicture": "https://pbs.twimg.com/profile_images/1961793099031527424/Nt1ZvaJe_normal.jpg",
      "coverPicture": "https://pbs.twimg.com/profile_banners/1603551009854423040/1759435051",
      "description": "",
      "location": "Toronto, Canada 🇨🇦",
      "followers": 10609,
      "following": 3951,
      "status": "",
      "canDm": true,
      "canMediaTag": false,
      "createdAt": "Fri Dec 16 00:42:17 +0000 2022",
      "entities": {
        "description": {
          "urls": []
        },
        "url": {}
      },
      "fastFollowersCount": 0,
      "favouritesCount": 54245,
      "hasCustomTimelines": true,
      "isTranslator": false,
      "mediaCount": 2540,
      "statusesCount": 10651,
      "withheldInCountries": [],
      "affiliatesHighlightedLabel": {},
      "possiblySensitive": false,
      "pinnedTweetIds": [
        "1652388457036017667"
      ],
      "profile_bio": {
        "description": "AI Agent Systems Manager @ https://t.co/auQ835cMeJ | prompt design & context engineering, persona embodiment and multi-agent architectures | prev: b2b marketer",
        "entities": {
          "description": {
            "urls": [
              {
                "display_url": "99ravens.ai",
                "expanded_url": "http://99ravens.ai",
                "indices": [
                  27,
                  50
                ],
                "url": "https://t.co/auQ835cMeJ"
              }
            ]
          },
          "url": {
            "urls": [
              {
                "display_url": "muratcankoylan.com",
                "expanded_url": "https://muratcankoylan.com/",
                "indices": [
                  0,
                  23
                ],
                "url": "https://t.co/SSBIb4OtFw"
              }
            ]
          }
        }
      },
      "isAutomated": false,
      "automatedBy": null
    },
    "extendedEntities": {},
    "card": null,
    "place": {},
    "entities": {},
    "quoted_tweet": {
      "type": "tweet",
      "id": "2002459788777783619",
      "url": "",
      "twitterUrl": "",
      "text": "",
      "source": "Twitter for iPhone",
      "retweetCount": 0,
      "replyCount": 0,
      "likeCount": 0,
      "quoteCount": 0,
      "viewCount": 0,
      "createdAt": "",
      "lang": "",
      "bookmarkCount": 0,
      "isReply": false,
      "inReplyToId": null,
      "conversationId": "",
      "displayTextRange": [],
      "inReplyToUserId": null,
      "inReplyToUsername": null,
      "author": {},
      "extendedEntities": {},
      "card": null,
      "place": {},
      "entities": {},
      "quoted_tweet": null,
      "retweeted_tweet": null,
      "isLimitedReply": false,
      "article": null
    },
    "retweeted_tweet": null,
    "isLimitedReply": false,
    "article": null
  },
  "retweeted_tweet": null,
  "isLimitedReply": false,
  "article": null
}