[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KMBV2B7GDM0GKNJDPFCDMJ":3,"skill-same:01M6KMBV2B7GDM0GKNJDPFCDMJ":77},{"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":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":6,"updatedAt":62,"install":63,"resources":76},"01M6KMBV2B7GDM0GKNJDPFCDMJ","speckit-agent-context-update",null,"Refresh the managed Spec Kit section in the coding agent context file","AI-native-Systems-Research\u002Fai-native-storage-certus","AI-native-Systems-Research","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F270755458?v=4","01M6KKQWSJX0D4X33E0KKSR4WM","AI-native Systems Research","01M6KKQWXTKR6MYVQMPKVJ5WD5",3,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fblock-device-filesys\u002F.claude\u002Fskills\u002Fspeckit-agent-context-update\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"speckit agent context update","update","context","agent context update","speckit","context update","structure","section","managed","kit","agent-context","with","spec-kit","project","coding agent","refresh","specify","spec kit","file","project structure","github","2026-11-10 10:12:30",false,"---\nname: azure-storage-file-share-py\ndescription: Azure Storage File Share SDK for Python. Use for SMB file shares, directories, and file operations in the cloud.\nrisk: unknown\nsource: community\ndate_added: '2026-02-27'\n---\n\n# Azure Storage File Share SDK for Python\n\nManage SMB file shares for cloud-native and lift-and-shift scenarios.\n\n## Installation\n\n```bash\npip install azure-storage-file-share\n```\n\n## Environment Variables\n\n```bash\nAZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...\n# Or\nAZURE_STORAGE_ACCOUNT_URL=https:\u002F\u002F\u003Caccount>.file.core.windows.net\n```\n\n## Authentication\n\n### Connection String\n\n```python\nfrom azure.storage.fileshare import ShareServiceClient\n\nservice = ShareServiceClient.from_connection_string(\n    os.environ[\"AZURE_STORAGE_CONNECTION_STRING\"]\n)\n```\n\n### Entra ID\n\n```python\nfrom azure.storage.fileshare import ShareServiceClient\nfrom azure.identity import DefaultAzureCredential\n\nservice = ShareServiceClient(\n    account_url=os.environ[\"AZURE_STORAGE_ACCOUNT_URL\"],\n    credential=DefaultAzureCredential()\n)\n```\n\n## Share Operations\n\n### Create Share\n\n```python\nshare = service.create_share(\"my-share\")\n```\n\n### List Shares\n\n```python\nfor share in service.list_shares():\n    print(f\"{share.name}: {share.quota} GB\")\n```\n\n### Get Share Client\n\n```python\nshare_client = service.get_share_client(\"my-share\")\n```\n\n### Delete Share\n\n```python\nservice.delete_share(\"my-share\")\n```\n\n## Directory Operations\n\n### Create Directory\n\n```python\nshare_client = service.get_share_client(\"my-share\")\nshare_client.create_directory(\"my-directory\")\n\n# Nested directory\nshare_client.create_directory(\"my-directory\u002Fsub-directory\")\n```\n\n### List Directories and Files\n\n```python\ndirectory_client = share_client.get_directory_client(\"my-directory\")\n\nfor item in directory_client.list_directories_and_files():\n    if item[\"is_directory\"]:\n        print(f\"[DIR] {item['name']}\")\n    else:\n        print(f\"[FILE] {item['name']} ({item['size']} bytes)\")\n```\n\n### Delete Directory\n\n```python\nshare_client.delete_directory(\"my-directory\")\n```\n\n## File Operations\n\n### Upload File\n\n```python\nfile_client = share_client.get_file_client(\"my-directory\u002Ffile.txt\")\n\n# From string\nfile_client.upload_file(\"Hello, World!\")\n\n# From file\nwith open(\"local-file.txt\", \"rb\") as f:\n    file_client.upload_file(f)\n\n# From bytes\nfile_client.upload_file(b\"Binary content\")\n```\n\n### Download File\n\n```python\nfile_client = share_client.get_file_client(\"my-directory\u002Ffile.txt\")\n\n# To bytes\ndata = file_client.download_file().readall()\n\n# To file\nwith open(\"downloaded.txt\", \"wb\") as f:\n    data = file_client.download_file()\n    data.readinto(f)\n\n# Stream chunks\ndownload = file_client.download_file()\nfor chunk in download.chunks():\n    process(chunk)\n```\n\n### Get File Properties\n\n```python\nproperties = file_client.get_file_properties()\nprint(f\"Size: {properties.size}\")\nprint(f\"Content type: {properties.content_settings.content_type}\")\nprint(f\"Last modified: {properties.last_modified}\")\n```\n\n### Delete File\n\n```python\nfile_client.delete_file()\n```\n\n### Copy File\n\n```python\nsource_url = \"https:\u002F\u002Faccount.file.core.windows.net\u002Fshare\u002Fsource.txt\"\ndest_client = share_client.get_file_client(\"destination.txt\")\ndest_client.start_copy_from_url(source_url)\n```\n\n## Range Operations\n\n### Upload Range\n\n```python\n# Upload to specific range\nfile_client.upload_range(data=b\"content\", offset=0, length=7)\n```\n\n### Download Range\n\n```python\n# Download specific range\ndownload = file_client.download_file(offset=0, length=100)\ndata = download.readall()\n```\n\n## Snapshot Operations\n\n### Create Snapshot\n\n```python\nsnapshot = share_client.create_snapshot()\nprint(f\"Snapshot: {snapshot['snapshot']}\")\n```\n\n### Access Snapshot\n\n```python\nsnapshot_client = service.get_share_client(\n    \"my-share\",\n    snapshot=snapshot[\"snapshot\"]\n)\n```\n\n## Async Client\n\n```python\nfrom azure.storage.fileshare.aio import ShareServiceClient\nfrom azure.identity.aio import DefaultAzureCredential\n\nasync def upload_file():\n    credential = DefaultAzureCredential()\n    service = ShareServiceClient(account_url, credential=credential)\n    \n    share = service.get_share_client(\"my-share\")\n    file_client = share.get_file_client(\"test.txt\")\n    \n    await file_client.upload_file(\"Hello!\")\n    \n    await service.close()\n    await credential.close()\n```\n\n## Client Types\n\n| Client | Purpose |\n|--------|---------|\n| `ShareServiceClient` | Account-level operations |\n| `ShareClient` | Share operations |\n| `ShareDirectoryClient` | Directory operations |\n| `ShareFileClient` | File operations |\n\n## Best Practices\n\n1. **Use connection string** for simplest setup\n2. **Use Entra ID** for production with RBAC\n3. **Stream large files** using chunks() to avoid memory issues\n4. **Create snapshots** before major changes\n5. **Set quotas** to prevent unexpected storage costs\n6. **Use ranges** for partial file updates\n7. **Close async clients** explicitly\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Azure Storage File Share SDK for Python\n\nManage SMB file shares for cloud-native and lift-and-shift scenarios.\n\n## Installation\n\n```bash\npip install azure-storage-file-share\n```\n\n## Environment Variables\n\n```bash\nAZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...\n# Or\nAZURE_STORAGE_ACCOUNT_URL=https:\u002F\u002F\u003Caccount>.file.core.windows.net\n```\n\n## Authentication\n\n### Connection String\n\n```python\nfrom azure.storage.fileshare import ShareServiceClient\n\nservice = ShareServiceClient.from_connection_string(\n    os.environ[\"AZURE_STORAGE_CONNECTION_STRING\"]\n)\n```\n\n### Entra ID\n\n```python\nfrom azure.storage.fileshare import ShareServiceClient\nfrom azure.identity import DefaultAzureCredential\n\nservice = ShareServiceClient(\n    account_url=os.environ[\"AZURE_STORAGE_ACCOUNT_URL\"],\n    credential=DefaultAzureCredential()\n)\n```\n\n## Share Operations\n\n### Create Share\n\n```python\nshare = service.create_share(\"my-share\")\n```\n\n### List Shares\n\n```python\nfor share in service.list_shares():\n    print(f\"{share.name}: {share.quota} GB\")\n```\n\n### Get Share Client\n\n```python\nshare_client = service.get_share_client(\"my-share\")\n```\n\n### Delete Share\n\n```python\nservice.delete_share(\"my-share\")\n```\n\n## Directory Operations\n\n### Create Directory\n\n```python\nshare_client = service.get_share_client(\"my-share\")\nshare_client.create_directory(\"my-directory\")\n\n# Nested directory\nshare_client.create_directory(\"my-directory\u002Fsub-directory\")\n```\n\n### List Directories and Files\n\n```python\ndirectory_client = share_client.get_directory_client(\"my-directory\")\n\nfor item in directory_client.list_directories_and_files():\n    if item[\"is_directory\"]:\n        print(f\"[DIR] {item['name']}\")\n    else:\n        print(f\"[FILE] {item['name']} ({item['size']} bytes)\")\n```\n\n### Delete Directory\n\n```python\nshare_client.delete_directory(\"my-directory\")\n```\n\n## File Operations\n\n### Upload File\n\n```python\nfile_client = share_client.get_file_client(\"my-directory\u002Ffile.txt\")\n\n# From string\nfile_client.upload_file(\"Hello, World!\")\n\n# From file\nwith open(\"local-file.txt\", \"rb\") as f:\n    file_client.upload_file(f)\n\n# From bytes\nfile_client.upload_file(b\"Binary content\")\n```\n\n### Download File\n\n```python\nfile_client = share_client.get_file_client(\"my-directory\u002Ffile.txt\")\n\n# To bytes\ndata = file_client.download_file().readall()\n\n# To file\nwith open(\"downloaded.txt\", \"wb\") as f:\n    data = file_client.download_file()\n    data.readinto(f)\n\n# Stream chunks\ndownload = file_client.download_file()\nfor chunk in download.chunks():\n    process(chunk)\n```\n\n### Get File Properties\n\n```python\nproperties = file_client.get_file_properties()\nprint(f\"Size: {properties.size}\")\nprint(f\"Content type: {properties.content_settings.content_type}\")\nprint(f\"Last modified: {properties.last_modified}\")\n```\n\n### Delete File\n\n```python\nfile_client.delete_file()\n```\n\n### Copy File\n\n```python\nsource_url = \"https:\u002F\u002Faccount.file.core.windows.net\u002Fshare\u002Fsource.txt\"\ndest_client = share_client.get_file_client(\"destination.txt\")\ndest_client.start_copy_from_url(source_url)\n```\n\n## Range Operations\n\n### Upload Range\n\n```python\n# Upload to specific range\nfile_client.upload_range(data=b\"content\", offset=0, length=7)\n```\n\n### Download Range\n\n```python\n# Download specific range\ndownload = file_client.download_file(offset=0, length=100)\ndata = download.readall()\n```\n\n## Snapshot Operations\n\n### Create Snapshot\n\n```python\nsnapshot = share_client.create_snapshot()\nprint(f\"Snapshot: {snapshot['snapshot']}\")\n```\n\n### Access Snapshot\n\n```python\nsnapshot_client = service.get_share_client(\n    \"my-share\",\n    snapshot=snapshot[\"snapshot\"]\n)\n```\n\n## Async Client\n\n```python\nfrom azure.storage.fileshare.aio import ShareServiceClient\nfrom azure.identity.aio import DefaultAzureCredential\n\nasync def upload_file():\n    credential = DefaultAzureCredential()\n    service = ShareServiceClient(account_url, credential=credential)\n    \n    share = service.get_share_client(\"my-share\")\n    file_client = share.get_file_client(\"test.txt\")\n    \n    await file_client.upload_file(\"Hello!\")\n    \n    await service.close()\n    await credential.close()\n```\n\n## Client Types\n\n| Client | Purpose |\n|--------|---------|\n| `ShareServiceClient` | Account-level operations |\n| `ShareClient` | Share operations |\n| `ShareDirectoryClient` | Directory operations |\n| `ShareFileClient` | File operations |\n\n## Best Practices\n\n1. **Use connection string** for simplest setup\n2. **Use Entra ID** for production with RBAC\n3. **Stream large files** using chunks() to avoid memory issues\n4. **Create snapshots** before major changes\n5. **Set quotas** to prevent unexpected storage costs\n6. **Use ranges** for partial file updates\n7. **Close async clients** explicitly\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":50,"risk":51,"source":52,"date_added":53,"description":54},"azure-storage-file-share-py","unknown","community","2026-02-27","Azure Storage File Share SDK for Python. Use for SMB file shares, directories, and file operations in the cloud.","main","aae5fa43a57641df274d23f55d90e394333c4050","components\u002Fblock-device-filesys\u002F.claude\u002Fskills\u002Fspeckit-agent-context-update",4,"https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research","https:\u002F\u002Fai-native-systems-research.github.io\u002Fai-native-systems-research\u002F","2026-11-10 09:17:37",{"source":8,"skillName":50,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill azure-storage-file-share-py",{"tool":69,"command":70},"bunx","bunx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill azure-storage-file-share-py",{"tool":72,"command":73},"pnpm","pnpm dlx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill azure-storage-file-share-py","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fblock-device-filesys\u002F.claude\u002Fskills\u002Fspeckit-agent-context-update\u002FSKILL.md",true,[],[78,96,112,123,139,151],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":45},"01M6KP29TWSNGADF3AJ47BR7TY","tools-spin-sync","Synchronize Spin\u002FPromela models with current source code and re-verify","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-spin-sync\u002FSKILL.md",[],[85,86,87,88,89,90,91,92,35,93,94,95],"tools spin sync","Tools","sync","code","verify","model","models","name","re","source","source code",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":45},"01M6KP277TDY3ZAJEBP5P6MDT8","tools-spin-model","Create a new Spin\u002FPromela formal verification model for a system property","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-spin-model\u002FSKILL.md",[],[103,90,86,104,105,106,107,108,109,110,111],"tools spin model","system","formal verification","number","for","prove","new","create","verification",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":45},"01M6KP250W406CEDSF02BRXT9D","tools-creusot-install","Install the Creusot Rust verification tool","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-install\u002FSKILL.md",[],[119,120,86,121,111,122],"tools creusot install","install","rust","tool",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":45},"01M6KP22H28FQ1X0V7VJHEFWXD","tools-creusot-init","Prepare an existing Cargo project to use Creusot formal verification","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-init\u002FSKILL.md",[],[130,86,131,37,132,133,134,111,135,105,136,137,138],"tools creusot init","init","directory","components","prepare","use","cargo","manager","Existing",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":45},"01M6KP1V506J9YM8DKKVDG1NRE","tools-creusot-coq-install","Add Coq 8.20 as an additional prover to an existing Creusot installation, for verification conditions that SMT solvers cannot discharge","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-coq-install\u002FSKILL.md",[],[146,147,120,86,107,138,148,149,111,150],"tools creusot coq install","Coq","as","installation","add",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":45},"01M6KP1PQJF3H765TYZAZ7P3EF","tools-creusot-annotate-interfaces","Formally verify a component's properties with Creusot and annotate its interface definitions","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-annotate-interfaces\u002FSKILL.md",[],[86,158,159,35,92,160,89,161,162],"tools creusot annotate interfaces","annotate","properties","component","interface"]