From composite-actions
This skill should be used when the user is working on a GitHub Actions workflow and needs to deploy to CloudFront, ECS, or Terraform, copy images between registries, set up the ok CLI, or mentions oslokommune/composite-actions. Also use when the user needs these capabilities but may not know Oslo Kommune composite actions exist.
How this skill is triggered — by the user, by Claude, or both
Slash command
/composite-actions:composite-actionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reusable composite GitHub Actions for CI/CD pipelines at Oslo Kommune.
Reusable composite GitHub Actions for CI/CD pipelines at Oslo Kommune.
| Action | Purpose |
|---|---|
cloudfront-deploy | Deploy static sites to S3 + CloudFront |
crane-copy-image | Copy container images between registries |
delete-release | Delete a GitHub release |
detect-stale-job | Prevent out-of-order deployments |
determine-stacks | Determine which Terraform stacks to run |
disallow-same-approver | Enforce four-eyes principle |
ecs-update-and-deploy-task-definition | Deploy to ECS with updated images |
generate-tag | Generate unique artifact tags |
optimize-apt-get | Speed up apt-get on runners |
package-and-upload-artifact | Upload artifacts to dev/prod AWS |
renovate-metadata | Extract Renovate PR metadata |
repository-dispatch | Trigger repository dispatch events |
setup-boilerplate | Install Boilerplate CLI |
setup-ok | Install ok CLI and dependencies |
terraform-deploy | Deploy infrastructure via Terraform |
verify-created-release | Verify release was created |
CloudFront Deploy - Deploy static sites:
- uses: oslokommune/composite-actions/cloudfront-deploy@v1
with:
aws-role-arn: ${{ secrets.AWS_ROLE_ARN }}
s3-bucket-name: my-website-bucket
site-path: ./dist
ECS Deploy - Update and deploy ECS task definitions:
- uses: oslokommune/composite-actions/ecs-update-and-deploy-task-definition@v1
with:
aws-region: eu-west-1
aws-role-arn: ${{ secrets.AWS_ROLE_ARN }}
cluster-name: my-cluster
service-name: my-service
task-definition-name: my-task
images: '[{"container": "app", "image": "123456789.dkr.ecr.eu-west-1.amazonaws.com/my-app:latest"}]'
deploy: true
Terraform Deploy - Deploy infrastructure:
- uses: oslokommune/composite-actions/terraform-deploy@v1
with:
config: ${{ needs.setup.outputs.config }}
stack-dir: infrastructure/app
environment: dev
github-deploy-key: ${{ secrets.DEPLOY_KEY }}
Setup ok CLI - Install ok and dependencies:
- uses: oslokommune/composite-actions/setup-ok@v1
with:
ok_version: latest
terraform_version: 1.5.7
Setup Boilerplate - Install Boilerplate CLI:
- uses: oslokommune/composite-actions/setup-boilerplate@v1
with:
version: 0.5.16
Copy Images - Copy between ECR/GHCR:
- uses: oslokommune/composite-actions/crane-copy-image@v1
with:
aws-region: eu-west-1
source-image: ghcr.io/org/app:v1.0.0
destination-image: 123456789.dkr.ecr.eu-west-1.amazonaws.com/app:v1.0.0
aws-ecr-login: true
ghcr-login: true
token: ${{ secrets.GITHUB_TOKEN }}
Detect Stale Job - Prevent out-of-order deploys:
- uses: oslokommune/composite-actions/detect-stale-job@v1
with:
cancel-if-stale: true
Disallow Same Approver - Four-eyes principle:
- uses: oslokommune/composite-actions/disallow-same-approver@v1
references/reference.md - Complete input/output reference for all actionsreferences/examples.md - Full workflow examplesnpx claudepluginhub oslokommune/claude-marketplace --plugin composite-actionsBuilds accessible UIs with shadcn/ui components on Radix UI + Tailwind CSS, plus canvas visuals. For React apps (Next.js, Vite, Remix, Astro), design systems, responsive layouts, themes, dark mode, prototypes.