Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
bbdf962
feat(aws-devops-agent): add the experiment-orchestration skill and ag…
cchu-ld Oct 28, 2026
77fb5d4
docs(aws-devops-agent): fix the skill's description and add catalog m…
cchu-ld Oct 28, 2026
b72f6dd
fix(aws-devops-agent): handle missing GitHub and guarded rollouts in …
cchu-ld Oct 28, 2026
bfd924a
fix(aws-devops-agent): make the skill's handoffs and fallback consistent
cchu-ld Oct 28, 2026
d6e5e50
docs(aws-devops-agent): clarify the skill's wording from review
cchu-ld Oct 28, 2026
a0d0efc
docs(aws-devops-agent): say ldcli is only needed for setup
cchu-ld Oct 28, 2026
16aa985
fix(aws-devops-agent): guard the experiment against peeking and small…
cchu-ld Oct 28, 2026
d97d6d4
fix(aws-devops-agent): spell out the 10% experiment setup
cchu-ld Oct 28, 2026
d705754
docs(aws-devops-agent): name the steps that numbered lists refer to
cchu-ld Oct 28, 2026
e520323
fix(aws-devops-agent): find or create the experiment's metrics
cchu-ld Oct 28, 2026
32dea21
fix(aws-devops-agent): request approval directly once an entity needs it
cchu-ld Oct 28, 2026
6446e86
feat(evals): per-test mock overrides, tool exclusion, and inlined skills
cchu-ld Oct 29, 2026
eefc28c
test(evals): add the experiment-orchestration suite
cchu-ld Oct 29, 2026
01caf7b
fix(aws-devops-agent): never apply a pending approval or act on an un…
cchu-ld Oct 29, 2026
7ac0421
test(evals): let a test dismiss ask-question
cchu-ld Oct 29, 2026
ea419bf
fix(evals): keep new mock tools and create-experiment rules from chan…
cchu-ld Oct 29, 2026
53f88a6
feat(aws-devops-agent): support multivariate experiments and blocked …
cchu-ld Oct 29, 2026
74e599c
refactor(evals): keep this suite's tools and mocks out of the shared …
cchu-ld Oct 29, 2026
4ef63aa
test(evals): cover multivariate flags in experiment-orchestration
cchu-ld Oct 29, 2026
50d2d59
fix(experiment-orchestration): judge treatments one at a time; send a…
cchu-ld Oct 29, 2026
dd04f43
fix(experiment-orchestration): exact hand-off steps for blocked tools…
cchu-ld Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ Agent Skills are modular, text-based playbooks that teach an agent how to perfor
| `metrics/launchdarkly-metric-create` | Create metrics and instrument tracking events |
| `metrics/launchdarkly-metric-instrument` | Add tracking calls to code for existing metrics |

### AWS DevOps Agent

| Skill | Description |
|-------|-------------|
| `aws-devops-agent/experiment-orchestration` | Take a product goal through a LaunchDarkly experiment and a rollout (guarded, if the plan has it) in AWS DevOps Agent. `ldcli aws-devops-agent setup` installs it with the `experiment-orchestrator` custom agent. See [`skills/aws-devops-agent`](skills/aws-devops-agent/README.md). |

## Install as a Claude Code Plugin

This repo is a [Claude Code plugin](https://code.claude.com/docs/en/create-plugins). Installing it gives you all the skills above plus the LaunchDarkly MCP server.
Expand Down
2 changes: 2 additions & 0 deletions evals/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ npm run eval:agentcontrol-tools # agentcontrol/tools
npm run eval:configs-variations # agentcontrol/configs-variations
npm run eval:flag-create # feature-flags/launchdarkly-flag-create
npm run eval:onboarding # onboarding
npm run eval:experiment-orchestration # aws-devops-agent/experiment-orchestration

# Quick smoke check — first test case only (~15-20s, ~$0.05)
npm run eval:configs-create:single
Expand All @@ -42,6 +43,7 @@ npm run eval:agentcontrol-tools:single
npm run eval:configs-variations:single
npm run eval:flag-create:single
npm run eval:onboarding:single
npm run eval:experiment-orchestration:single

# Aggregate and CI operations
npm run eval:all # Run every suite and rebuild ../eval-scores.json
Expand Down
113 changes: 113 additions & 0 deletions evals/experiment-orchestration/mocks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
{
"start-guarded-rollout": {
"flagKey": "{{flagKey}}",
"environmentKey": "{{environmentKey}}",
"status": "monitoring",
"currentStage": 1,
"stageCount": 3
},
"update-rollout": {
"key": "{{flagKey}}",
"environment": "{{environmentKey}}",
"fallthrough": {
"variation": 0
}
},
"stop-experiment-iteration": {
"key": "{{experimentKey}}",
"environmentKey": "{{environmentKey}}",
"currentIteration": {
"status": "stopped"
}
},
"get-experiment-results": {
"experimentKey": "{{experimentKey}}",
"metrics": [
{
"metricKey": "checkout-completed",
"isPrimary": true,
"treatments": [
{
"treatmentId": "treat-control",
"name": "Control",
"isBest": false,
"analyzedUnitCount": 4200
},
{
"treatmentId": "treat-treatment",
"name": "Treatment",
"isBest": true,
"relativeDifference": 0.081,
"isSignificant": true,
"analyzedUnitCount": 4180
}
]
}
]
},
"get-experiment-metric-results": {
"experimentKey": "{{experimentKey}}",
"metricKey": "{{metricKey}}",
"treatments": [
{
"treatmentId": "treat-control",
"name": "Control",
"analyzedUnitCount": 4200,
"trafficCount": 4200,
"conversionCount": 630,
"mean": 0.15
},
{
"treatmentId": "treat-treatment",
"name": "Treatment",
"analyzedUnitCount": 4180,
"trafficCount": 4180,
"conversionCount": 678,
"mean": 0.162,
"statistics": {
"relativeDifferences": [
{
"estimate": 0.081,
"lower": 0.02,
"upper": 0.14,
"pValue": 0.008
}
],
"isSignificant": true
}
}
]
},
"create-approval-request": {
"_id": "apr-0001",
"flagKey": "{{flagKey}}",
"environmentKey": "{{environmentKey}}",
"status": "pending",
"reviewStatus": "pending"
},
"apply-approval-request": {
"_id": "apr-0001",
"status": "completed",
"reviewStatus": "approved"
},
"list-approval-requests": {
"items": [
{
"_id": "apr-0001",
"flagKey": "{{flagKey}}",
"status": "pending",
"reviewStatus": "pending"
}
],
"totalCount": 1
},
"list-metric-events": {
"events": [
{
"eventKey": "checkout-completed",
"lastSeen": "2026-10-28T12:00:00Z"
}
],
"totalCount": 1
}
}
Loading
Loading