Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 17:52:06 +08:00
commit 6823d09952
6 changed files with 155 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
{
"name": "development-skills",
"description": "Collection of development and coding skills",
"version": "0.0.0-2025.11.28",
"author": {
"name": "Alex Holmes",
"email": "alex@sed.dev"
},
"skills": [
"./skills/version"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# development-skills
Collection of development and coding skills

52
plugin.lock.json Normal file
View File

@@ -0,0 +1,52 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:alexhholmes/skills:development-skills",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "dfd8be8bcd6f0d5c7c3f0b1efbe5e573bafd92f5",
"treeHash": "516515b5b6835807b72ed45ebe492ab4ae9b2d9c44f7085034155a084fa614d4",
"generatedAt": "2025-11-28T10:13:09.078662Z",
"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": "development-skills",
"description": "Collection of development and coding skills"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "d02aedab59b918c20c9047cc914a9fa2e8bc1efcb9bd1a32f2353754c5d20af5"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "91a24d3245fc7ac07534aab40863914285a51fac98d53f698cf7e96e36f7fe40"
},
{
"path": "skills/version/SKILL.md",
"sha256": "1928aa7da4a10c8ef301e8a15075a34522c14e579fbf807cf03d3f1c27a5331f"
},
{
"path": "skills/version/scripts/go-version.sh",
"sha256": "c466c5d5e0bd74ec7b82e0bc787e1fd90e43f5de843421c0fdb8193013950a46"
},
{
"path": "skills/version/scripts/python-version.sh",
"sha256": "812a4e0a3dcd201de84fbde55829d91ae73a4d2b409af150de81ad4366903423"
}
],
"dirSha256": "516515b5b6835807b72ed45ebe492ab4ae9b2d9c44f7085034155a084fa614d4"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}

42
skills/version/SKILL.md Normal file
View File

@@ -0,0 +1,42 @@
---
name: version
description: Search and fetch the latest version of a Go or Python package.
license: Complete terms in LICENSE.txt
---
# Version Fetcher Skill
Fetch latest package versions for Go and Python packages.
## Tools
### get_go_version
Fetch the latest version of a Go package/module.
**Example:** `get_go_version github.com/gin-gonic/gin`
```bash
bash scripts/go-version.sh "$PACKAGE"
```
**Parameters:**
- `PACKAGE` (required): Go module path (e.g., github.com/gin-gonic/gin)
#### Alternative
Get the latest version of all the go mod files using `go list -m -u all`
---
### get_python_version
Fetch the latest version of a Python package from PyPI.
**Example:** `get_python_version requests`
```bash
bash scripts/python-version.sh "$PACKAGE"
```
**Parameters:**
- `PACKAGE` (required): Python package name (e.g., requests, numpy)

View File

@@ -0,0 +1,23 @@
#!/bin/bash
set -euo pipefail
PACKAGE="$1"
# Query Go proxy for latest version
URL="https://proxy.golang.org/${PACKAGE}/@latest"
RESPONSE=$(curl -sf "$URL" 2>/dev/null || echo "")
if [ -z "$RESPONSE" ]; then
echo "Error: Package '$PACKAGE' not found or unreachable" >&2
exit 1
fi
# Extract version from JSON response
VERSION=$(echo "$RESPONSE" | grep -o '"Version":"[^"]*"' | cut -d'"' -f4)
if [ -z "$VERSION" ]; then
echo "Error: Could not parse version from response" >&2
exit 1
fi
echo "$VERSION"

View File

@@ -0,0 +1,23 @@
#!/bin/bash
set -euo pipefail
PACKAGE="$1"
# Query PyPI API for package info
URL="https://pypi.org/pypi/${PACKAGE}/json"
RESPONSE=$(curl -sf "$URL" 2>/dev/null || echo "")
if [ -z "$RESPONSE" ]; then
echo "Error: Package '$PACKAGE' not found on PyPI" >&2
exit 1
fi
# Extract latest version from JSON response
VERSION=$(echo "$RESPONSE" | grep -o '"version":"[^"]*"' | head -1 | cut -d'"' -f4)
if [ -z "$VERSION" ]; then
echo "Error: Could not parse version from response" >&2
exit 1
fi
echo "$VERSION"