You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: sync aws-transform skill from internal mainline; bump to 1.5.0 (#247)
Update the aws-transform continuous-modernization reference docs and bump
the plugin version from 1.4.0 to 1.5.0.
Reference doc changes:
- Restore CLI-first schedule skill corrected to the shipped surface:
cadence is --recurrence (not raw cron), --type is singular, scheduled
remediations removed, schedule delete also removes the anchor analysis,
and adds the anchor/shared-child record model.
- Update security-agent skill for CFN-native agent space: new stack
prefix (AtxSecurityAgentStack-), bucket prefix (atx-security-agent-),
remove manual policy/SSM/config steps, simplify executor flow.
- Singular --type + per-job cancel in batch/EC2 execution skills.
- Route scheduling intent in SKILL.md and guide so agent never denies
or offers local cron as a substitute.
Version bump applied in:
- plugins/aws-transform/.claude-plugin/plugin.json
- plugins/aws-transform/.codex-plugin/plugin.json
- .claude-plugin/marketplace.json
Co-authored-by: Alex Tsang <tsangale@amazon.com>
Copy file name to clipboardExpand all lines: plugins/aws-transform/.codex-plugin/plugin.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "aws-transform",
3
-
"version": "1.4.0",
3
+
"version": "1.5.0",
4
4
"description": "Migrate, modernize, and upgrade codebases to AWS. Transforms .NET Framework to .NET 8/10, mainframe COBOL to Java, VMware VMs to EC2, SQL Server to Aurora, and upgrades Java/Python/Node.js versions and AWS SDKs. AWS Transform - continuous modernization analyzes codebases for tech debt, security issues, and upgrade opportunities, then remediates them.",
Copy file name to clipboardExpand all lines: plugins/aws-transform/skills/aws-transform/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,7 +88,7 @@ If the user's workload-unspecified request matches any of these intents, route t
88
88
89
89
7. Ensure a supported region has been selected (see [continuous-modernization-setup.md](references/continuous-modernization-setup.md) "Choose your region") and prefixed inline (`AWS_REGION=$ATX_REGION`) on every `atx ct` command.
90
90
91
-
8. Then use the appropriate continuous modernization skill — see [continuous-modernization](references/continuous-modernization.md)
91
+
8. Then use the appropriate continuous modernization skill — see [continuous-modernization](references/continuous-modernization.md). Recurring/scheduled intent ("weekly scan", "every Monday", "on a schedule", "cron") routes to [continuous-modernization-schedule](references/continuous-modernization-schedule.md): scheduling is a real, shipped capability (`atx ct schedule create/list/get/enable/disable/delete`) that runs on remote infrastructure ONLY — never claim it doesn't exist, and never offer a local cron/systemd/launchd entry as a substitute or fallback.
92
92
93
93
**When in doubt for a workload-unspecified request → continuous modernization.** This default applies ONLY after Step B has cleared — VMware, SQL, and mainframe never fall through to continuous modernization regardless of how the question is phrased; .NET only routes to continuous modernization after the user picks "analyze for tech debt / security / CVEs" in Step B's intent question (both "modernize" and "assessment for modernization" stay in the .NET workload). Once routed, do NOT manually read source files to find issues — that's what `atx ct analysis run` does.
Copy file name to clipboardExpand all lines: plugins/aws-transform/skills/aws-transform/references/continuous-modernization-batch-execution.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
name: remote-batch
3
-
description: Run analysis or remediation at scale on AWS Batch (Fargate) using `atx ct remote` CLI commands. One container per (type x repo). Covers provisioning, job submission, status, cancel, and teardown.
3
+
description: Run analysis or remediation at scale on AWS Batch (Fargate) using `atx ct remote` CLI commands. Exactly one --type per run; one container per repo. Covers provisioning, job submission, status, cancel, and teardown.
4
4
---
5
5
6
6
# Remote Batch Execution
7
7
8
-
Run analysis or remediation at scale on AWS Batch (Fargate). Each job runs in its own container — fan-out is `types x repos = N containers`. All orchestration is handled by the CLI (`atx ct remote ...`); no raw AWS commands needed.
8
+
Run analysis or remediation at scale on AWS Batch (Fargate). Each job runs in its own container — one container per repo (exactly one --type per run). All orchestration is handled by the CLI (`atx ct remote ...`); no raw AWS commands needed.
9
9
10
10
## Telemetry
11
11
@@ -23,7 +23,7 @@ If the user explicitly opts out of telemetry, omit `--telemetry` for the rest of
23
23
## When to Use
24
24
25
25
- Analyzing or remediating many repos in parallel (one container per repo)
26
-
-Running multiple analysis types across sources (fan-out: types x repos)
26
+
-Analyzing one type across many sources or repos in a single run (to run multiple types, submit once per type)
27
27
- One-shot batch jobs with no persistent infrastructure between runs
28
28
- Customer wants AWS-managed compute (no EC2 instance to manage)
29
29
@@ -142,11 +142,11 @@ Without `--execute`, the command prints the CFN template (dry-run preview).
142
142
143
143
### 3. Submit Analysis
144
144
145
-
Requires Executor credentials. One container per (type x repo).
145
+
Requires Executor credentials. Exactly one --type per run; one container per repo.
-`--type <type>` — exactly ONE analysis type per run (rapid-techdebt-analysis, tech-debt-comprehensive, security, agentic-readiness, modernization-readiness, custom); to run multiple types, submit once per type
160
160
-`--sources src1,src2` — multiple sources
161
161
-`--repos src::repo1,src::repo2` — specific repos (fully qualified)
162
162
-`--labels java,spring` — filter repos by labels (AND semantics)
163
-
-`--transformation-name <name>` — required when `--types custom`
163
+
-`--transformation-name <name>` — required when `--type custom`
164
164
-`-g key=value` — configuration for custom transformations
165
165
166
166
Stack targeting (choose one):
@@ -198,10 +198,12 @@ Re-submits only the non-completed jobs from the original batch.
`--job` requires `--batch`. It kills only that job's container and marks only that repo's slot cancelled — sibling repos sharing the analysis id keep running, and the aggregate settles once every slot is terminal.
206
+
205
207
### 7. Submit Remediation
206
208
207
209
Requires completed analysis with findings.
@@ -265,7 +267,7 @@ S3 buckets (source code, outputs) and Secrets Manager tokens are preserved. VPC/
|`Stack not deployed`| No Batch infra | Run `atx ct remote provision --mode batch ...`|
267
269
|`Token invalid for source`| Expired/revoked SCM token | Run `atx ct remote credentials --source <src> --token <new> --ack`|
268
-
|`Job count exceeds Lambda batch limit of 250`| Too many type x repo combinations| Split into multiple submissions |
270
+
|`Job count exceeds Lambda batch limit of 250`| Too many repos in one run | Split into multiple submissions |
269
271
|`Batch name already exists`| Duplicate batch name | Use a unique `--batch-name` or omit for auto-generated |
270
272
|`No repos resolved`| Source has no repos or labels don't match | Check `atx ct repository list --source <src>`|
271
273
|`No deployed stack found for tags`|`--tags` matched no deployed stack | Verify tags with `atx ct remote detect --mode batch --tags <k=v>`, or target by `--stack-name`|
`--job` kills only that job's in-container process and marks only that repo's slot cancelled — sibling repos sharing the analysis id keep running, and the aggregate settles once every slot is terminal.
212
+
211
213
### 6. Submit Remediation
212
214
213
215
Requires completed analysis with findings.
@@ -267,7 +269,7 @@ Use an existing customer-owned EC2 instance instead of provisioning a new stack.
Copy file name to clipboardExpand all lines: plugins/aws-transform/skills/aws-transform/references/continuous-modernization-guide.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -181,12 +181,13 @@ Use the `/remediation` skill for the exact commands. After execution, show summa
181
181
182
182
### Scheduling Selected
183
183
184
-
Scheduling requires Infrastructure mode. If user is in Local mode, explain: "Scheduling requires Infrastructure mode (S3 + Fargate/EC2). Local mode runs on-demand only — no background jobs. Switch to Infrastructure mode to enable continuous analysis, continuous remediation, and team notifications."
184
+
Scheduled analyses run on **remote infrastructure only** — EventBridge Scheduler dispatching to a provisioned EC2 or Batch stack, managed entirely through `atx ct schedule` commands. Route to [continuous-modernization-schedule.md](continuous-modernization-schedule.md).
185
185
186
-
If already in Infrastructure mode:
186
+
If the user has no remote stack, explain: "Recurring analyses require remote infrastructure (EC2 or Batch). Local mode runs on-demand only — no background jobs. I can provision it with `atx ct remote provision`." Then follow the schedule skill.
187
187
188
-
-**Recurring analysis** — ask cadence (Daily / Weekly / Custom cron). Sets up an EventBridge rule.
189
-
-**Continuous remediation** — monitors for new findings and auto-fixes them. Requires recurring analysis and GitHub write access. Offers severity thresholds (high → auto-fix immediately; medium → auto-fix batched daily; low → log only).
188
+
**Never suggest, write, or offer a local cron entry** (`crontab`, `cron.d`, `launchd`, a systemd timer, Task Scheduler, or a shell loop) to drive `atx ct` on a cadence — not even as a fallback, a "simpler option", or with caveats, and not when the user explicitly asks for one or pushes back on provisioning. A local cron job depends on the laptop being awake and authenticated, leaves no schedule the CLI can list/enable/disable, and creates no anchor analysis. Hold the line and route to `atx ct remote provision` + `atx ct schedule create`.
189
+
190
+
Scheduled remediations are not supported — schedules run analyses only (see the schedule skill).
0 commit comments