claudecode-omc 5.6.4 → 5.6.6
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/.local/commands/code-review.md +416 -0
- package/.local/commands/pr.md +250 -0
- package/.local/commands/prp-pr.md +244 -0
- package/.local/guidelines/CLAUDE.md +47 -0
- package/.local/skills/prompt-optimizer/SKILL.md +23 -4
- package/bundled/manifest.json +4 -4
- package/bundled/upstream/anthropic-skills/skills/algorithmic-art/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/brand-guidelines/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/canvas-design/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +120 -58
- package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +9 -9
- package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +336 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/go/managed-agents/README.md +561 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/java/managed-agents/README.md +442 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +10 -10
- package/bundled/upstream/anthropic-skills/skills/claude-api/php/managed-agents/README.md +435 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +16 -16
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +3 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +3 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +7 -7
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/tool-use.md +19 -19
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +332 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +4 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/managed-agents/README.md +389 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/agent-design.md +101 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +11 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +60 -48
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +372 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-client-patterns.md +209 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +220 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +211 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-events.md +195 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-memory.md +197 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-multiagent.md +99 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +114 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-outcomes.md +106 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +67 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +315 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-webhooks.md +110 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +779 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +16 -14
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +45 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +28 -6
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +15 -15
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/batches.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/files-api.md +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +5 -5
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/tool-use.md +15 -15
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +359 -0
- package/bundled/upstream/anthropic-skills/skills/internal-comms/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/mcp-builder/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/skill-creator/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/slack-gif-creator/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/theme-factory/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/web-artifacts-builder/LICENSE.txt +1 -1
- package/bundled/upstream/anthropic-skills/skills/webapp-testing/LICENSE.txt +1 -1
- package/bundled/upstream/ecc/.omc-source/bundle.json +2 -3
- package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +4 -4
- package/bundled/upstream/ecc/agents/a11y-architect.md +10 -2
- package/bundled/upstream/ecc/agents/architect.md +9 -0
- package/bundled/upstream/ecc/agents/build-error-resolver.md +9 -0
- package/bundled/upstream/ecc/agents/chief-of-staff.md +9 -0
- package/bundled/upstream/ecc/agents/code-architect.md +9 -0
- package/bundled/upstream/ecc/agents/code-explorer.md +10 -1
- package/bundled/upstream/ecc/agents/code-reviewer.md +87 -1
- package/bundled/upstream/ecc/agents/code-simplifier.md +9 -0
- package/bundled/upstream/ecc/agents/comment-analyzer.md +10 -1
- package/bundled/upstream/ecc/agents/conversation-analyzer.md +9 -0
- package/bundled/upstream/ecc/agents/cpp-build-resolver.md +9 -0
- package/bundled/upstream/ecc/agents/cpp-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/csharp-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/dart-build-resolver.md +9 -0
- package/bundled/upstream/ecc/agents/database-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/django-build-resolver.md +252 -0
- package/bundled/upstream/ecc/agents/django-reviewer.md +169 -0
- package/bundled/upstream/ecc/agents/doc-updater.md +9 -0
- package/bundled/upstream/ecc/agents/docs-lookup.md +9 -0
- package/bundled/upstream/ecc/agents/e2e-runner.md +9 -0
- package/bundled/upstream/ecc/agents/fastapi-reviewer.md +79 -0
- package/bundled/upstream/ecc/agents/flutter-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/fsharp-reviewer.md +109 -0
- package/bundled/upstream/ecc/agents/gan-evaluator.md +9 -0
- package/bundled/upstream/ecc/agents/gan-generator.md +9 -0
- package/bundled/upstream/ecc/agents/gan-planner.md +9 -0
- package/bundled/upstream/ecc/agents/go-build-resolver.md +9 -0
- package/bundled/upstream/ecc/agents/go-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/harmonyos-app-resolver.md +182 -0
- package/bundled/upstream/ecc/agents/harness-optimizer.md +9 -0
- package/bundled/upstream/ecc/agents/healthcare-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/homelab-architect.md +107 -0
- package/bundled/upstream/ecc/agents/java-build-resolver.md +133 -11
- package/bundled/upstream/ecc/agents/java-reviewer.md +130 -32
- package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +9 -0
- package/bundled/upstream/ecc/agents/kotlin-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/loop-operator.md +9 -0
- package/bundled/upstream/ecc/agents/mle-reviewer.md +162 -0
- package/bundled/upstream/ecc/agents/network-architect.md +106 -0
- package/bundled/upstream/ecc/agents/network-config-reviewer.md +106 -0
- package/bundled/upstream/ecc/agents/network-troubleshooter.md +128 -0
- package/bundled/upstream/ecc/agents/opensource-forker.md +9 -0
- package/bundled/upstream/ecc/agents/opensource-packager.md +9 -0
- package/bundled/upstream/ecc/agents/opensource-sanitizer.md +9 -0
- package/bundled/upstream/ecc/agents/performance-optimizer.md +9 -0
- package/bundled/upstream/ecc/agents/planner.md +9 -0
- package/bundled/upstream/ecc/agents/pr-test-analyzer.md +9 -0
- package/bundled/upstream/ecc/agents/python-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +12 -3
- package/bundled/upstream/ecc/agents/refactor-cleaner.md +9 -0
- package/bundled/upstream/ecc/agents/rust-build-resolver.md +9 -0
- package/bundled/upstream/ecc/agents/rust-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/security-reviewer.md +9 -0
- package/bundled/upstream/ecc/agents/seo-specialist.md +10 -1
- package/bundled/upstream/ecc/agents/silent-failure-hunter.md +9 -0
- package/bundled/upstream/ecc/agents/swift-build-resolver.md +170 -0
- package/bundled/upstream/ecc/agents/swift-reviewer.md +116 -0
- package/bundled/upstream/ecc/agents/tdd-guide.md +9 -0
- package/bundled/upstream/ecc/agents/type-design-analyzer.md +10 -1
- package/bundled/upstream/ecc/agents/typescript-reviewer.md +9 -0
- package/bundled/upstream/ecc/commands/auto-update.md +28 -0
- package/bundled/upstream/ecc/commands/build-fix.md +4 -0
- package/bundled/upstream/ecc/commands/checkpoint.md +4 -0
- package/bundled/upstream/ecc/commands/code-review.md +3 -3
- package/bundled/upstream/ecc/commands/cost-report.md +107 -0
- package/bundled/upstream/ecc/commands/cpp-build.md +1 -1
- package/bundled/upstream/ecc/commands/cpp-test.md +1 -1
- package/bundled/upstream/ecc/commands/ecc-guide.md +93 -0
- package/bundled/upstream/ecc/commands/fastapi-review.md +39 -0
- package/bundled/upstream/ecc/commands/flutter-build.md +1 -1
- package/bundled/upstream/ecc/commands/flutter-test.md +1 -1
- package/bundled/upstream/ecc/commands/gan-build.md +4 -0
- package/bundled/upstream/ecc/commands/gan-design.md +4 -0
- package/bundled/upstream/ecc/commands/go-build.md +1 -1
- package/bundled/upstream/ecc/commands/go-test.md +1 -1
- package/bundled/upstream/ecc/commands/harness-audit.md +4 -0
- package/bundled/upstream/ecc/commands/jira.md +2 -2
- package/bundled/upstream/ecc/commands/kotlin-build.md +1 -1
- package/bundled/upstream/ecc/commands/kotlin-test.md +1 -1
- package/bundled/upstream/ecc/commands/learn.md +4 -0
- package/bundled/upstream/ecc/commands/loop-start.md +4 -0
- package/bundled/upstream/ecc/commands/loop-status.md +54 -1
- package/bundled/upstream/ecc/commands/model-route.md +4 -0
- package/bundled/upstream/ecc/commands/multi-backend.md +4 -0
- package/bundled/upstream/ecc/commands/multi-execute.md +4 -0
- package/bundled/upstream/ecc/commands/multi-frontend.md +4 -0
- package/bundled/upstream/ecc/commands/multi-plan.md +4 -0
- package/bundled/upstream/ecc/commands/multi-workflow.md +4 -0
- package/bundled/upstream/ecc/commands/plan-prd.md +160 -0
- package/bundled/upstream/ecc/commands/plan.md +96 -13
- package/bundled/upstream/ecc/commands/pm2.md +4 -0
- package/bundled/upstream/ecc/commands/pr.md +184 -0
- package/bundled/upstream/ecc/commands/project-init.md +86 -0
- package/bundled/upstream/ecc/commands/python-review.md +1 -1
- package/bundled/upstream/ecc/commands/quality-gate.md +4 -0
- package/bundled/upstream/ecc/commands/refactor-clean.md +4 -0
- package/bundled/upstream/ecc/commands/rust-build.md +1 -1
- package/bundled/upstream/ecc/commands/rust-test.md +1 -1
- package/bundled/upstream/ecc/commands/security-scan.md +92 -0
- package/bundled/upstream/ecc/commands/sessions.md +6 -6
- package/bundled/upstream/ecc/commands/skill-health.md +3 -3
- package/bundled/upstream/ecc/commands/test-coverage.md +4 -0
- package/bundled/upstream/ecc/commands/update-codemaps.md +4 -0
- package/bundled/upstream/ecc/commands/update-docs.md +4 -0
- package/bundled/upstream/ecc/skills/accessibility/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/agent-architecture-audit/SKILL.md +256 -0
- package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +49 -3
- package/bundled/upstream/ecc/skills/agentic-os/SKILL.md +387 -0
- package/bundled/upstream/ecc/skills/angular-developer/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/angular-animations.md +160 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/angular-aria.md +410 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/cli.md +86 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/component-harnesses.md +59 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/component-styling.md +91 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/components.md +117 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/creating-services.md +97 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/data-resolvers.md +69 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/define-routes.md +67 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/defining-providers.md +72 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/di-fundamentals.md +120 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/e2e-testing.md +56 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/effects.md +83 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/hierarchical-injectors.md +43 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/host-elements.md +80 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/injection-context.md +63 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/inputs.md +101 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/linked-signal.md +59 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/loading-strategies.md +61 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/mcp.md +108 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/navigate-to-routes.md +69 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/outputs.md +86 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/reactive-forms.md +122 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/rendering-strategies.md +44 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/resource.md +77 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/route-animations.md +56 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/route-guards.md +52 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/router-lifecycle.md +45 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/router-testing.md +87 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/signal-forms.md +795 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/signals-overview.md +94 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/tailwind-css.md +69 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/template-driven-forms.md +114 -0
- package/bundled/upstream/ecc/skills/angular-developer/references/testing-fundamentals.md +65 -0
- package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +6 -0
- package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +8 -45
- package/bundled/upstream/ecc/skills/cisco-ios-patterns/SKILL.md +163 -0
- package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +31 -14
- package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +10 -2
- package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +19 -5
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +44 -4
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +4 -4
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +5 -1
- package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +21 -5
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +58 -13
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +97 -4
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +34 -0
- package/bundled/upstream/ecc/skills/cost-tracking/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/deep-research/SKILL.md +4 -0
- package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +6 -0
- package/bundled/upstream/ecc/skills/django-celery/SKILL.md +457 -0
- package/bundled/upstream/ecc/skills/ecc-guide/SKILL.md +189 -0
- package/bundled/upstream/ecc/skills/error-handling/SKILL.md +376 -0
- package/bundled/upstream/ecc/skills/exa-search/SKILL.md +4 -0
- package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +4 -0
- package/bundled/upstream/ecc/skills/fastapi-patterns/SKILL.md +327 -0
- package/bundled/upstream/ecc/skills/flox-environments/SKILL.md +496 -0
- package/bundled/upstream/ecc/skills/frontend-design-direction/SKILL.md +92 -0
- package/bundled/upstream/ecc/skills/frontend-slides/animation-patterns.md +122 -0
- package/bundled/upstream/ecc/skills/frontend-slides/html-template.md +419 -0
- package/bundled/upstream/ecc/skills/frontend-slides/scripts/export-pdf.sh +418 -0
- package/bundled/upstream/ecc/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/bundled/upstream/ecc/skills/frontend-slides/viewport-base.css +153 -0
- package/bundled/upstream/ecc/skills/fsharp-testing/SKILL.md +280 -0
- package/bundled/upstream/ecc/skills/gateguard/SKILL.md +4 -0
- package/bundled/upstream/ecc/skills/hermes-imports/SKILL.md +88 -0
- package/bundled/upstream/ecc/skills/homelab-network-readiness/SKILL.md +169 -0
- package/bundled/upstream/ecc/skills/homelab-network-setup/SKILL.md +129 -0
- package/bundled/upstream/ecc/skills/homelab-pihole-dns/SKILL.md +274 -0
- package/bundled/upstream/ecc/skills/homelab-vlan-segmentation/SKILL.md +311 -0
- package/bundled/upstream/ecc/skills/homelab-wireguard-vpn/SKILL.md +305 -0
- package/bundled/upstream/ecc/skills/ios-icon-gen/SKILL.md +157 -0
- package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
- package/bundled/upstream/ecc/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
- package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +241 -5
- package/bundled/upstream/ecc/skills/make-interfaces-feel-better/SKILL.md +151 -0
- package/bundled/upstream/ecc/skills/mle-workflow/SKILL.md +346 -0
- package/bundled/upstream/ecc/skills/motion-advanced/SKILL.md +596 -0
- package/bundled/upstream/ecc/skills/motion-foundations/SKILL.md +299 -0
- package/bundled/upstream/ecc/skills/motion-patterns/SKILL.md +435 -0
- package/bundled/upstream/ecc/skills/motion-ui/SKILL.md +575 -0
- package/bundled/upstream/ecc/skills/mysql-patterns/SKILL.md +412 -0
- package/bundled/upstream/ecc/skills/netmiko-ssh-automation/SKILL.md +173 -0
- package/bundled/upstream/ecc/skills/network-bgp-diagnostics/SKILL.md +167 -0
- package/bundled/upstream/ecc/skills/network-config-validation/SKILL.md +210 -0
- package/bundled/upstream/ecc/skills/network-interface-health/SKILL.md +152 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +1 -9
- package/bundled/upstream/ecc/skills/plan-orchestrate/SKILL.md +262 -0
- package/bundled/upstream/ecc/skills/prisma-patterns/SKILL.md +371 -0
- package/bundled/upstream/ecc/skills/production-audit/SKILL.md +206 -0
- package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +24 -400
- package/bundled/upstream/ecc/skills/quarkus-patterns/SKILL.md +722 -0
- package/bundled/upstream/ecc/skills/quarkus-security/SKILL.md +467 -0
- package/bundled/upstream/ecc/skills/quarkus-tdd/SKILL.md +811 -0
- package/bundled/upstream/ecc/skills/quarkus-verification/SKILL.md +479 -0
- package/bundled/upstream/ecc/skills/redis-patterns/SKILL.md +403 -0
- package/bundled/upstream/ecc/skills/scientific-db-pubmed-database/SKILL.md +175 -0
- package/bundled/upstream/ecc/skills/scientific-db-uspto-database/SKILL.md +177 -0
- package/bundled/upstream/ecc/skills/scientific-pkg-gget/SKILL.md +166 -0
- package/bundled/upstream/ecc/skills/scientific-thinking-literature-review/SKILL.md +192 -0
- package/bundled/upstream/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
- package/bundled/upstream/ecc/skills/search-first/SKILL.md +23 -2
- package/bundled/upstream/ecc/skills/security-review/SKILL.md +10 -2
- package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +28 -3
- package/bundled/upstream/ecc/skills/skill-comply/tests/test_runner.py +172 -0
- package/bundled/upstream/ecc/skills/skill-scout/SKILL.md +140 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +1 -0
- package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +2 -2
- package/bundled/upstream/ecc/skills/tinystruct-patterns/SKILL.md +203 -0
- package/bundled/upstream/ecc/skills/tinystruct-patterns/references/architecture.md +90 -0
- package/bundled/upstream/ecc/skills/tinystruct-patterns/references/data-handling.md +60 -0
- package/bundled/upstream/ecc/skills/tinystruct-patterns/references/database.md +99 -0
- package/bundled/upstream/ecc/skills/tinystruct-patterns/references/routing.md +64 -0
- package/bundled/upstream/ecc/skills/tinystruct-patterns/references/system-usage.md +97 -0
- package/bundled/upstream/ecc/skills/tinystruct-patterns/references/testing.md +72 -0
- package/bundled/upstream/ecc/skills/ui-to-vue/SKILL.md +134 -0
- package/bundled/upstream/ecc/skills/vite-patterns/SKILL.md +449 -0
- package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +788 -0
- package/bundled/upstream/ecc/skills/x-api/SKILL.md +4 -0
- package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +20 -0
- package/bundled/upstream/oh-my-claudecode/agents/analyst.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/architect.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +26 -7
- package/bundled/upstream/oh-my-claudecode/agents/critic.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/debugger.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/designer.md +14 -1
- package/bundled/upstream/oh-my-claudecode/agents/document-specialist.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/executor.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/explore.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/git-master.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/planner.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/qa-tester.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/scientist.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/test-engineer.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/tracer.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/verifier.md +2 -1
- package/bundled/upstream/oh-my-claudecode/agents/writer.md +2 -1
- package/bundled/upstream/oh-my-claudecode/skills/AGENTS.md +4 -3
- package/bundled/upstream/oh-my-claudecode/skills/ai-slop-cleaner/SKILL.md +12 -0
- package/bundled/upstream/oh-my-claudecode/skills/deep-dive/SKILL.md +69 -13
- package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +176 -63
- package/bundled/upstream/oh-my-claudecode/skills/learner/SKILL.md +3 -1
- package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +22 -3
- package/bundled/upstream/oh-my-claudecode/skills/omc-reference/SKILL.md +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +2 -2
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +45 -2
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +46 -5
- package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +19 -17
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/config.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/parse.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/azure-devops.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/bitbucket.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitea.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/github.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/gitlab.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/interface.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/jira.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/session.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/tmux.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/worktree.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/psm.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/tests/test-psm-prompt-injection.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +8 -8
- package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +9 -5
- package/bundled/upstream/oh-my-claudecode/skills/skill/SKILL.md +6 -6
- package/bundled/upstream/oh-my-claudecode/skills/skillify/SKILL.md +19 -3
- package/bundled/upstream/oh-my-claudecode/skills/trace/SKILL.md +3 -1
- package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +20 -7
- package/bundled/upstream/superpowers/.omc-source/bundle.json +21 -0
- package/bundled/upstream/superpowers/hooks/hooks-cursor.json +1 -1
- package/bundled/upstream/superpowers/skills/executing-plans/SKILL.md +1 -1
- package/bundled/upstream/superpowers/skills/finishing-a-development-branch/SKILL.md +93 -42
- package/bundled/upstream/superpowers/skills/requesting-code-review/SKILL.md +7 -9
- package/bundled/upstream/superpowers/skills/requesting-code-review/code-reviewer.md +107 -85
- package/bundled/upstream/superpowers/skills/subagent-driven-development/SKILL.md +3 -1
- package/bundled/upstream/superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +2 -3
- package/bundled/upstream/superpowers/skills/systematic-debugging/CREATION-LOG.md +1 -1
- package/bundled/upstream/superpowers/skills/systematic-debugging/root-cause-tracing.md +1 -1
- package/bundled/upstream/superpowers/skills/using-git-worktrees/SKILL.md +95 -98
- package/bundled/upstream/superpowers/skills/using-superpowers/references/codex-tools.md +7 -48
- package/bundled/upstream/superpowers/skills/using-superpowers/references/copilot-tools.md +1 -11
- package/bundled/upstream/superpowers/skills/using-superpowers/references/gemini-tools.md +21 -3
- package/bundled/upstream/superpowers/skills/writing-plans/SKILL.md +1 -1
- package/package.json +1 -1
- package/src/cli/index.js +1 -0
- package/src/cli/setup.js +9 -0
- package/src/cli/skill-index.js +209 -0
- package/src/cli/skill.js +4 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/README.md +0 -355
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/agent-sdk/patterns.md +0 -359
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/README.md +0 -297
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/agent-sdk/patterns.md +0 -209
- package/bundled/upstream/ecc/commands/agent-sort.md +0 -23
- package/bundled/upstream/ecc/commands/claw.md +0 -23
- package/bundled/upstream/ecc/commands/context-budget.md +0 -23
- package/bundled/upstream/ecc/commands/devfleet.md +0 -23
- package/bundled/upstream/ecc/commands/docs.md +0 -23
- package/bundled/upstream/ecc/commands/e2e.md +0 -268
- package/bundled/upstream/ecc/commands/eval.md +0 -23
- package/bundled/upstream/ecc/commands/orchestrate.md +0 -135
- package/bundled/upstream/ecc/commands/prompt-optimize.md +0 -23
- package/bundled/upstream/ecc/commands/rules-distill.md +0 -20
- package/bundled/upstream/ecc/commands/tdd.md +0 -231
- package/bundled/upstream/ecc/commands/verify.md +0 -23
- package/bundled/upstream/ecc/skills/claude-api/SKILL.md +0 -337
- package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +0 -145
- package/bundled/upstream/superpowers/agents/code-reviewer.md +0 -48
- package/bundled/upstream/superpowers/commands/brainstorm.md +0 -5
- package/bundled/upstream/superpowers/commands/execute-plan.md +0 -5
- package/bundled/upstream/superpowers/commands/write-plan.md +0 -5
|
@@ -27,7 +27,7 @@ def get_weather(location: str, unit: str = "celsius") -> str:
|
|
|
27
27
|
|
|
28
28
|
# The tool runner handles the agentic loop automatically
|
|
29
29
|
runner = client.beta.messages.tool_runner(
|
|
30
|
-
model="claude-opus-4-
|
|
30
|
+
model="claude-opus-4-7",
|
|
31
31
|
max_tokens=16000,
|
|
32
32
|
tools=[get_weather],
|
|
33
33
|
messages=[{"role": "user", "content": "What's the weather in Paris?"}],
|
|
@@ -72,7 +72,7 @@ async with stdio_client(StdioServerParameters(command="mcp-server")) as (read, w
|
|
|
72
72
|
tools_result = await mcp_client.list_tools()
|
|
73
73
|
# tool_runner is sync — returns the runner, not a coroutine
|
|
74
74
|
runner = client.beta.messages.tool_runner(
|
|
75
|
-
model="claude-opus-4-
|
|
75
|
+
model="claude-opus-4-7",
|
|
76
76
|
max_tokens=16000,
|
|
77
77
|
messages=[{"role": "user", "content": "Use the available tools"}],
|
|
78
78
|
tools=[async_mcp_tool(t, mcp_client) for t in tools_result.tools],
|
|
@@ -90,7 +90,7 @@ from anthropic.lib.tools.mcp import mcp_message
|
|
|
90
90
|
|
|
91
91
|
prompt = await mcp_client.get_prompt(name="my-prompt")
|
|
92
92
|
response = await client.beta.messages.create(
|
|
93
|
-
model="claude-opus-4-
|
|
93
|
+
model="claude-opus-4-7",
|
|
94
94
|
max_tokens=16000,
|
|
95
95
|
messages=[mcp_message(m) for m in prompt.messages],
|
|
96
96
|
)
|
|
@@ -103,7 +103,7 @@ from anthropic.lib.tools.mcp import mcp_resource_to_content
|
|
|
103
103
|
|
|
104
104
|
resource = await mcp_client.read_resource(uri="file:///path/to/doc.txt")
|
|
105
105
|
response = await client.beta.messages.create(
|
|
106
|
-
model="claude-opus-4-
|
|
106
|
+
model="claude-opus-4-7",
|
|
107
107
|
max_tokens=16000,
|
|
108
108
|
messages=[{
|
|
109
109
|
"role": "user",
|
|
@@ -142,7 +142,7 @@ messages = [{"role": "user", "content": user_input}]
|
|
|
142
142
|
# Agentic loop: keep going until Claude stops calling tools
|
|
143
143
|
while True:
|
|
144
144
|
response = client.messages.create(
|
|
145
|
-
model="claude-opus-4-
|
|
145
|
+
model="claude-opus-4-7",
|
|
146
146
|
max_tokens=16000,
|
|
147
147
|
tools=tools,
|
|
148
148
|
messages=messages
|
|
@@ -189,7 +189,7 @@ final_text = next(b.text for b in response.content if b.type == "text")
|
|
|
189
189
|
|
|
190
190
|
```python
|
|
191
191
|
response = client.messages.create(
|
|
192
|
-
model="claude-opus-4-
|
|
192
|
+
model="claude-opus-4-7",
|
|
193
193
|
max_tokens=16000,
|
|
194
194
|
tools=tools,
|
|
195
195
|
messages=[{"role": "user", "content": "What's the weather in Paris?"}]
|
|
@@ -204,7 +204,7 @@ for block in response.content:
|
|
|
204
204
|
result = execute_tool(tool_name, tool_input)
|
|
205
205
|
|
|
206
206
|
followup = client.messages.create(
|
|
207
|
-
model="claude-opus-4-
|
|
207
|
+
model="claude-opus-4-7",
|
|
208
208
|
max_tokens=16000,
|
|
209
209
|
tools=tools,
|
|
210
210
|
messages=[
|
|
@@ -241,7 +241,7 @@ for block in response.content:
|
|
|
241
241
|
# Send all results back at once
|
|
242
242
|
if tool_results:
|
|
243
243
|
followup = client.messages.create(
|
|
244
|
-
model="claude-opus-4-
|
|
244
|
+
model="claude-opus-4-7",
|
|
245
245
|
max_tokens=16000,
|
|
246
246
|
tools=tools,
|
|
247
247
|
messages=[
|
|
@@ -271,7 +271,7 @@ tool_result = {
|
|
|
271
271
|
|
|
272
272
|
```python
|
|
273
273
|
response = client.messages.create(
|
|
274
|
-
model="claude-opus-4-
|
|
274
|
+
model="claude-opus-4-7",
|
|
275
275
|
max_tokens=16000,
|
|
276
276
|
tools=tools,
|
|
277
277
|
tool_choice={"type": "tool", "name": "get_weather"}, # Force specific tool
|
|
@@ -291,7 +291,7 @@ import anthropic
|
|
|
291
291
|
client = anthropic.Anthropic()
|
|
292
292
|
|
|
293
293
|
response = client.messages.create(
|
|
294
|
-
model="claude-opus-4-
|
|
294
|
+
model="claude-opus-4-7",
|
|
295
295
|
max_tokens=16000,
|
|
296
296
|
messages=[{
|
|
297
297
|
"role": "user",
|
|
@@ -319,7 +319,7 @@ uploaded = client.beta.files.upload(file=open("sales_data.csv", "rb"))
|
|
|
319
319
|
# 2. Pass to code execution via container_upload block
|
|
320
320
|
# Code execution is GA; Files API is still beta (pass via extra_headers)
|
|
321
321
|
response = client.messages.create(
|
|
322
|
-
model="claude-opus-4-
|
|
322
|
+
model="claude-opus-4-7",
|
|
323
323
|
max_tokens=16000,
|
|
324
324
|
extra_headers={"anthropic-beta": "files-api-2025-04-14"},
|
|
325
325
|
messages=[{
|
|
@@ -364,7 +364,7 @@ for block in response.content:
|
|
|
364
364
|
```python
|
|
365
365
|
# First request: set up environment
|
|
366
366
|
response1 = client.messages.create(
|
|
367
|
-
model="claude-opus-4-
|
|
367
|
+
model="claude-opus-4-7",
|
|
368
368
|
max_tokens=16000,
|
|
369
369
|
messages=[{"role": "user", "content": "Install tabulate and create data.json with sample data"}],
|
|
370
370
|
tools=[{"type": "code_execution_20260120", "name": "code_execution"}]
|
|
@@ -376,7 +376,7 @@ container_id = response1.container.id
|
|
|
376
376
|
# Second request: reuse the same container
|
|
377
377
|
response2 = client.messages.create(
|
|
378
378
|
container=container_id,
|
|
379
|
-
model="claude-opus-4-
|
|
379
|
+
model="claude-opus-4-7",
|
|
380
380
|
max_tokens=16000,
|
|
381
381
|
messages=[{"role": "user", "content": "Read data.json and display as a formatted table"}],
|
|
382
382
|
tools=[{"type": "code_execution_20260120", "name": "code_execution"}]
|
|
@@ -416,7 +416,7 @@ import anthropic
|
|
|
416
416
|
client = anthropic.Anthropic()
|
|
417
417
|
|
|
418
418
|
response = client.messages.create(
|
|
419
|
-
model="claude-opus-4-
|
|
419
|
+
model="claude-opus-4-7",
|
|
420
420
|
max_tokens=16000,
|
|
421
421
|
messages=[{"role": "user", "content": "Remember that my preferred language is Python."}],
|
|
422
422
|
tools=[{"type": "memory_20250818", "name": "memory"}],
|
|
@@ -442,7 +442,7 @@ memory = MyMemoryTool()
|
|
|
442
442
|
|
|
443
443
|
# Use with tool runner
|
|
444
444
|
runner = client.beta.messages.tool_runner(
|
|
445
|
-
model="claude-opus-4-
|
|
445
|
+
model="claude-opus-4-7",
|
|
446
446
|
max_tokens=16000,
|
|
447
447
|
tools=[memory],
|
|
448
448
|
messages=[{"role": "user", "content": "Remember my preferences"}],
|
|
@@ -477,7 +477,7 @@ class ContactInfo(BaseModel):
|
|
|
477
477
|
client = anthropic.Anthropic()
|
|
478
478
|
|
|
479
479
|
response = client.messages.parse(
|
|
480
|
-
model="claude-opus-4-
|
|
480
|
+
model="claude-opus-4-7",
|
|
481
481
|
max_tokens=16000,
|
|
482
482
|
messages=[{
|
|
483
483
|
"role": "user",
|
|
@@ -496,7 +496,7 @@ print(contact.interests) # ["API", "SDKs"]
|
|
|
496
496
|
|
|
497
497
|
```python
|
|
498
498
|
response = client.messages.create(
|
|
499
|
-
model="claude-opus-4-
|
|
499
|
+
model="claude-opus-4-7",
|
|
500
500
|
max_tokens=16000,
|
|
501
501
|
messages=[{
|
|
502
502
|
"role": "user",
|
|
@@ -530,7 +530,7 @@ data = json.loads(text)
|
|
|
530
530
|
|
|
531
531
|
```python
|
|
532
532
|
response = client.messages.create(
|
|
533
|
-
model="claude-opus-4-
|
|
533
|
+
model="claude-opus-4-7",
|
|
534
534
|
max_tokens=16000,
|
|
535
535
|
messages=[{"role": "user", "content": "Book a flight to Tokyo for 2 passengers on March 15"}],
|
|
536
536
|
tools=[{
|
|
@@ -555,7 +555,7 @@ response = client.messages.create(
|
|
|
555
555
|
|
|
556
556
|
```python
|
|
557
557
|
response = client.messages.create(
|
|
558
|
-
model="claude-opus-4-
|
|
558
|
+
model="claude-opus-4-7",
|
|
559
559
|
max_tokens=16000,
|
|
560
560
|
messages=[{"role": "user", "content": "Plan a trip to Paris next month"}],
|
|
561
561
|
output_config={
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
# Managed Agents — Python
|
|
2
|
+
|
|
3
|
+
> **Bindings not shown here:** This README covers the most common managed-agents flows for Python. If you need a class, method, namespace, field, or behavior that isn't shown, WebFetch the Python SDK repo **or the relevant docs page** from `shared/live-sources.md` rather than guess. Do not extrapolate from cURL shapes or another language's SDK.
|
|
4
|
+
|
|
5
|
+
> **Agents are persistent — create once, reference by ID.** Store the agent ID returned by `agents.create` and pass it to every subsequent `sessions.create`; do not call `agents.create` in the request path. The Anthropic CLI is one convenient way to create agents and environments from version-controlled YAML — its URL is in `shared/live-sources.md`. The examples below show in-code creation for completeness; in production the create call belongs in setup, not in the request path.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install anthropic
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Client Initialization
|
|
14
|
+
|
|
15
|
+
```python
|
|
16
|
+
import anthropic
|
|
17
|
+
|
|
18
|
+
# Default (uses ANTHROPIC_API_KEY env var)
|
|
19
|
+
client = anthropic.Anthropic()
|
|
20
|
+
|
|
21
|
+
# Explicit API key
|
|
22
|
+
client = anthropic.Anthropic(api_key="your-api-key")
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Create an Environment
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
environment = client.beta.environments.create(
|
|
31
|
+
name="my-dev-env",
|
|
32
|
+
config={
|
|
33
|
+
"type": "cloud",
|
|
34
|
+
"networking": {"type": "unrestricted"},
|
|
35
|
+
},
|
|
36
|
+
)
|
|
37
|
+
print(environment.id) # env_...
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Create an Agent (required first step)
|
|
43
|
+
|
|
44
|
+
> ⚠️ **There is no inline agent config.** `model`/`system`/`tools` live on the agent object, not the session. Always start with `agents.create()` — the session only takes `agent={"type": "agent", "id": agent.id}`.
|
|
45
|
+
|
|
46
|
+
### Minimal
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
# 1. Create the agent (reusable, versioned)
|
|
50
|
+
agent = client.beta.agents.create(
|
|
51
|
+
name="Coding Assistant",
|
|
52
|
+
model="claude-opus-4-7",
|
|
53
|
+
tools=[{"type": "agent_toolset_20260401", "default_config": {"enabled": True}}],
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
# 2. Start a session
|
|
57
|
+
session = client.beta.sessions.create(
|
|
58
|
+
agent={"type": "agent", "id": agent.id, "version": agent.version},
|
|
59
|
+
environment_id=environment.id,
|
|
60
|
+
)
|
|
61
|
+
print(session.id, session.status)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### With system prompt and custom tools
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
import os
|
|
68
|
+
|
|
69
|
+
agent = client.beta.agents.create(
|
|
70
|
+
name="Code Reviewer",
|
|
71
|
+
model="claude-opus-4-7",
|
|
72
|
+
system="You are a senior code reviewer.",
|
|
73
|
+
tools=[
|
|
74
|
+
{"type": "agent_toolset_20260401"},
|
|
75
|
+
{
|
|
76
|
+
"type": "custom",
|
|
77
|
+
"name": "run_tests",
|
|
78
|
+
"description": "Run the test suite",
|
|
79
|
+
"input_schema": {
|
|
80
|
+
"type": "object",
|
|
81
|
+
"properties": {
|
|
82
|
+
"test_path": {"type": "string", "description": "Path to test file"}
|
|
83
|
+
},
|
|
84
|
+
"required": ["test_path"],
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
session = client.beta.sessions.create(
|
|
91
|
+
agent={"type": "agent", "id": agent.id, "version": agent.version},
|
|
92
|
+
environment_id=environment.id,
|
|
93
|
+
title="Code review session",
|
|
94
|
+
resources=[
|
|
95
|
+
{
|
|
96
|
+
"type": "github_repository",
|
|
97
|
+
"url": "https://github.com/owner/repo",
|
|
98
|
+
"mount_path": "/workspace/repo",
|
|
99
|
+
"authorization_token": os.environ["GITHUB_TOKEN"],
|
|
100
|
+
"branch": "main",
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Send a User Message
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
client.beta.sessions.events.send(
|
|
112
|
+
session_id=session.id,
|
|
113
|
+
events=[
|
|
114
|
+
{
|
|
115
|
+
"type": "user.message",
|
|
116
|
+
"content": [{"type": "text", "text": "Review the auth module"}],
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
> 💡 **Stream-first:** Open the stream *before* (or concurrently with) sending the message. The stream only delivers events that occur after it opens — stream-after-send means early events arrive buffered in one batch. See [Steering Patterns](../../shared/managed-agents-events.md#steering-patterns).
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Stream Events (SSE)
|
|
127
|
+
|
|
128
|
+
```python
|
|
129
|
+
import json
|
|
130
|
+
|
|
131
|
+
# Stream-first: open stream, then send while stream is live
|
|
132
|
+
with client.beta.sessions.stream(
|
|
133
|
+
session_id=session.id,
|
|
134
|
+
) as stream:
|
|
135
|
+
client.beta.sessions.events.send(
|
|
136
|
+
session_id=session.id,
|
|
137
|
+
events=[{"type": "user.message", "content": [{"type": "text", "text": "..."}]}],
|
|
138
|
+
)
|
|
139
|
+
for event in stream:
|
|
140
|
+
... # process events
|
|
141
|
+
|
|
142
|
+
# Standalone stream iteration:
|
|
143
|
+
with client.beta.sessions.stream(
|
|
144
|
+
session_id=session.id,
|
|
145
|
+
) as stream:
|
|
146
|
+
for event in stream:
|
|
147
|
+
if event.type == "agent.message":
|
|
148
|
+
for block in event.content:
|
|
149
|
+
if block.type == "text":
|
|
150
|
+
print(block.text, end="", flush=True)
|
|
151
|
+
elif event.type == "agent.custom_tool_use":
|
|
152
|
+
# Custom tool invocation — session is now idle
|
|
153
|
+
print(f"\nCustom tool call: {event.tool_name}")
|
|
154
|
+
print(f"Input: {json.dumps(event.input)}")
|
|
155
|
+
# Send result back (see below)
|
|
156
|
+
elif event.type == "session.status_idle":
|
|
157
|
+
print("\n--- Agent idle ---")
|
|
158
|
+
elif event.type == "session.status_terminated":
|
|
159
|
+
print("\n--- Session terminated ---")
|
|
160
|
+
break
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Provide Custom Tool Result
|
|
166
|
+
|
|
167
|
+
```python
|
|
168
|
+
client.beta.sessions.events.send(
|
|
169
|
+
session_id=session.id,
|
|
170
|
+
events=[
|
|
171
|
+
{
|
|
172
|
+
"type": "user.custom_tool_result",
|
|
173
|
+
"custom_tool_use_id": "sevt_abc123",
|
|
174
|
+
"content": [{"type": "text", "text": "All 42 tests passed."}],
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Poll Events
|
|
183
|
+
|
|
184
|
+
```python
|
|
185
|
+
events = client.beta.sessions.events.list(
|
|
186
|
+
session_id=session.id,
|
|
187
|
+
)
|
|
188
|
+
for event in events.data:
|
|
189
|
+
print(f"{event.type}: {event.id}")
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
> ⚠️ **Prefer the SDK over raw `requests`/`httpx`.** If you hand-roll a poll loop, don't assume `timeout=(5, 60)` or `httpx.Timeout(120)` caps total call duration — both are **per-chunk** read timeouts (reset on every byte), so a trickling response can block forever. For a hard wall-clock deadline, track `time.monotonic()` at the loop level and bail explicitly, or wrap with `asyncio.wait_for()`. See [Receiving Events](../../shared/managed-agents-events.md#receiving-events).
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Full Streaming Loop with Custom Tools
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
import json
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
def run_custom_tool(tool_name: str, tool_input: dict) -> str:
|
|
203
|
+
"""Execute a custom tool and return the result."""
|
|
204
|
+
if tool_name == "run_tests":
|
|
205
|
+
# Your tool implementation here
|
|
206
|
+
return "All tests passed."
|
|
207
|
+
return f"Unknown tool: {tool_name}"
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def run_session(client, session_id: str):
|
|
211
|
+
"""Stream events and handle custom tool calls."""
|
|
212
|
+
while True:
|
|
213
|
+
with client.beta.sessions.stream(
|
|
214
|
+
session_id=session_id,
|
|
215
|
+
) as stream:
|
|
216
|
+
tool_calls = []
|
|
217
|
+
for event in stream:
|
|
218
|
+
if event.type == "agent.message":
|
|
219
|
+
for block in event.content:
|
|
220
|
+
if block.type == "text":
|
|
221
|
+
print(block.text, end="", flush=True)
|
|
222
|
+
elif event.type == "agent.custom_tool_use":
|
|
223
|
+
tool_calls.append(event)
|
|
224
|
+
elif event.type == "session.status_idle":
|
|
225
|
+
break
|
|
226
|
+
elif event.type == "session.status_terminated":
|
|
227
|
+
return
|
|
228
|
+
|
|
229
|
+
if not tool_calls:
|
|
230
|
+
break
|
|
231
|
+
|
|
232
|
+
# Process custom tool calls
|
|
233
|
+
results = []
|
|
234
|
+
for call in tool_calls:
|
|
235
|
+
result = run_custom_tool(call.tool_name, call.input)
|
|
236
|
+
results.append({
|
|
237
|
+
"type": "user.custom_tool_result",
|
|
238
|
+
"custom_tool_use_id": call.id,
|
|
239
|
+
"content": [{"type": "text", "text": result}],
|
|
240
|
+
})
|
|
241
|
+
|
|
242
|
+
client.beta.sessions.events.send(
|
|
243
|
+
session_id=session_id,
|
|
244
|
+
events=results,
|
|
245
|
+
)
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Upload a File
|
|
251
|
+
|
|
252
|
+
```python
|
|
253
|
+
with open("data.csv", "rb") as f:
|
|
254
|
+
file = client.beta.files.upload(
|
|
255
|
+
file=f,
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
# Use in a session
|
|
259
|
+
session = client.beta.sessions.create(
|
|
260
|
+
agent={"type": "agent", "id": agent.id, "version": agent.version},
|
|
261
|
+
environment_id=environment.id,
|
|
262
|
+
resources=[{"type": "file", "file_id": file.id, "mount_path": "/workspace/data.csv"}],
|
|
263
|
+
)
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## List and Download Session Files
|
|
269
|
+
|
|
270
|
+
List files the agent wrote to `/mnt/session/outputs/` during a session, then download them.
|
|
271
|
+
|
|
272
|
+
```python
|
|
273
|
+
# List files associated with a session
|
|
274
|
+
files = client.beta.files.list(
|
|
275
|
+
scope_id=session.id,
|
|
276
|
+
betas=["managed-agents-2026-04-01"],
|
|
277
|
+
)
|
|
278
|
+
for f in files.data:
|
|
279
|
+
print(f.filename, f.size_bytes)
|
|
280
|
+
# Download each file and save to disk
|
|
281
|
+
file_content = client.beta.files.download(f.id)
|
|
282
|
+
file_content.write_to_file(f.filename)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
> 💡 There's a brief indexing lag (~1–3s) between `session.status_idle` and output files appearing in `files.list`. Retry once or twice if the list is empty.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Session Management
|
|
290
|
+
|
|
291
|
+
```python
|
|
292
|
+
# Get session details
|
|
293
|
+
session = client.beta.sessions.retrieve(session_id="sesn_011CZxAbc123Def456")
|
|
294
|
+
print(session.status, session.usage)
|
|
295
|
+
|
|
296
|
+
# List sessions
|
|
297
|
+
sessions = client.beta.sessions.list()
|
|
298
|
+
|
|
299
|
+
# Delete a session
|
|
300
|
+
client.beta.sessions.delete(session_id="sesn_011CZxAbc123Def456")
|
|
301
|
+
|
|
302
|
+
# Archive a session
|
|
303
|
+
client.beta.sessions.archive(session_id="sesn_011CZxAbc123Def456")
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## MCP Server Integration
|
|
309
|
+
|
|
310
|
+
```python
|
|
311
|
+
# Agent declares MCP server (no auth here — auth goes in a vault)
|
|
312
|
+
agent = client.beta.agents.create(
|
|
313
|
+
name="MCP Agent",
|
|
314
|
+
model="claude-opus-4-7",
|
|
315
|
+
mcp_servers=[
|
|
316
|
+
{"type": "url", "name": "my-tools", "url": "https://my-mcp-server.example.com/sse"},
|
|
317
|
+
],
|
|
318
|
+
tools=[
|
|
319
|
+
{"type": "agent_toolset_20260401", "default_config": {"enabled": True}},
|
|
320
|
+
{"type": "mcp_toolset", "mcp_server_name": "my-tools"},
|
|
321
|
+
],
|
|
322
|
+
)
|
|
323
|
+
|
|
324
|
+
# Session attaches vault(s) containing credentials for those MCP server URLs
|
|
325
|
+
session = client.beta.sessions.create(
|
|
326
|
+
agent=agent.id,
|
|
327
|
+
environment_id=environment.id,
|
|
328
|
+
vault_ids=[vault.id],
|
|
329
|
+
)
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
See `shared/managed-agents-tools.md` §Vaults for creating vaults and adding credentials.
|
|
@@ -26,7 +26,7 @@ client = Anthropic::Client.new(api_key: "your-api-key")
|
|
|
26
26
|
|
|
27
27
|
```ruby
|
|
28
28
|
message = client.messages.create(
|
|
29
|
-
model: :"claude-opus-4-
|
|
29
|
+
model: :"claude-opus-4-7",
|
|
30
30
|
max_tokens: 16000,
|
|
31
31
|
messages: [
|
|
32
32
|
{ role: "user", content: "What is the capital of France?" }
|
|
@@ -46,7 +46,7 @@ end
|
|
|
46
46
|
|
|
47
47
|
```ruby
|
|
48
48
|
stream = client.messages.stream(
|
|
49
|
-
model: :"claude-opus-4-
|
|
49
|
+
model: :"claude-opus-4-7",
|
|
50
50
|
max_tokens: 64000,
|
|
51
51
|
messages: [{ role: "user", content: "Write a haiku" }]
|
|
52
52
|
)
|
|
@@ -78,7 +78,7 @@ class GetWeather < Anthropic::BaseTool
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
client.beta.messages.tool_runner(
|
|
81
|
-
model: :"claude-opus-4-
|
|
81
|
+
model: :"claude-opus-4-7",
|
|
82
82
|
max_tokens: 16000,
|
|
83
83
|
tools: [GetWeather.new],
|
|
84
84
|
messages: [{ role: "user", content: "What's the weather in San Francisco?" }]
|
|
@@ -99,7 +99,7 @@ See the [shared tool use concepts](../shared/tool-use-concepts.md) for the tool
|
|
|
99
99
|
|
|
100
100
|
```ruby
|
|
101
101
|
message = client.messages.create(
|
|
102
|
-
model: :"claude-opus-4-
|
|
102
|
+
model: :"claude-opus-4-7",
|
|
103
103
|
max_tokens: 16000,
|
|
104
104
|
system_: [
|
|
105
105
|
{ type: "text", text: long_system_prompt, cache_control: { type: "ephemeral" } }
|