@trieungoctam/vibekit 1.0.0
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/LICENSE +21 -0
- package/README.md +85 -0
- package/agents/debugger.md +158 -0
- package/agents/docs-manager.md +220 -0
- package/agents/planner.md +129 -0
- package/agents/researcher.md +58 -0
- package/agents/reviewer.md +152 -0
- package/agents/tester.md +126 -0
- package/bin/vibekit.js +18 -0
- package/hooks/lib/ck-config-utils.cjs +831 -0
- package/hooks/lib/colors.cjs +95 -0
- package/hooks/lib/config-counter.cjs +103 -0
- package/hooks/lib/context-builder.cjs +616 -0
- package/hooks/lib/git-info-cache.cjs +143 -0
- package/hooks/lib/hook-logger.cjs +92 -0
- package/hooks/lib/privacy-checker.cjs +297 -0
- package/hooks/lib/project-detector.cjs +474 -0
- package/hooks/lib/scout-checker.cjs +263 -0
- package/hooks/lib/transcript-parser.cjs +181 -0
- package/hooks/post-edit-simplify-reminder.cjs +156 -0
- package/hooks/privacy-block.cjs +166 -0
- package/hooks/scout-block.cjs +147 -0
- package/hooks/session-init.cjs +360 -0
- package/package.json +41 -0
- package/rules/development-rules.md +52 -0
- package/rules/documentation-management.md +121 -0
- package/rules/orchestration-protocol.md +43 -0
- package/rules/primary-workflow.md +57 -0
- package/rules/team-coordination-rules.md +90 -0
- package/skills/ai/agent-browser/SKILL.md +294 -0
- package/skills/ai/agent-browser/references/.gitkeep +0 -0
- package/skills/ai/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
- package/skills/ai/agent-browser/references/browserbase-cloud-setup.md +161 -0
- package/skills/ai/ai-artist/SKILL.md +122 -0
- package/skills/ai/ai-artist/data/awesome-prompts.csv +3592 -0
- package/skills/ai/ai-artist/data/lighting.csv +19 -0
- package/skills/ai/ai-artist/data/nano-banana-templates.csv +17 -0
- package/skills/ai/ai-artist/data/platforms.csv +11 -0
- package/skills/ai/ai-artist/data/styles.csv +26 -0
- package/skills/ai/ai-artist/data/techniques.csv +19 -0
- package/skills/ai/ai-artist/data/use-cases.csv +16 -0
- package/skills/ai/ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ai/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
- package/skills/ai/ai-artist/references/domain-code.md +66 -0
- package/skills/ai/ai-artist/references/domain-data.md +72 -0
- package/skills/ai/ai-artist/references/domain-marketing.md +66 -0
- package/skills/ai/ai-artist/references/domain-patterns.md +33 -0
- package/skills/ai/ai-artist/references/domain-writing.md +68 -0
- package/skills/ai/ai-artist/references/image-prompting.md +141 -0
- package/skills/ai/ai-artist/references/llm-prompting.md +165 -0
- package/skills/ai/ai-artist/references/nano-banana.md +136 -0
- package/skills/ai/ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ai/ai-artist/references/validation-workflow.md +117 -0
- package/skills/ai/ai-artist/scripts/core.py +197 -0
- package/skills/ai/ai-artist/scripts/extract_prompts.py +102 -0
- package/skills/ai/ai-artist/scripts/generate.py +370 -0
- package/skills/ai/ai-artist/scripts/search.py +147 -0
- package/skills/ai/ai-multimodal/.env.example +204 -0
- package/skills/ai/ai-multimodal/SKILL.md +110 -0
- package/skills/ai/ai-multimodal/references/audio-processing.md +387 -0
- package/skills/ai/ai-multimodal/references/image-generation.md +939 -0
- package/skills/ai/ai-multimodal/references/music-generation.md +311 -0
- package/skills/ai/ai-multimodal/references/video-analysis.md +515 -0
- package/skills/ai/ai-multimodal/references/video-generation.md +457 -0
- package/skills/ai/ai-multimodal/references/vision-understanding.md +492 -0
- package/skills/ai/ai-multimodal/scripts/.coverage +0 -0
- package/skills/ai/ai-multimodal/scripts/check_setup.py +315 -0
- package/skills/ai/ai-multimodal/scripts/document_converter.py +395 -0
- package/skills/ai/ai-multimodal/scripts/gemini_batch_process.py +1185 -0
- package/skills/ai/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/skills/ai/ai-multimodal/scripts/requirements.txt +26 -0
- package/skills/ai/ai-multimodal/scripts/tests/.coverage +0 -0
- package/skills/ai/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/skills/ai/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/skills/ai/mcp-management/README.md +219 -0
- package/skills/ai/mcp-management/SKILL.md +210 -0
- package/skills/ai/mcp-management/assets/tools.json +3146 -0
- package/skills/ai/mcp-management/references/configuration.md +114 -0
- package/skills/ai/mcp-management/references/gemini-cli-integration.md +221 -0
- package/skills/ai/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/ai/mcp-management/scripts/.env.example +10 -0
- package/skills/ai/mcp-management/scripts/cli.ts +195 -0
- package/skills/ai/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/ai/mcp-management/scripts/dist/cli.js +160 -0
- package/skills/ai/mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/ai/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/ai/mcp-management/scripts/package.json +20 -0
- package/skills/ai/mcp-management/scripts/tsconfig.json +15 -0
- package/skills/core/brainstorm/SKILL.md +164 -0
- package/skills/core/brainstorm/scripts/frame-template.html +214 -0
- package/skills/core/brainstorm/scripts/helper.js +88 -0
- package/skills/core/brainstorm/scripts/server.cjs +338 -0
- package/skills/core/brainstorm/scripts/start-server.sh +153 -0
- package/skills/core/brainstorm/scripts/stop-server.sh +55 -0
- package/skills/core/brainstorm/spec-document-reviewer-prompt.md +49 -0
- package/skills/core/brainstorm/visual-companion.md +286 -0
- package/skills/core/code-review/SKILL.md +147 -0
- package/skills/core/code-review/references/code-review-reception.md +113 -0
- package/skills/core/code-review/references/codebase-scan-workflow.md +29 -0
- package/skills/core/code-review/references/edge-case-scouting.md +119 -0
- package/skills/core/code-review/references/parallel-review-workflow.md +69 -0
- package/skills/core/code-review/references/requesting-code-review.md +116 -0
- package/skills/core/code-review/references/task-management-reviews.md +140 -0
- package/skills/core/code-review/references/verification-before-completion.md +139 -0
- package/skills/core/cook/README.md +86 -0
- package/skills/core/cook/SKILL.md +113 -0
- package/skills/core/cook/references/intent-detection.md +101 -0
- package/skills/core/cook/references/review-cycle.md +75 -0
- package/skills/core/cook/references/subagent-patterns.md +75 -0
- package/skills/core/cook/references/workflow-steps.md +172 -0
- package/skills/core/debug/SKILL.md +121 -0
- package/skills/core/debug/references/defense-in-depth.md +124 -0
- package/skills/core/debug/references/frontend-verification.md +103 -0
- package/skills/core/debug/references/investigation-methodology.md +101 -0
- package/skills/core/debug/references/log-and-ci-analysis.md +97 -0
- package/skills/core/debug/references/performance-diagnostics.md +113 -0
- package/skills/core/debug/references/reporting-standards.md +122 -0
- package/skills/core/debug/references/root-cause-tracing.md +122 -0
- package/skills/core/debug/references/systematic-debugging.md +102 -0
- package/skills/core/debug/references/task-management-debugging.md +155 -0
- package/skills/core/debug/references/verification.md +123 -0
- package/skills/core/debug/scripts/find-polluter.sh +63 -0
- package/skills/core/debug/scripts/find-polluter.test.md +102 -0
- package/skills/core/execute/SKILL.md +70 -0
- package/skills/core/fix/SKILL.md +111 -0
- package/skills/core/fix/references/complexity-assessment.md +72 -0
- package/skills/core/fix/references/mode-selection.md +46 -0
- package/skills/core/fix/references/parallel-exploration.md +100 -0
- package/skills/core/fix/references/review-cycle.md +77 -0
- package/skills/core/fix/references/skill-activation-matrix.md +78 -0
- package/skills/core/fix/references/task-orchestration.md +103 -0
- package/skills/core/fix/references/workflow-ci.md +28 -0
- package/skills/core/fix/references/workflow-deep.md +122 -0
- package/skills/core/fix/references/workflow-logs.md +72 -0
- package/skills/core/fix/references/workflow-quick.md +59 -0
- package/skills/core/fix/references/workflow-standard.md +111 -0
- package/skills/core/fix/references/workflow-test.md +75 -0
- package/skills/core/fix/references/workflow-types.md +33 -0
- package/skills/core/fix/references/workflow-ui.md +75 -0
- package/skills/core/plan/SKILL.md +145 -0
- package/skills/core/plan/plan-document-reviewer-prompt.md +49 -0
- package/skills/core/subagent-dev/SKILL.md +277 -0
- package/skills/core/subagent-dev/code-quality-reviewer-prompt.md +26 -0
- package/skills/core/subagent-dev/implementer-prompt.md +113 -0
- package/skills/core/subagent-dev/spec-reviewer-prompt.md +61 -0
- package/skills/core/tdd/SKILL.md +371 -0
- package/skills/core/tdd/testing-anti-patterns.md +299 -0
- package/skills/core/test/SKILL.md +109 -0
- package/skills/core/test/references/report-format.md +58 -0
- package/skills/core/test/references/test-execution-workflow.md +103 -0
- package/skills/core/test/references/ui-testing-workflow.md +65 -0
- package/skills/core/verify/SKILL.md +139 -0
- package/skills/dev/backend-dev/SKILL.md +96 -0
- package/skills/dev/backend-dev/references/backend-api-design.md +495 -0
- package/skills/dev/backend-dev/references/backend-architecture.md +454 -0
- package/skills/dev/backend-dev/references/backend-authentication.md +338 -0
- package/skills/dev/backend-dev/references/backend-code-quality.md +659 -0
- package/skills/dev/backend-dev/references/backend-debugging.md +904 -0
- package/skills/dev/backend-dev/references/backend-devops.md +494 -0
- package/skills/dev/backend-dev/references/backend-mindset.md +387 -0
- package/skills/dev/backend-dev/references/backend-performance.md +397 -0
- package/skills/dev/backend-dev/references/backend-security.md +290 -0
- package/skills/dev/backend-dev/references/backend-technologies.md +256 -0
- package/skills/dev/backend-dev/references/backend-testing.md +429 -0
- package/skills/dev/context-engineering/SKILL.md +108 -0
- package/skills/dev/context-engineering/references/context-compression.md +84 -0
- package/skills/dev/context-engineering/references/context-degradation.md +93 -0
- package/skills/dev/context-engineering/references/context-fundamentals.md +75 -0
- package/skills/dev/context-engineering/references/context-optimization.md +82 -0
- package/skills/dev/context-engineering/references/evaluation.md +89 -0
- package/skills/dev/context-engineering/references/memory-systems.md +88 -0
- package/skills/dev/context-engineering/references/multi-agent-patterns.md +90 -0
- package/skills/dev/context-engineering/references/project-development.md +97 -0
- package/skills/dev/context-engineering/references/runtime-awareness.md +202 -0
- package/skills/dev/context-engineering/references/tool-design.md +86 -0
- package/skills/dev/context-engineering/scripts/compression_evaluator.py +349 -0
- package/skills/dev/context-engineering/scripts/context_analyzer.py +317 -0
- package/skills/dev/context-engineering/scripts/tests/test_edge_cases.py +246 -0
- package/skills/dev/databases/SKILL.md +84 -0
- package/skills/dev/databases/analytics.md +198 -0
- package/skills/dev/databases/db-design.md +188 -0
- package/skills/dev/databases/incremental-etl.md +213 -0
- package/skills/dev/databases/references/mongodb-aggregation.md +447 -0
- package/skills/dev/databases/references/mongodb-atlas.md +465 -0
- package/skills/dev/databases/references/mongodb-crud.md +408 -0
- package/skills/dev/databases/references/mongodb-indexing.md +442 -0
- package/skills/dev/databases/references/postgresql-administration.md +594 -0
- package/skills/dev/databases/references/postgresql-performance.md +527 -0
- package/skills/dev/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/dev/databases/references/postgresql-queries.md +475 -0
- package/skills/dev/databases/scripts/.coverage +0 -0
- package/skills/dev/databases/scripts/db_backup.py +502 -0
- package/skills/dev/databases/scripts/db_migrate.py +426 -0
- package/skills/dev/databases/scripts/db_performance_check.py +457 -0
- package/skills/dev/databases/scripts/requirements.txt +20 -0
- package/skills/dev/databases/scripts/tests/coverage-db.json +1 -0
- package/skills/dev/databases/scripts/tests/requirements.txt +4 -0
- package/skills/dev/databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/dev/databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/dev/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/dev/databases/stacks/bigquery.md +231 -0
- package/skills/dev/databases/stacks/d1_cloudflare.md +137 -0
- package/skills/dev/databases/stacks/mysql.md +216 -0
- package/skills/dev/databases/stacks/postgres.md +235 -0
- package/skills/dev/databases/stacks/sqlite.md +244 -0
- package/skills/dev/databases/transactional.md +176 -0
- package/skills/dev/devops/.env.example +76 -0
- package/skills/dev/devops/SKILL.md +97 -0
- package/skills/dev/devops/references/browser-rendering.md +305 -0
- package/skills/dev/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/dev/devops/references/cloudflare-platform.md +271 -0
- package/skills/dev/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/dev/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/dev/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/dev/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/dev/devops/references/docker-basics.md +297 -0
- package/skills/dev/devops/references/docker-compose.md +292 -0
- package/skills/dev/devops/references/gcloud-platform.md +297 -0
- package/skills/dev/devops/references/gcloud-services.md +304 -0
- package/skills/dev/devops/references/kubernetes-basics.md +99 -0
- package/skills/dev/devops/references/kubernetes-helm-advanced.md +75 -0
- package/skills/dev/devops/references/kubernetes-helm.md +81 -0
- package/skills/dev/devops/references/kubernetes-kubectl.md +74 -0
- package/skills/dev/devops/references/kubernetes-security-advanced.md +98 -0
- package/skills/dev/devops/references/kubernetes-security.md +95 -0
- package/skills/dev/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
- package/skills/dev/devops/references/kubernetes-troubleshooting.md +49 -0
- package/skills/dev/devops/references/kubernetes-workflows-advanced.md +75 -0
- package/skills/dev/devops/references/kubernetes-workflows.md +78 -0
- package/skills/dev/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/dev/devops/scripts/docker_optimize.py +332 -0
- package/skills/dev/devops/scripts/requirements.txt +20 -0
- package/skills/dev/devops/scripts/tests/requirements.txt +3 -0
- package/skills/dev/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/dev/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/dev/frontend-design/SKILL.md +78 -0
- package/skills/dev/frontend-design/references/ai-multimodal-overview.md +165 -0
- package/skills/dev/frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/dev/frontend-design/references/analysis-prompts.md +141 -0
- package/skills/dev/frontend-design/references/analysis-techniques.md +118 -0
- package/skills/dev/frontend-design/references/animejs.md +396 -0
- package/skills/dev/frontend-design/references/asset-generation.md +337 -0
- package/skills/dev/frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/dev/frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/dev/frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/dev/frontend-design/references/extraction-prompts.md +127 -0
- package/skills/dev/frontend-design/references/technical-accessibility.md +119 -0
- package/skills/dev/frontend-design/references/technical-best-practices.md +97 -0
- package/skills/dev/frontend-design/references/technical-optimization.md +44 -0
- package/skills/dev/frontend-design/references/technical-overview.md +90 -0
- package/skills/dev/frontend-design/references/technical-workflows.md +150 -0
- package/skills/dev/frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/dev/frontend-design/references/workflow-3d.md +102 -0
- package/skills/dev/frontend-design/references/workflow-describe.md +87 -0
- package/skills/dev/frontend-design/references/workflow-immersive.md +87 -0
- package/skills/dev/frontend-design/references/workflow-quick.md +57 -0
- package/skills/dev/frontend-design/references/workflow-screenshot.md +63 -0
- package/skills/dev/frontend-design/references/workflow-video.md +74 -0
- package/skills/dev/frontend-dev/SKILL.md +400 -0
- package/skills/dev/frontend-dev/resources/common-patterns.md +331 -0
- package/skills/dev/frontend-dev/resources/complete-examples.md +872 -0
- package/skills/dev/frontend-dev/resources/component-patterns.md +502 -0
- package/skills/dev/frontend-dev/resources/data-fetching.md +767 -0
- package/skills/dev/frontend-dev/resources/file-organization.md +502 -0
- package/skills/dev/frontend-dev/resources/loading-and-error-states.md +501 -0
- package/skills/dev/frontend-dev/resources/performance.md +406 -0
- package/skills/dev/frontend-dev/resources/routing-guide.md +364 -0
- package/skills/dev/frontend-dev/resources/styling-guide.md +428 -0
- package/skills/dev/frontend-dev/resources/typescript-standards.md +418 -0
- package/skills/dev/git/SKILL.md +114 -0
- package/skills/dev/git/references/branch-management.md +88 -0
- package/skills/dev/git/references/commit-standards.md +46 -0
- package/skills/dev/git/references/gh-cli-guide.md +109 -0
- package/skills/dev/git/references/safety-protocols.md +69 -0
- package/skills/dev/git/references/workflow-commit.md +58 -0
- package/skills/dev/git/references/workflow-merge.md +48 -0
- package/skills/dev/git/references/workflow-pr.md +58 -0
- package/skills/dev/git/references/workflow-push.md +52 -0
- package/skills/dev/git-worktree/SKILL.md +218 -0
- package/skills/utils/ask/SKILL.md +58 -0
- package/skills/utils/bootstrap/SKILL.md +101 -0
- package/skills/utils/bootstrap/references/shared-phases.md +59 -0
- package/skills/utils/bootstrap/references/workflow-auto.md +52 -0
- package/skills/utils/bootstrap/references/workflow-fast.md +50 -0
- package/skills/utils/bootstrap/references/workflow-full.md +60 -0
- package/skills/utils/bootstrap/references/workflow-parallel.md +59 -0
- package/skills/utils/ck-help/SKILL.md +102 -0
- package/skills/utils/ck-help/scripts/ck-help.py +1321 -0
- package/skills/utils/ck-help/scripts/commands_data.yaml +3 -0
- package/skills/utils/ck-help/scripts/skills_data.yaml +593 -0
- package/skills/utils/copywriting/SKILL.md +94 -0
- package/skills/utils/copywriting/references/copy-formulas.md +150 -0
- package/skills/utils/copywriting/references/cta-patterns.md +168 -0
- package/skills/utils/copywriting/references/email-copy.md +193 -0
- package/skills/utils/copywriting/references/headline-templates.md +140 -0
- package/skills/utils/copywriting/references/landing-page-copy.md +175 -0
- package/skills/utils/copywriting/references/power-words.md +189 -0
- package/skills/utils/copywriting/references/social-media-copy.md +222 -0
- package/skills/utils/copywriting/references/workflow-cro.md +83 -0
- package/skills/utils/copywriting/references/workflow-enhance.md +32 -0
- package/skills/utils/copywriting/references/workflow-fast.md +29 -0
- package/skills/utils/copywriting/references/workflow-good.md +39 -0
- package/skills/utils/copywriting/references/writing-styles.md +247 -0
- package/skills/utils/copywriting/scripts/extract-writing-styles.py +308 -0
- package/skills/utils/copywriting/templates/copy-brief.md +49 -0
- package/skills/utils/docs/SKILL.md +55 -0
- package/skills/utils/docs/references/init-workflow.md +32 -0
- package/skills/utils/docs/references/summarize-workflow.md +18 -0
- package/skills/utils/docs/references/update-workflow.md +59 -0
- package/skills/utils/journal/SKILL.md +11 -0
- package/skills/utils/kanban/SKILL.md +99 -0
- package/skills/utils/preview/SKILL.md +75 -0
- package/skills/utils/preview/references/generation-modes.md +95 -0
- package/skills/utils/preview/references/view-mode.md +42 -0
- package/skills/utils/repomix/SKILL.md +248 -0
- package/skills/utils/repomix/references/configuration.md +211 -0
- package/skills/utils/repomix/references/usage-patterns.md +232 -0
- package/skills/utils/repomix/scripts/.coverage +0 -0
- package/skills/utils/repomix/scripts/README.md +179 -0
- package/skills/utils/repomix/scripts/repomix_batch.py +455 -0
- package/skills/utils/repomix/scripts/repos.example.json +15 -0
- package/skills/utils/repomix/scripts/requirements.txt +15 -0
- package/skills/utils/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/utils/research/SKILL.md +171 -0
- package/skills/utils/scout/SKILL.md +89 -0
- package/skills/utils/scout/references/external-scouting.md +140 -0
- package/skills/utils/scout/references/internal-scouting.md +119 -0
- package/skills/utils/scout/references/task-management-scouting.md +125 -0
- package/skills/utils/sequential-thinking/.env.example +8 -0
- package/skills/utils/sequential-thinking/README.md +183 -0
- package/skills/utils/sequential-thinking/SKILL.md +95 -0
- package/skills/utils/sequential-thinking/package.json +31 -0
- package/skills/utils/sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/utils/sequential-thinking/references/advanced-techniques.md +76 -0
- package/skills/utils/sequential-thinking/references/core-patterns.md +95 -0
- package/skills/utils/sequential-thinking/references/examples-api.md +88 -0
- package/skills/utils/sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/utils/sequential-thinking/references/examples-debug.md +90 -0
- package/skills/utils/sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/utils/sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/utils/sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/utils/sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/utils/write-skill/SKILL.md +655 -0
- package/skills/utils/write-skill/anthropic-best-practices.md +1150 -0
- package/skills/utils/write-skill/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/utils/write-skill/graphviz-conventions.dot +172 -0
- package/skills/utils/write-skill/persuasion-principles.md +187 -0
- package/skills/utils/write-skill/render-graphs.js +168 -0
- package/skills/utils/write-skill/testing-skills-with-subagents.md +384 -0
- package/src/commands/init.js +238 -0
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-browser
|
|
3
|
+
description: AI-optimized browser automation CLI with context-efficient snapshots. Use for long autonomous sessions, self-verifying workflows, video recording, and cloud browser testing (Browserbase).
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
argument-hint: "[url or task]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# agent-browser Skill
|
|
9
|
+
|
|
10
|
+
Browser automation CLI designed for AI agents. Uses "snapshot + refs" paradigm for 93% less context than Playwright MCP.
|
|
11
|
+
|
|
12
|
+
## Quick Start
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Install globally
|
|
16
|
+
npm install -g agent-browser
|
|
17
|
+
|
|
18
|
+
# Download Chromium (one-time)
|
|
19
|
+
agent-browser install
|
|
20
|
+
|
|
21
|
+
# Linux: include system deps
|
|
22
|
+
agent-browser install --with-deps
|
|
23
|
+
|
|
24
|
+
# Verify
|
|
25
|
+
agent-browser --version
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core Workflow
|
|
29
|
+
|
|
30
|
+
The 4-step pattern for all browser automation:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# 1. Navigate
|
|
34
|
+
agent-browser open https://example.com
|
|
35
|
+
|
|
36
|
+
# 2. Snapshot (get interactive elements with refs)
|
|
37
|
+
agent-browser snapshot -i
|
|
38
|
+
# Output: button "Sign In" @e1, textbox "Email" @e2, ...
|
|
39
|
+
|
|
40
|
+
# 3. Interact using refs
|
|
41
|
+
agent-browser fill @e2 "user@example.com"
|
|
42
|
+
agent-browser click @e1
|
|
43
|
+
|
|
44
|
+
# 4. Re-snapshot after page changes
|
|
45
|
+
agent-browser snapshot -i
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## When to Use (vs chrome-devtools)
|
|
49
|
+
|
|
50
|
+
| Use agent-browser | Use chrome-devtools |
|
|
51
|
+
|-------------------|---------------------|
|
|
52
|
+
| Long autonomous AI sessions | Quick one-off screenshots |
|
|
53
|
+
| Context-constrained workflows | Custom Puppeteer scripts needed |
|
|
54
|
+
| Video recording for debugging | WebSocket full frame debugging |
|
|
55
|
+
| Cloud browsers (Browserbase) | Existing workflow integration |
|
|
56
|
+
| Multi-tab handling | Need Sharp auto-compression |
|
|
57
|
+
| Self-verifying build loops | Session with auth injection |
|
|
58
|
+
|
|
59
|
+
**Token efficiency:** ~280 chars/snapshot vs 8K+ for Playwright MCP.
|
|
60
|
+
|
|
61
|
+
## Command Reference
|
|
62
|
+
|
|
63
|
+
### Navigation
|
|
64
|
+
```bash
|
|
65
|
+
agent-browser open <url> # Navigate to URL
|
|
66
|
+
agent-browser back # Go back
|
|
67
|
+
agent-browser forward # Go forward
|
|
68
|
+
agent-browser reload # Reload page
|
|
69
|
+
agent-browser close # Close browser
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Analysis (Snapshot)
|
|
73
|
+
```bash
|
|
74
|
+
agent-browser snapshot # Full accessibility tree
|
|
75
|
+
agent-browser snapshot -i # Interactive elements only (recommended)
|
|
76
|
+
agent-browser snapshot -c # Compact output
|
|
77
|
+
agent-browser snapshot -d 3 # Limit depth
|
|
78
|
+
agent-browser snapshot -s "nav" # Scope to CSS selector
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Interactions (use @refs from snapshot)
|
|
82
|
+
```bash
|
|
83
|
+
agent-browser click @e1 # Click element
|
|
84
|
+
agent-browser dblclick @e1 # Double-click
|
|
85
|
+
agent-browser fill @e2 "text" # Clear and fill input
|
|
86
|
+
agent-browser type @e2 "text" # Type without clearing
|
|
87
|
+
agent-browser press Enter # Press key
|
|
88
|
+
agent-browser hover @e1 # Hover over element
|
|
89
|
+
agent-browser check @e3 # Check checkbox
|
|
90
|
+
agent-browser uncheck @e3 # Uncheck checkbox
|
|
91
|
+
agent-browser select @e4 "opt" # Select dropdown option
|
|
92
|
+
agent-browser scroll @e1 # Scroll element into view
|
|
93
|
+
agent-browser scroll down 500 # Scroll page by pixels
|
|
94
|
+
agent-browser drag @e1 @e2 # Drag from e1 to e2
|
|
95
|
+
agent-browser upload @e5 file.pdf # Upload file
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Information Retrieval
|
|
99
|
+
```bash
|
|
100
|
+
agent-browser get text @e1 # Get text content
|
|
101
|
+
agent-browser get html @e1 # Get HTML
|
|
102
|
+
agent-browser get value @e2 # Get input value
|
|
103
|
+
agent-browser get attr @e1 href # Get attribute
|
|
104
|
+
agent-browser get title # Page title
|
|
105
|
+
agent-browser get url # Current URL
|
|
106
|
+
agent-browser get count "li" # Count elements
|
|
107
|
+
agent-browser get box @e1 # Bounding box
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### State Checks
|
|
111
|
+
```bash
|
|
112
|
+
agent-browser is visible @e1 # Check visibility
|
|
113
|
+
agent-browser is enabled @e1 # Check if enabled
|
|
114
|
+
agent-browser is checked @e3 # Check if checked
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Media
|
|
118
|
+
```bash
|
|
119
|
+
agent-browser screenshot # Capture viewport
|
|
120
|
+
agent-browser screenshot --full # Full page
|
|
121
|
+
agent-browser screenshot -o ss.png # Save to file
|
|
122
|
+
agent-browser pdf -o page.pdf # Export PDF
|
|
123
|
+
agent-browser record start # Start video recording
|
|
124
|
+
agent-browser record stop # Stop and save video
|
|
125
|
+
agent-browser record restart # Restart recording
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Wait Conditions
|
|
129
|
+
```bash
|
|
130
|
+
agent-browser wait @e1 # Wait for element
|
|
131
|
+
agent-browser wait --text "Success" # Wait for text to appear
|
|
132
|
+
agent-browser wait --url "/dashboard" # Wait for URL pattern
|
|
133
|
+
agent-browser wait --load # Wait for page load
|
|
134
|
+
agent-browser wait --idle # Wait for network idle
|
|
135
|
+
agent-browser wait --fn "() => window.ready" # Wait for JS condition
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Browser Configuration
|
|
139
|
+
```bash
|
|
140
|
+
agent-browser viewport 1920 1080 # Set viewport size
|
|
141
|
+
agent-browser device "iPhone 14" # Emulate device
|
|
142
|
+
agent-browser geolocation 40.7 -74.0 # Set geolocation
|
|
143
|
+
agent-browser offline true # Enable offline mode
|
|
144
|
+
agent-browser headers '{"X-Custom":"val"}' # Set headers
|
|
145
|
+
agent-browser credentials user pass # HTTP auth
|
|
146
|
+
agent-browser color-scheme dark # Set color scheme
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Storage Management
|
|
150
|
+
```bash
|
|
151
|
+
agent-browser cookies # List cookies
|
|
152
|
+
agent-browser cookies set name=val # Set cookie
|
|
153
|
+
agent-browser cookies clear # Clear cookies
|
|
154
|
+
agent-browser storage local # Get localStorage
|
|
155
|
+
agent-browser storage session # Get sessionStorage
|
|
156
|
+
agent-browser state save auth.json # Save browser state
|
|
157
|
+
agent-browser state load auth.json # Load browser state
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Network Control
|
|
161
|
+
```bash
|
|
162
|
+
agent-browser network route "**/*.jpg" --abort # Block requests
|
|
163
|
+
agent-browser network route "**/api/*" --body '{"data":[]}' # Mock response
|
|
164
|
+
agent-browser network unroute "**/*.jpg" # Remove specific route
|
|
165
|
+
agent-browser network requests # List intercepted requests
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Semantic Finding
|
|
169
|
+
```bash
|
|
170
|
+
agent-browser find role button # Find by ARIA role
|
|
171
|
+
agent-browser find text "Submit" # Find by text content
|
|
172
|
+
agent-browser find label "Email" # Find by label
|
|
173
|
+
agent-browser find placeholder "Search" # Find by placeholder
|
|
174
|
+
agent-browser find testid "login-btn" # Find by data-testid
|
|
175
|
+
agent-browser find first "button" # First matching element
|
|
176
|
+
agent-browser find last "li" # Last matching element
|
|
177
|
+
agent-browser find nth 2 "li" # Nth element (0-indexed)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Advanced
|
|
181
|
+
```bash
|
|
182
|
+
agent-browser tabs # List tabs
|
|
183
|
+
agent-browser tab new # New tab
|
|
184
|
+
agent-browser tab 2 # Switch to tab
|
|
185
|
+
agent-browser tab close # Close current tab
|
|
186
|
+
agent-browser frame 0 # Switch to frame
|
|
187
|
+
agent-browser dialog accept # Accept dialog
|
|
188
|
+
agent-browser dialog dismiss # Dismiss dialog
|
|
189
|
+
agent-browser eval "document.title" # Execute JS
|
|
190
|
+
agent-browser highlight @e1 # Highlight element visually
|
|
191
|
+
agent-browser mouse move 100 200 # Move mouse to coordinates
|
|
192
|
+
agent-browser mouse down # Mouse button down
|
|
193
|
+
agent-browser mouse up # Mouse button up
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Global Options
|
|
197
|
+
|
|
198
|
+
| Option | Description |
|
|
199
|
+
|--------|-------------|
|
|
200
|
+
| `--session <name>` | Named session for parallel testing |
|
|
201
|
+
| `--json` | JSON output for parsing |
|
|
202
|
+
| `--headed` | Show browser window |
|
|
203
|
+
| `--cdp <port>` | Connect via Chrome DevTools Protocol |
|
|
204
|
+
| `-p <provider>` | Cloud browser provider |
|
|
205
|
+
| `--proxy <url>` | Proxy server |
|
|
206
|
+
| `--headers <json>` | Custom HTTP headers |
|
|
207
|
+
| `--executable-path` | Custom browser binary |
|
|
208
|
+
| `--extension <path>` | Load browser extension |
|
|
209
|
+
|
|
210
|
+
## Environment Variables
|
|
211
|
+
|
|
212
|
+
| Variable | Description |
|
|
213
|
+
|----------|-------------|
|
|
214
|
+
| `AGENT_BROWSER_SESSION` | Default session name |
|
|
215
|
+
| `AGENT_BROWSER_PROVIDER` | Cloud provider (e.g., browserbase) |
|
|
216
|
+
| `AGENT_BROWSER_EXECUTABLE_PATH` | Browser binary location |
|
|
217
|
+
| `AGENT_BROWSER_EXTENSIONS` | Comma-separated extension paths |
|
|
218
|
+
| `AGENT_BROWSER_STREAM_PORT` | WebSocket streaming port |
|
|
219
|
+
| `AGENT_BROWSER_HOME` | Custom installation directory |
|
|
220
|
+
| `AGENT_BROWSER_PROFILE` | Browser profile directory |
|
|
221
|
+
| `BROWSERBASE_API_KEY` | Browserbase API key |
|
|
222
|
+
| `BROWSERBASE_PROJECT_ID` | Browserbase project ID |
|
|
223
|
+
|
|
224
|
+
## Common Patterns
|
|
225
|
+
|
|
226
|
+
### Form Submission
|
|
227
|
+
```bash
|
|
228
|
+
agent-browser open https://example.com/login
|
|
229
|
+
agent-browser snapshot -i
|
|
230
|
+
agent-browser fill @e1 "user@example.com"
|
|
231
|
+
agent-browser fill @e2 "password123"
|
|
232
|
+
agent-browser click @e3 # Submit button
|
|
233
|
+
agent-browser wait url "/dashboard"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### State Persistence (Auth)
|
|
237
|
+
```bash
|
|
238
|
+
# Save authenticated state
|
|
239
|
+
agent-browser open https://example.com/login
|
|
240
|
+
# ... login steps ...
|
|
241
|
+
agent-browser state save auth.json
|
|
242
|
+
|
|
243
|
+
# Reuse in future sessions
|
|
244
|
+
agent-browser state load auth.json
|
|
245
|
+
agent-browser open https://example.com/dashboard
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Video Recording (Debugging)
|
|
249
|
+
```bash
|
|
250
|
+
agent-browser open https://example.com
|
|
251
|
+
agent-browser record start
|
|
252
|
+
# ... perform actions ...
|
|
253
|
+
agent-browser record stop # Saves to recording.webm
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Parallel Sessions
|
|
257
|
+
```bash
|
|
258
|
+
# Terminal 1
|
|
259
|
+
agent-browser --session test1 open https://example.com
|
|
260
|
+
|
|
261
|
+
# Terminal 2
|
|
262
|
+
agent-browser --session test2 open https://example.com
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Cloud Browsers (Browserbase)
|
|
266
|
+
|
|
267
|
+
For CI/CD or environments without local browser:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
# Set credentials
|
|
271
|
+
export BROWSERBASE_API_KEY="your-api-key"
|
|
272
|
+
export BROWSERBASE_PROJECT_ID="your-project-id"
|
|
273
|
+
|
|
274
|
+
# Use cloud browser
|
|
275
|
+
agent-browser -p browserbase open https://example.com
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
See `references/browserbase-cloud-setup.md` for detailed setup.
|
|
279
|
+
|
|
280
|
+
## Troubleshooting
|
|
281
|
+
|
|
282
|
+
| Issue | Solution |
|
|
283
|
+
|-------|----------|
|
|
284
|
+
| Command not found | Run `npm install -g agent-browser` |
|
|
285
|
+
| Chromium missing | Run `agent-browser install` |
|
|
286
|
+
| Linux deps missing | Run `agent-browser install --with-deps` |
|
|
287
|
+
| Session stale | Close browser: `agent-browser close` |
|
|
288
|
+
| Element not found | Re-run `snapshot -i` after page changes |
|
|
289
|
+
|
|
290
|
+
## Resources
|
|
291
|
+
|
|
292
|
+
- [GitHub Repository](https://github.com/vercel-labs/agent-browser)
|
|
293
|
+
- [Official Documentation](https://github.com/vercel-labs/agent-browser#readme)
|
|
294
|
+
- [Browserbase Docs](https://docs.browserbase.com/)
|
|
File without changes
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# agent-browser vs chrome-devtools
|
|
2
|
+
|
|
3
|
+
Detailed comparison guide for choosing between browser automation skills.
|
|
4
|
+
|
|
5
|
+
## Feature Comparison
|
|
6
|
+
|
|
7
|
+
| Feature | agent-browser | chrome-devtools |
|
|
8
|
+
|---------|---------------|-----------------|
|
|
9
|
+
| **Engine** | Playwright (via Rust CLI) | Puppeteer |
|
|
10
|
+
| **Refs system** | `@e1` inline | `[ref=e1]` YAML |
|
|
11
|
+
| **Session persistence** | Named sessions (`--session`) | `.browser-session.json` |
|
|
12
|
+
| **Screenshot** | Basic | Auto-compress >5MB (Sharp) |
|
|
13
|
+
| **Network intercept** | `route` command | `network.js` script |
|
|
14
|
+
| **Console capture** | Basic | With filtering |
|
|
15
|
+
| **WebSocket debug** | Limited | Full frames support |
|
|
16
|
+
| **Video recording** | Built-in `record` | Not available |
|
|
17
|
+
| **PDF export** | Built-in `pdf` | Via Puppeteer API |
|
|
18
|
+
| **Auth persistence** | `state save/load` | `inject-auth.js` |
|
|
19
|
+
| **Multi-tab** | Full support | Limited |
|
|
20
|
+
| **Cloud browsers** | Browserbase native | Manual setup |
|
|
21
|
+
| **Performance** | Rust CLI (fast) | Node.js |
|
|
22
|
+
| **Custom scripts** | None (CLI only) | 20+ utilities |
|
|
23
|
+
|
|
24
|
+
## Token Efficiency Benchmarks
|
|
25
|
+
|
|
26
|
+
| Metric | agent-browser | chrome-devtools | Playwright MCP |
|
|
27
|
+
|--------|---------------|-----------------|----------------|
|
|
28
|
+
| Homepage snapshot | ~280 chars | ~300-500 chars | ~8,247 chars |
|
|
29
|
+
| Context reduction | 93% vs MCP | 90% vs MCP | Baseline |
|
|
30
|
+
| Tool definitions | ~2K tokens | 0 (CLI scripts) | ~17K tokens |
|
|
31
|
+
|
|
32
|
+
**Conclusion:** Both agent-browser and chrome-devtools are similarly efficient. Both dramatically outperform Playwright MCP.
|
|
33
|
+
|
|
34
|
+
## Use Case Decision Tree
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Need browser automation?
|
|
38
|
+
|
|
|
39
|
+
+-- Long autonomous AI session?
|
|
40
|
+
| +-- YES --> agent-browser (better context efficiency)
|
|
41
|
+
| +-- NO --> Continue
|
|
42
|
+
|
|
|
43
|
+
+-- Need video recording?
|
|
44
|
+
| +-- YES --> agent-browser (built-in)
|
|
45
|
+
| +-- NO --> Continue
|
|
46
|
+
|
|
|
47
|
+
+-- Cloud browser (CI/CD)?
|
|
48
|
+
| +-- YES --> agent-browser (Browserbase native)
|
|
49
|
+
| +-- NO --> Continue
|
|
50
|
+
|
|
|
51
|
+
+-- Custom Puppeteer scripts?
|
|
52
|
+
| +-- YES --> chrome-devtools (20+ utilities)
|
|
53
|
+
| +-- NO --> Continue
|
|
54
|
+
|
|
|
55
|
+
+-- WebSocket debugging?
|
|
56
|
+
| +-- YES --> chrome-devtools (full frames)
|
|
57
|
+
| +-- NO --> Continue
|
|
58
|
+
|
|
|
59
|
+
+-- Screenshot auto-compression?
|
|
60
|
+
| +-- YES --> chrome-devtools (Sharp)
|
|
61
|
+
| +-- NO --> agent-browser OR chrome-devtools
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Parallel Usage Patterns
|
|
65
|
+
|
|
66
|
+
Both skills can coexist - use the right tool for each task:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Quick screenshot with compression -> chrome-devtools
|
|
70
|
+
node "$SKILL_DIR/screenshot.js" --url https://example.com --output ss.png
|
|
71
|
+
|
|
72
|
+
# Long autonomous session -> agent-browser
|
|
73
|
+
agent-browser --session test1 open https://example.com
|
|
74
|
+
agent-browser snapshot -i
|
|
75
|
+
# ... many interactions ...
|
|
76
|
+
agent-browser close
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Migration Guide
|
|
80
|
+
|
|
81
|
+
### From chrome-devtools to agent-browser
|
|
82
|
+
|
|
83
|
+
| chrome-devtools | agent-browser |
|
|
84
|
+
|-----------------|---------------|
|
|
85
|
+
| `node navigate.js --url X` | `agent-browser open X` |
|
|
86
|
+
| `node aria-snapshot.js --url X` | `agent-browser open X && agent-browser snapshot -i` |
|
|
87
|
+
| `node select-ref.js --ref e5 --action click` | `agent-browser click @e5` |
|
|
88
|
+
| `node fill.js --selector "#email" --value "X"` | `agent-browser fill @e1 "X"` |
|
|
89
|
+
| `node screenshot.js --output X.png` | `agent-browser screenshot -o X.png` |
|
|
90
|
+
| `node console.js --types error` | No direct equivalent |
|
|
91
|
+
| `node network.js` | No direct equivalent |
|
|
92
|
+
|
|
93
|
+
### Key Differences
|
|
94
|
+
|
|
95
|
+
1. **Refs format:** `[ref=e5]` vs `@e5`
|
|
96
|
+
2. **Session:** File-based vs named sessions
|
|
97
|
+
3. **Commands:** Node scripts vs CLI commands
|
|
98
|
+
4. **Output:** JSON always vs JSON with `--json` flag
|
|
99
|
+
|
|
100
|
+
## When to Switch
|
|
101
|
+
|
|
102
|
+
**Switch to agent-browser when:**
|
|
103
|
+
- Starting new long-running automation
|
|
104
|
+
- Need video recording capability
|
|
105
|
+
- Moving to cloud browsers (Browserbase)
|
|
106
|
+
- Want simpler CLI syntax
|
|
107
|
+
|
|
108
|
+
**Keep chrome-devtools when:**
|
|
109
|
+
- Existing workflows depend on custom scripts
|
|
110
|
+
- Need WebSocket full-frame debugging
|
|
111
|
+
- Need automatic screenshot compression
|
|
112
|
+
- Need fine-grained console log filtering
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Browserbase Cloud Setup
|
|
2
|
+
|
|
3
|
+
Configure agent-browser to use Browserbase cloud browsers for CI/CD and headless environments.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Browserbase provides remote browser infrastructure. Use when:
|
|
8
|
+
- Running in CI/CD pipelines
|
|
9
|
+
- Local browser not available
|
|
10
|
+
- Need consistent browser environment
|
|
11
|
+
- Scaling parallel browser sessions
|
|
12
|
+
|
|
13
|
+
## Account Setup
|
|
14
|
+
|
|
15
|
+
1. Sign up at [browserbase.com](https://browserbase.com)
|
|
16
|
+
2. Create a project
|
|
17
|
+
3. Get API key from dashboard
|
|
18
|
+
4. Note your project ID
|
|
19
|
+
|
|
20
|
+
## Environment Variables
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Required
|
|
24
|
+
export BROWSERBASE_API_KEY="bb_live_xxxxxxxxxxxxx"
|
|
25
|
+
export BROWSERBASE_PROJECT_ID="proj_xxxxxxxxxxxxx"
|
|
26
|
+
|
|
27
|
+
# Optional: set provider default
|
|
28
|
+
export AGENT_BROWSER_PROVIDER="browserbase"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
### Explicit Provider Flag
|
|
34
|
+
```bash
|
|
35
|
+
agent-browser -p browserbase open https://example.com
|
|
36
|
+
agent-browser snapshot -i
|
|
37
|
+
agent-browser click @e1
|
|
38
|
+
agent-browser close
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### With Default Provider (env var)
|
|
42
|
+
```bash
|
|
43
|
+
# After setting AGENT_BROWSER_PROVIDER=browserbase
|
|
44
|
+
agent-browser open https://example.com # Uses Browserbase automatically
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## CI/CD Integration
|
|
48
|
+
|
|
49
|
+
### GitHub Actions
|
|
50
|
+
```yaml
|
|
51
|
+
name: Browser Tests
|
|
52
|
+
on: [push]
|
|
53
|
+
|
|
54
|
+
jobs:
|
|
55
|
+
test:
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
steps:
|
|
58
|
+
- uses: actions/checkout@v4
|
|
59
|
+
|
|
60
|
+
- name: Setup Node
|
|
61
|
+
uses: actions/setup-node@v4
|
|
62
|
+
with:
|
|
63
|
+
node-version: '20'
|
|
64
|
+
|
|
65
|
+
- name: Install agent-browser
|
|
66
|
+
run: npm install -g agent-browser
|
|
67
|
+
|
|
68
|
+
- name: Run browser tests
|
|
69
|
+
env:
|
|
70
|
+
BROWSERBASE_API_KEY: ${{ secrets.BROWSERBASE_API_KEY }}
|
|
71
|
+
BROWSERBASE_PROJECT_ID: ${{ secrets.BROWSERBASE_PROJECT_ID }}
|
|
72
|
+
AGENT_BROWSER_PROVIDER: browserbase
|
|
73
|
+
run: |
|
|
74
|
+
agent-browser open https://example.com
|
|
75
|
+
agent-browser snapshot -i
|
|
76
|
+
agent-browser screenshot -o screenshot.png
|
|
77
|
+
agent-browser close
|
|
78
|
+
|
|
79
|
+
- name: Upload artifacts
|
|
80
|
+
uses: actions/upload-artifact@v4
|
|
81
|
+
with:
|
|
82
|
+
name: screenshots
|
|
83
|
+
path: screenshot.png
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### GitLab CI
|
|
87
|
+
```yaml
|
|
88
|
+
browser-test:
|
|
89
|
+
image: node:20
|
|
90
|
+
variables:
|
|
91
|
+
AGENT_BROWSER_PROVIDER: browserbase
|
|
92
|
+
script:
|
|
93
|
+
- npm install -g agent-browser
|
|
94
|
+
- agent-browser open https://example.com
|
|
95
|
+
- agent-browser snapshot -i
|
|
96
|
+
- agent-browser close
|
|
97
|
+
artifacts:
|
|
98
|
+
paths:
|
|
99
|
+
- "*.png"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Session Management
|
|
103
|
+
|
|
104
|
+
Browserbase sessions are managed automatically. Each `open` creates a new session, `close` terminates it.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Long-running session
|
|
108
|
+
agent-browser -p browserbase open https://example.com
|
|
109
|
+
# ... many commands ...
|
|
110
|
+
agent-browser close # Terminates Browserbase session
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Parallel Sessions
|
|
114
|
+
|
|
115
|
+
Use named sessions for parallel browser instances:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Session 1
|
|
119
|
+
agent-browser -p browserbase --session user1 open https://example.com
|
|
120
|
+
|
|
121
|
+
# Session 2 (separate terminal/process)
|
|
122
|
+
agent-browser -p browserbase --session user2 open https://example.com
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Debugging
|
|
126
|
+
|
|
127
|
+
### View Session Logs
|
|
128
|
+
Check Browserbase dashboard for:
|
|
129
|
+
- Session recordings
|
|
130
|
+
- Network logs
|
|
131
|
+
- Console output
|
|
132
|
+
- Screenshots
|
|
133
|
+
|
|
134
|
+
### Local Fallback
|
|
135
|
+
If Browserbase unavailable, remove provider flag to use local browser:
|
|
136
|
+
```bash
|
|
137
|
+
agent-browser open https://example.com # Uses local Chromium
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Troubleshooting
|
|
141
|
+
|
|
142
|
+
| Issue | Solution |
|
|
143
|
+
|-------|----------|
|
|
144
|
+
| Authentication failed | Verify API key is correct and not expired |
|
|
145
|
+
| Project not found | Check BROWSERBASE_PROJECT_ID matches dashboard |
|
|
146
|
+
| Connection timeout | Check network/firewall allows outbound connections |
|
|
147
|
+
| Session limit reached | Upgrade Browserbase plan or wait for sessions to expire |
|
|
148
|
+
| Commands hang | Ensure previous session closed properly |
|
|
149
|
+
|
|
150
|
+
## Pricing Considerations
|
|
151
|
+
|
|
152
|
+
- Browserbase charges per session minute
|
|
153
|
+
- Close sessions promptly with `agent-browser close`
|
|
154
|
+
- Use local browser for development, cloud for CI/CD
|
|
155
|
+
- Monitor usage in Browserbase dashboard
|
|
156
|
+
|
|
157
|
+
## Resources
|
|
158
|
+
|
|
159
|
+
- [Browserbase Documentation](https://docs.browserbase.com/)
|
|
160
|
+
- [Browserbase Dashboard](https://browserbase.com/dashboard)
|
|
161
|
+
- [agent-browser GitHub](https://github.com/vercel-labs/agent-browser)
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-artist
|
|
3
|
+
description: "Generate images via Nano Banana with 129 curated prompts. Mandatory validation interview refines style/mood/colors (use --skip to bypass). 3 modes: search, creative, wild. Styles: Ukiyo-e, Bento grid, cyberpunk, cinematic, vintage patent."
|
|
4
|
+
version: 3.1.0
|
|
5
|
+
license: MIT
|
|
6
|
+
argument-hint: "[concept] [--mode search|creative|wild|all] [--skip]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# AI Artist - Nano Banana Image Generation
|
|
10
|
+
|
|
11
|
+
Generate images using 129 curated prompts from awesome-nano-banana-pro-prompts collection.
|
|
12
|
+
|
|
13
|
+
**Validation interview is mandatory** (use `--skip` to bypass).
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
**IMPORTANT:** Follow `references/validation-workflow.md` when this skill is activated.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
python3 scripts/generate.py "<concept>" -o <output.png> [--mode MODE]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Generation Modes
|
|
26
|
+
|
|
27
|
+
| Mode | Description |
|
|
28
|
+
|------|-------------|
|
|
29
|
+
| `search` | Find best matching prompt from 129 curated prompts (default) |
|
|
30
|
+
| `creative` | Remix elements from top 3 matching prompts |
|
|
31
|
+
| `wild` | Out-of-the-box creative interpretation (random style transform) |
|
|
32
|
+
| `all` | Generate all 3 variations |
|
|
33
|
+
|
|
34
|
+
### Examples
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Default search mode
|
|
38
|
+
python3 scripts/generate.py "tech conference banner" -o banner.png -ar 16:9
|
|
39
|
+
|
|
40
|
+
# Creative remix (combines multiple prompts)
|
|
41
|
+
python3 scripts/generate.py "AI workshop" -o workshop.png --mode creative
|
|
42
|
+
|
|
43
|
+
# Wild/experimental (random artistic transformation)
|
|
44
|
+
python3 scripts/generate.py "product showcase" -o product.png --mode wild
|
|
45
|
+
|
|
46
|
+
# Generate all 3 variations at once
|
|
47
|
+
python3 scripts/generate.py "futuristic city" -o city.png --mode all -v
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Options
|
|
51
|
+
|
|
52
|
+
| Flag | Description |
|
|
53
|
+
|------|-------------|
|
|
54
|
+
| `-o, --output` | Output path (required) |
|
|
55
|
+
| `-m, --mode` | search, creative, wild, or all |
|
|
56
|
+
| `-ar, --aspect-ratio` | 1:1, 16:9, 9:16, etc. |
|
|
57
|
+
| `--model` | flash (fast) or pro (quality/4K) |
|
|
58
|
+
| `-v, --verbose` | Show matched prompts and details |
|
|
59
|
+
| `--dry-run` | Show prompt without generating |
|
|
60
|
+
| `--skip` | Bypass validation interview |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Prompt Database
|
|
65
|
+
|
|
66
|
+
**129 curated prompts** extracted from awesome-nano-banana-pro-prompts:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Search prompts
|
|
70
|
+
python3 scripts/search.py "<query>" --domain awesome
|
|
71
|
+
|
|
72
|
+
# View all prompts
|
|
73
|
+
cat data/awesome-prompts.csv
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Categories include:
|
|
77
|
+
- **Profile/Avatar**: Thought-leader headshots, mirror selfies
|
|
78
|
+
- **Infographics**: Bento grid, chalkboard, ingredient labels
|
|
79
|
+
- **Social Media**: Quote cards, banners, thumbnails
|
|
80
|
+
- **Product**: Commercial shots, e-commerce, Apple-style
|
|
81
|
+
- **Artistic**: Ukiyo-e, patent documents, vaporwave, cyberpunk
|
|
82
|
+
- **Character**: Anime, chibi, comic storyboards
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Wild Mode Transformations
|
|
87
|
+
|
|
88
|
+
The `wild` mode randomly applies one of these artistic transformations:
|
|
89
|
+
|
|
90
|
+
- Japanese Ukiyo-e woodblock print
|
|
91
|
+
- Premium liquid glass Bento grid infographic
|
|
92
|
+
- Vintage 1800s patent document
|
|
93
|
+
- Surreal dreamscape with volumetric god rays
|
|
94
|
+
- Cyberpunk neon aesthetic with holograms
|
|
95
|
+
- Hand-drawn chalkboard explanation
|
|
96
|
+
- Isometric 3D diorama
|
|
97
|
+
- Cinematic movie poster
|
|
98
|
+
- Vaporwave aesthetic with glitch effects
|
|
99
|
+
- Apple-style product showcase
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## References
|
|
104
|
+
|
|
105
|
+
| Topic | File |
|
|
106
|
+
|-------|------|
|
|
107
|
+
| **Validation Workflow** | `references/validation-workflow.md` |
|
|
108
|
+
| All Prompts | `data/awesome-prompts.csv` |
|
|
109
|
+
| Nano Banana Guide | `references/nano-banana.md` |
|
|
110
|
+
| Image Prompting | `references/image-prompting.md` |
|
|
111
|
+
| Source | `references/awesome-nano-banana-pro-prompts.md` |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Scripts
|
|
116
|
+
|
|
117
|
+
| Script | Purpose |
|
|
118
|
+
|--------|---------|
|
|
119
|
+
| `generate.py` | Main image generation with 3 modes |
|
|
120
|
+
| `search.py` | Search prompts database |
|
|
121
|
+
| `extract_prompts.py` | Extract prompts from markdown |
|
|
122
|
+
| `core.py` | BM25 search engine |
|