tsh-platform-engineering changelog
This page is a generated copy. The canonical file is plugins/tsh-platform-engineering/CHANGELOG.md.
All notable changes to tsh-platform-engineering are documented here, following
Keep a Changelog 1.1.0 and
Semantic Versioning 2.0.0.
[0.2.3] - 2026-10-30
Removed
- The bundled
context7server — it moved totsh-core. This plugin no longer bundles its own copy;tsh-core, which every plugin may assume is installed, now ships the one shared definition. The skills still look documentation up withcontext7as before. If you have not installedtsh-core, install it to keep the server.
[0.2.2] - 2026-10-27
Changed
implementing-terraform-modulesnow loads alongside the cloud provider's skill when authoring a reusable module. A request to write a reusable AWS RDS module pulled in onlyimplementing-aws-terraformpart of the time, dropping the module-structure layer. The description now leads with the module interface, names authoring a module that several callers instantiate as a trigger, and states that it is the structure layer loaded alongside the provider's resource patterns, not instead of them.
[0.2.1] - 2026-10-02
Fixed
- README documented a bundled
aws-documentationserver and "four other servers"; this plugin's.mcp.jsondeclarescontext7only (the AWS server ships intsh-stack-aws). The section is gone and the 0.2.0 entry below is corrected. - Bitbucket Pipelines. Two tables said AWS access from Bitbucket is "repository
variables plus assume-role", contradicting the OIDC-only rule in
managing-secrets; Bitbucket has supported OIDC since 2021. Both rows now say so. - Azure was missing from every cloud delegation.
optimizing-cloud-cost, theinfrastructure-auditoranddevops-engineeragents named only the AWS and GCP stack skills;auditing-azure-costandtsh-stack-azureare now named alongside. - The cost-allocation tag set contradicted itself:
decision-framework.mdlistedenvironment,team,cost-centre,projectwhiletagging-standards.mddefines the Core 5. The multi-cloud reference now points at the Core 5. - Stale tooling facts: Terraform state locking recommended a DynamoDB table
(deprecated since Terraform 1.11 in favour of S3
use_lockfile), and the Kubernetes validation step offeredkubeval(archived) besidekubeconform. structured-logging.md's sample log carrieduser_idwhile the same file forbids personal identifiers in log fields.
[0.2.0] - 2026-08-22
First content release. Ports the DevOps collection from copilot-collections,
restructured for Claude Code.
Added
- Seven skills:
implementing-terraform-modules,implementing-ci-cd-pipelines,deploying-to-kubernetes,implementing-observability,managing-secrets,optimizing-cloud-cost,designing-multi-cloud-architecture. - Two agents:
devops-engineer, which builds and validates infrastructure changes under an explicit mutation lock, andinfrastructure-auditor, a read-only security, cost and practice audit. shared/discovering-infrastructure-context.md— one copy of the platform, IaC dialect, cloud, version-pin, policy and GitOps detection logic, loaded by every skill through${CLAUDE_PLUGIN_ROOT}..mcp.jsonwithcontext7, read-only. (This line originally also claimed the AWS Labsaws-documentationserver, which ships intsh-stack-aws— see the cloud-boundary section below.)
Split along the cloud boundary
Cloud-specific content moved out to tsh-stack-aws, tsh-stack-gcp and
tsh-stack-azure, leaving this plugin cloud-agnostic. The reasoning: a repository has one cloud, and the install model
already separates the two — a discipline plugin travels with the engineer at user scope,
a stack plugin with the repository at project scope. An AWS project now installs AWS
content and nothing else.
- Moved out:
aws-modules.mdandgcp-modules.mdbecameimplementing-aws-terraformandimplementing-gcp-terraform;aws-cost-audit.md,gcp-cost-audit.mdandaudit-report-format.mdbecameauditing-aws-costandauditing-gcp-cost, each carrying its own procedure and report format so it stands alone. - Kept here: the audit-independent cost framework, module structure, state and
Terragrunt, pipelines, Kubernetes, observability, secrets, and all cross-cloud
comparison —
designing-multi-cloud-architectureneeds every provider's tables in one place, so it cannot be split by cloud. - Azure moved too, into
tsh-stack-azure. Its 87-line modules reference becameimplementing-azure-terraform, andauditing-azure-costwas written from scratch —copilot-collectionshad cost prompts for AWS and GCP only, so there was no Azure counterpart to port. - No delegation instructions. Nothing here tells the model to invoke a cloud
plugin's skill: descriptions carry the routing, as
implementing-nestjs-apiandreviewing-codealready do. A pointer into a project-scope plugin from a user-scope one dangles on every repository that has no cloud plugin installed.
Changed from the copilot-collections originals
- The four internal implementation prompts — Terraform, pipeline, Kubernetes, observability — are folded into the procedure sections of their matching skills rather than shipping as four near-duplicate routing entries.
- The AWS and GCP cost-analysis prompts became
auditing-aws-costandauditing-gcp-costin the newtsh-stack-awsandtsh-stack-gcpplugins. This plugin keeps the cloud-agnostic framework inoptimizing-cloud-cost— pricing models, storage tiering, tagging governance, right-sizing method, and the cost-impact estimate every proposal carries — and no longer performs account audits. - The infrastructure-audit prompt became the
infrastructure-auditoragent, with the procedure in the agent body rather than a companion skill. - The mandatory
tsh-architectsub-agent delegation was dropped. No architect agent exists in this marketplace, and cross-plugin agent references cannot be relied on. The three-option output contract it fed — Golden Path, Cost-Optimized, Velocity — is kept indevops-engineer. - The human-approval-record precondition was dropped. It validated a field set
that TSH's plan format here does not carry, so the check could only ever fail
closed. The narrower mutation lock replaces it: no
apply,destroy,installordeletewithout explicit per-command authorization. - Cloud MCP servers moved to the cloud plugins. This plugin bundles
context7only.aws-documentationships intsh-stack-aws;gcp-gcloud,gcp-observabilityandgcp-storageship intsh-stack-gcp. A consequence worth having: a GCP repository never starts an AWS server, and the one server that can mutate infrastructure is scoped to the repository whose cloud it belongs to. - Cross-plugin file dependencies were severed.
tsh-technical-context-discoveringandtsh-codebase-analysingreferences are replaced by this plugin's own shared context file and by IaC-analysis steps inside the audit agent and cost skill. Name-based references totsh-coreare used where a core skill already owns the outcome:/tsh-core:managing-decision-recordswhen a provider or topology choice is made, and/tsh-core:writing-technical-documentsfor audit and cost reports that leave the team.tsh-coreis assumed installed — it depends on nothing and everyone has it. - The mandatory-tag set was reconciled. The original skill and its reference
disagreed; the reference's "Core 5" —
CostCenter,Environment,Service,Owner,DataClass— is canonical, matching what both cost prompts already used. - Every source file over ~150 lines was split into a
SKILL.mdplusreferences/with a Load-when column, per this marketplace's progressive-disclosure rule. - VS Code-specific frontmatter was translated:
vscode/askQuestionsbecomesAskUserQuestion, the model list becomes a singlemodel, and thesequential-thinkingMCP mandate is dropped in favour of extended thinking.