{"id":"c9d59ad6-8872-4d8a-9a6e-d152b8092687","shortId":"TaDVTR","kind":"skill","title":"azure-appconfiguration-py","tagline":"Azure App Configuration SDK for Python. Use for centralized configuration management, feature flags, and dynamic settings.","description":"# Azure App Configuration SDK for Python\n\nCentralized configuration management with feature flags and dynamic settings.\n\n## Installation\n\n```bash\npip install azure-appconfiguration\n```\n\n## Environment Variables\n\n```bash\nAZURE_APPCONFIGURATION_CONNECTION_STRING=Endpoint=https://<name>.azconfig.io;Id=...;Secret=...\n# Or for Entra ID:\nAZURE_APPCONFIGURATION_ENDPOINT=https://<name>.azconfig.io\n```\n\n## Authentication\n\n### Connection String\n\n```python\nfrom azure.appconfiguration import AzureAppConfigurationClient\n\nclient = AzureAppConfigurationClient.from_connection_string(\n    os.environ[\"AZURE_APPCONFIGURATION_CONNECTION_STRING\"]\n)\n```\n\n### Entra ID\n\n```python\nfrom azure.appconfiguration import AzureAppConfigurationClient\nfrom azure.identity import DefaultAzureCredential\n\nclient = AzureAppConfigurationClient(\n    base_url=os.environ[\"AZURE_APPCONFIGURATION_ENDPOINT\"],\n    credential=DefaultAzureCredential()\n)\n```\n\n## Configuration Settings\n\n### Get Setting\n\n```python\nsetting = client.get_configuration_setting(key=\"app:settings:message\")\nprint(f\"{setting.key} = {setting.value}\")\n```\n\n### Get with Label\n\n```python\n# Labels allow environment-specific values\nsetting = client.get_configuration_setting(\n    key=\"app:settings:message\",\n    label=\"production\"\n)\n```\n\n### Set Setting\n\n```python\nfrom azure.appconfiguration import ConfigurationSetting\n\nsetting = ConfigurationSetting(\n    key=\"app:settings:message\",\n    value=\"Hello, World!\",\n    label=\"development\",\n    content_type=\"text/plain\",\n    tags={\"environment\": \"dev\"}\n)\n\nclient.set_configuration_setting(setting)\n```\n\n### Delete Setting\n\n```python\nclient.delete_configuration_setting(\n    key=\"app:settings:message\",\n    label=\"development\"\n)\n```\n\n## List Settings\n\n### All Settings\n\n```python\nsettings = client.list_configuration_settings()\nfor setting in settings:\n    print(f\"{setting.key} [{setting.label}] = {setting.value}\")\n```\n\n### Filter by Key Prefix\n\n```python\nsettings = client.list_configuration_settings(\n    key_filter=\"app:settings:*\"\n)\n```\n\n### Filter by Label\n\n```python\nsettings = client.list_configuration_settings(\n    label_filter=\"production\"\n)\n```\n\n## Feature Flags\n\n### Set Feature Flag\n\n```python\nfrom azure.appconfiguration import ConfigurationSetting\nimport json\n\nfeature_flag = ConfigurationSetting(\n    key=\".appconfig.featureflag/beta-feature\",\n    value=json.dumps({\n        \"id\": \"beta-feature\",\n        \"enabled\": True,\n        \"conditions\": {\n            \"client_filters\": []\n        }\n    }),\n    content_type=\"application/vnd.microsoft.appconfig.ff+json;charset=utf-8\"\n)\n\nclient.set_configuration_setting(feature_flag)\n```\n\n### Get Feature Flag\n\n```python\nsetting = client.get_configuration_setting(\n    key=\".appconfig.featureflag/beta-feature\"\n)\nflag_data = json.loads(setting.value)\nprint(f\"Feature enabled: {flag_data['enabled']}\")\n```\n\n### List Feature Flags\n\n```python\nflags = client.list_configuration_settings(\n    key_filter=\".appconfig.featureflag/*\"\n)\nfor flag in flags:\n    data = json.loads(flag.value)\n    print(f\"{data['id']}: {'enabled' if data['enabled'] else 'disabled'}\")\n```\n\n## Read-Only Settings\n\n```python\n# Make setting read-only\nclient.set_read_only(\n    configuration_setting=setting,\n    read_only=True\n)\n\n# Remove read-only\nclient.set_read_only(\n    configuration_setting=setting,\n    read_only=False\n)\n```\n\n## Snapshots\n\n### Create Snapshot\n\n```python\nfrom azure.appconfiguration import ConfigurationSnapshot, ConfigurationSettingFilter\n\nsnapshot = ConfigurationSnapshot(\n    name=\"v1-snapshot\",\n    filters=[\n        ConfigurationSettingFilter(key=\"app:*\", label=\"production\")\n    ]\n)\n\ncreated = client.begin_create_snapshot(\n    name=\"v1-snapshot\",\n    snapshot=snapshot\n).result()\n```\n\n### List Snapshot Settings\n\n```python\nsettings = client.list_configuration_settings(\n    snapshot_name=\"v1-snapshot\"\n)\n```\n\n## Async Client\n\n```python\nfrom azure.appconfiguration.aio import AzureAppConfigurationClient\nfrom azure.identity.aio import DefaultAzureCredential\n\nasync def main():\n    credential = DefaultAzureCredential()\n    client = AzureAppConfigurationClient(\n        base_url=endpoint,\n        credential=credential\n    )\n    \n    setting = await client.get_configuration_setting(key=\"app:message\")\n    print(setting.value)\n    \n    await client.close()\n    await credential.close()\n```\n\n## Client Operations\n\n| Operation | Description |\n|-----------|-------------|\n| `get_configuration_setting` | Get single setting |\n| `set_configuration_setting` | Create or update setting |\n| `delete_configuration_setting` | Delete setting |\n| `list_configuration_settings` | List with filters |\n| `set_read_only` | Lock/unlock setting |\n| `begin_create_snapshot` | Create point-in-time snapshot |\n| `list_snapshots` | List all snapshots |\n\n## Best Practices\n\n1. **Use labels** for environment separation (dev, staging, prod)\n2. **Use key prefixes** for logical grouping (app:database:*, app:cache:*)\n3. **Make production settings read-only** to prevent accidental changes\n4. **Create snapshots** before deployments for rollback capability\n5. **Use Entra ID** instead of connection strings in production\n6. **Refresh settings periodically** in long-running applications\n7. **Use feature flags** for gradual rollouts and A/B testing\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","appconfiguration","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-azure-appconfiguration-py","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-appconfiguration-py","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (5,682 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:29.189Z","embedding":null,"createdAt":"2026-04-18T21:32:10.229Z","updatedAt":"2026-04-24T18:50:29.189Z","lastSeenAt":"2026-04-24T18:50:29.189Z","tsv":"'-8':255 '/*':296 '/beta-feature':237,272 '1':477 '2':486 '3':497 '4':508 '5':516 '6':526 '7':535 'a/b':543 'accident':506 'action':557 'allow':122 'app':6,22,110,132,147,172,206,364,420,493,495 'appconfig.featureflag':236,271,295 'appconfig.featureflag/*':294 'appconfig.featureflag/beta-feature':235,270 'appconfigur':3,42,47,59,76,96 'applic':534,551 'application/vnd.microsoft.appconfig.ff':251 'ask':595 'async':391,402 'authent':62 'await':415,424,426 'azconfig.io':51,61 'azur':2,5,21,41,46,58,75,95 'azure-appconfigur':40 'azure-appconfiguration-pi':1 'azure.appconfiguration':67,83,141,226,351 'azure.appconfiguration.aio':395 'azure.identity':87 'azure.identity.aio':399 'azureappconfigurationcli':69,85,91,397,408 'azureappconfigurationclient.from':71 'base':92,409 'bash':37,45 'begin':461 'best':475 'beta':242 'beta-featur':241 'boundari':603 'cach':496 'capabl':515 'central':13,27 'chang':507 'charset':253 'clarif':597 'clear':570 'client':70,90,247,392,407,428 'client.begin':368 'client.close':425 'client.delete':168 'client.get':106,128,266,416 'client.list':183,201,213,289,383 'client.set':161,256,324,337 'condit':246 'configur':7,14,23,28,100,107,129,162,169,184,202,214,257,267,290,327,340,384,417,433,439,446,451 'configurationset':143,145,228,233 'configurationsettingfilt':354,362 'configurationsnapshot':353,356 'connect':48,63,72,77,522 'content':155,249 'creat':347,367,369,441,462,464,509 'credenti':98,405,412,413 'credential.close':427 'criteria':606 'data':274,282,301,306,310 'databas':494 'def':403 'defaultazurecredenti':89,99,401,406 'delet':165,445,448 'deploy':512 'describ':558,574 'descript':431 'dev':160,483 'develop':154,176 'disabl':313 'dynam':19,34 'els':312 'enabl':244,280,283,308,311 'endpoint':50,60,97,411 'entra':56,79,518 'environ':43,124,159,481,586 'environment-specif':123,585 'execut':553 'expert':591 'f':114,191,278,305 'fals':345 'featur':16,31,219,222,231,243,259,262,279,285,537 'filter':195,205,208,217,248,293,361,455 'flag':17,32,220,223,232,260,263,273,281,286,288,298,300,538 'flag.value':303 'get':102,117,261,432,435 'gradual':540 'group':492 'hello':151 'id':52,57,80,240,307,519 'import':68,84,88,142,227,229,352,396,400 'input':600 'instal':36,39 'instead':520 'json':230,252 'json.dumps':239 'json.loads':275,302 'key':109,131,146,171,197,204,234,269,292,363,419,488 'label':119,121,135,153,175,210,216,365,479 'limit':562 'list':177,284,378,450,453,470,472 'lock/unlock':459 'logic':491 'long':532 'long-run':531 'main':404 'make':319,498 'manag':15,29 'match':571 'messag':112,134,149,174,421 'miss':608 'name':357,371,387 'oper':429,430 'os.environ':74,94 'output':580 'overview':561 'period':529 'permiss':601 'pip':38 'point':466 'point-in-tim':465 'practic':476 'prefix':198,489 'prevent':505 'print':113,190,277,304,422 'prod':485 'product':136,218,366,499,525 'py':4 'python':10,26,65,81,104,120,139,167,181,199,211,224,264,287,318,349,381,393 'read':315,322,325,330,335,338,343,457,502 'read-on':314,321,334,501 'refresh':527 'remov':333 'requir':599 'result':377 'review':592 'rollback':514 'rollout':541 'run':533 'safeti':602 'scope':573 'sdk':8,24 'secret':53 'separ':482 'set':20,35,101,103,105,108,111,127,130,133,137,138,144,148,163,164,166,170,173,178,180,182,185,187,189,200,203,207,212,215,221,258,265,268,291,317,320,328,329,341,342,380,382,385,414,418,434,437,438,440,444,447,449,452,456,460,500,528 'setting.key':115,192 'setting.label':193 'setting.value':116,194,276,423 'singl':436 'skill':549,565 'skill-azure-appconfiguration-py' 'snapshot':346,348,355,360,370,374,375,376,379,386,390,463,469,471,474,510 'source-sickn33' 'specif':125,587 'stage':484 'stop':593 'string':49,64,73,78,523 'substitut':583 'success':605 'tag':158 'task':569 'test':544,589 'text/plain':157 'time':468 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':578 'true':245,332 'type':156,250 'updat':443 'url':93,410 'use':11,478,487,517,536,547,563 'utf':254 'v1':359,373,389 'v1-snapshot':358,372,388 'valid':588 'valu':126,150,238 'variabl':44 'workflow':555 'world':152","prices":[{"id":"52973292-969a-4f2f-95d9-231cd1e7b768","listingId":"c9d59ad6-8872-4d8a-9a6e-d152b8092687","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:32:10.229Z"}],"sources":[{"listingId":"c9d59ad6-8872-4d8a-9a6e-d152b8092687","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-appconfiguration-py","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-appconfiguration-py","isPrimary":false,"firstSeenAt":"2026-04-18T21:32:10.229Z","lastSeenAt":"2026-04-24T18:50:29.189Z"}],"details":{"listingId":"c9d59ad6-8872-4d8a-9a6e-d152b8092687","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-appconfiguration-py","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"c85a02685e6fe432229525322f8a6c237be775e3","skill_md_path":"skills/azure-appconfiguration-py/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-appconfiguration-py"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-appconfiguration-py","description":"Azure App Configuration SDK for Python. Use for centralized configuration management, feature flags, and dynamic settings."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-appconfiguration-py"},"updatedAt":"2026-04-24T18:50:29.189Z"}}