[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D8D51SANXRA16W5SYCE0AN":3,"skill-same:01M6D8D51SANXRA16W5SYCE0AN":62},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":37,"ownerHtmlUrl":38,"ownerBlogUrl":39,"ownerDescription":40,"updatedAt":41,"install":42,"resources":55},"01M6D8D51SANXRA16W5SYCE0AN","r2-storage",null,"Use when editing r2-storage. GET \u002Flist, GET\u002FPUT\u002FDELETE \u002Fobject; private and public R2 buckets; PUBLIC_BUCKET_URL for public URLs.","shrinathsnayak\u002Fcloudflare-experiments","shrinathsnayak","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F19502016?v=4","01M6D8BPME3YRMPW470YRKKTE3","Shrinath Nayak","01M6D8BPSAKJ26YQJD7CA0YHNP",3,"MIT","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fr2-storage\u002FSKILL.md",[],[19,20,21,22,23,24,25,26],"storage","r2 storage","delete","editing","public","list","use","get","2026-11-10 10:12:30",false,"---\nname: r2-storage\ndescription: Use when editing r2-storage. GET \u002Flist, GET\u002FPUT\u002FDELETE \u002Fobject; private and public R2 buckets; PUBLIC_BUCKET_URL for public URLs.\n---\n\n# R2 Storage\n\n- **Routes**: `GET \u002Flist`, `GET \u002Fobject`, `HEAD \u002Fobject`, `PUT \u002Fobject`, `DELETE \u002Fobject`.\n- **Inputs**: `key` (object), `public` (optional), `prefix`, `limit`, `cursor`, `delimiter` (list).\n- **Outputs**: List (objects + cursor); object GET\u002FHEAD (body\u002Fheaders); PUT returns `{ key, uploaded, url? }`.\n- **Bindings**: R2 (BUCKET, PUBLIC_BUCKET), var PUBLIC_BUCKET_URL.\n","# R2 Storage\n\n- **Routes**: `GET \u002Flist`, `GET \u002Fobject`, `HEAD \u002Fobject`, `PUT \u002Fobject`, `DELETE \u002Fobject`.\n- **Inputs**: `key` (object), `public` (optional), `prefix`, `limit`, `cursor`, `delimiter` (list).\n- **Outputs**: List (objects + cursor); object GET\u002FHEAD (body\u002Fheaders); PUT returns `{ key, uploaded, url? }`.\n- **Bindings**: R2 (BUCKET, PUBLIC_BUCKET), var PUBLIC_BUCKET_URL.\n",{"name":5,"description":7},"main","97dde57c39e492fe98d58aa38032bffa6efa575b",".cursor\u002Fskills\u002Fr2-storage",0,"https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments","https:\u002F\u002Fcloudflare-experiments.com","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak","https:\u002F\u002Fsnayak.dev","Software Engineer","2026-10-06 02:14:43",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add shrinathsnayak\u002Fcloudflare-experiments --skill r2-storage",{"tool":48,"command":49},"bunx","bunx skills add shrinathsnayak\u002Fcloudflare-experiments --skill r2-storage",{"tool":51,"command":52},"pnpm","pnpm dlx skills add shrinathsnayak\u002Fcloudflare-experiments --skill r2-storage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fr2-storage\u002FSKILL.md",true,[56],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"agents\u002Fopenai.yaml","REFERENCE","参考文档",82,"https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcyber-analyzing-disk-image-with-autopsy\u002Fagents\u002Fopenai.yaml",[63,71,83,95,116,125],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":27},"01M6D8DZ6P79XCXA5B9Z2EYB2W","whereami","Use when editing whereami. GET \u002Fwhereami returns request.cf (country, city, colo, etc.); no bindings.","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fwhereami\u002FSKILL.md",[],[65,26,25,22,70],"returns",{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":27},"01M6D8DWX5XRCTA5MJBXMQQ8VC","websocket-echo","Use when editing websocket-echo. GET \u002Fecho WebSocket upgrade; echoes messages.","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fwebsocket-echo\u002FSKILL.md",[],[78,79,80,26,81,25,22,82],"websocket echo","Echo","websocket","upgrade","messages",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":27},"01M6D8DTBG6DGC7F5C8ZH0KJF6","website-to-llms-txt","Use when editing website-to-llms-txt. GET \u002Fllms.txt?url=; returns plain-text llms.txt format (title, description, links, contact); no bindings.","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fwebsite-to-llms-txt\u002FSKILL.md",[],[90,91,92,70,26,25,22,93,94],"website to llms txt","website","llms","text","format",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":111,"publishedAt":27},"01M6D8DR35Q6ZAGM1G7T1S6K3S","website-to-api","Use when editing website-to-api. GET \u002Fapi?url=; returns structured title, headings, links, images.","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fwebsite-to-api\u002FSKILL.md",[101,106],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[112,113,91,26,114,115,25,22,70],"website to api","api","structured","images",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":27},"01M6D8DNPGAYTPY4M6N6E381JF","website-metadata-extractor","Use when editing website-metadata-extractor. GET \u002Fmetadata?url=; extracts title, description, canonical, og tags.","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fwebsite-metadata-extractor\u002FSKILL.md",[],[123,124,91,22,26,25],"website metadata extractor","metadata",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":27},"01M6D8DK34AE3W30DSXHZ5Q95T","website-devtools-inspector","Use when editing website-devtools-inspector. GET \u002Fdevtools?url=; headers, cookies, scripts, assets, metadata.","https:\u002F\u002Fgithub.com\u002Fshrinathsnayak\u002Fcloudflare-experiments\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fwebsite-devtools-inspector\u002FSKILL.md",[],[132,91,133,134,135,22,25,26,124],"devtools","website devtools inspector","cookies","assets"]