Skip to content

fix: Capability Skill Github Actions Automation - #1072

Draft
robmoffat wants to merge 7 commits into
mainfrom
TX-github-action-skills-automation
Draft

fix: Capability Skill Github Actions Automation#1072
robmoffat wants to merge 7 commits into
mainfrom
TX-github-action-skills-automation

Conversation

@robmoffat

@robmoffat robmoffat commented Jun 10, 2026

Copy link
Copy Markdown
Member

This pull request introduces a new two-phase automation for creating and validating CCC capability catalogues using GitHub Actions workflows and supporting skills documentation. The workflows automate the creation of draft metadata.yaml files for new catalogues and the generation of validated capabilities.yaml files after human review, streamlining the catalogue onboarding process.

This splits the SKILL.md written by @smendis-scottlogic into two parts, in order to avoid the user interaction step in the middle.

The most important changes are:

New GitHub Actions Workflows:

  • Added .github/workflows/draft-catalogue-metadata.yml to automate the creation of a draft catalogue folder and metadata.yaml using an LLM, based on an example service and source cloud. The workflow validates URLs, generates folder structure, and opens a draft PR for review.
  • Added .github/workflows/add-catalogue-capabilities.yml to automate the generation of capabilities.yaml for a catalogue that already has a reviewed metadata.yaml. The workflow validates the output, commits the new file, and comments on the PR when ready for review.

Supporting Skill Documentation:

  • Added skills/create-capability-catalogue-metadata/SKILL.md, detailing the step-by-step process for generating cross-cloud mappings and metadata.yaml, with explicit instructions for both interactive and GitHub Actions modes.
  • Added skills/create-capability-catalogue-capabilities/SKILL.md, specifying the process for generating capabilities.yaml from confirmed metadata, including schema validation and formatting rules for both interactive and GitHub Actions modes.

Workflow Improvements:

  • Updated .github/workflows/yaml_check.yml to accept a git ref input and use actions/checkout@v4, allowing validation of YAML files on specific branches as part of the new workflows.
  • PR title follows the Conventional Commits format (see the guide at the top of this template)
  • Tests / docs updated as needed

How It Works

Once this PR is merged to main (I did this in my robmoffat/common-cloud-controls fork), you get two new Github Actions:
Screenshot 2026-06-10 at 13 04 59
Screenshot 2026-06-10 at 12 57 52

Running the "Draft Catalog Metadata" one will create a branch containing the metadata which you can review. It also creates a PR if the action is merged to the main of FINOS/common-cloud-controls - this doesn't work on my fork.

Screenshot 2026-06-10 at 13 03 03

You can then review the PR and make sure it gets all the details correct (@smendis-scottlogic you had this in an interactive session, but that won't work with GHA, hence the split to two skills).

Once you have reviewed the PR, you run the second action:

Screenshot 2026-06-10 at 13 03 56 Screenshot 2026-06-10 at 13 05 25 Screenshot 2026-06-10 at 13 15 24

And once that completes the PR will have the capabilities in to review too:

Screenshot 2026-06-10 at 13 15 45

@netlify

netlify Bot commented Jun 10, 2026

Copy link
Copy Markdown

Deploy Preview for common-cloud-controls canceled.

Name Link
🔨 Latest commit 9d6f3e3
🔍 Latest deploy log https://app.netlify.com/projects/common-cloud-controls/deploys/6a55fc0f46b54e0008366d22

@robmoffat
robmoffat requested a review from a team as a code owner June 10, 2026 11:51
@robmoffat

Copy link
Copy Markdown
Member Author

@zigmax it would be great if we could automate the threats analysis in the same way. Can you take a look at writing some skills for this?

@robmoffat

Copy link
Copy Markdown
Member Author

You can see the result of this working on my fork: robmoffat#2

@smendis-scottlogic

Copy link
Copy Markdown
Contributor

Hi @robmoffat, I'm ok with splitting the skill. But it has very tight coupling, which I believe is unnecessary. For example. I have committed the metadata file to the repo. Now I want to use the Github action / skill to create the capabilities.yaml but unable to do that because I do not have an open PR to commit the metadata.yml


- `example_service` and `source_cloud` are supplied in the prompt wrapper — do not ask for them.
- Do **not** wait for CONFIRM or EDIT; complete all assigned steps in one response.
- **Call A (Step 1 only):** return **JSON only** (no markdown, no prose):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is "Call A" defined? And what is the use of it?

}
```

- **Call B (Steps 2–4):** return exactly two parts:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where i "Call B defined? And what is the use of it?

- Do **not** modify `metadata.yaml`.
- Return **raw YAML only** for `capabilities.yaml` (no markdown fences, no commentary). File must validate against `schemas/capabilities-schema.json`.

Companion files appended below this skill: PR-branch `metadata.yaml`, `schemas/capabilities-schema.json`, `style-guides/catalogs/capability-style-guide.yaml`, core capability id+title index, and an example `capabilities.yaml`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is missing core capabilities file as a companion file.

I can't see where capabilities.yaml file is provided as an example in this SKILL. May be I understood it wrong.

@robmoffat

Copy link
Copy Markdown
Member Author

Hi @robmoffat, I'm ok with splitting the skill. But it has very tight coupling, which I believe is unnecessary. For example. I have committed the metadata file to the repo. Now I want to use the Github action / skill to create the capabilities.yaml but unable to do that because I do not have an open PR to commit the metadata.yml

What do you suggest?

@robmoffat

Copy link
Copy Markdown
Member Author

Hi Sonali,

I think I've addressed your issues above. It had made a bit of a dog's breakfast splitting them in two which I hadn't anticipated.

You can use the skills in GHA:

https://github.com/robmoffat/common-cloud-controls/pull/5/changes#diff-8ce639b9e88beda79092e89dc194b45d96dee5b638d89f8e4196f9924cd1f283

And also from cursor:
Screenshot 2026-06-11 at 09 44 15

Screenshot 2026-06-11 at 09 45 42 Screenshot 2026-06-11 at 09 46 19

@smendis-scottlogic

Copy link
Copy Markdown
Contributor

Hi @robmoffat, I'm ok with splitting the skill. But it has very tight coupling, which I believe is unnecessary. For example. I have committed the metadata file to the repo. Now I want to use the Github action / skill to create the capabilities.yaml but unable to do that because I do not have an open PR to commit the metadata.yml

What do you suggest?

I think we should ask the branch and the metadata.yaml file path to overcome this issue.

@eddie-knight
eddie-knight marked this pull request as draft July 9, 2026 16:25
@robmoffat

Copy link
Copy Markdown
Member Author

Hi Maxime, thanks for approving. I actually think I need to update this PR now you have written your skills. So I won't merge yet

@github-actions

Copy link
Copy Markdown

This issue will be closed as stale in 7 days. If this issue is blocked,
please tag or assign the appropriate party to move this forward.

@github-actions github-actions Bot added the stale label Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants