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 examplesProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
npx claudepluginhub oslokommune/claude-marketplace --plugin composite-actions