commit 1c761b308a2206db2d4c3cfe3cbeb3cb4fae469c Author: Zhongwei Li Date: Sun Nov 30 08:30:25 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..58b22e1 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "github-skills", + "description": "Collection of Github related skills", + "version": "0.0.0-2025.11.28", + "author": { + "name": "Kai Hendry", + "email": "hendry+skills@iki.fi" + }, + "skills": [ + "./skills/actions-optimiser" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a358fb2 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# github-skills + +Collection of Github related skills diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..5fa16a3 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,44 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:kaihendry/skills:github-skills", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "e5b164b00c06ad82fe8760a485d421ccb1e85f25", + "treeHash": "763c6e2e9565ccd39daf748bf6cb637b822907d74898601227e4ee053673ea46", + "generatedAt": "2025-11-28T10:19:24.209372Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "github-skills", + "description": "Collection of Github related skills" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "e4ec7392ae46763441e8443ce13363d3ac167912a2c47fab9192141d4d4ffe01" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "ba8a0593c178a535fd31c6f23f07f6887ef1c86fed8cfacf4ab6a4f0802db9d9" + }, + { + "path": "skills/actions-optimiser/SKILL.md", + "sha256": "824411885dc00a76f6f96ad110b1e13d59d834c16957797540323e6169ab9b25" + } + ], + "dirSha256": "763c6e2e9565ccd39daf748bf6cb637b822907d74898601227e4ee053673ea46" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/actions-optimiser/SKILL.md b/skills/actions-optimiser/SKILL.md new file mode 100644 index 0000000..e7ea4df --- /dev/null +++ b/skills/actions-optimiser/SKILL.md @@ -0,0 +1,33 @@ + +--- +name: Github actions optimiser +description: Steps for creating better Github actions by gathering context on how they are used +--- + +# Process + +## 1. Search for how an action is used: + +When a Github workflow .github/workflows/* is using action in the YAML such as: + + uses: hashicorp/setup-terraform@v3 + +You can use the pre-installed github cli to see how it is used by other repositories: + + gh search code "setup-terraform path:.github/workflows" + +## 2. Viewing search results with context + +Use the pattern /repos/{owner}/{repo}/contents/{path} to look up at least five of the results in parallel. For example: + + gh api repos/Sofiane-Truman/cloud-foundation-fabric/contents/.github/workflows/linting.yml | jq -r '.content' | base64 -d | less + +## 3. Check with authorative usage + +Given the earlier example of hashicorp/setup-terraform@v3, the canonical source +respository is https://github.com/hashicorp/setup-terraform. Study the README.md + +## 4. Plan for optimisations + +How can the Github worklow be better? Assume we want to use the latest version of the actions and +try keep to the defaults, though find & explore novel yet succinct usages from Github search. \ No newline at end of file