opencode-skills-collection 4.0.69 → 4.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +39 -1
  2. package/bundled-skills/api-integration-architect/SKILL.md +241 -0
  3. package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
  4. package/bundled-skills/apify-integration-development/SKILL.md +168 -0
  5. package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
  6. package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
  7. package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
  8. package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
  9. package/bundled-skills/architecture-review/README.md +42 -0
  10. package/bundled-skills/architecture-review/SKILL.md +77 -0
  11. package/bundled-skills/architecture-review/examples.md +11 -0
  12. package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
  13. package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
  14. package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
  15. package/bundled-skills/architecture-review/reference/graph.md +15 -0
  16. package/bundled-skills/architecture-review/reference/mcp.md +14 -0
  17. package/bundled-skills/architecture-review/reference/workflow.md +15 -0
  18. package/bundled-skills/architecture-review/templates/architecture-review.md +21 -0
  19. package/bundled-skills/code-review-sensei/SKILL.md +177 -0
  20. package/bundled-skills/codebase-onboarding/README.md +42 -0
  21. package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
  22. package/bundled-skills/codebase-onboarding/examples.md +11 -0
  23. package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
  24. package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
  25. package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
  26. package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
  27. package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
  28. package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
  29. package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
  30. package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
  31. package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -0
  32. package/bundled-skills/dependency-analysis/README.md +42 -0
  33. package/bundled-skills/dependency-analysis/SKILL.md +76 -0
  34. package/bundled-skills/dependency-analysis/examples.md +11 -0
  35. package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
  36. package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
  37. package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
  38. package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
  39. package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
  40. package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
  41. package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
  42. package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -0
  43. package/bundled-skills/eas-app-stores/SKILL.md +197 -0
  44. package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
  45. package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
  46. package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
  47. package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
  48. package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
  49. package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
  50. package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
  51. package/bundled-skills/eas-hosting/SKILL.md +448 -0
  52. package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
  53. package/bundled-skills/eas-observe/SKILL.md +75 -0
  54. package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
  55. package/bundled-skills/eas-observe/references/metrics.md +98 -0
  56. package/bundled-skills/eas-observe/references/queries.md +403 -0
  57. package/bundled-skills/eas-observe/references/setup.md +476 -0
  58. package/bundled-skills/eas-observe/references/third-party.md +136 -0
  59. package/bundled-skills/eas-simulator/SKILL.md +251 -0
  60. package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
  61. package/bundled-skills/eas-simulator/references/controllers.md +135 -0
  62. package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
  63. package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
  64. package/bundled-skills/eas-workflows/SKILL.md +119 -0
  65. package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
  66. package/bundled-skills/eas-workflows/scripts/fetch.js +109 -0
  67. package/bundled-skills/expo-animation/LICENSE +21 -0
  68. package/bundled-skills/expo-animation/RECIPES.md +385 -0
  69. package/bundled-skills/expo-animation/SKILL.md +295 -0
  70. package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
  71. package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
  72. package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
  73. package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
  74. package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
  75. package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
  76. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
  77. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
  78. package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
  79. package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
  80. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
  81. package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
  82. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -0
  83. package/bundled-skills/gpt-taste/SKILL.md +8 -1
  84. package/bundled-skills/hf-cli/SKILL.md +263 -0
  85. package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
  86. package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
  87. package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  88. package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  89. package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  90. package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  91. package/bundled-skills/huggingface-datasets/SKILL.md +130 -0
  92. package/bundled-skills/jev-social/SKILL.md +182 -0
  93. package/bundled-skills/longbridge-derivatives/SKILL.md +117 -0
  94. package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
  95. package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
  96. package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
  97. package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
  98. package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
  99. package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
  100. package/bundled-skills/longbridge-quant/SKILL.md +151 -0
  101. package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
  102. package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
  103. package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
  104. package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
  105. package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
  106. package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
  107. package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
  108. package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
  109. package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
  110. package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
  111. package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
  112. package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
  113. package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
  114. package/bundled-skills/longbridge-research/SKILL.md +187 -0
  115. package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
  116. package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
  117. package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
  118. package/bundled-skills/longbridge-research/references/consensus.md +92 -0
  119. package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
  120. package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
  121. package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
  122. package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
  123. package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
  124. package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
  125. package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
  126. package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
  127. package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
  128. package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
  129. package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
  130. package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
  131. package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
  132. package/bundled-skills/longbridge-research/references/investors.md +87 -0
  133. package/bundled-skills/longbridge-research/references/onchain.md +70 -0
  134. package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
  135. package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
  136. package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
  137. package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
  138. package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
  139. package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
  140. package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
  141. package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
  142. package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
  143. package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
  144. package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
  145. package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
  146. package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
  147. package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
  148. package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
  149. package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
  150. package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
  151. package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
  152. package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
  153. package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
  154. package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -0
  155. package/bundled-skills/meeting-distiller-pro/SKILL.md +120 -0
  156. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +12 -1
  157. package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
  158. package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
  159. package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -0
  160. package/bundled-skills/remotion-captions/SKILL.md +57 -0
  161. package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
  162. package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
  163. package/bundled-skills/remotion-captions/display-captions.md +190 -0
  164. package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
  165. package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
  166. package/bundled-skills/remotion-create/SKILL.md +106 -0
  167. package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
  168. package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
  169. package/bundled-skills/remotion-create/tailwind.md +11 -0
  170. package/bundled-skills/remotion-create/video-layout.md +9 -0
  171. package/bundled-skills/remotion-docs/SKILL.md +67 -0
  172. package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
  173. package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
  174. package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
  175. package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
  176. package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
  177. package/bundled-skills/remotion-render/SKILL.md +48 -0
  178. package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
  179. package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
  180. package/bundled-skills/remotion-render/transparent-videos.md +106 -0
  181. package/bundled-skills/saas-pricing-strategist/SKILL.md +169 -0
  182. package/bundled-skills/score-eval/SKILL.md +35 -0
  183. package/bundled-skills/writing-guidelines/SKILL.md +60 -0
  184. package/package.json +1 -1
  185. package/skills_index.json +980 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "updatedAt": "2026-09-21T02:04:10.279Z",
3
+ "updatedAt": "2026-09-22T02:10:07.364Z",
4
4
  "entries": [
5
5
  "00-andruia-consultant",
6
6
  "007",
@@ -140,6 +140,7 @@
140
140
  "api-endpoint-builder",
141
141
  "api-fuzzing-bug-bounty",
142
142
  "api-integration",
143
+ "api-integration-architect",
143
144
  "api-onboarding",
144
145
  "api-patterns",
145
146
  "api-rate-limit-handler",
@@ -155,7 +156,9 @@
155
156
  "apify-competitor-intelligence",
156
157
  "apify-content-analytics",
157
158
  "apify-ecommerce",
159
+ "apify-generate-output-schema",
158
160
  "apify-influencer-discovery",
161
+ "apify-integration-development",
159
162
  "apify-lead-generation",
160
163
  "apify-market-research",
161
164
  "apify-trend-analysis",
@@ -176,6 +179,7 @@
176
179
  "architecture",
177
180
  "architecture-decision-records",
178
181
  "architecture-patterns",
182
+ "architecture-review",
179
183
  "argocd-gitops",
180
184
  "arm-cortex-expert",
181
185
  "arm-templates",
@@ -532,6 +536,7 @@
532
536
  "code-review-and-quality",
533
537
  "code-review-checklist",
534
538
  "code-review-excellence",
539
+ "code-review-sensei",
535
540
  "code-reviewer",
536
541
  "code-showcase-core-components",
537
542
  "code-showcase-react-ui-patterns",
@@ -544,6 +549,7 @@
544
549
  "codebase-cleanup-refactor-clean",
545
550
  "codebase-cleanup-tech-debt",
546
551
  "codebase-design",
552
+ "codebase-onboarding",
547
553
  "codebase-to-wordpress-converter",
548
554
  "codex-delegate",
549
555
  "codex-fable5",
@@ -578,6 +584,7 @@
578
584
  "conductor-status",
579
585
  "conductor-validator",
580
586
  "confluence-automation",
587
+ "connection-auth-rules",
581
588
  "constant-time-analysis",
582
589
  "constraint-driven-development",
583
590
  "container-hardening",
@@ -693,6 +700,7 @@
693
700
  "defuddle",
694
701
  "delegate-setup",
695
702
  "delegating-to-agents",
703
+ "dependency-analysis",
696
704
  "dependency-management-deps-audit",
697
705
  "dependency-scanning",
698
706
  "dependency-upgrade",
@@ -776,6 +784,7 @@
776
784
  "developer-signup-flow",
777
785
  "development",
778
786
  "devops-deploy",
787
+ "devops-pipeline-builder",
779
788
  "devops-troubleshooter",
780
789
  "devrel-content",
781
790
  "diagnose-android-overheating",
@@ -829,7 +838,12 @@
829
838
  "e2e-testing",
830
839
  "e2e-testing-patterns",
831
840
  "earllm-build",
841
+ "eas-app-stores",
842
+ "eas-hosting",
843
+ "eas-observe",
844
+ "eas-simulator",
832
845
  "eas-update-insights",
846
+ "eas-workflows",
833
847
  "ebpf-observability",
834
848
  "ecl-harness-engineer",
835
849
  "edr-bypass-re",
@@ -875,6 +889,7 @@
875
889
  "examprep-ai",
876
890
  "executing-plans",
877
891
  "explain-like-socrates",
892
+ "expo-animation",
878
893
  "expo-api-routes",
879
894
  "expo-brownfield",
880
895
  "expo-cicd-workflows",
@@ -890,6 +905,7 @@
890
905
  "extract-document-data",
891
906
  "fable-safe-prompt",
892
907
  "fact-check-x-complete",
908
+ "fact-check-x-unified",
893
909
  "faf-context",
894
910
  "faf-expert",
895
911
  "faf-go",
@@ -1105,6 +1121,7 @@
1105
1121
  "helm-chart-scaffolding",
1106
1122
  "helm-charts",
1107
1123
  "helpdesk-automation",
1124
+ "hf-cli",
1108
1125
  "hf-cloud-aws-context-discovery",
1109
1126
  "hf-mcp",
1110
1127
  "hf-mem",
@@ -1146,6 +1163,8 @@
1146
1163
  "hugging-face-trackio",
1147
1164
  "hugging-face-vision-trainer",
1148
1165
  "huggingface-best",
1166
+ "huggingface-community-evals",
1167
+ "huggingface-datasets",
1149
1168
  "huggingface-local-models",
1150
1169
  "huggingface-lora-space-builder",
1151
1170
  "huggingface-spaces",
@@ -1280,6 +1299,7 @@
1280
1299
  "javascript-typescript-typescript-scaffold",
1281
1300
  "jenkins",
1282
1301
  "jest-skill",
1302
+ "jev-social",
1283
1303
  "jev-use",
1284
1304
  "jira-automation",
1285
1305
  "jobgpt",
@@ -1386,8 +1406,11 @@
1386
1406
  "loki-mode",
1387
1407
  "longbridge",
1388
1408
  "longbridge-content",
1409
+ "longbridge-derivatives",
1389
1410
  "longbridge-fundamentals",
1390
1411
  "longbridge-market-data",
1412
+ "longbridge-quant",
1413
+ "longbridge-research",
1391
1414
  "lookdev",
1392
1415
  "lookdev-auto",
1393
1416
  "loop-library",
@@ -1414,6 +1437,11 @@
1414
1437
  "mailtrap-testing-with-sandbox",
1415
1438
  "maintain-codex-wiki",
1416
1439
  "make-automation",
1440
+ "makepad-2-0-animation",
1441
+ "makepad-2-0-dsl",
1442
+ "makepad-2-0-events",
1443
+ "makepad-2-0-layout",
1444
+ "makepad-2-0-widgets",
1417
1445
  "makepad-animation",
1418
1446
  "makepad-basics",
1419
1447
  "makepad-deployment",
@@ -1459,6 +1487,7 @@
1459
1487
  "md2video-audio",
1460
1488
  "mdm-device-management",
1461
1489
  "mdpr-skill",
1490
+ "meeting-distiller-pro",
1462
1491
  "meme-coin-audit",
1463
1492
  "memory-forensics",
1464
1493
  "memory-safety-patterns",
@@ -1507,6 +1536,7 @@
1507
1536
  "monorepo-management",
1508
1537
  "monte-carlo-analyze-root-cause",
1509
1538
  "monte-carlo-asset-health",
1539
+ "monte-carlo-context-detection",
1510
1540
  "monte-carlo-monitor-creation",
1511
1541
  "monte-carlo-monitoring-advisor",
1512
1542
  "monte-carlo-performance-diagnosis",
@@ -1838,6 +1868,11 @@
1838
1868
  "remote-gpu-trainer",
1839
1869
  "remotion",
1840
1870
  "remotion-best-practices",
1871
+ "remotion-captions",
1872
+ "remotion-create",
1873
+ "remotion-docs",
1874
+ "remotion-interactivity",
1875
+ "remotion-render",
1841
1876
  "render-automation",
1842
1877
  "repo-maintainer",
1843
1878
  "report-writing",
@@ -1876,6 +1911,7 @@
1876
1911
  "rust-pro",
1877
1912
  "saas-multi-tenant",
1878
1913
  "saas-mvp-launcher",
1914
+ "saas-pricing-strategist",
1879
1915
  "saas-security-posture",
1880
1916
  "saga-orchestration",
1881
1917
  "sales-automator",
@@ -1897,6 +1933,7 @@
1897
1933
  "schema-markup-generator",
1898
1934
  "scientific-writing",
1899
1935
  "scikit-learn",
1936
+ "score-eval",
1900
1937
  "screen-adverse-media",
1901
1938
  "screen-reader-testing",
1902
1939
  "screenshots",
@@ -2375,6 +2412,7 @@
2375
2412
  "wp-site-health-auditor",
2376
2413
  "wrike-automation",
2377
2414
  "writing-great-skills",
2415
+ "writing-guidelines",
2378
2416
  "writing-plans",
2379
2417
  "writing-skills",
2380
2418
  "x-article-publisher-skill",
@@ -0,0 +1,241 @@
1
+ ---
2
+ name: api-integration-architect
3
+ version: 1.0.0
4
+ description: Design, implement, debug, and optimize API integrations with expert-level
5
+ patterns for REST, GraphQL, webhooks, and authentication flows.
6
+ author: yundu-ai
7
+ tags:
8
+ - api
9
+ - integration
10
+ - rest
11
+ - graphql
12
+ - webhooks
13
+ - authentication
14
+ - debugging
15
+ model: claude
16
+ source_repo: demo112/yunqu-ai-skills
17
+ source_type: community
18
+ source: community
19
+ date_added: '2026-09-21'
20
+ risk: unknown
21
+ ---
22
+ ## When to Use
23
+ - Use when this upstream workflow matches the user's stated goal.
24
+ - Use when the task requires the procedures documented in this skill.
25
+
26
+ # API Integration Architect
27
+
28
+ You are an API Integration Architect — a senior engineer specialized in designing, implementing, and debugging API integrations. You think in terms of contracts, error boundaries, retry strategies, and observability.
29
+
30
+ ## Core Principles
31
+
32
+ 1. **Contract-First**: Always understand the API contract (schema, auth, rate limits, pagination) before writing code.
33
+ 2. **Resilience by Default**: Every integration must handle failures gracefully with retries, timeouts, and fallbacks.
34
+ 3. **Observable**: Log structured data at every boundary. If something fails, the logs should tell the story.
35
+ 4. **Minimal Privilege**: Use the narrowest auth scope possible. Never store secrets in code.
36
+
37
+ ## When Activated
38
+
39
+ ### Task: Design an API Integration
40
+
41
+ 1. **Discovery Phase** (ask these FIRST before writing any code):
42
+ - What API? (Get the docs URL)
43
+ - What operations are needed? (CRUD? Search? Webhooks?)
44
+ - Authentication method? (API key, OAuth2, JWT, HMAC?)
45
+ - Rate limits? (Requests/sec, daily quota?)
46
+ - Data volume? (How many requests? How large are payloads?)
47
+ - Error handling requirements? (Retry? Fallback? Alert?)
48
+ - Environment? (Production, staging, dev?)
49
+
50
+ 2. **Architecture Output**:
51
+ ```
52
+ ## Integration Architecture: [API Name]
53
+
54
+ ### Authentication
55
+ - Method: [OAuth2 Client Credentials / API Key / ...]
56
+ - Token lifecycle: [refresh strategy]
57
+ - Secret storage: [env vars / vault / ...]
58
+
59
+ ### Data Flow
60
+ [ASCII diagram showing request/response flow]
61
+
62
+ ### Error Handling Strategy
63
+ - Retry: [exponential backoff, max attempts]
64
+ - Circuit breaker: [threshold, reset time]
65
+ - Fallback: [cached data / default / queue for retry]
66
+
67
+ ### Rate Limit Management
68
+ - Strategy: [token bucket / sliding window]
69
+ - Implementation: [details]
70
+
71
+ ### Observability
72
+ - Metrics: [request count, latency, error rate]
73
+ - Logging: [structured JSON, correlation IDs]
74
+ - Alerts: [conditions and channels]
75
+ ```
76
+
77
+ ### Task: Implement an API Client
78
+
79
+ Generate clean, production-ready code following these patterns:
80
+
81
+ ```python
82
+ # Standard API Client Template
83
+ import httpx
84
+ import asyncio
85
+ from datetime import datetime, timedelta
86
+ from typing import Optional, Any
87
+ import logging
88
+ import json
89
+
90
+ logger = logging.getLogger(__name__)
91
+
92
+ class APIClient:
93
+ """Production-ready API client with retry, auth, and observability."""
94
+
95
+ def __init__(
96
+ self,
97
+ base_url: str,
98
+ api_key: str,
99
+ timeout: float = 30.0,
100
+ max_retries: int = 3,
101
+ rate_limit_rps: float = 10.0,
102
+ ):
103
+ self.base_url = base_url.rstrip("/")
104
+ self.max_retries = max_retries
105
+ self._client = httpx.AsyncClient(
106
+ base_url=self.base_url,
107
+ headers={
108
+ "Authorization": f"Bearer {api_key}",
109
+ "Content-Type": "application/json",
110
+ "User-Agent": "APIClient/1.0",
111
+ },
112
+ timeout=httpx.Timeout(timeout, connect=5.0),
113
+ )
114
+ self._rate_limiter = asyncio.Semaphore(int(rate_limit_rps))
115
+
116
+ async def _request(
117
+ self,
118
+ method: str,
119
+ path: str,
120
+ *,
121
+ params: Optional[dict] = None,
122
+ json_data: Optional[dict] = None,
123
+ correlation_id: Optional[str] = None,
124
+ ) -> Any:
125
+ """Make a resilient API request with retry and logging."""
126
+ import uuid
127
+ cid = correlation_id or str(uuid.uuid4())[:8]
128
+
129
+ for attempt in range(self.max_retries):
130
+ async with self._rate_limiter:
131
+ try:
132
+ logger.info(
133
+ "api_request",
134
+ extra={
135
+ "correlation_id": cid,
136
+ "method": method,
137
+ "path": path,
138
+ "attempt": attempt + 1,
139
+ },
140
+ )
141
+
142
+ response = await self._client.request(
143
+ method, path, params=params, json=json_data
144
+ )
145
+ response.raise_for_status()
146
+
147
+ logger.info(
148
+ "api_success",
149
+ extra={
150
+ "correlation_id": cid,
151
+ "status_code": response.status_code,
152
+ },
153
+ )
154
+ return response.json()
155
+
156
+ except httpx.HTTPStatusError as e:
157
+ if e.response.status_code == 429:
158
+ retry_after = float(e.response.headers.get("Retry-After", 2 ** attempt))
159
+ logger.warning(f"rate_limited retry={retry_after}s", extra={"correlation_id": cid})
160
+ await asyncio.sleep(retry_after)
161
+ continue
162
+ if e.response.status_code >= 500 and attempt < self.max_retries - 1:
163
+ wait = 2 ** attempt
164
+ logger.warning(f"server_error retry in {wait}s", extra={"correlation_id": cid})
165
+ await asyncio.sleep(wait)
166
+ continue
167
+ logger.error(f"api_error {e.response.status_code}", extra={"correlation_id": cid})
168
+ raise
169
+ except httpx.TimeoutException:
170
+ if attempt < self.max_retries - 1:
171
+ wait = 2 ** attempt
172
+ logger.warning(f"timeout retry in {wait}s", extra={"correlation_id": cid})
173
+ await asyncio.sleep(wait)
174
+ continue
175
+ raise
176
+
177
+ raise RuntimeError(f"Failed after {self.max_retries} attempts: {method} {path}")
178
+
179
+ async def get(self, path: str, **kwargs) -> Any:
180
+ return await self._request("GET", path, **kwargs)
181
+
182
+ async def post(self, path: str, **kwargs) -> Any:
183
+ return await self._request("POST", path, **kwargs)
184
+
185
+ async def close(self):
186
+ await self._client.aclose()
187
+ ```
188
+
189
+ ### Task: Debug an API Integration
190
+
191
+ Systematic debugging checklist — run through in order:
192
+
193
+ 1. **Connectivity**: Can you reach the base URL? (`curl -v {base_url}/health`)
194
+ 2. **Authentication**: Is the token valid and not expired? Check scope/permissions.
195
+ 3. **Request Format**: Does the request body match the API schema exactly? Check required fields, types, and enums.
196
+ 4. **Headers**: Content-Type correct? Auth header format correct? Custom headers present?
197
+ 5. **Rate Limiting**: Are you hitting rate limits? Check `X-RateLimit-*` headers.
198
+ 6. **Response Parsing**: Is the response in the expected format? Check status code AND response body.
199
+ 7. **SSL/TLS**: Certificate issues? Try `verify=False` to test (never in production).
200
+ 8. **Encoding**: UTF-8 issues? Check for special characters in payloads.
201
+ 9. **Pagination**: Are you handling pagination correctly? Missing results = likely pagination bug.
202
+ 10. **Timeouts**: Is the server slow? Increase timeout or add pagination to reduce payload size.
203
+
204
+ When debugging, ALWAYS:
205
+ - Show the exact request being made (sanitized)
206
+ - Show the exact response received
207
+ - Identify the specific point of failure
208
+ - Propose a minimal fix, not a rewrite
209
+
210
+ ### Task: Optimize an API Integration
211
+
212
+ Check for these common anti-patterns:
213
+
214
+ | Anti-Pattern | Detection | Fix |
215
+ |---|---|---|
216
+ | N+1 requests | Loop with individual API calls | Batch API or parallel requests |
217
+ | No pagination | Missing `next_page` handling | Implement cursor/offset pagination |
218
+ | Synchronous retries | `while` loop with sleep | Async with exponential backoff |
219
+ | Missing connection pooling | New client per request | Singleton httpx client |
220
+ | No caching | Repeated identical requests | Cache with TTL |
221
+ | Oversized payloads | Requesting all fields | Use field selection (`?fields=id,name`) |
222
+
223
+ ## Output Standards
224
+
225
+ - **Code**: Always include type hints, docstrings, and error handling
226
+ - **Diagrams**: Use ASCII art for data flows
227
+ - **Security**: Never output API keys or tokens; use `<YOUR_API_KEY>` placeholders
228
+ - **Testing**: Include a basic test/example for every code block
229
+
230
+
231
+ ## Examples
232
+
233
+ ```text
234
+ User: Apply this skill to my current task.
235
+ Assistant: Follow the workflow in this skill, cite limitations, and ask before risky steps.
236
+ ```
237
+
238
+ ## Limitations
239
+
240
+ - Imported upstream skill; verify credentials, permissions, and safety boundaries before execution.
241
+ - Does not replace environment-specific validation, testing, or maintainer review.