agent-toolbox 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +139 -0
- package/LICENSE.md +81 -0
- package/README.md +277 -0
- package/dist/cli/launcher.js +32 -0
- package/dist/cli/main.js +2700 -0
- package/package.json +98 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the agent-toolbox CLI will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.2.0] - 12026-03-10
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
- Correct README path typo and fix pre-commit hook configuration (#9)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### CI/CD
|
|
12
|
+
- *(security)* Integrate Cisco Skill Scanner for automated skill security vetting (#8)
|
|
13
|
+
- *(security)* Add verbose, incremental scanning, and monthly report archiving to skill-scanner (#11)
|
|
14
|
+
- *(security)* Tune skill-scanner models and verbose dispatch handling (#12)
|
|
15
|
+
- *(security)* Resolve skill-scanner verbose input merge markers (#13)
|
|
16
|
+
- Add ESLint and Prettier checks to CI and release pipelines (#20)
|
|
17
|
+
- *(scanner)* Enable VirusTotal unknown-file upload (#24)
|
|
18
|
+
- *(scanner)* Output markdown reports on PR scans and remove push trigger (#25)
|
|
19
|
+
- *(scanner)* Add push trigger with lightweight scan and PR concurrency (#29)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Documentation
|
|
23
|
+
- Expand Why section with security vetting rationale and update package metadata (#3)
|
|
24
|
+
- Add security policy and update README Contributing section (#5)
|
|
25
|
+
- *(security)* Replace double hyphens with em dashes for proper rendering (#6)
|
|
26
|
+
- *(skill)* Refine catalog-porter references and add SPDX license guidance (#10)
|
|
27
|
+
- Lowercase docs/ filenames and update all references (#15)
|
|
28
|
+
- Update AGENTS.md hierarchy for ESLint, Prettier, and Lefthook (#18)
|
|
29
|
+
- Add known issues tracking document (#21)
|
|
30
|
+
- *(cli)* Add dual-runtime architecture reference (#23)
|
|
31
|
+
- *(security)* March 12026 security scan report & catalog hardening (#14)
|
|
32
|
+
- *(readme)* Overhaul README and add CONTRIBUTING.md (#28)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Features
|
|
36
|
+
- *(cli)* Add list, find, remove, check, update commands (#19)
|
|
37
|
+
- *(cli)* Add dual-runtime build pipeline for npx and bunx support (#22)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Miscellaneous
|
|
41
|
+
- V0.2.0 prep — branch protection, zod v4, npm package trim (#1)
|
|
42
|
+
- Update Buy Me a Coffee username in FUNDING.yml (#2)
|
|
43
|
+
- Rename project and release docs (#16)
|
|
44
|
+
- Set up ESLint, Prettier, and Lefthook (#17)
|
|
45
|
+
- *(github)* Add pull request template (#26)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## [0.1.0] - 12026-02-28
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
- Correct find-skills LICENSE copyright holder to Vercel, Inc.
|
|
52
|
+
- Align skill frontmatter domains with consolidated taxonomy
|
|
53
|
+
- *(ci)* Ignore volatile timestamp in drift detection
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Build
|
|
57
|
+
- Bootstrap Bun-first TypeScript toolchain
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### CI/CD
|
|
61
|
+
- Add GitHub Actions CI/CD workflow
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Documentation
|
|
65
|
+
- Add AGENTS.md project knowledge base
|
|
66
|
+
- Add license notice for git-master (Sustainable Use License 1.0)
|
|
67
|
+
- Strengthen generic checklist and templates in docs-writer
|
|
68
|
+
- Add reusable templates resource to docs-writer workflow
|
|
69
|
+
- Add license notices for docs-writer (MIT + Apache 2.0 attribution)
|
|
70
|
+
- Restructure root license with third-party component clause
|
|
71
|
+
- Add license notice for github-triage (Sustainable Use License 1.0)
|
|
72
|
+
- Add catalog taxonomy and selective installation architecture
|
|
73
|
+
- Add n8n-derived catalog skills to README
|
|
74
|
+
- Restructure README tables and add listing policy to AGENTS.md
|
|
75
|
+
- Add hierarchical AGENTS.md for dev tooling and catalog directories
|
|
76
|
+
- *(license)* Clarify SUL governance in all catalog NOTICE.md files
|
|
77
|
+
- *(readme)* Add ported and external skill entries
|
|
78
|
+
- Add openclaw skill entries and reference
|
|
79
|
+
- *(AGENTS)* Add catalog curation scope policy
|
|
80
|
+
- *(readme)* Add 33-js-concepts skill entries and reference
|
|
81
|
+
- Update README and catalog metadata for awesome-llm-apps batch
|
|
82
|
+
- Add dify skills and reference to README
|
|
83
|
+
- Center README header
|
|
84
|
+
- *(readme)* Add vercel/streamdown to references table
|
|
85
|
+
- Add provenance classification guide
|
|
86
|
+
- Codify ported skill body integrity convention
|
|
87
|
+
- Add hierarchical AGENTS.md knowledge base via init-deep
|
|
88
|
+
- Restructure documentation
|
|
89
|
+
- Use bunx/npx install UX in README examples
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
### Features
|
|
93
|
+
- Enhance git-master with advanced workflow playbooks
|
|
94
|
+
- Add first two skills from n8n
|
|
95
|
+
- Add content-design and issue-analysis skills from n8n
|
|
96
|
+
- Add create-pr skill from n8n (generalized)
|
|
97
|
+
- Add docs-writer synthesized skill from multiple upstream sources
|
|
98
|
+
- *(taxonomy)* Add developer-tooling, communications, generative-art subdomains
|
|
99
|
+
- *(schemas)* Add Zod schemas for catalog and target types
|
|
100
|
+
- *(cli)* Add validate and build-index commands
|
|
101
|
+
- *(generators)* Add shared interface and copy utilities
|
|
102
|
+
- *(generators)* Add Claude Code and OpenCode generators
|
|
103
|
+
- *(generators)* Add Cursor, Codex, and Gemini generators
|
|
104
|
+
- *(cli)* Add build-target command
|
|
105
|
+
- *(install)* Add selective install engine
|
|
106
|
+
- *(cli)* Add unified entrypoint with subcommand routing
|
|
107
|
+
- *(release)* Add release infrastructure with bumpp, git-cliff, and GitHub Actions
|
|
108
|
+
- *(cli)* Add runtime catalog provider with ETag-based freshness check
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
### Miscellaneous
|
|
112
|
+
- Create .gitignore
|
|
113
|
+
- Add upstream git-master skill baseline
|
|
114
|
+
- Add create-pr skill from n8n-io/n8n
|
|
115
|
+
- Add github-triage skill from oh-my-opencode
|
|
116
|
+
- Add skill-creator and mcp-builder skills from anthropics/skills
|
|
117
|
+
- Update LICENSE copyright to Holocene Era year notation
|
|
118
|
+
- Add find-skills skill from vercel-labs/skills
|
|
119
|
+
- Add 5 skills from wshobson/agents
|
|
120
|
+
- Add update-docs skill from vercel/next.js
|
|
121
|
+
- Add consolidated docs-writer skill with profile references
|
|
122
|
+
- Remove update-docs skill (superseded by docs-writer)
|
|
123
|
+
- Add doc-coauthoring skill from anthropics/skills
|
|
124
|
+
- Add docs-changelog skill from google-gemini/gemini-cli
|
|
125
|
+
- Sync dev tooling create-pr skill with generalized catalog version
|
|
126
|
+
- *(license)* Switch to SUL 1.0 and clarify attribution structure
|
|
127
|
+
- Add frontmatter migration script
|
|
128
|
+
- *(scripts)* Add provenance audit and sync tooling
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
### Refactoring
|
|
132
|
+
- Make docs-writer self-contained and remove gemini profile
|
|
133
|
+
- Remove source-repo-specific assumptions from profiles
|
|
134
|
+
- Consolidate taxonomy by merging testing into devops and adding disambiguation rules
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### Testing
|
|
138
|
+
- Add unit and integration test suite
|
|
139
|
+
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# License
|
|
2
|
+
|
|
3
|
+
Portions of this software are licensed as follows:
|
|
4
|
+
|
|
5
|
+
- Content of branches other than the main branch are not licensed.
|
|
6
|
+
- Certain third-party components incorporated into the agent-toolbox Software may retain their original license terms where explicitly indicated by a NOTICE.md file accompanying that component. All other content is governed by the Sustainable Use License below.
|
|
7
|
+
- Content outside of the above mentioned files or restrictions is available under the "Sustainable Use License" as defined below.
|
|
8
|
+
|
|
9
|
+
## Sustainable Use License
|
|
10
|
+
|
|
11
|
+
Version 1.0
|
|
12
|
+
|
|
13
|
+
### Acceptance
|
|
14
|
+
|
|
15
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
16
|
+
|
|
17
|
+
### Copyright License
|
|
18
|
+
|
|
19
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license
|
|
20
|
+
to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject
|
|
21
|
+
to the limitations below.
|
|
22
|
+
|
|
23
|
+
### Limitations
|
|
24
|
+
|
|
25
|
+
You may use or modify the software only for your own internal business purposes or for non-commercial or
|
|
26
|
+
personal use. You may distribute the software or provide it to others only if you do so free of charge for
|
|
27
|
+
non-commercial purposes. You may not alter, remove, or obscure any licensing, copyright, or other notices of
|
|
28
|
+
the licensor in the software. Any use of the licensor’s trademarks is subject to applicable law.
|
|
29
|
+
|
|
30
|
+
### Patents
|
|
31
|
+
|
|
32
|
+
The licensor grants you a license, under any patent claims the licensor can license, or becomes able to
|
|
33
|
+
license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case
|
|
34
|
+
subject to the limitations and conditions in this license. This license does not cover any patent claims that
|
|
35
|
+
you cause to be infringed by modifications or additions to the software. If you or your company make any
|
|
36
|
+
written claim that the software infringes or contributes to infringement of any patent, your patent license
|
|
37
|
+
for the software granted under these terms ends immediately. If your company makes such a claim, your patent
|
|
38
|
+
license ends immediately for work on behalf of your company.
|
|
39
|
+
|
|
40
|
+
### Notices
|
|
41
|
+
|
|
42
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these
|
|
43
|
+
terms. If you modify the software, you must include in any modified copies of the software a prominent notice
|
|
44
|
+
stating that you have modified the software.
|
|
45
|
+
|
|
46
|
+
### No Other Rights
|
|
47
|
+
|
|
48
|
+
These terms do not imply any licenses other than those expressly granted in these terms.
|
|
49
|
+
|
|
50
|
+
### Termination
|
|
51
|
+
|
|
52
|
+
If you use the software in violation of these terms, such use is not licensed, and your license will
|
|
53
|
+
automatically terminate. If the licensor provides you with a notice of your violation, and you cease all
|
|
54
|
+
violation of this license no later than 30 days after you receive that notice, your license will be reinstated
|
|
55
|
+
retroactively. However, if you violate these terms after such reinstatement, any additional violation of these
|
|
56
|
+
terms will cause your license to terminate automatically and permanently.
|
|
57
|
+
|
|
58
|
+
### No Liability
|
|
59
|
+
|
|
60
|
+
As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will
|
|
61
|
+
not be liable to you for any damages arising out of these terms or the use or nature of the software, under
|
|
62
|
+
any kind of legal claim.
|
|
63
|
+
|
|
64
|
+
### Definitions
|
|
65
|
+
|
|
66
|
+
The “licensor” is the entity offering these terms.
|
|
67
|
+
|
|
68
|
+
The “software” is the software the licensor makes available under these terms, including any portion of it.
|
|
69
|
+
|
|
70
|
+
“You” refers to the individual or entity agreeing to these terms.
|
|
71
|
+
|
|
72
|
+
“Your company” is any legal entity, sole proprietorship, or other kind of organization that you work for, plus
|
|
73
|
+
all organizations that have control over, are under the control of, or are under common control with that
|
|
74
|
+
organization. Control means ownership of substantially all the assets of an entity, or the power to direct its
|
|
75
|
+
management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
76
|
+
|
|
77
|
+
“Your license” is the license granted to you for the software under these terms.
|
|
78
|
+
|
|
79
|
+
“Use” means anything you do with the software requiring your license.
|
|
80
|
+
|
|
81
|
+
“Trademark” means trademarks, service marks, and similar rights.
|
package/README.md
ADDED
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# agent-toolbox
|
|
4
|
+
|
|
5
|
+
[](LICENSE.md)
|
|
6
|
+
[](./docs/release.md)
|
|
7
|
+
[](https://github.com/snu-hanaro/static-fire-toolkit/issues)
|
|
8
|
+
[](https://github.com/cisco-ai-defense)
|
|
9
|
+
[](https://deepwiki.com/yunseo-kim/agent-toolbox)
|
|
10
|
+
|
|
11
|
+
[](https://github.com/yunseo-kim/agent-toolbox/actions/workflows/ci.yml)
|
|
12
|
+
[](https://github.com/yunseo-kim/agent-toolbox/actions/workflows/github-code-scanning/codeql)
|
|
13
|
+
[](https://github.com/yunseo-kim/agent-toolbox/actions/workflows/skill-scanner.yml)
|
|
14
|
+
|
|
15
|
+
Secure infrastructure for the **AI agent skill ecosystem**.
|
|
16
|
+
|
|
17
|
+
A curated, security-vetted registry of agent skills that works across
|
|
18
|
+
**Claude Code, Codex, Gemini CLI, Cursor, OpenCode, and more.**
|
|
19
|
+
|
|
20
|
+
[](https://github.com/sponsors/yunseo-kim)
|
|
21
|
+
|
|
22
|
+
<a href="https://www.buymeacoffee.com/yunseokim" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
|
23
|
+
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
## What is agent-toolbox?
|
|
27
|
+
|
|
28
|
+
AI coding assistants increasingly rely on **agent skills, plugins, hooks, and MCP servers**.
|
|
29
|
+
|
|
30
|
+
But the ecosystem has two major problems:
|
|
31
|
+
|
|
32
|
+
1. **Fragmentation** — standards like [Agent Skills](https://agentskills.io) define a common format, but don't guarantee that the content itself is tool-neutral
|
|
33
|
+
2. **Security risks** — agent skills form a new software supply chain
|
|
34
|
+
|
|
35
|
+
Recent research highlights the scale of the issue:
|
|
36
|
+
|
|
37
|
+
- [Snyk found **13.4% of ~4,000 scanned agent skills contained critical security issues**](<(https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf)>)
|
|
38
|
+
- documented attacks include prompt injection, credential theft, and malware distribution
|
|
39
|
+
- [1Password **discovered the top-downloaded skill on ClawHub was a multi-stage infostealer**](https://1password.com/blog/from-magic-to-malware-how-openclaws-agent-skills-become-an-attack-surface) — the "Twitter" skill embedded a fake "required dependency" that led users through a 5-stage delivery chain ending in a macOS binary with Gatekeeper bypass; [VirusTotal confirmed](https://www.virustotal.com/gui/file/30f97ae88f8861eeadeb54854d47078724e52e2ef36dd847180663b7f5763168) the binary as infostealing malware targeting browser sessions, credentials, developer tokens, and SSH keys
|
|
40
|
+
- **staged delivery**: fake prerequisite → staging page → obfuscated command → second-stage script → binary execution with quarantine removal
|
|
41
|
+
- **coordinated campaign**: [subsequent reporting](https://cyberinsider.com/341-openclaw-skills-distribute-macos-malware-via-clickfix-instructions/) revealed hundreds of skills distributing macOS malware via ClickFix-style instructions — not an isolated upload
|
|
42
|
+
- [Cisco's AI Threat Research team **proved the #1 most-downloaded skill on OpenClaw's registry was functional malware**](https://blogs.cisco.com/ai/personal-ai-agents-like-openclaw-are-a-security-nightmare) — their [Skill Scanner](https://github.com/cisco-ai-defense/skill-scanner) found **9 security findings (2 critical, 5 high severity)** in the "What Would Elon Do?" skill:
|
|
43
|
+
- **silent data exfiltration**: the skill executed `curl` commands sending user data to an attacker-controlled server without any user notification
|
|
44
|
+
- **prompt injection**: forced the AI assistant to bypass its own safety guidelines and execute commands without user consent
|
|
45
|
+
- **command injection**: embedded bash commands executed through the skill's workflow
|
|
46
|
+
- **tool poisoning**: malicious payloads concealed within the skill file itself
|
|
47
|
+
- the malicious skill's popularity had been artificially inflated to rank #1 — demonstrating that **bad actors can manufacture trust in unvetted registries**
|
|
48
|
+
|
|
49
|
+
In many ecosystems, a `SKILL.md` file is effectively **an installer for arbitrary logic**.
|
|
50
|
+
|
|
51
|
+
**agent-toolbox treats agent skills as a new software supply chain.**
|
|
52
|
+
|
|
53
|
+
It provides a **curated, security-scanned catalog of agent components**,
|
|
54
|
+
with cross-tool compatibility and automated provenance tracking.
|
|
55
|
+
|
|
56
|
+
## What You Get
|
|
57
|
+
|
|
58
|
+
You're browsing plugin marketplaces. Saving "awesome" lists from the community.
|
|
59
|
+
You see impressive demos everywhere — but don't want to risk navigating a minefield of prompt injections, credential theft, and malware to boost your productivity.
|
|
60
|
+
|
|
61
|
+
**agent-toolbox takes care of the hard part. Just remember this: `bunx agent-toolbox install`. Done.**
|
|
62
|
+
|
|
63
|
+
agent-toolbox provides:
|
|
64
|
+
|
|
65
|
+
- **110+ curated agent skills** across multiple domains
|
|
66
|
+
- **cross-tool compatibility** for major AI coding assistants
|
|
67
|
+
- **automated security scanning**
|
|
68
|
+
- **provenance tracking** for upstream sources
|
|
69
|
+
- **flexible installation filters**
|
|
70
|
+
|
|
71
|
+
Think of it as:
|
|
72
|
+
|
|
73
|
+
> **Homebrew + Sigstore + npm audit for AI agent skills**
|
|
74
|
+
|
|
75
|
+
## Use Cases
|
|
76
|
+
|
|
77
|
+
agent-toolbox can be used to:
|
|
78
|
+
|
|
79
|
+
- install curated agent skills for **Claude Code, Codex, Cursor, or Gemini CLI**
|
|
80
|
+
- share a **standardized skill catalog across teams**
|
|
81
|
+
- **audit third-party skills** before installing them
|
|
82
|
+
- maintain **secure agent tooling infrastructure**
|
|
83
|
+
- experiment with **cross-tool agent ecosystems**
|
|
84
|
+
|
|
85
|
+
## Getting Started
|
|
86
|
+
|
|
87
|
+
### Install Skills
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Install all skills for a target
|
|
91
|
+
bunx agent-toolbox install --target claude-code
|
|
92
|
+
|
|
93
|
+
# Filter by domain
|
|
94
|
+
bunx agent-toolbox install --target gemini --domain devops
|
|
95
|
+
|
|
96
|
+
# Filter by subdomain
|
|
97
|
+
bunx agent-toolbox install --target gemini --domain devops --subdomain ci-cd
|
|
98
|
+
|
|
99
|
+
# Use a curated preset
|
|
100
|
+
bunx agent-toolbox install --target cursor --preset devops-essentials
|
|
101
|
+
|
|
102
|
+
# Install specific skills
|
|
103
|
+
bunx agent-toolbox install --target claude-code --skill git-master --skill docs-writer
|
|
104
|
+
|
|
105
|
+
# Filter by framework or tag
|
|
106
|
+
bunx agent-toolbox install --target codex --framework nextjs
|
|
107
|
+
bunx agent-toolbox install --target gemini --tag yaml
|
|
108
|
+
|
|
109
|
+
# Preview what would be installed
|
|
110
|
+
bunx agent-toolbox install --target gemini --domain devops --dry-run
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> [!TIP]
|
|
114
|
+
> **npm users:** Replace `bunx` with `npx`.
|
|
115
|
+
|
|
116
|
+
> [!NOTE]
|
|
117
|
+
> All filters compose with AND logic. Default (no filters) installs everything.
|
|
118
|
+
|
|
119
|
+
## Browse the Catalog
|
|
120
|
+
|
|
121
|
+
The catalog currently contains **110+ skills across 10 domains**.
|
|
122
|
+
|
|
123
|
+
Browse by domain:
|
|
124
|
+
**[View the full catalog →](catalog/README.md)**
|
|
125
|
+
|
|
126
|
+
Skills are curated from leading open-source projects and adapted
|
|
127
|
+
for **cross-tool compatibility**.
|
|
128
|
+
|
|
129
|
+
## Supported Targets
|
|
130
|
+
|
|
131
|
+
| Target | Artifact Format | Status |
|
|
132
|
+
| --------------- | -------------------------------- | ----------- |
|
|
133
|
+
| **Claude Code** | `.claude/` skills + plugins | Implemented |
|
|
134
|
+
| **OpenCode** | `skills/` with SKILL.md | Implemented |
|
|
135
|
+
| **Gemini CLI** | `gemini-extension.json` + skills | Implemented |
|
|
136
|
+
| **Cursor** | `.cursor/` compatible artifacts | Implemented |
|
|
137
|
+
| **Codex** | Agent skill directories | Implemented |
|
|
138
|
+
|
|
139
|
+
## Architecture
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
agent-toolbox/
|
|
143
|
+
├── catalog/ # Neutral source-of-truth
|
|
144
|
+
│ ├── skills/ # Flat — one dir per skill, taxonomy via frontmatter
|
|
145
|
+
│ ├── agents/
|
|
146
|
+
│ ├── commands/
|
|
147
|
+
│ ├── hooks/
|
|
148
|
+
│ ├── mcp/
|
|
149
|
+
│ ├── lsp/
|
|
150
|
+
│ └── metadata/ # Taxonomy, presets, and generated index
|
|
151
|
+
│ ├── taxonomy.yaml # Controlled vocabulary (domains + subdomains)
|
|
152
|
+
│ ├── presets.yaml # Curated install bundles
|
|
153
|
+
│ ├── upstream-sources.yaml # Ported/adapted skill upstream mappings
|
|
154
|
+
│ ├── skill-index.json # Auto-generated aggregated skill metadata
|
|
155
|
+
│ └── skill-index.toon # Auto-generated TOON format for LLM consumption
|
|
156
|
+
├── src/ # Bun-first TS toolchain
|
|
157
|
+
│ ├── catalog/ # Skill scanning, validation, index building
|
|
158
|
+
│ ├── cli/ # install/build/validate entrypoints
|
|
159
|
+
│ ├── generators/ # claude-code / opencode / cursor / codex / gemini
|
|
160
|
+
│ ├── install/ # Selective install engine + filter composition
|
|
161
|
+
│ ├── mappers/ # Tool/event/model mapping layers
|
|
162
|
+
│ └── schemas/ # Zod schemas for catalog + targets + install
|
|
163
|
+
├── templates/ # Target-specific render templates
|
|
164
|
+
├── dist/
|
|
165
|
+
│ ├── targets/ # Runtime artifacts per tool
|
|
166
|
+
│ │ ├── claude-code/
|
|
167
|
+
│ │ ├── opencode/
|
|
168
|
+
│ │ ├── cursor/
|
|
169
|
+
│ │ ├── codex/
|
|
170
|
+
│ │ └── gemini/
|
|
171
|
+
│ └── marketplace/ # Catalog artifacts (Claude-specific)
|
|
172
|
+
└── tests/
|
|
173
|
+
├── unit/ # Schema, taxonomy, frontmatter, scanner, filter
|
|
174
|
+
├── integration/ # Generator and install pipeline tests
|
|
175
|
+
└── matrix/ # Cross-target verification
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Workflow
|
|
179
|
+
|
|
180
|
+
1. **Catalog** — neutral SKILL.md definitions with frontmatter metadata (`domain`, `tags`, `frameworks`, `author`, `lastUpdated`, `provenance`).
|
|
181
|
+
2. **Generators** — transform catalog into tool-specific artifacts
|
|
182
|
+
3. **Install engine** — deploy skills with flexible filtering
|
|
183
|
+
|
|
184
|
+
## Security
|
|
185
|
+
|
|
186
|
+
Every skill in the catalog is automatically scanned using [**Cisco Skill Scanner**](https://github.com/cisco-ai-defense/skill-scanner) with a [custom strict-based policy](docs/skill-scanner-policy.md).
|
|
187
|
+
|
|
188
|
+
The security pipeline combines multiple detection engines:
|
|
189
|
+
|
|
190
|
+
- **Static analysis** — YAML + YARA pattern matching, bytecode verification, shell pipeline taint analysis
|
|
191
|
+
- **Behavioral analysis** — AST-based dataflow tracking from sources to sinks across multiple files
|
|
192
|
+
- **LLM semantic analysis** — OpenAI gpt-5.4 evaluates code intent against Cisco's AITech threat taxonomy
|
|
193
|
+
- **Meta-analysis** — Second-pass false positive filtering with cross-finding correlation
|
|
194
|
+
- **VirusTotal** — Hash-based binary malware scanning
|
|
195
|
+
|
|
196
|
+
Security findings are published through **GitHub Code Scanning**.
|
|
197
|
+
|
|
198
|
+
Monthly full-scan reports are archived in [docs/security-reports/](docs/security-reports/).
|
|
199
|
+
|
|
200
|
+
For full details, see [SECURITY.md](SECURITY.md).
|
|
201
|
+
|
|
202
|
+
> [!IMPORTANT]
|
|
203
|
+
> To report vulnerabilities:
|
|
204
|
+
>
|
|
205
|
+
> - [GitHub Security Advisories](https://github.com/yunseo-kim/agent-toolbox/security/advisories/new)
|
|
206
|
+
> - email [oss-security@yunseo.kim](mailto:oss-security@yunseo.kim).
|
|
207
|
+
|
|
208
|
+
## Support
|
|
209
|
+
|
|
210
|
+
> [!NOTE]
|
|
211
|
+
> If you find **agent-toolbox** useful, consider supporting the project.
|
|
212
|
+
>
|
|
213
|
+
> Maintaining agent-toolbox requires ongoing work including catalog review, security analysis, and cross-tool compatibility maintenance.
|
|
214
|
+
>
|
|
215
|
+
> Parts of the security pipeline currently rely on personally funded infrastructure, including:
|
|
216
|
+
>
|
|
217
|
+
> - **OpenAI API** usage for LLM-based security analysis
|
|
218
|
+
> - Rate-limited **VirusTotal public API** for malware detection
|
|
219
|
+
>
|
|
220
|
+
> Support helps sustain these security capabilities and expand the scanning infrastructure.
|
|
221
|
+
|
|
222
|
+
### Individual Support
|
|
223
|
+
|
|
224
|
+
**GitHub Sponsors:**
|
|
225
|
+
[](https://github.com/sponsors/yunseo-kim)
|
|
226
|
+
|
|
227
|
+
**Buy Me a Coffee:**
|
|
228
|
+
<a href="https://www.buymeacoffee.com/yunseokim" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
|
229
|
+
|
|
230
|
+
### Corporate Sponsorship
|
|
231
|
+
|
|
232
|
+
Organizations building or relying on AI coding assistants such as Claude Code, Codex, Cursor, or Gemini CLI may consider sponsoring the project.
|
|
233
|
+
|
|
234
|
+
Corporate sponsorship helps sustain:
|
|
235
|
+
|
|
236
|
+
- security scanning infrastructure
|
|
237
|
+
- catalog curation and review
|
|
238
|
+
- cross-tool compatibility maintenance
|
|
239
|
+
- long-term ecosystem development
|
|
240
|
+
|
|
241
|
+
> [!TIP]
|
|
242
|
+
> Corporate sponsors may be listed in the README.
|
|
243
|
+
|
|
244
|
+
## Sponsors
|
|
245
|
+
|
|
246
|
+
<!-- corporate sponsor logos will appear here -->
|
|
247
|
+
|
|
248
|
+
## Contributing
|
|
249
|
+
|
|
250
|
+
Contributions are welcome. Please read [`CONTRIBUTING.md`](CONTRIBUTING.md) for guidelines on setting up a development environment, submitting changes, and adding catalog skills.
|
|
251
|
+
|
|
252
|
+
## License
|
|
253
|
+
|
|
254
|
+
**agent-toolbox** is released under the [Sustainable Use License 1.0](LICENSE.md).
|
|
255
|
+
|
|
256
|
+
> [!NOTE]
|
|
257
|
+
> The project is free to use for individuals, research, and open-source development. The Sustainable Use License is designed to enable broad community use while supporting the long-term sustainability of the project and its maintenance.
|
|
258
|
+
|
|
259
|
+
### Commercial Licensing
|
|
260
|
+
|
|
261
|
+
**agent-toolbox** aims to serve as secure infrastructure for the emerging AI agent skill ecosystem.
|
|
262
|
+
|
|
263
|
+
Organizations integrating or distributing **agent-toolbox** as part of a commercial AI product or hosted platform may require a **commercial license**.
|
|
264
|
+
|
|
265
|
+
Examples include:
|
|
266
|
+
|
|
267
|
+
- bundling agent-toolbox within an AI coding assistant
|
|
268
|
+
- integrating the catalog into a proprietary developer tool
|
|
269
|
+
- operating a hosted service built on agent-toolbox infrastructure
|
|
270
|
+
|
|
271
|
+
Commercial licenses provide:
|
|
272
|
+
|
|
273
|
+
- rights for commercial distribution
|
|
274
|
+
- proprietary product integration
|
|
275
|
+
- optional ecosystem partnership recognition
|
|
276
|
+
|
|
277
|
+
If your organization is interested in integrating **agent-toolbox** into a commercial product or platform, please reach out to **contact@yunseo.kim**.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Launcher wrapper for dual-runtime support.
|
|
5
|
+
*
|
|
6
|
+
* This is the `bin` entry point for the npm package. It auto-detects
|
|
7
|
+
* the invoking package manager and routes to the appropriate runtime:
|
|
8
|
+
*
|
|
9
|
+
* npx agent-toolbox → Node.js (runs main.js directly)
|
|
10
|
+
* bunx agent-toolbox → Node.js detects bunx → re-execs with Bun
|
|
11
|
+
* bunx --bun agent-toolbox → Bun directly (shebang bypassed)
|
|
12
|
+
*
|
|
13
|
+
* This file is plain JavaScript (not compiled) — it must run on any
|
|
14
|
+
* Node.js >= 18 without transpilation.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const isBunx = (process.env.npm_config_user_agent || "").includes("bun/");
|
|
18
|
+
|
|
19
|
+
if (typeof globalThis.Bun === "undefined" && isBunx) {
|
|
20
|
+
// bunx invoked us but the #!/usr/bin/env node shebang forced Node.js.
|
|
21
|
+
// Re-execute the compiled main.js under Bun for native performance.
|
|
22
|
+
const { spawnSync } = await import("node:child_process");
|
|
23
|
+
const { fileURLToPath } = await import("node:url");
|
|
24
|
+
const main = fileURLToPath(new URL("./main.js", import.meta.url));
|
|
25
|
+
const { status } = spawnSync("bun", [main, ...process.argv.slice(2)], {
|
|
26
|
+
stdio: "inherit",
|
|
27
|
+
});
|
|
28
|
+
process.exit(status ?? 0);
|
|
29
|
+
} else {
|
|
30
|
+
// Node.js (npx) or Bun (bunx --bun) — run main.js in-process.
|
|
31
|
+
await import("./main.js");
|
|
32
|
+
}
|