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.
- package/bundled-skills/.antigravity-install-manifest.json +39 -1
- package/bundled-skills/api-integration-architect/SKILL.md +241 -0
- package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
- package/bundled-skills/apify-integration-development/SKILL.md +168 -0
- package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
- package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
- package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
- package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
- package/bundled-skills/architecture-review/README.md +42 -0
- package/bundled-skills/architecture-review/SKILL.md +77 -0
- package/bundled-skills/architecture-review/examples.md +11 -0
- package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
- package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
- package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
- package/bundled-skills/architecture-review/reference/graph.md +15 -0
- package/bundled-skills/architecture-review/reference/mcp.md +14 -0
- package/bundled-skills/architecture-review/reference/workflow.md +15 -0
- package/bundled-skills/architecture-review/templates/architecture-review.md +21 -0
- package/bundled-skills/code-review-sensei/SKILL.md +177 -0
- package/bundled-skills/codebase-onboarding/README.md +42 -0
- package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
- package/bundled-skills/codebase-onboarding/examples.md +11 -0
- package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
- package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
- package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
- package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
- package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
- package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
- package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
- package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
- package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -0
- package/bundled-skills/dependency-analysis/README.md +42 -0
- package/bundled-skills/dependency-analysis/SKILL.md +76 -0
- package/bundled-skills/dependency-analysis/examples.md +11 -0
- package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
- package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
- package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
- package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
- package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
- package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
- package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
- package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -0
- package/bundled-skills/eas-app-stores/SKILL.md +197 -0
- package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
- package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
- package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
- package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
- package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
- package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
- package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
- package/bundled-skills/eas-hosting/SKILL.md +448 -0
- package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
- package/bundled-skills/eas-observe/SKILL.md +75 -0
- package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
- package/bundled-skills/eas-observe/references/metrics.md +98 -0
- package/bundled-skills/eas-observe/references/queries.md +403 -0
- package/bundled-skills/eas-observe/references/setup.md +476 -0
- package/bundled-skills/eas-observe/references/third-party.md +136 -0
- package/bundled-skills/eas-simulator/SKILL.md +251 -0
- package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
- package/bundled-skills/eas-simulator/references/controllers.md +135 -0
- package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
- package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
- package/bundled-skills/eas-workflows/SKILL.md +119 -0
- package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
- package/bundled-skills/eas-workflows/scripts/fetch.js +109 -0
- package/bundled-skills/expo-animation/LICENSE +21 -0
- package/bundled-skills/expo-animation/RECIPES.md +385 -0
- package/bundled-skills/expo-animation/SKILL.md +295 -0
- package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
- package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
- package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
- package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
- package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
- package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
- package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
- package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
- package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
- package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
- package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
- package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
- package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -0
- package/bundled-skills/gpt-taste/SKILL.md +8 -1
- package/bundled-skills/hf-cli/SKILL.md +263 -0
- package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
- package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
- package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
- package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
- package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
- package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
- package/bundled-skills/huggingface-datasets/SKILL.md +130 -0
- package/bundled-skills/jev-social/SKILL.md +182 -0
- package/bundled-skills/longbridge-derivatives/SKILL.md +117 -0
- package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
- package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
- package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
- package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
- package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
- package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
- package/bundled-skills/longbridge-quant/SKILL.md +151 -0
- package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
- package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
- package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
- package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
- package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
- package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
- package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
- package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
- package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
- package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
- package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
- package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
- package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
- package/bundled-skills/longbridge-research/SKILL.md +187 -0
- package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
- package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
- package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
- package/bundled-skills/longbridge-research/references/consensus.md +92 -0
- package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
- package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
- package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
- package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
- package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
- package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
- package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
- package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
- package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
- package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
- package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
- package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
- package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
- package/bundled-skills/longbridge-research/references/investors.md +87 -0
- package/bundled-skills/longbridge-research/references/onchain.md +70 -0
- package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
- package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
- package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
- package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
- package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
- package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
- package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
- package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
- package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
- package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
- package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
- package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
- package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
- package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
- package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
- package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
- package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
- package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
- package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
- package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
- package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -0
- package/bundled-skills/meeting-distiller-pro/SKILL.md +120 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +12 -1
- package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
- package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
- package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -0
- package/bundled-skills/remotion-captions/SKILL.md +57 -0
- package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-captions/display-captions.md +190 -0
- package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
- package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
- package/bundled-skills/remotion-create/SKILL.md +106 -0
- package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-create/tailwind.md +11 -0
- package/bundled-skills/remotion-create/video-layout.md +9 -0
- package/bundled-skills/remotion-docs/SKILL.md +67 -0
- package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
- package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-render/SKILL.md +48 -0
- package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-render/transparent-videos.md +106 -0
- package/bundled-skills/saas-pricing-strategist/SKILL.md +169 -0
- package/bundled-skills/score-eval/SKILL.md +35 -0
- package/bundled-skills/writing-guidelines/SKILL.md +60 -0
- package/package.json +1 -1
- package/skills_index.json +980 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-09-
|
|
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.
|