Skip to content

Commit 87dd823

Browse files
author
JadeGate
committed
feat: add 30 new skills (20 MCP + 10 tools), total 151
New MCP: github_code_search, github_releases, gitlab_issues, gitlab_mr, bitbucket_repos, aws_s3_list, aws_dynamodb, gcp_bigquery, gcp_storage, stripe_checkout, stripe_subscriptions, reddit_search, hackernews_top, stackoverflow_search, npm_package_info, pypi_package_info, kubernetes_pods, prometheus_query, twitch_streams, clickhouse_query New Tools: xml_to_json, json_to_csv, html_sanitizer, text_word_count, file_checksum, url_parser, ip_subnet_calc, date_format_convert, string_case_convert, text_encrypt_decrypt All 151 skills verified and signed.
1 parent 2f5a6b4 commit 87dd823

66 files changed

Lines changed: 5380 additions & 150 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CATALOG.md

Lines changed: 159 additions & 129 deletions
Large diffs are not rendered by default.

jade_registry/skill_index.json

Lines changed: 456 additions & 3 deletions
Large diffs are not rendered by default.
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
{
2+
"jade_version": "1.0.0",
3+
"skill_id": "mcp_aws_dynamodb",
4+
"metadata": {
5+
"name": "MCP AWS DynamoDB Query",
6+
"version": "1.0.0",
7+
"description": "Query items from an AWS DynamoDB table.",
8+
"author": "jade-mcp-bridge",
9+
"tags": [
10+
"mcp",
11+
"aws",
12+
"dynamodb",
13+
"database"
14+
],
15+
"license": "BSL-1.1",
16+
"created_at": "2026-02-22T17:49:27Z",
17+
"updated_at": "2026-02-22T17:49:27Z"
18+
},
19+
"trigger": {
20+
"type": "task_intent",
21+
"conditions": [
22+
{
23+
"field": "task.type",
24+
"operator": "in",
25+
"value": [
26+
"mcp_aws_dynamodb"
27+
]
28+
}
29+
]
30+
},
31+
"input_schema": {
32+
"required_params": [
33+
{
34+
"name": "table",
35+
"type": "string",
36+
"description": "DynamoDB table name"
37+
},
38+
{
39+
"name": "region",
40+
"type": "string",
41+
"description": "AWS region"
42+
},
43+
{
44+
"name": "key_condition",
45+
"type": "string",
46+
"description": "Key condition expression"
47+
}
48+
],
49+
"optional_params": []
50+
},
51+
"output_schema": {
52+
"fields": [
53+
{
54+
"name": "results",
55+
"type": "array",
56+
"description": "Query results"
57+
},
58+
{
59+
"name": "status",
60+
"type": "string",
61+
"description": "Status"
62+
}
63+
]
64+
},
65+
"execution_dag": {
66+
"nodes": [
67+
{
68+
"id": "query",
69+
"action": "http_post",
70+
"params": {
71+
"url": "https://dynamodb.{{input.region}}.amazonaws.com/",
72+
"headers": {
73+
"Authorization": "Bearer {{env.AWS_TOKEN}}",
74+
"X-Amz-Target": "DynamoDB_20120810.Query",
75+
"Content-Type": "application/x-amz-json-1.0"
76+
},
77+
"body": {
78+
"TableName": "{{input.table}}",
79+
"KeyConditionExpression": "{{input.key_condition}}"
80+
}
81+
}
82+
},
83+
{
84+
"id": "chk",
85+
"action": "condition_check",
86+
"params": {
87+
"field": "{{query.output.status_code}}",
88+
"operator": "equals",
89+
"value": 200
90+
}
91+
},
92+
{
93+
"id": "ext",
94+
"action": "json_extract",
95+
"params": {
96+
"data": "{{query.output.body}}",
97+
"path": "$.Items[*]"
98+
}
99+
},
100+
{
101+
"id": "ret",
102+
"action": "return_result",
103+
"params": {
104+
"results": "{{ext.output.value}}",
105+
"status": "ok"
106+
}
107+
}
108+
],
109+
"edges": [
110+
{
111+
"from": "query",
112+
"to": "chk"
113+
},
114+
{
115+
"from": "chk",
116+
"to": "ext"
117+
},
118+
{
119+
"from": "ext",
120+
"to": "ret"
121+
}
122+
],
123+
"entry_node": "query",
124+
"exit_node": [
125+
"ret"
126+
]
127+
},
128+
"security": {
129+
"network_whitelist": [
130+
"dynamodb.us-east-1.amazonaws.com",
131+
"dynamodb.us-west-2.amazonaws.com",
132+
"dynamodb.eu-west-1.amazonaws.com",
133+
"dynamodb.ap-northeast-1.amazonaws.com",
134+
"dynamodb.placeholder.amazonaws.com"
135+
],
136+
"file_permissions": {
137+
"read": [],
138+
"write": []
139+
},
140+
"max_execution_time_ms": 15000,
141+
"max_retries": 1,
142+
"sandbox_level": "standard",
143+
"dangerous_patterns": [],
144+
"env_whitelist": [
145+
"AWS_TOKEN"
146+
]
147+
},
148+
"mcp_compatible": true,
149+
"required_mcp_capabilities": [
150+
"aws-dynamodb"
151+
],
152+
"jade_signature": {
153+
"version": "1.0.0",
154+
"skill_id": "mcp_aws_dynamodb",
155+
"content_hash": "sha256:22872c9476824f6b53388fd71c431b73c1a77b15ef9d6eba49491b4fa73c5611",
156+
"signature": "jade-sig-yf5/RwHkhwYZGZyq1JPWbnS0+xDyMmDkgMtqD5bP+9/PApVC9eu6o+cUJtqdMjpiNnxxE83+CEUchXRAnSyJAw==",
157+
"signer": {
158+
"public_key": "jade-pk-root-o0p0Em+ufryyPQFFdKHEdSbWOPCqiGhUwwC9AjYJb/U=",
159+
"fingerprint": "SHA256:HU0Dpg+xFPNxCURZhG9eX6Yx+ynMlbincaJxIRUJt98=",
160+
"role": "root"
161+
},
162+
"timestamp": "2026-02-22T17:51:14Z",
163+
"expires": "2027-02-22T17:51:14Z"
164+
}
165+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"jade_signature": {
3+
"version": "1.0.0",
4+
"skill_id": "mcp_aws_dynamodb",
5+
"content_hash": "sha256:22872c9476824f6b53388fd71c431b73c1a77b15ef9d6eba49491b4fa73c5611",
6+
"signature": "jade-sig-yf5/RwHkhwYZGZyq1JPWbnS0+xDyMmDkgMtqD5bP+9/PApVC9eu6o+cUJtqdMjpiNnxxE83+CEUchXRAnSyJAw==",
7+
"signer": {
8+
"public_key": "jade-pk-root-o0p0Em+ufryyPQFFdKHEdSbWOPCqiGhUwwC9AjYJb/U=",
9+
"fingerprint": "SHA256:HU0Dpg+xFPNxCURZhG9eX6Yx+ynMlbincaJxIRUJt98=",
10+
"role": "root"
11+
},
12+
"timestamp": "2026-02-22T17:51:14Z",
13+
"expires": "2027-02-22T17:51:14Z"
14+
}
15+
}
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
{
2+
"jade_version": "1.0.0",
3+
"skill_id": "mcp_aws_s3_list",
4+
"metadata": {
5+
"name": "MCP AWS S3 List Objects",
6+
"version": "1.0.0",
7+
"description": "List objects in an AWS S3 bucket.",
8+
"author": "jade-mcp-bridge",
9+
"tags": [
10+
"mcp",
11+
"aws",
12+
"s3",
13+
"storage"
14+
],
15+
"license": "BSL-1.1",
16+
"created_at": "2026-02-22T17:49:27Z",
17+
"updated_at": "2026-02-22T17:49:27Z"
18+
},
19+
"trigger": {
20+
"type": "task_intent",
21+
"conditions": [
22+
{
23+
"field": "task.type",
24+
"operator": "in",
25+
"value": [
26+
"mcp_aws_s3_list"
27+
]
28+
}
29+
]
30+
},
31+
"input_schema": {
32+
"required_params": [
33+
{
34+
"name": "bucket",
35+
"type": "string",
36+
"description": "S3 bucket name"
37+
},
38+
{
39+
"name": "region",
40+
"type": "string",
41+
"description": "AWS region"
42+
}
43+
],
44+
"optional_params": [
45+
{
46+
"name": "prefix",
47+
"type": "string",
48+
"description": "Key prefix filter",
49+
"default": ""
50+
}
51+
]
52+
},
53+
"output_schema": {
54+
"fields": [
55+
{
56+
"name": "results",
57+
"type": "array",
58+
"description": "S3 objects"
59+
},
60+
{
61+
"name": "status",
62+
"type": "string",
63+
"description": "Status"
64+
}
65+
]
66+
},
67+
"execution_dag": {
68+
"nodes": [
69+
{
70+
"id": "fetch",
71+
"action": "http_get",
72+
"params": {
73+
"url": "https://s3.{{input.region}}.amazonaws.com/{{input.bucket}}?list-type=2&prefix={{input.prefix}}",
74+
"headers": {
75+
"Authorization": "Bearer {{env.AWS_TOKEN}}"
76+
}
77+
}
78+
},
79+
{
80+
"id": "chk",
81+
"action": "condition_check",
82+
"params": {
83+
"field": "{{fetch.output.status_code}}",
84+
"operator": "equals",
85+
"value": 200
86+
}
87+
},
88+
{
89+
"id": "ext",
90+
"action": "json_extract",
91+
"params": {
92+
"data": "{{fetch.output.body}}",
93+
"path": "$.ListBucketResult.Contents[*]",
94+
"fields": [
95+
"Key",
96+
"Size",
97+
"LastModified"
98+
]
99+
}
100+
},
101+
{
102+
"id": "ret",
103+
"action": "return_result",
104+
"params": {
105+
"results": "{{ext.output.value}}",
106+
"status": "ok"
107+
}
108+
}
109+
],
110+
"edges": [
111+
{
112+
"from": "fetch",
113+
"to": "chk"
114+
},
115+
{
116+
"from": "chk",
117+
"to": "ext"
118+
},
119+
{
120+
"from": "ext",
121+
"to": "ret"
122+
}
123+
],
124+
"entry_node": "fetch",
125+
"exit_node": [
126+
"ret"
127+
]
128+
},
129+
"security": {
130+
"network_whitelist": [
131+
"s3.us-east-1.amazonaws.com",
132+
"s3.us-west-2.amazonaws.com",
133+
"s3.eu-west-1.amazonaws.com",
134+
"s3.ap-northeast-1.amazonaws.com",
135+
"s3.placeholder.amazonaws.com"
136+
],
137+
"file_permissions": {
138+
"read": [],
139+
"write": []
140+
},
141+
"max_execution_time_ms": 15000,
142+
"max_retries": 1,
143+
"sandbox_level": "standard",
144+
"dangerous_patterns": [],
145+
"env_whitelist": [
146+
"AWS_TOKEN"
147+
]
148+
},
149+
"mcp_compatible": true,
150+
"required_mcp_capabilities": [
151+
"aws-s3"
152+
],
153+
"jade_signature": {
154+
"version": "1.0.0",
155+
"skill_id": "mcp_aws_s3_list",
156+
"content_hash": "sha256:75960c3b34d9035a56de61fff5aea57d8905e609b8eb220e7e3ac31b79853fd0",
157+
"signature": "jade-sig-ymirVFbhlVFRwOa5JyJqyzduPuJc+iqMJJR54F6SXEV5HQXj98bYYF7HyeFQA3z4KfmEO7B3NpBiPem8P6dJDQ==",
158+
"signer": {
159+
"public_key": "jade-pk-root-o0p0Em+ufryyPQFFdKHEdSbWOPCqiGhUwwC9AjYJb/U=",
160+
"fingerprint": "SHA256:HU0Dpg+xFPNxCURZhG9eX6Yx+ynMlbincaJxIRUJt98=",
161+
"role": "root"
162+
},
163+
"timestamp": "2026-02-22T17:51:15Z",
164+
"expires": "2027-02-22T17:51:15Z"
165+
}
166+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"jade_signature": {
3+
"version": "1.0.0",
4+
"skill_id": "mcp_aws_s3_list",
5+
"content_hash": "sha256:75960c3b34d9035a56de61fff5aea57d8905e609b8eb220e7e3ac31b79853fd0",
6+
"signature": "jade-sig-ymirVFbhlVFRwOa5JyJqyzduPuJc+iqMJJR54F6SXEV5HQXj98bYYF7HyeFQA3z4KfmEO7B3NpBiPem8P6dJDQ==",
7+
"signer": {
8+
"public_key": "jade-pk-root-o0p0Em+ufryyPQFFdKHEdSbWOPCqiGhUwwC9AjYJb/U=",
9+
"fingerprint": "SHA256:HU0Dpg+xFPNxCURZhG9eX6Yx+ynMlbincaJxIRUJt98=",
10+
"role": "root"
11+
},
12+
"timestamp": "2026-02-22T17:51:15Z",
13+
"expires": "2027-02-22T17:51:15Z"
14+
}
15+
}

0 commit comments

Comments
 (0)