{"id":"e8948f20-ca7d-4e0a-86ff-2d0b424055eb","shortId":"8HLXbd","kind":"skill","title":"bazel-build-optimization","tagline":"Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.","description":"# Bazel Build Optimization\n\nProduction patterns for Bazel in large-scale monorepos.\n\n## Do not use this skill when\n\n- The task is unrelated to bazel build optimization\n- You need a different domain or tool outside this scope\n\n## Instructions\n\n- Clarify goals, constraints, and required inputs.\n- Apply relevant best practices and validate outcomes.\n- Provide actionable steps and verification.\n- If detailed examples are required, open `resources/implementation-playbook.md`.\n\n## Use this skill when\n\n- Setting up Bazel for monorepos\n- Configuring remote caching/execution\n- Optimizing build times\n- Writing custom Bazel rules\n- Debugging build issues\n- Migrating to Bazel\n\n## Core Concepts\n\n### 1. Bazel Architecture\n\n```\nworkspace/\n├── WORKSPACE.bazel       # External dependencies\n├── .bazelrc              # Build configurations\n├── .bazelversion         # Bazel version\n├── BUILD.bazel           # Root build file\n├── apps/\n│   └── web/\n│       └── BUILD.bazel\n├── libs/\n│   └── utils/\n│       └── BUILD.bazel\n└── tools/\n    └── bazel/\n        └── rules/\n```\n\n### 2. Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| **Target** | Buildable unit (library, binary, test) |\n| **Package** | Directory with BUILD file |\n| **Label** | Target identifier `//path/to:target` |\n| **Rule** | Defines how to build a target |\n| **Aspect** | Cross-cutting build behavior |\n\n## Templates\n\n### Template 1: WORKSPACE Configuration\n\n```python\n# WORKSPACE.bazel\nworkspace(name = \"myproject\")\n\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\n\n# Rules for JavaScript/TypeScript\nhttp_archive(\n    name = \"aspect_rules_js\",\n    sha256 = \"...\",\n    strip_prefix = \"rules_js-1.34.0\",\n    url = \"https://github.com/aspect-build/rules_js/releases/download/v1.34.0/rules_js-v1.34.0.tar.gz\",\n)\n\nload(\"@aspect_rules_js//js:repositories.bzl\", \"rules_js_dependencies\")\nrules_js_dependencies()\n\nload(\"@rules_nodejs//nodejs:repositories.bzl\", \"nodejs_register_toolchains\")\nnodejs_register_toolchains(\n    name = \"nodejs\",\n    node_version = \"20.9.0\",\n)\n\nload(\"@aspect_rules_js//npm:repositories.bzl\", \"npm_translate_lock\")\nnpm_translate_lock(\n    name = \"npm\",\n    pnpm_lock = \"//:pnpm-lock.yaml\",\n    verify_node_modules_ignored = \"//:.bazelignore\",\n)\n\nload(\"@npm//:repositories.bzl\", \"npm_repositories\")\nnpm_repositories()\n\n# Rules for Python\nhttp_archive(\n    name = \"rules_python\",\n    sha256 = \"...\",\n    strip_prefix = \"rules_python-0.27.0\",\n    url = \"https://github.com/bazelbuild/rules_python/releases/download/0.27.0/rules_python-0.27.0.tar.gz\",\n)\n\nload(\"@rules_python//python:repositories.bzl\", \"py_repositories\")\npy_repositories()\n```\n\n### Template 2: .bazelrc Configuration\n\n```bash\n# .bazelrc\n\n# Build settings\nbuild --enable_platform_specific_config\nbuild --incompatible_enable_cc_toolchain_resolution\nbuild --experimental_strict_conflict_checks\n\n# Performance\nbuild --jobs=auto\nbuild --local_cpu_resources=HOST_CPUS*.75\nbuild --local_ram_resources=HOST_RAM*.75\n\n# Caching\nbuild --disk_cache=~/.cache/bazel-disk\nbuild --repository_cache=~/.cache/bazel-repo\n\n# Remote caching (optional)\nbuild:remote-cache --remote_cache=grpcs://cache.example.com\nbuild:remote-cache --remote_upload_local_results=true\nbuild:remote-cache --remote_timeout=3600\n\n# Remote execution (optional)\nbuild:remote-exec --remote_executor=grpcs://remote.example.com\nbuild:remote-exec --remote_instance_name=projects/myproject/instances/default\nbuild:remote-exec --jobs=500\n\n# Platform configurations\nbuild:linux --platforms=//platforms:linux_x86_64\nbuild:macos --platforms=//platforms:macos_arm64\n\n# CI configuration\nbuild:ci --config=remote-cache\nbuild:ci --build_metadata=ROLE=CI\nbuild:ci --bes_results_url=https://results.example.com/invocation/\nbuild:ci --bes_backend=grpcs://bes.example.com\n\n# Test settings\ntest --test_output=errors\ntest --test_summary=detailed\n\n# Coverage\ncoverage --combined_report=lcov\ncoverage --instrumentation_filter=\"//...\"\n\n# Convenience aliases\nbuild:opt --compilation_mode=opt\nbuild:dbg --compilation_mode=dbg\n\n# Import user settings\ntry-import %workspace%/user.bazelrc\n```\n\n### Template 3: TypeScript Library BUILD\n\n```python\n# libs/utils/BUILD.bazel\nload(\"@aspect_rules_ts//ts:defs.bzl\", \"ts_project\")\nload(\"@aspect_rules_js//js:defs.bzl\", \"js_library\")\nload(\"@npm//:defs.bzl\", \"npm_link_all_packages\")\n\nnpm_link_all_packages(name = \"node_modules\")\n\nts_project(\n    name = \"utils_ts\",\n    srcs = glob([\"src/**/*.ts\"]),\n    declaration = True,\n    source_map = True,\n    tsconfig = \"//:tsconfig.json\",\n    deps = [\n        \":node_modules/@types/node\",\n    ],\n)\n\njs_library(\n    name = \"utils\",\n    srcs = [\":utils_ts\"],\n    visibility = [\"//visibility:public\"],\n)\n\n# Tests\nload(\"@aspect_rules_jest//jest:defs.bzl\", \"jest_test\")\n\njest_test(\n    name = \"utils_test\",\n    config = \"//:jest.config.js\",\n    data = [\n        \":utils\",\n        \"//:node_modules/jest\",\n    ],\n    node_modules = \"//:node_modules\",\n)\n```\n\n### Template 4: Python Library BUILD\n\n```python\n# libs/ml/BUILD.bazel\nload(\"@rules_python//python:defs.bzl\", \"py_library\", \"py_test\", \"py_binary\")\nload(\"@pip//:requirements.bzl\", \"requirement\")\n\npy_library(\n    name = \"ml\",\n    srcs = glob([\"src/**/*.py\"]),\n    deps = [\n        requirement(\"numpy\"),\n        requirement(\"pandas\"),\n        requirement(\"scikit-learn\"),\n        \"//libs/utils:utils_py\",\n    ],\n    visibility = [\"//visibility:public\"],\n)\n\npy_test(\n    name = \"ml_test\",\n    srcs = glob([\"tests/**/*.py\"]),\n    deps = [\n        \":ml\",\n        requirement(\"pytest\"),\n    ],\n    size = \"medium\",\n    timeout = \"moderate\",\n)\n\npy_binary(\n    name = \"train\",\n    srcs = [\"train.py\"],\n    deps = [\":ml\"],\n    data = [\"//data:training_data\"],\n)\n```\n\n### Template 5: Custom Rule for Docker\n\n```python\n# tools/bazel/rules/docker.bzl\ndef _docker_image_impl(ctx):\n    dockerfile = ctx.file.dockerfile\n    base_image = ctx.attr.base_image\n    layers = ctx.files.layers\n\n    # Build the image\n    output = ctx.actions.declare_file(ctx.attr.name + \".tar\")\n\n    args = ctx.actions.args()\n    args.add(\"--dockerfile\", dockerfile)\n    args.add(\"--output\", output)\n    args.add(\"--base\", base_image)\n    args.add_all(\"--layer\", layers)\n\n    ctx.actions.run(\n        inputs = [dockerfile] + layers,\n        outputs = [output],\n        executable = ctx.executable._builder,\n        arguments = [args],\n        mnemonic = \"DockerBuild\",\n        progress_message = \"Building Docker image %s\" % ctx.label,\n    )\n\n    return [DefaultInfo(files = depset([output]))]\n\ndocker_image = rule(\n    implementation = _docker_image_impl,\n    attrs = {\n        \"dockerfile\": attr.label(\n            allow_single_file = [\".dockerfile\", \"Dockerfile\"],\n            mandatory = True,\n        ),\n        \"base_image\": attr.string(mandatory = True),\n        \"layers\": attr.label_list(allow_files = True),\n        \"_builder\": attr.label(\n            default = \"//tools/docker:builder\",\n            executable = True,\n            cfg = \"exec\",\n        ),\n    },\n)\n```\n\n### Template 6: Query and Dependency Analysis\n\n```bash\n# Find all dependencies of a target\nbazel query \"deps(//apps/web:web)\"\n\n# Find reverse dependencies (what depends on this)\nbazel query \"rdeps(//..., //libs/utils:utils)\"\n\n# Find all targets in a package\nbazel query \"//libs/...\"\n\n# Find changed targets since commit\nbazel query \"rdeps(//..., set($(git diff --name-only HEAD~1 | sed 's/.*/\"&\"/' | tr '\\n' ' ')))\"\n\n# Generate dependency graph\nbazel query \"deps(//apps/web:web)\" --output=graph | dot -Tpng > deps.png\n\n# Find all test targets\nbazel query \"kind('.*_test', //...)\"\n\n# Find targets with specific tag\nbazel query \"attr(tags, 'integration', //...)\"\n\n# Compute build graph size\nbazel query \"deps(//...)\" --output=package | wc -l\n```\n\n### Template 7: Remote Execution Setup\n\n```python\n# platforms/BUILD.bazel\nplatform(\n    name = \"linux_x86_64\",\n    constraint_values = [\n        \"@platforms//os:linux\",\n        \"@platforms//cpu:x86_64\",\n    ],\n    exec_properties = {\n        \"container-image\": \"docker://gcr.io/myproject/bazel-worker:latest\",\n        \"OSFamily\": \"Linux\",\n    },\n)\n\nplatform(\n    name = \"remote_linux\",\n    parents = [\":linux_x86_64\"],\n    exec_properties = {\n        \"Pool\": \"default\",\n        \"dockerNetwork\": \"standard\",\n    },\n)\n\n# toolchains/BUILD.bazel\ntoolchain(\n    name = \"cc_toolchain_linux\",\n    exec_compatible_with = [\n        \"@platforms//os:linux\",\n        \"@platforms//cpu:x86_64\",\n    ],\n    target_compatible_with = [\n        \"@platforms//os:linux\",\n        \"@platforms//cpu:x86_64\",\n    ],\n    toolchain = \"@remotejdk11_linux//:jdk\",\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n)\n```\n\n## Performance Optimization\n\n```bash\n# Profile build\nbazel build //... --profile=profile.json\nbazel analyze-profile profile.json\n\n# Identify slow actions\nbazel build //... --execution_log_json_file=exec_log.json\n\n# Memory profiling\nbazel build //... --memory_profile=memory.json\n\n# Skip analysis cache\nbazel build //... --notrack_incremental_state\n```\n\n## Best Practices\n\n### Do's\n- **Use fine-grained targets** - Better caching\n- **Pin dependencies** - Reproducible builds\n- **Enable remote caching** - Share build artifacts\n- **Use visibility wisely** - Enforce architecture\n- **Write BUILD files per directory** - Standard convention\n\n### Don'ts\n- **Don't use glob for deps** - Explicit is better\n- **Don't commit bazel-* dirs** - Add to .gitignore\n- **Don't skip WORKSPACE setup** - Foundation of build\n- **Don't ignore build warnings** - Technical debt\n\n## Resources\n\n- [Bazel Documentation](https://bazel.build/docs)\n- [Bazel Remote Execution](https://bazel.build/docs/remote-execution)\n- [rules_js](https://github.com/aspect-build/rules_js)\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":["bazel","build","optimization","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-bazel-build-optimization","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/bazel-build-optimization","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 (10,007 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:35.775Z","embedding":null,"createdAt":"2026-04-18T21:33:27.851Z","updatedAt":"2026-04-24T18:50:35.775Z","lastSeenAt":"2026-04-24T18:50:35.775Z","tsv":"'/.cache/bazel-disk':342 '/.cache/bazel-repo':346 '/apps/web':765,814 '/aspect-build/rules_js)':1055 '/aspect-build/rules_js/releases/download/v1.34.0/rules_js-v1.34.0.tar.gz':211 '/bazelbuild/rules_python/releases/download/0.27.0/rules_python-0.27.0.tar.gz':286 '/cpu':868,908,918 '/data':639 '/docs)':1044 '/docs/remote-execution)':1050 '/invocation/':433 '/jest':549 '/js':216,496 '/libs':787 '/libs/utils':607,777 '/myproject/bazel-worker:latest':878 '/nodejs':227 '/npm':244 '/os':865,905,915 '/path/to':161 '/platforms':402,409 '/python':290,578 '/tools/build_defs/repo':189 '/tools/docker':743 '/tools/jdk':929 '/ts':488 '/user.bazelrc':476 '/visibility':542,611 '0.27.0':282 '1':116,178 '1.34.0':207 '2':142,297 '20.9.0':239 '3':478 '3600':372 '4':569 '5':643 '500':396 '6':750 '64':405,861,870,888,910,920 '7':851 '75':330,337 'action':78,949 'add':1021 'alias':458 'allow':722,737 'analysi':754,965 'analyz':944 'analyze-profil':943 'app':133 'appli':70 'architectur':118,997 'archiv':192,197,273 'arg':671,697 'args.add':673,676,679,683 'argument':696 'arm64':411 'artifact':992 'ask':1089 'aspect':170,199,213,241,485,493,546 'attr':719,836 'attr.label':721,735,741 'attr.string':731 'auto':323 'backend':437 'base':657,680,681,729 'bash':300,755,935 'bazel':2,6,16,27,33,50,95,106,113,117,127,140,187,762,774,785,793,811,825,834,843,927,938,942,950,959,967,1019,1040,1045 'bazel-build-optim':1 'bazel.build':1043,1049 'bazel.build/docs)':1042 'bazel.build/docs/remote-execution)':1048 'bazelignor':261 'bazelrc':123,298,301 'bazelvers':126 'behavior':175 'bes':428,436 'bes.example.com':438 'best':72,972 'better':981,1015 'binari':151,585,631 'boundari':1097 'build':3,7,22,28,51,102,109,124,131,156,167,174,302,304,309,315,321,324,331,339,343,350,357,366,376,383,391,399,406,414,420,422,426,434,459,464,481,572,663,702,840,937,939,951,960,968,986,991,999,1031,1035 'build.bazel':129,135,138 'buildabl':148 'builder':695,740,744 'cach':338,341,345,348,353,355,360,369,419,966,982,989 'cache.example.com':356 'caching/execution':100 'cc':312,898 'cfg':747 'chang':789 'check':319 'ci':412,415,421,425,427,435 'clarif':1091 'clarifi':64 'clear':1064 'codebas':26 'combin':451 'commit':792,1018 'compat':902,912 'compil':461,466 'comput':839 'concept':115,144,145 'config':308,416,558 'configur':15,98,125,180,299,398,413 'conflict':318 'constraint':66,862 'contain':874 'container-imag':873 'conveni':457 'convent':1004 'core':114 'coverag':449,450,454 'cpu':326 'cpus':329 'criteria':1100 'cross':172 'cross-cut':171 'ctx':654 'ctx.actions.args':672 'ctx.actions.declare':667 'ctx.actions.run':687 'ctx.attr.base':659 'ctx.attr.name':669 'ctx.executable':694 'ctx.file.dockerfile':656 'ctx.files.layers':662 'ctx.label':706 'custom':105,644 'cut':173 'data':560,638,641 'dbg':465,468 'debt':1038 'debug':108 'declar':523 'def':650 'default':742,892 'defaultinfo':708 'defin':164 'defs.bzl':489,497,502,550,579 'dep':530,598,622,636,764,813,845,1012 'depend':122,220,223,753,758,769,771,809,984 'deps.png':820 'depset':710 'describ':1068 'descript':146 'detail':83,448 'diff':798 'differ':56 'dir':1020 'directori':154,1002 'disk':340 'docker':647,651,703,712,716 'dockerbuild':699 'dockerfil':655,674,675,689,720,725,726 'dockernetwork':893 'document':1041 'domain':57 'dot':818 'enabl':305,311,987 'enforc':996 'enterpris':25 'environ':1080 'environment-specif':1079 'error':444 'exampl':84 'exec':379,386,394,748,871,889,901 'exec_log.json':956 'execut':19,374,693,745,853,952,1047 'executor':381 'experiment':316 'expert':1085 'explicit':1013 'extern':121 'file':132,157,668,709,724,738,955,1000 'filter':456 'find':756,767,779,788,821,829 'fine':978 'fine-grain':977 'foundat':1029 'gcr.io':877 'gcr.io/myproject/bazel-worker:latest':876 'generat':808 'git':797 'github.com':210,285,1054 'github.com/aspect-build/rules_js)':1053 'github.com/aspect-build/rules_js/releases/download/v1.34.0/rules_js-v1.34.0.tar.gz':209 'github.com/bazelbuild/rules_python/releases/download/0.27.0/rules_python-0.27.0.tar.gz':284 'gitignor':1023 'glob':520,595,619,1010 'goal':65 'grain':979 'graph':810,817,841 'head':802 'host':328,335 'http':191,196,272 'http.bzl':190 'identifi':160,947 'ignor':260,1034 'imag':652,658,660,665,682,704,713,717,730,875 'impl':653,718 'implement':17,715 'import':469,474 'incompat':310 'increment':970 'input':69,688,1094 'instanc':388 'instruct':63 'instrument':455 'integr':838 'issu':110 'javascript/typescript':195 'jdk':924 'jest':548,551,553 'jest.config.js':559 'job':322,395 'js':201,206,215,219,222,243,495,498,534,1052 'json':954 'key':143 'kind':827 'l':849 'label':158 'larg':10,36 'large-scal':9,35 'layer':661,685,686,690,734 'lcov':453 'learn':606 'lib':136 'librari':150,480,499,535,571,581,591 'libs/ml/build.bazel':574 'libs/utils/build.bazel':483 'limit':1056 'link':504,508 'linux':400,403,859,866,880,884,886,900,906,916,923 'list':736 'load':186,212,224,240,262,287,484,492,500,545,575,586 'local':325,332,363 'lock':248,251,255 'log':953 'maco':407,410 'mandatori':727,732 'map':526 'match':1065 'medium':627 'memori':957,961 'memory.json':963 'messag':701 'metadata':423 'migrat':111 'miss':1102 'ml':593,616,623,637 'mnemon':698 'mode':462,467 'moder':629 'modul':259,513,532,565,567 'modules/jest':563 'monorepo':12,38,97 'myproject':185 'n':807 'name':184,198,235,252,274,389,511,516,536,555,592,615,632,800,858,882,897 'name-on':799 'need':54 'node':237,258,512,531,562,564,566 'nodej':226,229,232,236 'notrack':969 'npm':246,249,253,263,265,267,501,503,507 'numpi':600 'open':87 'opt':460,463 'optim':4,5,21,29,52,101,934 'option':349,375 'osfamili':879 'outcom':76 'output':443,666,677,678,691,692,711,816,846,1074 'outsid':60 'packag':153,506,510,784,847 'panda':602 'parent':885 'pattern':31 'per':1001 'perform':23,320,933 'permiss':1095 'pin':983 'pip':587 'platform':306,397,401,408,857,864,867,881,904,907,914,917 'platforms/build.bazel':856 'pnpm':254 'pnpm-lock.yaml':256 'pool':891 'practic':73,973 'prefix':204,279 'product':30 'profil':936,940,945,958,962 'profile.json':941,946 'progress':700 'project':491,515 'projects/myproject/instances/default':390 'properti':872,890 'provid':77 'public':543,612 'py':292,294,580,582,584,590,597,609,613,621,630 'pytest':625 'python':181,271,276,281,289,482,570,573,577,648,855 'queri':751,763,775,786,794,812,826,835,844 'ram':333,336 'rdep':776,795 'regist':230,233 'relev':71 'remot':18,99,347,352,354,359,361,368,370,373,378,380,385,387,393,418,852,883,988,1046 'remote-cach':351,358,367,417 'remote-exec':377,384,392 'remote.example.com':382 'remotejdk11':922 'report':452 'repositori':266,268,293,295,344 'repositories.bzl':217,228,245,264,291 'reproduc':985 'requir':68,86,589,599,601,603,624,1093 'requirements.bzl':588 'resolut':314 'resourc':327,334,1039 'resources/implementation-playbook.md':88 'result':364,429 'results.example.com':432 'results.example.com/invocation/':431 'return':707 'revers':768 'review':1086 'role':424 'root':130 'rule':107,141,163,193,200,205,214,218,221,225,242,269,275,280,288,486,494,547,576,645,714,1051 'runtim':930 'safeti':1096 'scale':11,37 'scikit':605 'scikit-learn':604 'scope':62,1067 'sed':804 'set':93,303,440,471,796 'setup':854,1028 'sha256':202,277 'share':990 'sinc':791 'singl':723 'size':626,842 'skill':43,91,1059 'skill-bazel-build-optimization' 'skip':964,1026 'slow':948 'sourc':525 'source-sickn33' 'specif':307,832,1081 'src':521,596 'srcs':519,538,594,618,634 'standard':894,1003 'state':971 'step':79 'stop':1087 'strict':317 'strip':203,278 'substitut':1077 'success':1099 'summari':447 'tag':833,837 'tar':670 'target':147,159,162,169,761,781,790,824,830,911,980 'task':46,1063 'technic':1037 'templat':176,177,296,477,568,642,749,850 'test':152,439,441,442,445,446,544,552,554,557,583,614,617,620,823,828,1083 'time':103 'timeout':371,628 'tool':59,139,188,928 'toolchain':231,234,313,896,899,921,925,931 'toolchains/build.bazel':895 'tools/bazel/rules/docker.bzl':649 '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' 'tpng':819 'tr':806 'train':633,640 'train.py':635 'translat':247,250 'treat':1072 'tri':473 'true':365,524,527,728,733,739,746 'try-import':472 'ts':487,490,514,518,522,540,1006 'tsconfig':528 'tsconfig.json':529 'type':926,932 'types/node':533 'typescript':479 'unit':149 'unrel':48 'upload':362 'url':208,283,430 'use':13,41,89,976,993,1009,1057 'user':470 'util':137,517,537,539,556,561,608,778 'valid':75,1082 'valu':863 'verif':81 'verifi':257 'version':128,238 'visibl':541,610,994 'warn':1036 'wc':848 'web':134,766,815 'wise':995 'workspac':119,179,183,475,1027 'workspace.bazel':120,182 'write':104,998 'x86':404,860,869,887,909,919 '~1':803","prices":[{"id":"8ada8e4f-d024-4460-9c95-1f95af8c87ac","listingId":"e8948f20-ca7d-4e0a-86ff-2d0b424055eb","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:33:27.851Z"}],"sources":[{"listingId":"e8948f20-ca7d-4e0a-86ff-2d0b424055eb","source":"github","sourceId":"sickn33/antigravity-awesome-skills/bazel-build-optimization","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bazel-build-optimization","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:27.851Z","lastSeenAt":"2026-04-24T18:50:35.775Z"}],"details":{"listingId":"e8948f20-ca7d-4e0a-86ff-2d0b424055eb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"bazel-build-optimization","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":"f11db71f466b17637674fdf9ba6ba19594be68cb","skill_md_path":"skills/bazel-build-optimization/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bazel-build-optimization"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"bazel-build-optimization","description":"Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/bazel-build-optimization"},"updatedAt":"2026-04-24T18:50:35.775Z"}}