@su-record/vibe 2.9.4 → 2.9.5
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/.env.example +37 -37
- package/CLAUDE.md +190 -190
- package/LICENSE +21 -21
- package/README.ko.md +170 -170
- package/README.md +219 -219
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/event/event-comms.md +78 -78
- package/agents/event/event-content.md +68 -68
- package/agents/event/event-image.md +95 -95
- package/agents/event/event-ops.md +84 -84
- package/agents/event/event-scheduler.md +69 -69
- package/agents/event/event-speaker.md +86 -86
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/qa/qa-coordinator.md +131 -131
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/teams/debug-team.md +70 -70
- package/agents/teams/dev-team.md +88 -88
- package/agents/teams/docs-team.md +80 -80
- package/agents/teams/figma/figma-analyst.md +52 -52
- package/agents/teams/figma/figma-architect.md +112 -112
- package/agents/teams/figma/figma-auditor.md +82 -82
- package/agents/teams/figma/figma-builder.md +100 -100
- package/agents/teams/figma-team.md +85 -85
- package/agents/teams/fullstack-team.md +83 -83
- package/agents/teams/lite-team.md +69 -69
- package/agents/teams/migration-team.md +78 -78
- package/agents/teams/refactor-team.md +94 -94
- package/agents/teams/research-team.md +86 -86
- package/agents/teams/review-debate-team.md +125 -125
- package/agents/teams/security-team.md +81 -81
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +102 -102
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +533 -533
- package/commands/vibe.docs.md +32 -32
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +584 -584
- package/commands/vibe.harness.md +177 -177
- package/commands/vibe.review.md +624 -624
- package/commands/vibe.run.md +1925 -1925
- package/commands/vibe.scaffold.md +195 -195
- package/commands/vibe.spec.md +565 -565
- package/commands/vibe.trace.md +276 -276
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +519 -519
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/codex-proxy.d.ts +10 -0
- package/dist/cli/commands/codex-proxy.d.ts.map +1 -0
- package/dist/cli/commands/codex-proxy.js +221 -0
- package/dist/cli/commands/codex-proxy.js.map +1 -0
- package/dist/cli/commands/config.js +9 -9
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/figma.js +20 -20
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +50 -53
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/stats.js +6 -6
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +67 -53
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +17 -13
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/fs-utils.d.ts +6 -0
- package/dist/cli/postinstall/fs-utils.d.ts.map +1 -1
- package/dist/cli/postinstall/fs-utils.js +15 -0
- package/dist/cli/postinstall/fs-utils.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +8 -8
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/cli/types.d.ts +8 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/OrchestrateWorkflow.js +1 -1
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/codex-proxy.d.ts +21 -0
- package/dist/infra/lib/codex-proxy.d.ts.map +1 -0
- package/dist/infra/lib/codex-proxy.js +510 -0
- package/dist/infra/lib/codex-proxy.js.map +1 -0
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/ParityTester.js +57 -57
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +4 -4
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +174 -174
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -286
- package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -210
- package/hooks/scripts/auto-commit.js +97 -97
- package/hooks/scripts/auto-format.js +64 -64
- package/hooks/scripts/auto-test.js +81 -81
- package/hooks/scripts/code-check.js +268 -268
- package/hooks/scripts/codex-detect.js +46 -46
- package/hooks/scripts/codex-review-gate.js +80 -80
- package/hooks/scripts/command-log.js +32 -32
- package/hooks/scripts/context-save.js +353 -353
- package/hooks/scripts/evolution-engine.js +91 -91
- package/hooks/scripts/figma-extract.js +635 -635
- package/hooks/scripts/figma-guard.js +220 -220
- package/hooks/scripts/figma-refine.js +315 -315
- package/hooks/scripts/figma-to-scss.js +394 -394
- package/hooks/scripts/figma-validate.js +353 -353
- package/hooks/scripts/hud-status.js +321 -321
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +572 -572
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-guard.js +214 -214
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +131 -131
- package/hooks/scripts/session-start.js +177 -177
- package/hooks/scripts/skill-injector.js +83 -83
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +243 -243
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +101 -101
- package/skills/agents-md/SKILL.md +121 -121
- package/skills/agents-md/rubrics/what-to-keep.md +49 -49
- package/skills/agents-md/templates/agents-md.md +36 -36
- package/skills/arch-guard/SKILL.md +181 -181
- package/skills/arch-guard/agents/detector.md +48 -48
- package/skills/arch-guard/agents/reporter.md +48 -48
- package/skills/arch-guard/agents/rule-generator.md +49 -49
- package/skills/arch-guard/agents/violation-checker.md +51 -51
- package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
- package/skills/arch-guard/frameworks/solid.md +102 -102
- package/skills/arch-guard/scripts/check-boundaries.js +90 -90
- package/skills/arch-guard/templates/arch-rules.json +47 -47
- package/skills/arch-guard/templates/violation-report.md +53 -53
- package/skills/brand-assets/SKILL.md +147 -147
- package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
- package/skills/brand-assets/templates/brand-guide.md +161 -161
- package/skills/capability-loop/SKILL.md +272 -272
- package/skills/capability-loop/agents/capability-designer.md +61 -61
- package/skills/capability-loop/agents/failure-analyst.md +55 -55
- package/skills/capability-loop/agents/implementer.md +50 -50
- package/skills/capability-loop/agents/tester.md +53 -53
- package/skills/capability-loop/templates/capability-spec.md +118 -118
- package/skills/capability-loop/templates/failure-analysis.md +118 -118
- package/skills/characterization-test/SKILL.md +207 -207
- package/skills/characterization-test/agents/behavior-capturer.md +50 -50
- package/skills/characterization-test/agents/coverage-checker.md +54 -54
- package/skills/characterization-test/agents/reporter.md +50 -50
- package/skills/characterization-test/agents/test-writer.md +49 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
- package/skills/characterization-test/templates/test-template.ts +101 -101
- package/skills/chub-usage/SKILL.md +139 -139
- package/skills/claude-md-guide/SKILL.md +351 -351
- package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
- package/skills/claude-md-guide/templates/claude-md.md +54 -54
- package/skills/commerce-patterns/SKILL.md +64 -64
- package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
- package/skills/commerce-patterns/templates/product-schema.md +85 -85
- package/skills/commit-push-pr/SKILL.md +77 -77
- package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
- package/skills/commit-push-pr/agents/message-writer.md +50 -50
- package/skills/commit-push-pr/agents/pr-writer.md +58 -58
- package/skills/commit-push-pr/agents/reviewer.md +52 -52
- package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
- package/skills/commit-push-pr/templates/pr-body.md +63 -63
- package/skills/context7-usage/SKILL.md +106 -106
- package/skills/context7-usage/rubrics/when-to-use.md +50 -50
- package/skills/create-prd/SKILL.md +90 -90
- package/skills/create-prd/agents/edge-case-finder.md +48 -48
- package/skills/create-prd/agents/prioritizer.md +60 -60
- package/skills/create-prd/agents/requirements-writer.md +48 -48
- package/skills/create-prd/agents/researcher.md +55 -55
- package/skills/create-prd/agents/reviewer.md +54 -54
- package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
- package/skills/create-prd/frameworks/rice-scoring.md +97 -97
- package/skills/create-prd/orchestrator.md +70 -70
- package/skills/create-prd/rubrics/completeness.md +58 -58
- package/skills/create-prd/templates/prd.md +139 -139
- package/skills/design-audit/SKILL.md +152 -152
- package/skills/design-audit/agents/a11y-auditor.md +43 -43
- package/skills/design-audit/agents/performance-auditor.md +46 -46
- package/skills/design-audit/agents/responsive-auditor.md +46 -46
- package/skills/design-audit/agents/scorer.md +47 -47
- package/skills/design-audit/agents/slop-detector.md +47 -47
- package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
- package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
- package/skills/design-audit/orchestrator.md +64 -64
- package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
- package/skills/design-audit/rubrics/scoring.md +63 -63
- package/skills/design-audit/templates/report.md +88 -88
- package/skills/design-critique/SKILL.md +139 -139
- package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
- package/skills/design-critique/templates/critique-report.md +86 -86
- package/skills/design-distill/SKILL.md +130 -130
- package/skills/design-distill/templates/design-system.md +132 -132
- package/skills/design-normalize/SKILL.md +133 -133
- package/skills/design-normalize/rubrics/token-naming.md +117 -117
- package/skills/design-normalize/templates/token-audit.md +89 -89
- package/skills/design-polish/SKILL.md +131 -131
- package/skills/design-polish/rubrics/polish-checklist.md +68 -68
- package/skills/design-polish/templates/polish-report.md +64 -64
- package/skills/design-teach/SKILL.md +182 -182
- package/skills/design-teach/rubrics/brand-personality.md +73 -73
- package/skills/design-teach/templates/design-context.json +36 -36
- package/skills/devlog/SKILL.md +143 -143
- package/skills/e2e-commerce/SKILL.md +62 -62
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
- package/skills/event-comms/SKILL.md +172 -172
- package/skills/event-comms/templates/email-invite.md +99 -99
- package/skills/event-comms/templates/sns-post.md +133 -133
- package/skills/event-ops/SKILL.md +207 -207
- package/skills/event-ops/rubrics/contingency.md +85 -85
- package/skills/event-ops/templates/d-day-checklist.md +65 -65
- package/skills/event-planning/SKILL.md +144 -144
- package/skills/event-planning/rubrics/timeline.md +70 -70
- package/skills/event-planning/templates/event-plan.md +91 -91
- package/skills/exec-plan/SKILL.md +149 -149
- package/skills/exec-plan/agents/decomposer.md +47 -47
- package/skills/exec-plan/agents/dependency-mapper.md +44 -44
- package/skills/exec-plan/agents/estimator.md +43 -43
- package/skills/exec-plan/agents/validator.md +55 -55
- package/skills/exec-plan/orchestrator.md +70 -70
- package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
- package/skills/exec-plan/templates/plan.md +147 -147
- package/skills/git-worktree/SKILL.md +73 -73
- package/skills/git-worktree/rubrics/when-to-use.md +55 -55
- package/skills/handoff/SKILL.md +110 -110
- package/skills/handoff/agents/context-summarizer.md +51 -51
- package/skills/handoff/agents/document-writer.md +63 -63
- package/skills/handoff/agents/state-collector.md +53 -53
- package/skills/handoff/agents/verifier.md +48 -48
- package/skills/handoff/rubrics/completeness.md +62 -62
- package/skills/handoff/templates/handoff.md +107 -107
- package/skills/parallel-research/SKILL.md +89 -89
- package/skills/parallel-research/agents/best-practices.md +43 -43
- package/skills/parallel-research/agents/codebase-patterns.md +46 -46
- package/skills/parallel-research/agents/framework-docs.md +45 -45
- package/skills/parallel-research/agents/security-advisory.md +46 -46
- package/skills/parallel-research/agents/synthesizer.md +52 -52
- package/skills/parallel-research/experts/best-practices.md +50 -50
- package/skills/parallel-research/experts/codebase-patterns.md +70 -70
- package/skills/parallel-research/experts/framework-docs.md +65 -65
- package/skills/parallel-research/experts/security-advisory.md +69 -69
- package/skills/parallel-research/orchestrator.md +65 -65
- package/skills/parallel-research/templates/synthesis.md +101 -101
- package/skills/prioritization-frameworks/SKILL.md +87 -87
- package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
- package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
- package/skills/priority-todos/SKILL.md +64 -64
- package/skills/priority-todos/rubrics/prioritization.md +70 -70
- package/skills/priority-todos/templates/todo-board.md +59 -59
- package/skills/seo-checklist/SKILL.md +58 -58
- package/skills/seo-checklist/frameworks/structured-data.md +153 -153
- package/skills/seo-checklist/rubrics/content-seo.md +42 -42
- package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
- package/skills/techdebt/SKILL.md +124 -124
- package/skills/techdebt/agents/analyzer.md +50 -50
- package/skills/techdebt/agents/fixer.md +41 -41
- package/skills/techdebt/agents/reviewer.md +47 -47
- package/skills/techdebt/agents/scanner.md +44 -44
- package/skills/techdebt/orchestrator.md +70 -70
- package/skills/techdebt/rubrics/severity.md +51 -51
- package/skills/techdebt/scripts/scan.js +90 -90
- package/skills/techdebt/templates/report.md +86 -86
- package/skills/tool-fallback/SKILL.md +104 -104
- package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
- package/skills/typescript-advanced-types/SKILL.md +67 -67
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
- package/skills/ui-ux-pro-max/SKILL.md +236 -236
- package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
- package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
- package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
- package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
- package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
- package/skills/ui-ux-pro-max/reference/typography.md +455 -455
- package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
- package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
- package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
- package/skills/user-personas/SKILL.md +75 -75
- package/skills/user-personas/rubrics/research-methods.md +56 -56
- package/skills/user-personas/templates/persona.md +89 -89
- package/skills/vercel-react-best-practices/SKILL.md +60 -60
- package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
- package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
- package/skills/{vibe.docs → vibe-docs}/SKILL.md +171 -171
- package/skills/{vibe.docs → vibe-docs}/templates/architecture.md +80 -80
- package/skills/{vibe.docs → vibe-docs}/templates/readme.md +84 -84
- package/skills/{vibe.docs → vibe-docs}/templates/release-notes.md +74 -74
- package/skills/{vibe.figma → vibe-figma}/SKILL.md +363 -363
- package/skills/{vibe.figma → vibe-figma}/rubrics/extraction-checklist.md +51 -51
- package/skills/{vibe.figma → vibe-figma}/templates/component-index.md +126 -126
- package/skills/{vibe.figma → vibe-figma}/templates/component-spec.md +168 -168
- package/skills/{vibe.figma → vibe-figma}/templates/figma-handoff.md +100 -100
- package/skills/{vibe.figma → vibe-figma}/templates/remapped-tree.md +277 -277
- package/skills/{vibe.figma.convert → vibe-figma-convert}/SKILL.md +235 -235
- package/skills/{vibe.figma.convert → vibe-figma-convert}/rubrics/conversion-rules.md +141 -141
- package/skills/{vibe.figma.convert → vibe-figma-convert}/templates/component.md +140 -140
- package/skills/{vibe.figma.extract → vibe-figma-extract}/SKILL.md +219 -219
- package/skills/{vibe.figma.extract → vibe-figma-extract}/rubrics/image-rules.md +157 -157
- package/skills/{vibe.interview → vibe-interview}/SKILL.md +358 -358
- package/skills/{vibe.interview → vibe-interview}/checklists/api.md +101 -101
- package/skills/{vibe.interview → vibe-interview}/checklists/feature.md +88 -88
- package/skills/{vibe.interview → vibe-interview}/checklists/library.md +95 -95
- package/skills/{vibe.interview → vibe-interview}/checklists/mobile.md +89 -89
- package/skills/{vibe.interview → vibe-interview}/checklists/webapp.md +97 -97
- package/skills/{vibe.interview → vibe-interview}/checklists/website.md +99 -99
- package/skills/{vibe.plan → vibe-plan}/SKILL.md +254 -254
- package/skills/{vibe.spec → vibe-spec}/SKILL.md +1155 -1155
- package/skills/{vibe.spec.review → vibe-spec-review}/SKILL.md +726 -726
- package/skills/video-production/SKILL.md +52 -52
- package/skills/video-production/rubrics/quality-checklist.md +58 -58
- package/skills/video-production/templates/production-plan.md +104 -104
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/claudemd-template.md +74 -74
- package/vibe/templates/constitution-template.md +267 -267
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/plan-template.md +194 -194
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Characterization test template — lock existing behavior before refactoring.
|
|
3
|
-
*
|
|
4
|
-
* Instructions:
|
|
5
|
-
* 1. Replace {{MODULE_NAME}} with the module under test.
|
|
6
|
-
* 2. Replace {{IMPORT_PATH}} with the relative import path.
|
|
7
|
-
* 3. Replace {{FUNCTION_NAME}} with each public export to characterize.
|
|
8
|
-
* 4. Run once to generate snapshots: npx vitest run --update {{TEST_FILE}}
|
|
9
|
-
* 5. Verify all tests pass BEFORE making any changes to the source.
|
|
10
|
-
*
|
|
11
|
-
* IMPORTANT: Capture ACTUAL behavior, not expected/ideal behavior.
|
|
12
|
-
* If the current code has a bug, capture the buggy output — fix it separately.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
16
|
-
// import { {{FUNCTION_NAME}} } from '{{IMPORT_PATH}}';
|
|
17
|
-
|
|
18
|
-
describe('{{MODULE_NAME}} — characterization tests', () => {
|
|
19
|
-
beforeEach(() => {
|
|
20
|
-
vi.clearAllMocks();
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// -------------------------------------------------------------------------
|
|
24
|
-
// Happy path — normal inputs
|
|
25
|
-
// -------------------------------------------------------------------------
|
|
26
|
-
|
|
27
|
-
it('should handle typical input', () => {
|
|
28
|
-
// const result = {{FUNCTION_NAME}}({{TYPICAL_INPUT}});
|
|
29
|
-
// expect(result).toMatchSnapshot();
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('should handle minimum valid input', () => {
|
|
33
|
-
// const result = {{FUNCTION_NAME}}({{MIN_INPUT}});
|
|
34
|
-
// expect(result).toMatchSnapshot();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('should handle maximum valid input', () => {
|
|
38
|
-
// const result = {{FUNCTION_NAME}}({{MAX_INPUT}});
|
|
39
|
-
// expect(result).toMatchSnapshot();
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// -------------------------------------------------------------------------
|
|
43
|
-
// Edge cases — boundary values
|
|
44
|
-
// -------------------------------------------------------------------------
|
|
45
|
-
|
|
46
|
-
it('should handle empty string input', () => {
|
|
47
|
-
// const result = {{FUNCTION_NAME}}('');
|
|
48
|
-
// expect(result).toMatchSnapshot();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it('should handle empty array input', () => {
|
|
52
|
-
// const result = {{FUNCTION_NAME}}([]);
|
|
53
|
-
// expect(result).toMatchSnapshot();
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it('should handle zero / false / null-like values', () => {
|
|
57
|
-
// const result = {{FUNCTION_NAME}}(0);
|
|
58
|
-
// expect(result).toMatchSnapshot();
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
// -------------------------------------------------------------------------
|
|
62
|
-
// Error paths — failure modes
|
|
63
|
-
// -------------------------------------------------------------------------
|
|
64
|
-
|
|
65
|
-
it('should handle null input', () => {
|
|
66
|
-
// expect(() => {{FUNCTION_NAME}}(null)).toThrowErrorMatchingSnapshot();
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
it('should handle undefined input', () => {
|
|
70
|
-
// expect(() => {{FUNCTION_NAME}}(undefined)).toThrowErrorMatchingSnapshot();
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
it('should handle invalid type input', () => {
|
|
74
|
-
// expect(() => {{FUNCTION_NAME}}({{INVALID_INPUT}})).toThrowErrorMatchingSnapshot();
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// -------------------------------------------------------------------------
|
|
78
|
-
// Side effects — external interactions
|
|
79
|
-
// -------------------------------------------------------------------------
|
|
80
|
-
|
|
81
|
-
it('should call external dependency with correct arguments', () => {
|
|
82
|
-
// const spy = vi.spyOn({{DEPENDENCY}}, '{{METHOD}}');
|
|
83
|
-
// {{FUNCTION_NAME}}({{TYPICAL_INPUT}});
|
|
84
|
-
// expect(spy).toHaveBeenCalledWith({{EXPECTED_ARGS}});
|
|
85
|
-
// expect(spy).toHaveBeenCalledTimes(1);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
// -------------------------------------------------------------------------
|
|
89
|
-
// Branching paths — one test per major branch
|
|
90
|
-
// -------------------------------------------------------------------------
|
|
91
|
-
|
|
92
|
-
it('should take branch A when condition is true', () => {
|
|
93
|
-
// const result = {{FUNCTION_NAME}}({{BRANCH_A_INPUT}});
|
|
94
|
-
// expect(result).toMatchSnapshot();
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it('should take branch B when condition is false', () => {
|
|
98
|
-
// const result = {{FUNCTION_NAME}}({{BRANCH_B_INPUT}});
|
|
99
|
-
// expect(result).toMatchSnapshot();
|
|
100
|
-
});
|
|
101
|
-
});
|
|
1
|
+
/**
|
|
2
|
+
* Characterization test template — lock existing behavior before refactoring.
|
|
3
|
+
*
|
|
4
|
+
* Instructions:
|
|
5
|
+
* 1. Replace {{MODULE_NAME}} with the module under test.
|
|
6
|
+
* 2. Replace {{IMPORT_PATH}} with the relative import path.
|
|
7
|
+
* 3. Replace {{FUNCTION_NAME}} with each public export to characterize.
|
|
8
|
+
* 4. Run once to generate snapshots: npx vitest run --update {{TEST_FILE}}
|
|
9
|
+
* 5. Verify all tests pass BEFORE making any changes to the source.
|
|
10
|
+
*
|
|
11
|
+
* IMPORTANT: Capture ACTUAL behavior, not expected/ideal behavior.
|
|
12
|
+
* If the current code has a bug, capture the buggy output — fix it separately.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
16
|
+
// import { {{FUNCTION_NAME}} } from '{{IMPORT_PATH}}';
|
|
17
|
+
|
|
18
|
+
describe('{{MODULE_NAME}} — characterization tests', () => {
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
vi.clearAllMocks();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// -------------------------------------------------------------------------
|
|
24
|
+
// Happy path — normal inputs
|
|
25
|
+
// -------------------------------------------------------------------------
|
|
26
|
+
|
|
27
|
+
it('should handle typical input', () => {
|
|
28
|
+
// const result = {{FUNCTION_NAME}}({{TYPICAL_INPUT}});
|
|
29
|
+
// expect(result).toMatchSnapshot();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('should handle minimum valid input', () => {
|
|
33
|
+
// const result = {{FUNCTION_NAME}}({{MIN_INPUT}});
|
|
34
|
+
// expect(result).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should handle maximum valid input', () => {
|
|
38
|
+
// const result = {{FUNCTION_NAME}}({{MAX_INPUT}});
|
|
39
|
+
// expect(result).toMatchSnapshot();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// -------------------------------------------------------------------------
|
|
43
|
+
// Edge cases — boundary values
|
|
44
|
+
// -------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
it('should handle empty string input', () => {
|
|
47
|
+
// const result = {{FUNCTION_NAME}}('');
|
|
48
|
+
// expect(result).toMatchSnapshot();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('should handle empty array input', () => {
|
|
52
|
+
// const result = {{FUNCTION_NAME}}([]);
|
|
53
|
+
// expect(result).toMatchSnapshot();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('should handle zero / false / null-like values', () => {
|
|
57
|
+
// const result = {{FUNCTION_NAME}}(0);
|
|
58
|
+
// expect(result).toMatchSnapshot();
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// -------------------------------------------------------------------------
|
|
62
|
+
// Error paths — failure modes
|
|
63
|
+
// -------------------------------------------------------------------------
|
|
64
|
+
|
|
65
|
+
it('should handle null input', () => {
|
|
66
|
+
// expect(() => {{FUNCTION_NAME}}(null)).toThrowErrorMatchingSnapshot();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('should handle undefined input', () => {
|
|
70
|
+
// expect(() => {{FUNCTION_NAME}}(undefined)).toThrowErrorMatchingSnapshot();
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('should handle invalid type input', () => {
|
|
74
|
+
// expect(() => {{FUNCTION_NAME}}({{INVALID_INPUT}})).toThrowErrorMatchingSnapshot();
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// -------------------------------------------------------------------------
|
|
78
|
+
// Side effects — external interactions
|
|
79
|
+
// -------------------------------------------------------------------------
|
|
80
|
+
|
|
81
|
+
it('should call external dependency with correct arguments', () => {
|
|
82
|
+
// const spy = vi.spyOn({{DEPENDENCY}}, '{{METHOD}}');
|
|
83
|
+
// {{FUNCTION_NAME}}({{TYPICAL_INPUT}});
|
|
84
|
+
// expect(spy).toHaveBeenCalledWith({{EXPECTED_ARGS}});
|
|
85
|
+
// expect(spy).toHaveBeenCalledTimes(1);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
// -------------------------------------------------------------------------
|
|
89
|
+
// Branching paths — one test per major branch
|
|
90
|
+
// -------------------------------------------------------------------------
|
|
91
|
+
|
|
92
|
+
it('should take branch A when condition is true', () => {
|
|
93
|
+
// const result = {{FUNCTION_NAME}}({{BRANCH_A_INPUT}});
|
|
94
|
+
// expect(result).toMatchSnapshot();
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it('should take branch B when condition is false', () => {
|
|
98
|
+
// const result = {{FUNCTION_NAME}}({{BRANCH_B_INPUT}});
|
|
99
|
+
// expect(result).toMatchSnapshot();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: chub-usage
|
|
3
|
-
tier: optional
|
|
4
|
-
description: "Context Hub (chub) — fetch vetted, up-to-date API documentation. Write accurate code based on the latest docs instead of training data when working with external APIs/SDKs."
|
|
5
|
-
triggers: [chub, context hub, API docs, latest API, deprecated API, SDK documentation, api reference, 최신 문서]
|
|
6
|
-
priority: 65
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Context Hub (chub) Usage
|
|
10
|
-
|
|
11
|
-
A skill for fetching vetted, up-to-date documentation before writing external API/SDK code.
|
|
12
|
-
Solves the knowledge cutoff problem inherent in training data.
|
|
13
|
-
|
|
14
|
-
## Why?
|
|
15
|
-
|
|
16
|
-
| Problem | Solution |
|
|
17
|
-
|---------|----------|
|
|
18
|
-
| Relying on training data → using deprecated APIs | chub get → code based on vetted latest docs |
|
|
19
|
-
| Web search → noisy results | chub search → curated docs only |
|
|
20
|
-
| Repeating the same mistakes every session | chub annotate → accumulated learnings |
|
|
21
|
-
|
|
22
|
-
## When to Use
|
|
23
|
-
|
|
24
|
-
| Situation | Example |
|
|
25
|
-
|-----------|---------|
|
|
26
|
-
| Writing external API code | "Integrate Stripe payments" |
|
|
27
|
-
| Checking latest SDK version | "Call the latest OpenAI model" |
|
|
28
|
-
| Need official documentation | "Set up Supabase auth" |
|
|
29
|
-
| Preventing deprecated patterns | "Firebase v10 migration" |
|
|
30
|
-
|
|
31
|
-
## Workflow
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
Request to write external API/SDK code
|
|
35
|
-
↓
|
|
36
|
-
Step 0: Check if chub is installed (auto-install if not)
|
|
37
|
-
↓
|
|
38
|
-
Step 1: chub search "<library name>"
|
|
39
|
-
↓
|
|
40
|
-
Step 2: chub get <id> --lang ts
|
|
41
|
-
↓
|
|
42
|
-
Step 3: Write code based on the docs
|
|
43
|
-
↓
|
|
44
|
-
Step 4: chub annotate when a gotcha is discovered
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Step 0 — Auto-install
|
|
48
|
-
|
|
49
|
-
**Always perform this step before running the skill.**
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# 1. Check if chub exists
|
|
53
|
-
which chub || command -v chub
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
If chub is not found, attempt automatic installation:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
npm install -g @aisuite/chub
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
If installation fails, fall back to running via `npx @aisuite/chub`:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
# search example
|
|
66
|
-
npx @aisuite/chub search "stripe"
|
|
67
|
-
# get example
|
|
68
|
-
npx @aisuite/chub get stripe/api --lang ts
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
If `npx` also fails, fall back to context7 or Web Search (see Fallback Chain).
|
|
72
|
-
|
|
73
|
-
## Usage
|
|
74
|
-
|
|
75
|
-
### Step 1 — Search for docs
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
chub search "stripe"
|
|
79
|
-
chub search "openai"
|
|
80
|
-
chub search "" # View full list
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Step 2 — Fetch latest docs
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
chub get stripe/api --lang ts
|
|
87
|
-
chub get openai/chat --lang py
|
|
88
|
-
chub get supabase/auth --lang js
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Step 3 — Write code based on the docs
|
|
92
|
-
|
|
93
|
-
Write accurate code based on the fetched documentation.
|
|
94
|
-
**Never rely on training data. Docs first, code second.**
|
|
95
|
-
|
|
96
|
-
### Step 4 — Record learnings
|
|
97
|
-
|
|
98
|
-
Gotchas, workarounds, and version issues discovered during work:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
chub annotate stripe/api "pg parameter is required for Korean payments"
|
|
102
|
-
chub annotate openai/chat "tool_calls in streaming comes as delta"
|
|
103
|
-
chub annotate firebase/auth "getAuth() import path changed in v10"
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Annotations are stored locally and automatically included the next time you run `chub get`.
|
|
107
|
-
|
|
108
|
-
## Implementation Pattern (Subagent)
|
|
109
|
-
|
|
110
|
-
Run via subagent to prevent context bloat:
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
Task tool call:
|
|
114
|
-
- subagent_type: Explore
|
|
115
|
-
- model: haiku
|
|
116
|
-
- prompt: "Run `chub search <library>` then `chub get <id> --lang <lang>` to fetch latest API documentation for [topic]. Return only the relevant API usage examples, key changes from previous versions, and any annotations."
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
The subagent handles the chub calls and returns only a summary — keeping the main context clean.
|
|
120
|
-
|
|
121
|
-
## Supported APIs (1,000+)
|
|
122
|
-
|
|
123
|
-
OpenAI, Anthropic, Stripe, Firebase, Supabase, Vercel, AWS S3, Cloudflare Workers, Auth0, Clerk, and more.
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
chub search # Run without arguments to view the full list
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Fallback Chain
|
|
130
|
-
|
|
131
|
-
```
|
|
132
|
-
which chub fails
|
|
133
|
-
↓
|
|
134
|
-
npm install -g @aisuite/chub (auto attempt)
|
|
135
|
-
↓
|
|
136
|
-
On failure: npx @aisuite/chub <command> (temporary execution)
|
|
137
|
-
↓
|
|
138
|
-
If npx also fails: context7 or Web Search fallback
|
|
139
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: chub-usage
|
|
3
|
+
tier: optional
|
|
4
|
+
description: "Context Hub (chub) — fetch vetted, up-to-date API documentation. Write accurate code based on the latest docs instead of training data when working with external APIs/SDKs."
|
|
5
|
+
triggers: [chub, context hub, API docs, latest API, deprecated API, SDK documentation, api reference, 최신 문서]
|
|
6
|
+
priority: 65
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Context Hub (chub) Usage
|
|
10
|
+
|
|
11
|
+
A skill for fetching vetted, up-to-date documentation before writing external API/SDK code.
|
|
12
|
+
Solves the knowledge cutoff problem inherent in training data.
|
|
13
|
+
|
|
14
|
+
## Why?
|
|
15
|
+
|
|
16
|
+
| Problem | Solution |
|
|
17
|
+
|---------|----------|
|
|
18
|
+
| Relying on training data → using deprecated APIs | chub get → code based on vetted latest docs |
|
|
19
|
+
| Web search → noisy results | chub search → curated docs only |
|
|
20
|
+
| Repeating the same mistakes every session | chub annotate → accumulated learnings |
|
|
21
|
+
|
|
22
|
+
## When to Use
|
|
23
|
+
|
|
24
|
+
| Situation | Example |
|
|
25
|
+
|-----------|---------|
|
|
26
|
+
| Writing external API code | "Integrate Stripe payments" |
|
|
27
|
+
| Checking latest SDK version | "Call the latest OpenAI model" |
|
|
28
|
+
| Need official documentation | "Set up Supabase auth" |
|
|
29
|
+
| Preventing deprecated patterns | "Firebase v10 migration" |
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Request to write external API/SDK code
|
|
35
|
+
↓
|
|
36
|
+
Step 0: Check if chub is installed (auto-install if not)
|
|
37
|
+
↓
|
|
38
|
+
Step 1: chub search "<library name>"
|
|
39
|
+
↓
|
|
40
|
+
Step 2: chub get <id> --lang ts
|
|
41
|
+
↓
|
|
42
|
+
Step 3: Write code based on the docs
|
|
43
|
+
↓
|
|
44
|
+
Step 4: chub annotate when a gotcha is discovered
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Step 0 — Auto-install
|
|
48
|
+
|
|
49
|
+
**Always perform this step before running the skill.**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Check if chub exists
|
|
53
|
+
which chub || command -v chub
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If chub is not found, attempt automatic installation:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm install -g @aisuite/chub
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
If installation fails, fall back to running via `npx @aisuite/chub`:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# search example
|
|
66
|
+
npx @aisuite/chub search "stripe"
|
|
67
|
+
# get example
|
|
68
|
+
npx @aisuite/chub get stripe/api --lang ts
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
If `npx` also fails, fall back to context7 or Web Search (see Fallback Chain).
|
|
72
|
+
|
|
73
|
+
## Usage
|
|
74
|
+
|
|
75
|
+
### Step 1 — Search for docs
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
chub search "stripe"
|
|
79
|
+
chub search "openai"
|
|
80
|
+
chub search "" # View full list
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Step 2 — Fetch latest docs
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
chub get stripe/api --lang ts
|
|
87
|
+
chub get openai/chat --lang py
|
|
88
|
+
chub get supabase/auth --lang js
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Step 3 — Write code based on the docs
|
|
92
|
+
|
|
93
|
+
Write accurate code based on the fetched documentation.
|
|
94
|
+
**Never rely on training data. Docs first, code second.**
|
|
95
|
+
|
|
96
|
+
### Step 4 — Record learnings
|
|
97
|
+
|
|
98
|
+
Gotchas, workarounds, and version issues discovered during work:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
chub annotate stripe/api "pg parameter is required for Korean payments"
|
|
102
|
+
chub annotate openai/chat "tool_calls in streaming comes as delta"
|
|
103
|
+
chub annotate firebase/auth "getAuth() import path changed in v10"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Annotations are stored locally and automatically included the next time you run `chub get`.
|
|
107
|
+
|
|
108
|
+
## Implementation Pattern (Subagent)
|
|
109
|
+
|
|
110
|
+
Run via subagent to prevent context bloat:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Task tool call:
|
|
114
|
+
- subagent_type: Explore
|
|
115
|
+
- model: haiku
|
|
116
|
+
- prompt: "Run `chub search <library>` then `chub get <id> --lang <lang>` to fetch latest API documentation for [topic]. Return only the relevant API usage examples, key changes from previous versions, and any annotations."
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The subagent handles the chub calls and returns only a summary — keeping the main context clean.
|
|
120
|
+
|
|
121
|
+
## Supported APIs (1,000+)
|
|
122
|
+
|
|
123
|
+
OpenAI, Anthropic, Stripe, Firebase, Supabase, Vercel, AWS S3, Cloudflare Workers, Auth0, Clerk, and more.
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
chub search # Run without arguments to view the full list
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Fallback Chain
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
which chub fails
|
|
133
|
+
↓
|
|
134
|
+
npm install -g @aisuite/chub (auto attempt)
|
|
135
|
+
↓
|
|
136
|
+
On failure: npx @aisuite/chub <command> (temporary execution)
|
|
137
|
+
↓
|
|
138
|
+
If npx also fails: context7 or Web Search fallback
|
|
139
|
+
```
|