@bluefly/openstandardagents 0.4.9 → 0.5.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.
Files changed (125) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +8 -8
  3. package/README.md +68 -58
  4. package/bin/postinstall +0 -0
  5. package/dist/.version.json +3 -3
  6. package/dist/adapters/claude-code/adapter.js +2 -2
  7. package/dist/adapters/docker/generators.js +19 -19
  8. package/dist/adapters/drupal/generator.js +76 -76
  9. package/dist/adapters/openai-agents/adapter.js +2 -2
  10. package/dist/cli/schema-driven/schema-loader.js +5 -5
  11. package/dist/mcp-server/__tests__/mcp-server.spec.js +20 -11
  12. package/dist/mcp-server/index.js +0 -0
  13. package/dist/package.json +24 -11
  14. package/dist/services/export/langchain/langchain-exporter.js +2 -2
  15. package/dist/services/export/langchain/memory-generator.js +2 -2
  16. package/dist/services/export/testing/test-generator.js +1 -1
  17. package/dist/services/taxonomy-service.d.ts +3 -3
  18. package/dist/skills/test-skill/package.json +1 -1
  19. package/dist/spec/extensions/role-manifest.md +188 -0
  20. package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
  21. package/dist/spec/v0.5/agent.schema.json +2 -1
  22. package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
  23. package/dist/spec/v0.5/role.schema.json +268 -0
  24. package/dist/types/index.d.ts +2 -0
  25. package/dist/types/index.js +2 -0
  26. package/dist/types/role.d.ts +126 -0
  27. package/dist/types/role.js +38 -0
  28. package/dist/validation/validator.js +1 -1
  29. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +24 -31
  30. package/examples/agents/05-sales-assistant/agent.ossa.yaml +35 -23
  31. package/examples/agents/07-research-assistant/agent.ossa.yaml +27 -21
  32. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +27 -35
  33. package/examples/agents/security-audit-agent.ossa.yaml +234 -0
  34. package/examples/agentscope/react-assistant/agent.ossa.yaml +36 -32
  35. package/examples/drupal/content-moderator.ossa.yaml +2 -2
  36. package/examples/drupal/drupal-contributor.ossa.yaml +247 -0
  37. package/examples/export/langchain/production-agent-with-memory/README.md +1 -1
  38. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +13 -23
  39. package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +1 -15
  40. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +28 -29
  41. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  42. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  43. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  44. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  45. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  46. package/examples/getting-started/README.md +3 -3
  47. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  48. package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +221 -0
  49. package/examples/hierarchical-agent.ossa.yaml +10 -53
  50. package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +2 -25
  51. package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +2 -30
  52. package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +2 -18
  53. package/examples/kagent/ossa-kagent-poc.ossa.yaml +2 -16
  54. package/examples/pipeline-agent.ossa.yaml +3 -3
  55. package/examples/platform-specific/claude-code-subagent.yaml +1 -1
  56. package/examples/platform-specific/cursor-coding-agent.yaml +1 -1
  57. package/examples/platform-specific/warp-terminal-agent.yaml +1 -1
  58. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +24 -31
  59. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +35 -23
  60. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +27 -19
  61. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +27 -35
  62. package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -0
  63. package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
  64. package/examples/roles/drupal-developer.role.yaml +37 -0
  65. package/examples/roles/platform-operator.role.yaml +28 -0
  66. package/examples/roles/security-auditor.role.yaml +27 -0
  67. package/examples/swarm-agent.ossa.yaml +13 -51
  68. package/examples/team-agent.ossa.yaml +12 -61
  69. package/examples/team-lead-teammate.ossa.yaml +12 -17
  70. package/openapi/agent-communication.yaml +260 -212
  71. package/openapi/agent-crud.yaml +217 -187
  72. package/openapi/agent-discovery.yaml +119 -81
  73. package/openapi/agent-identity.yaml +219 -187
  74. package/openapi/agent-taxonomy.yaml +95 -38
  75. package/openapi/agents-md-service.yaml +103 -30
  76. package/openapi/cli/openapi.yaml +147 -40
  77. package/openapi/core/ossa-core-api.openapi.yaml +327 -271
  78. package/openapi/core/ossa-registry-api.openapi.yaml +298 -235
  79. package/openapi/core/ossa-registry.openapi.yaml +299 -159
  80. package/openapi/core/unified-agent-gateway.openapi.yaml +234 -170
  81. package/openapi/daemon-api.openapi.yaml +323 -181
  82. package/openapi/dev-cli/openapi.yaml +137 -113
  83. package/openapi/github-sync.yaml +62 -19
  84. package/openapi/marketplace-plugin.openapi.yaml +539 -466
  85. package/openapi/ossa-api.openapi.yaml +354 -213
  86. package/openapi/ossa-cli-enhancements.openapi.yaml +108 -89
  87. package/openapi/ossa-cli.yaml +260 -184
  88. package/openapi/protocols/sse-streams.yaml +66 -74
  89. package/openapi/protocols/websocket-events.yaml +61 -54
  90. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +37 -20
  91. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +35 -23
  92. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +29 -18
  93. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +45 -19
  94. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +30 -24
  95. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +101 -50
  96. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +33 -22
  97. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +20 -16
  98. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +41 -23
  99. package/openapi/reference-implementations/helm-generator.openapi.yaml +88 -46
  100. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +30 -20
  101. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +22 -16
  102. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +32 -18
  103. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +32 -21
  104. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +34 -21
  105. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +49 -27
  106. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +27 -19
  107. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +427 -293
  108. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +34 -23
  109. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +35 -21
  110. package/openapi/release-automation.openapi.yaml +47 -13
  111. package/openapi/schemas/common/agent.yaml +30 -29
  112. package/openapi/schemas/common/errors.yaml +13 -3
  113. package/openapi/schemas/common/metadata.yaml +22 -7
  114. package/openapi/schemas/common/pagination.yaml +18 -6
  115. package/openapi/schemas/common/security.yaml +13 -5
  116. package/openapi/schemas/index.yaml +49 -42
  117. package/openapi/uadp-asyncapi.yaml +4 -2
  118. package/openapi/uadp-openapi.yaml +243 -165
  119. package/openapi/version-management.openapi.yaml +142 -135
  120. package/package.json +114 -103
  121. package/spec/extensions/role-manifest.md +188 -0
  122. package/spec/v0.4/extensions/mcp/README.md +1 -1
  123. package/spec/v0.5/agent.schema.json +2 -1
  124. package/spec/v0.5/extensions/mcp/README.md +1 -1
  125. package/spec/v0.5/role.schema.json +268 -0
@@ -1,4 +1,4 @@
1
- apiVersion: ossa/v0.4.7
1
+ apiVersion: ossa/v0.5
2
2
  kind: Agent
3
3
  metadata:
4
4
  name: meeting-assistant
@@ -19,19 +19,16 @@ spec:
19
19
  - Action item identification and tracking
20
20
  - Meeting minutes generation
21
21
  - Follow-up task creation
22
-
23
22
  llm:
24
23
  provider: openai
25
24
  model: gpt-4o
26
25
  temperature: 0.5
27
26
  maxTokens: 3000
28
-
29
27
  capabilities:
30
28
  - transcribe_audio
31
29
  - summarize_meeting
32
30
  - extract_action_items
33
31
  - generate_minutes
34
-
35
32
  tools:
36
33
  - type: function
37
34
  name: transcribe_audio
@@ -50,7 +47,6 @@ spec:
50
47
  default: true
51
48
  required:
52
49
  - audioUrl
53
-
54
50
  - type: function
55
51
  name: summarize_meeting
56
52
  description: Generate meeting summary
@@ -61,13 +57,15 @@ spec:
61
57
  type: string
62
58
  summaryType:
63
59
  type: string
64
- enum: [brief, detailed, executive]
60
+ enum:
61
+ - brief
62
+ - detailed
63
+ - executive
65
64
  includeTopic:
66
65
  type: boolean
67
66
  default: true
68
67
  required:
69
68
  - transcript
70
-
71
69
  - type: function
72
70
  name: extract_action_items
73
71
  description: Extract action items from meeting
@@ -82,7 +80,6 @@ spec:
82
80
  type: string
83
81
  required:
84
82
  - transcript
85
-
86
83
  - type: function
87
84
  name: generate_minutes
88
85
  description: Generate formal meeting minutes
@@ -103,19 +100,22 @@ spec:
103
100
  type: array
104
101
  format:
105
102
  type: string
106
- enum: [markdown, html, pdf]
103
+ enum:
104
+ - markdown
105
+ - html
106
+ - pdf
107
107
  default: markdown
108
108
  required:
109
109
  - meetingData
110
-
111
110
  triggers:
112
111
  - type: webhook
113
112
  source: zoom
114
- events: [recording.completed]
113
+ events:
114
+ - recording.completed
115
115
  - type: webhook
116
116
  source: google_meet
117
- events: [recording.ready]
118
-
117
+ events:
118
+ - recording.ready
119
119
  tasks:
120
120
  - name: process-recording
121
121
  steps:
@@ -125,20 +125,17 @@ spec:
125
125
  params:
126
126
  audioUrl: ${inputs.recording_url}
127
127
  speakerDiarization: true
128
-
129
128
  - name: generate-summary
130
129
  action: function_call
131
130
  function: summarize_meeting
132
131
  params:
133
132
  transcript: ${outputs.transcript}
134
133
  summaryType: detailed
135
-
136
134
  - name: extract-actions
137
135
  action: function_call
138
136
  function: extract_action_items
139
137
  params:
140
138
  transcript: ${outputs.transcript}
141
-
142
139
  - name: create-minutes
143
140
  action: function_call
144
141
  function: generate_minutes
@@ -148,26 +145,23 @@ spec:
148
145
  attendees: ${inputs.attendees}
149
146
  topics: ${outputs.summary}
150
147
  decisions: ${outputs.action_items}
151
-
152
148
  - name: send-to-participants
153
149
  action: http
154
150
  method: POST
155
151
  url: ${env.EMAIL_SERVICE_URL}/send
156
152
  body:
157
153
  to: ${inputs.attendees}
158
- subject: "Meeting Notes: ${inputs.meeting_title}"
154
+ subject: 'Meeting Notes: ${inputs.meeting_title}'
159
155
  body: ${outputs.minutes}
160
156
  attachments:
161
157
  - type: pdf
162
158
  content: ${outputs.minutes_pdf}
163
-
164
159
  memory:
165
160
  enabled: true
166
161
  type: conversation_buffer
167
162
  window_size: 5
168
163
  persistence:
169
164
  enabled: false
170
-
171
165
  outputs:
172
166
  - name: transcript
173
167
  type: string
@@ -181,7 +175,6 @@ spec:
181
175
  - name: minutes
182
176
  type: string
183
177
  description: Formal meeting minutes
184
-
185
178
  observability:
186
179
  logging:
187
180
  level: info
@@ -193,19 +186,18 @@ spec:
193
186
  - action_items_extracted
194
187
  tracing:
195
188
  enabled: true
196
-
197
189
  extensions:
198
190
  langchain:
199
- agent_type: react
200
- memory_type: conversation_buffer
201
- tools_mapping:
202
- - ossa_capability: transcribe_audio
203
- langchain_tool: whisper_transcriber
204
- - ossa_capability: summarize_meeting
205
- langchain_tool: meeting_summarizer
206
- - ossa_capability: extract_action_items
207
- langchain_tool: action_extractor
208
- export_config:
209
- format: python
210
- include_dependencies: true
211
- output_file: meeting_assistant.py
191
+ enabled: true
192
+ chain_type: agent
193
+ memory:
194
+ type: buffer
195
+ tools:
196
+ - name: transcribe_audio
197
+ description: Transcribe meeting audio to text
198
+ - name: summarize_meeting
199
+ description: Generate meeting summary
200
+ - name: extract_action_items
201
+ description: Extract action items from meeting
202
+ - name: generate_minutes
203
+ description: Generate formal meeting minutes
@@ -0,0 +1,37 @@
1
+ apiVersion: ossa/v0.5
2
+ kind: Role
3
+ metadata:
4
+ name: drupal-developer
5
+ version: 1.0.0
6
+ description: Drupal module development role
7
+ labels:
8
+ platform: claude-code
9
+ domain: drupal
10
+ spec:
11
+ role: |
12
+ You are a Drupal module developer following Drupal coding standards.
13
+ instructions:
14
+ preamble: |
15
+ ## Drupal Rules
16
+ - Use DI everywhere, not \Drupal::service()
17
+ - All config needs schema YAML
18
+ - PHPCS with Drupal/DrupalPractice
19
+ constraints:
20
+ - Never use db_query()
21
+ - Never hardcode module paths
22
+ tools:
23
+ allowed: [Read, Write, Edit, Bash, Grep, Glob]
24
+ skills: [drupal-phpcs, drupal-test-runner]
25
+ context:
26
+ files:
27
+ - path: composer.json
28
+ - path: "*.info.yml"
29
+ protocols:
30
+ mcp:
31
+ servers:
32
+ - name: drupal-tools
33
+ transport: stdio
34
+ command: drush
35
+ args: [mcp:serve]
36
+ activation:
37
+ file_patterns: ["*.module", "*.info.yml", "src/Plugin/**/*.php"]
@@ -0,0 +1,28 @@
1
+ apiVersion: ossa/v0.5
2
+ kind: Role
3
+ metadata:
4
+ name: platform-operator
5
+ version: 1.0.0
6
+ description: Full-stack platform operations role
7
+ spec:
8
+ role: |
9
+ You are a platform operator managing TypeScript services, CI/CD, and infrastructure.
10
+ instructions:
11
+ constraints:
12
+ - API-first: OpenAPI spec before implementation
13
+ - Never create shell scripts
14
+ - Never commit to main/release directly
15
+ tools:
16
+ allowed: [Read, Write, Edit, Bash, Grep, Glob]
17
+ skills: [commit, review-pr]
18
+ protocols:
19
+ mcp:
20
+ servers:
21
+ - name: gkg
22
+ transport: sse
23
+ url: https://gkg.example.com/mcp/sse
24
+ extends:
25
+ - role: typescript-developer
26
+ activation:
27
+ file_patterns: ["src/**/*.ts", "package.json"]
28
+ command: "/role platform"
@@ -0,0 +1,27 @@
1
+ apiVersion: ossa/v0.5
2
+ kind: Role
3
+ metadata:
4
+ name: security-auditor
5
+ version: 1.0.0
6
+ description: Security audit and compliance review role
7
+ labels:
8
+ platform: claude-code
9
+ domain: security
10
+ spec:
11
+ role: |
12
+ You are a security auditor focused on OWASP, CVE analysis, and compliance.
13
+ instructions:
14
+ preamble: |
15
+ ## Security Rules
16
+ - Check all inputs for injection vulnerabilities
17
+ - Verify authentication on every endpoint
18
+ - Review secrets management
19
+ constraints:
20
+ - Never approve code with hardcoded credentials
21
+ - Never skip security tests
22
+ tools:
23
+ allowed: [Read, Grep, Glob, Bash]
24
+ denied: [Write, Edit]
25
+ skills: [security-scan, ossa-validate]
26
+ activation:
27
+ file_patterns: ["**/security/**", "**/*.policy"]
@@ -1,30 +1,11 @@
1
- # OSSA v0.4.5 Example: Swarm Agent — OpenAI-Style Support Swarm
2
- #
3
- # Demonstrates the swarm pattern with hub-spoke coordination. A triage
4
- # coordinator routes conversations to specialist agents via automatic
5
- # handoffs. Each member handles a specific domain and can hand back to
6
- # triage when the query falls outside its scope.
7
- #
8
- # Key characteristics:
9
- # - Hub-spoke model: triage agent is the central hub
10
- # - Direct communication: agents hand off control directly
11
- # - Assigned task coordination: triage decides who handles what
12
- # - In-memory persistence: no durable task list needed
13
-
14
- apiVersion: ossa/v0.4.7
1
+ apiVersion: ossa/v0.5
15
2
  kind: Agent
16
3
  metadata:
17
4
  name: support-swarm
18
- version: "1.0.0"
19
- description: >-
20
- An OpenAI Swarm-style customer support system. A triage coordinator
21
- routes incoming queries to specialist agents (orders, returns, billing)
22
- via automatic handoffs. Each specialist can hand back to triage when
23
- it encounters an out-of-scope request.
24
-
5
+ version: 1.0.0
6
+ description: An OpenAI Swarm-style customer support system. A triage coordinator routes incoming queries to specialist agents (orders, returns, billing) via automatic handoffs. Each specialist can hand back to triage when it encounters an out-of-scope request.
25
7
  agentKind: coordinator
26
- agentType: a2a
27
-
8
+ agentType: swarm
28
9
  agentArchitecture:
29
10
  pattern: swarm
30
11
  capabilities:
@@ -40,36 +21,25 @@ metadata:
40
21
  taskCoordination: assigned
41
22
  conflictResolution: leader-decides
42
23
  taskPersistence: in-memory
43
-
44
24
  labels:
45
25
  domain: customer-support
46
26
  pattern: swarm
47
27
  framework: openai-swarm
48
-
49
28
  spec:
50
- role: >-
51
- You are the triage coordinator for a customer support swarm. Analyze
52
- incoming customer messages and route them to the appropriate specialist
53
- agent. If a specialist hands back to you, re-evaluate and route to a
54
- different specialist or handle the query directly.
55
-
29
+ role: You are the triage coordinator for a customer support swarm. Analyze incoming customer messages and route them to the appropriate specialist agent. If a specialist hands back to you, re-evaluate and route to a different specialist or handle the query directly.
56
30
  llm:
57
31
  provider: openai
58
32
  model: gpt-4o
59
33
  temperature: 0.2
60
34
  maxTokens: 1024
61
-
62
35
  team:
63
36
  model: hub-spoke
64
37
  lead: triage-agent
65
38
  delegateMode: false
66
-
67
39
  members:
68
40
  - name: order-agent
69
41
  kind: teammate
70
- role: >-
71
- Handle order-related queries: order status, shipment tracking,
72
- order modifications, and cancellations.
42
+ role: 'Handle order-related queries: order status, shipment tracking, order modifications, and cancellations.'
73
43
  model:
74
44
  provider: openai
75
45
  name: gpt-4o-mini
@@ -80,15 +50,12 @@ spec:
80
50
  contextIsolation: true
81
51
  handoffs:
82
52
  - to: triage-agent
83
- condition: "Query is not order-related"
53
+ condition: Query is not order-related
84
54
  - to: returns-agent
85
- condition: "Customer wants to return an ordered item"
86
-
55
+ condition: Customer wants to return an ordered item
87
56
  - name: returns-agent
88
57
  kind: teammate
89
- role: >-
90
- Process returns and exchanges. Validate return eligibility, generate
91
- return labels, and track return shipments.
58
+ role: Process returns and exchanges. Validate return eligibility, generate return labels, and track return shipments.
92
59
  model:
93
60
  provider: openai
94
61
  name: gpt-4o-mini
@@ -99,15 +66,12 @@ spec:
99
66
  contextIsolation: true
100
67
  handoffs:
101
68
  - to: triage-agent
102
- condition: "Query is not returns-related"
69
+ condition: Query is not returns-related
103
70
  - to: billing-agent
104
- condition: "Customer asks about refund timing or amount"
105
-
71
+ condition: Customer asks about refund timing or amount
106
72
  - name: billing-agent
107
73
  kind: teammate
108
- role: >-
109
- Handle billing and payment queries. Look up invoices, process
110
- refunds, and answer payment-related questions.
74
+ role: Handle billing and payment queries. Look up invoices, process refunds, and answer payment-related questions.
111
75
  model:
112
76
  provider: openai
113
77
  name: gpt-4o-mini
@@ -118,8 +82,7 @@ spec:
118
82
  contextIsolation: true
119
83
  handoffs:
120
84
  - to: triage-agent
121
- condition: "Query is not billing-related"
122
-
85
+ condition: Query is not billing-related
123
86
  taskList:
124
87
  coordination: assigned
125
88
  persistence: in-memory
@@ -130,7 +93,6 @@ spec:
130
93
  dependencyTracking: false
131
94
  waveExecution: false
132
95
  lockingStrategy: none
133
-
134
96
  communication:
135
97
  pattern: direct
136
98
  broadcastEnabled: false
@@ -1,34 +1,11 @@
1
- # OSSA v0.4.5 Example: Team Agent — Claude Code Lead-Teammate Team
2
- #
3
- # Demonstrates the lead-teammate pattern modeled after Claude Code Agent
4
- # Teams. An Opus lead orchestrates Sonnet workers and a Haiku explorer.
5
- # The lead operates in delegate mode (never implements directly), while
6
- # teammates self-claim tasks from a shared, file-backed task list with
7
- # dependency tracking and wave execution.
8
- #
9
- # Key characteristics:
10
- # - Lead-teammate model with delegate mode
11
- # - Shared task list with self-claim coordination
12
- # - File-backed persistence with dependency tracking
13
- # - Mailbox communication (async, inbox-based)
14
- # - Mixed model tiers (Opus lead, Sonnet workers, Haiku explorer)
15
- # - In-process deployment with fixed scaling
16
-
17
- apiVersion: ossa/v0.4.7
1
+ apiVersion: ossa/v0.5
18
2
  kind: Agent
19
3
  metadata:
20
4
  name: fullstack-dev-team
21
- version: "1.0.0"
22
- description: >-
23
- A Claude Code-style development team for fullstack feature implementation.
24
- An Opus lead decomposes tasks and coordinates three teammates: a backend
25
- worker (Sonnet), a frontend worker (Sonnet), and a codebase explorer
26
- (Haiku). Teammates self-claim tasks from a shared list, communicate via
27
- mailbox, and work in isolated directories.
28
-
29
- agentKind: team-lead
30
- agentType: a2a
31
-
5
+ version: 1.0.0
6
+ description: 'A Claude Code-style development team for fullstack feature implementation. An Opus lead decomposes tasks and coordinates three teammates: a backend worker (Sonnet), a frontend worker (Sonnet), and a codebase explorer (Haiku). Teammates self-claim tasks from a shared list, communicate via mailbox, and work in isolated directories.'
7
+ agentKind: supervisor
8
+ agentType: custom
32
9
  agentArchitecture:
33
10
  pattern: lead-teammate
34
11
  capabilities:
@@ -47,43 +24,29 @@ metadata:
47
24
  conflictResolution: leader-decides
48
25
  taskPersistence: file-backed
49
26
  dependencyTracking: true
50
-
51
27
  labels:
52
28
  domain: development
53
29
  pattern: lead-teammate
54
30
  framework: claude-code
55
-
56
31
  spec:
57
- role: >-
58
- You are the lead of a fullstack development team. Your job is to:
59
- 1. Analyze the user's feature request and decompose it into tasks.
60
- 2. Create tasks in the shared task list with clear descriptions and
32
+ role: |-
33
+ You are the lead of a fullstack development team. Your job is to: 1. Analyze the user's feature request and decompose it into tasks. 2. Create tasks in the shared task list with clear descriptions and
61
34
  dependency relationships.
62
- 3. Monitor teammate progress and resolve blockers.
63
- 4. Synthesize completed work into a final deliverable.
64
- You operate in delegate mode — you NEVER write code directly. Instead,
65
- you coordinate your teammates who do the implementation work.
66
-
35
+ 3. Monitor teammate progress and resolve blockers. 4. Synthesize completed work into a final deliverable. You operate in delegate mode — you NEVER write code directly. Instead, you coordinate your teammates who do the implementation work.
67
36
  llm:
68
37
  provider: anthropic
69
38
  model: claude-opus-4-20250514
70
39
  temperature: 0.4
71
40
  maxTokens: 8192
72
41
  profile: deep
73
-
74
42
  team:
75
43
  model: lead-teammate
76
44
  lead: lead
77
45
  delegateMode: true
78
-
79
46
  members:
80
47
  - name: backend-worker
81
48
  kind: teammate
82
- role: >-
83
- Implement backend features: API endpoints, database schemas,
84
- business logic, and server-side tests. Work in the backend/
85
- directory. Claim tasks from the shared list and mark them
86
- complete when done.
49
+ role: 'Implement backend features: API endpoints, database schemas, business logic, and server-side tests. Work in the backend/ directory. Claim tasks from the shared list and mark them complete when done.'
87
50
  model:
88
51
  provider: anthropic
89
52
  name: claude-sonnet-4-20250514
@@ -95,13 +58,9 @@ spec:
95
58
  - glob
96
59
  contextIsolation: true
97
60
  workingDirectory: /backend
98
-
99
61
  - name: frontend-worker
100
62
  kind: teammate
101
- role: >-
102
- Implement frontend features: React components, API integration,
103
- styling, and UI tests. Work in the frontend/ directory. Claim
104
- tasks from the shared list and mark them complete when done.
63
+ role: 'Implement frontend features: React components, API integration, styling, and UI tests. Work in the frontend/ directory. Claim tasks from the shared list and mark them complete when done.'
105
64
  model:
106
65
  provider: anthropic
107
66
  name: claude-sonnet-4-20250514
@@ -113,13 +72,9 @@ spec:
113
72
  - glob
114
73
  contextIsolation: true
115
74
  workingDirectory: /frontend
116
-
117
75
  - name: codebase-explorer
118
76
  kind: researcher
119
- role: >-
120
- Explore the codebase to answer questions from the lead and other
121
- teammates. Search for patterns, find dependencies, and analyze
122
- architecture. Read-only — never modify files.
77
+ role: Explore the codebase to answer questions from the lead and other teammates. Search for patterns, find dependencies, and analyze architecture. Read-only — never modify files.
123
78
  model:
124
79
  provider: anthropic
125
80
  name: claude-haiku-4-5-20250514
@@ -129,7 +84,6 @@ spec:
129
84
  - glob
130
85
  contextIsolation: true
131
86
  workingDirectory: /
132
-
133
87
  taskList:
134
88
  coordination: self-claim
135
89
  persistence: file-backed
@@ -141,19 +95,16 @@ spec:
141
95
  dependencyTracking: true
142
96
  waveExecution: true
143
97
  lockingStrategy: file-lock
144
-
145
98
  communication:
146
99
  pattern: mailbox
147
100
  broadcastEnabled: false
148
-
149
101
  deployment:
150
102
  backend: in-process
151
103
  scaling: fixed
152
-
153
104
  constraints:
154
105
  cost:
155
106
  maxTokensPerDay: 2000000
156
- maxCostPerDay: 100.00
107
+ maxCostPerDay: 100
157
108
  currency: USD
158
109
  performance:
159
110
  timeoutSeconds: 300
@@ -1,11 +1,11 @@
1
- apiVersion: ossa/v0.4
1
+ apiVersion: ossa/v0.5
2
2
  kind: Agent
3
3
  metadata:
4
4
  name: code-review-team
5
5
  version: 1.0.0
6
6
  description: Claude Code teams pattern - lead delegates to specialized reviewers
7
7
  agentType: claude
8
- agentKind: team-lead
8
+ agentKind: supervisor
9
9
  agentArchitecture:
10
10
  pattern: lead-teammate
11
11
  capabilities:
@@ -21,9 +21,8 @@ metadata:
21
21
  taskPersistence: file-backed
22
22
  dependencyTracking: true
23
23
  spec:
24
- role: >
25
- You lead a code review team. Analyze pull requests and delegate
26
- specific review tasks to specialized teammates.
24
+ role: |
25
+ You lead a code review team. Analyze pull requests and delegate specific review tasks to specialized teammates.
27
26
  llm:
28
27
  provider: anthropic
29
28
  model: claude-sonnet-4-5-20250514
@@ -34,9 +33,8 @@ spec:
34
33
  members:
35
34
  - name: lead-reviewer
36
35
  kind: team-lead
37
- role: >
38
- Senior code reviewer. Analyze PRs, break down review into tasks,
39
- delegate to specialists, and synthesize final review.
36
+ role: |
37
+ Senior code reviewer. Analyze PRs, break down review into tasks, delegate to specialists, and synthesize final review.
40
38
  model: claude-sonnet-4-5-20250514
41
39
  tools:
42
40
  - read-file
@@ -44,9 +42,8 @@ spec:
44
42
  - git-diff
45
43
  - name: security-reviewer
46
44
  kind: specialist
47
- role: >
48
- Security vulnerability scanner. Check for OWASP top 10,
49
- injection attacks, authentication flaws, and data exposure.
45
+ role: |
46
+ Security vulnerability scanner. Check for OWASP top 10, injection attacks, authentication flaws, and data exposure.
50
47
  tools:
51
48
  - sast-scan
52
49
  - dependency-check
@@ -54,18 +51,16 @@ spec:
54
51
  maxTokenBudget: 15000
55
52
  - name: style-checker
56
53
  kind: teammate
57
- role: >
58
- Code style and formatting reviewer. Verify adherence to
59
- project conventions, naming, and documentation standards.
54
+ role: |
55
+ Code style and formatting reviewer. Verify adherence to project conventions, naming, and documentation standards.
60
56
  tools:
61
57
  - eslint
62
58
  - prettier
63
59
  - read-file
64
60
  - name: test-reviewer
65
61
  kind: teammate
66
- role: >
67
- Test coverage reviewer. Verify test adequacy, check edge cases,
68
- and validate test assertions.
62
+ role: |
63
+ Test coverage reviewer. Verify test adequacy, check edge cases, and validate test assertions.
69
64
  tools:
70
65
  - run-tests
71
66
  - coverage-report