diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index f554168..d3e7b01 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -8,9 +8,65 @@ { "name": "agent-toolkit", "source": "./plugins/agent-toolkit", - "description": "One bundled plugin shipping Basti's vetted skills (second-brain, yuno-cleaner, mmx-cli, drucker-experte), subagents (coder, perf-tuner, security-auditor), and MCP server declarations (github). Enable once to sync the whole toolkit.", + "description": "One bundled plugin shipping Basti's vetted skills (129 skills in 8 themed packs), 17 subagents (coder, perf-tuner, security-auditor, zc-* team), 9 MCP server declarations (github, gmail, calendar, …), a /toolkit browse command, and a session-start status hook. Enable once to sync the whole toolkit.", "category": "productivity", "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit" + }, + { + "name": "agent-toolkit-core", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Core & Personal: the daily-driver layer — Obsidian second-brain, Yuno cleaner, 3D printing, Yuno team orchestration/routing/preferences, model selection, folder tidy, daily briefing, skill↔MCP router. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "productivity", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/core" + }, + { + "name": "agent-toolkit-hermes-dev", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Hermes / Yuno Platform: CLI internals, gateway protocol/clients, mobile clients, Ariadne memory, gateway adapters, desktop plugins, messaging gateways, themes, ModelHub. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "development", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/hermes-dev" + }, + { + "name": "agent-toolkit-cybersecurity", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Cybersecurity: 50 defensive-security and DFIR skills — CIS hardening, Docker/K8s, network hunting (Zeek/Suricata/Wireshark), forensics (Volatility/IR), compliance/supply-chain (SBOM/SLSA/gitleaks). Installing this handle currently installs the full agent-toolkit plugin.", + "category": "security", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/cybersecurity" + }, + { + "name": "agent-toolkit-methodology", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Engineering Methodology: the Superpowers workflow set (brainstorm→plan→TDD→debug→verify→finish), subagent-driven development, ZCode SubAgent Team, Queen-Bee swarm dispatch, multi-agent master workflow. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "development", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/methodology" + }, + { + "name": "agent-toolkit-media", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Media & Generation: MiniMax mmx CLI, agent builder, crypto trading, DOCX/PDF, Nano Banana Pro image gen. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "creative", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/media" + }, + { + "name": "agent-toolkit-docs-web-research", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Docs, Web & Research: PPT/McKinsey decks, research papers, frontend design, web scraping, Excel, n8n, SEO/GEO, job hunting, sales Power Maps, SaaS niches, NotebookLM, knowledge digest, prompt engineering. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "productivity", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/docs-web-research" + }, + { + "name": "agent-toolkit-computer-use", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Computer-Use & GreyHack: GreyHack Computer-Use suite plus game and desktop-window reconnaissance. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "automation", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/computer-use" + }, + { + "name": "agent-toolkit-dev-essentials", + "source": "./plugins/agent-toolkit", + "description": "[PACK STUB — themed split pending; see PACKS.md] Dev Essentials: debugging patterns, defensive programming, config-propagation bugs, reference-architecture research, open-source extraction, stealth web scraping, web-content recon, competitive-landscape research, ClickHouse best practices. Installing this handle currently installs the full agent-toolkit plugin.", + "category": "development", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit/packs/dev-essentials" } ] -} +} \ No newline at end of file diff --git a/INDEX.json b/INDEX.json index cef63ab..519e9d9 100644 --- a/INDEX.json +++ b/INDEX.json @@ -1,6 +1,6 @@ { "schemaVersion": "2.0", - "generated_at": "2026-07-24T14:16:22+02:00", + "generated_at": "2026-08-05T03:41:38+00:00", "repo": "Toqsick/my-agent-tools", "how_to_use": "See ROUTING.md. Fetch this file, match a task against each skill's triggers/tags/category, rank, then fetch the chosen skill's `path`. Installed skills also load in-session as their `namespace`. Multi-step work: see `workflows`.", "counts": { diff --git a/NAVIGATION.md b/NAVIGATION.md index 70eec52..b51e534 100644 --- a/NAVIGATION.md +++ b/NAVIGATION.md @@ -1,7 +1,7 @@ # NAVIGATION — my-agent-tools skill index > **Generated by `scripts/build_index.py` — do not hand-edit.** The machine-readable source of truth is [`INDEX.json`](INDEX.json); routing rules are in [`ROUTING.md`](ROUTING.md). -> Snapshot: HEAD `2026-07-24T14:16:22+02:00` · **1373 skills** (129 installed + 1244 library) · 17 agents · 6 workflows · 43 categories +> Snapshot: HEAD `2026-08-05T03:41:38+00:00` · **1373 skills** (129 installed + 1244 library) · 17 agents · 6 workflows · 43 categories Two tiers: **installed** skills load into every Claude Code session as `agent-toolkit:`; **library** skills are browsable reference, fetched on demand by `path` via the GitHub MCP (never auto-loaded). @@ -171,6 +171,21 @@ Two tiers: **installed** skills load into every Claude Code session as `agent-to | `yuno-user-preferences` | `agent-toolkit:yuno-user-preferences` | Use when user asks how to apply Basti’s working-style preferences, honest testing standard, recommendation-first decisio | | `zcode-subagent-team` | `agent-toolkit:zcode-subagent-team` | ZCode SubAgent Team — a Hermes-Kanban multi-lane agent swarm where a Queen (GLM ZCode orchestrator/verifier) delegates b | +## Skill Packs (installed-skill grouping) + +The 129 installed skills are grouped into 8 themed packs. Browse with the `/toolkit` command; see [PACKS.md](PACKS.md) for the pack roadmap. + +| Pack | Title | Category | Skills | +|---|---|---|---| +| [`core`](plugins/agent-toolkit/packs/core/README.md) | Core & Personal | productivity | 10 | +| [`hermes-dev`](plugins/agent-toolkit/packs/hermes-dev/README.md) | Hermes / Yuno Platform | development | 18 | +| [`cybersecurity`](plugins/agent-toolkit/packs/cybersecurity/README.md) | Cybersecurity | security | 50 | +| [`methodology`](plugins/agent-toolkit/packs/methodology/README.md) | Engineering Methodology | development | 18 | +| [`media`](plugins/agent-toolkit/packs/media/README.md) | Media & Generation | creative | 6 | +| [`docs-web-research`](plugins/agent-toolkit/packs/docs-web-research/README.md) | Docs, Web & Research | productivity | 15 | +| [`computer-use`](plugins/agent-toolkit/packs/computer-use/README.md) | Computer-Use & GreyHack | automation | 3 | +| [`dev-essentials`](plugins/agent-toolkit/packs/dev-essentials/README.md) | Dev Essentials | development | 9 | + ## Library (browsable via MCP, fetch by path) Not session-loaded. Discover via [`INDEX.json`](INDEX.json) → match → fetch the skill's `path`. Category counts: diff --git a/PACKS.md b/PACKS.md new file mode 100644 index 0000000..3789ec1 --- /dev/null +++ b/PACKS.md @@ -0,0 +1,86 @@ +# Skill Packs + +The `agent-toolkit` plugin ships **129 installed skills** grouped into **8 themed packs**. The +packs are a navigation/grouping layer over the installed skills — every skill still loads in +every session (it's one plugin), and is still invokable as `agent-toolkit:`. Packs just +make the wall of 129 skills scannable: by domain, by count, by "when to use this pack". + +- **Canonical manifest:** [`plugins/agent-toolkit/packs/manifest.json`](plugins/agent-toolkit/packs/manifest.json) + (generated-validated by `scripts/build_packs.py`; never hand-edit the bundles). +- **Per-pack detail:** `plugins/agent-toolkit/packs//README.md` (one per pack). +- **Routing bundles:** `routing/bundles/.yaml` (one per pack, emitted from the manifest). +- **Browse live:** run `/toolkit` (overview), `/toolkit ` (a pack's skills), or + `/toolkit doctor` (health check). + +## The 8 packs + +| Pack | Title | Category | Skills | When to use | +|---|---|---|---:|---| +| `core` | Core & Personal | productivity | 10 | Daily-driver layer: Obsidian second-brain, system cleanup, 3D printing, Yuno team orchestration/routing/preferences, model selection, folder tidy, daily briefing, skill↔MCP router. | +| `hermes-dev` | Hermes / Yuno Platform | development | 18 | Building on the Hermes/Yuno platform: CLI internals, gateway protocol/clients, mobile clients, Ariadne memory, gateway adapters, desktop plugins, messaging gateways, themes, ModelHub. | +| `cybersecurity` | Cybersecurity | security | 50 | Defensive security & DFIR: CIS hardening, Docker/K8s, network hunting (Zeek/Suricata/Wireshark), forensics (Volatility/IR), compliance & supply-chain (SBOM/SLSA/gitleaks). | +| `methodology` | Engineering Methodology | development | 18 | The Superpowers workflow set (brainstorm→plan→TDD→debug→verify→finish), subagent-driven development, ZCode SubAgent Team, Queen-Bee swarm dispatch, multi-agent master workflow. | +| `media` | Media & Generation | creative | 6 | MiniMax `mmx` CLI, MiniMax agent builder, crypto trading, DOCX/PDF, Nano Banana Pro image gen. | +| `docs-web-research` | Docs, Web & Research | productivity | 15 | Document gen (PPT/McKinsey/research papers), frontend design, web scraping, Excel, n8n, SEO/GEO, business research (job hunter, sales Power Maps, SaaS niches), NotebookLM, knowledge digest, prompt engineering. | +| `computer-use` | Computer-Use & GreyHack | automation | 3 | Desktop/game GUI automation: GreyHack Computer-Use suite + game and desktop-window reconnaissance. | +| `dev-essentials` | Dev Essentials | development | 9 | Engineering originals: debugging patterns, defensive programming, config-propagation bugs, reference-architecture research, open-source extraction, stealth web scraping, web-content recon, competitive-landscape research, ClickHouse best practices. | + +**Total: 129 skills across 8 packs** — a clean partition (every installed skill in exactly one +pack, validated by `scripts/build_packs.py`, which exits non-zero on a partition error). + +## How packs relate to the plugin today + +Right now there is **one plugin** (`agent-toolkit`) and **one marketplace entry** that installs +all 129 skills. The packs are metadata — `manifest.json` + per-pack READMEs + routing bundles — +not separate install targets. The 8 themed marketplace entries in +`.claude-plugin/marketplace.json` (`agent-toolkit-core`, `-hermes-dev`, …) are **stubs**: each +points at the same `./plugins/agent-toolkit` source, so installing any themed handle today +installs the full toolkit. They exist so the split below is a one-line source repoint, not a +restructure. + +> ⚠️ **Fallback note:** if Claude Code's `/plugin marketplace` rejects multiple entries sharing +> one `source` (the plugin's internal `name` is `agent-toolkit` regardless of the marketplace +> entry name), keep only the canonical `agent-toolkit` entry and treat this file as the durable +> record of the 8 future targets. The stubs are a convenience, not a requirement. + +## Future split — "install only what you need" + +When the toolkit grows or a user wants a lighter install, split each pack into its own plugin +directory and repoint its marketplace entry. The mechanical steps: + +1. For each pack `P`, create `plugins/agent-toolkit-P/` with a `.claude-plugin/plugin.json` whose + `skills` array lists only that pack's skills (copy them from + `plugins/agent-toolkit/skills//` or symlink — keep copies self-contained per the repo's + no-symlink-outside-repo rule). +2. Repoint the matching marketplace stub: + ```jsonc + // .claude-plugin/marketplace.json + { + "name": "agent-toolkit-cybersecurity", // already a stub entry + "source": "./plugins/agent-toolkit-cybersecurity", // was: "./plugins/agent-toolkit" + "description": "Cybersecurity pack: 50 DFIR/defensive skills …", + "category": "security", + "homepage": "https://github.com/Toqsick/my-agent-tools/tree/main/plugins/agent-toolkit-cybersecurity" + } + ``` +3. Keep the monolithic `agent-toolkit` entry as an "install everything" convenience, or retire it + once the 8 themed plugins are stable. +4. Re-run `python3 scripts/build_index.py` (the manifest is the source of truth for pack + membership; `build_packs.py` will re-emit bundles and validate the partition). + +**Migration order (recommended):** split the largest/most-self-contained pack first +(`cybersecurity`, 50 skills — least overlap with daily-driver work), then `hermes-dev` (18) and +`methodology` (18). The small packs (`media`, `computer-use`, `dev-essentials`) can stay bundled +until there's a reason to split them. + +## Maintenance + +- **Adding a skill:** drop it under `plugins/agent-toolkit/skills//`, add it to the `skills` + array in `plugin.json`, **and** add it to exactly one pack's `skills` list in + `packs/manifest.json`. Then `python3 scripts/build_index.py` (which calls `build_packs`) — + it validates the partition (union == installed set, no dupes) and re-emits the routing + bundles. A non-zero exit means the manifest is out of sync with the installed skills; fix the + manifest, don't silence the check. +- **Repacking:** to re-theme the packs, edit only `packs/manifest.json` and re-run + `build_index.py`. Per-pack READMEs and routing bundles are derived; regenerate, don't hand-edit. +- **Never** hand-edit `routing/bundles/*.yaml`, `INDEX.json`, or `NAVIGATION.md`. \ No newline at end of file diff --git a/README.md b/README.md index 904fbe8..85cfdc4 100644 --- a/README.md +++ b/README.md @@ -51,9 +51,12 @@ Installed = curated fast-path; library = the comprehensive Hermes arsenal, pulle │ └── agent-toolkit/ │ ├── .claude-plugin/ │ │ └── plugin.json # plugin manifest (registers the installed skills) -│ ├── skills/ # 128 installed skills (SKILL.md bundles) — session-loaded +│ ├── skills/ # 129 installed skills (SKILL.md bundles) — session-loaded │ ├── agents/ # 17 subagents (coder, perf-tuner, security-auditor + 14 zc-*) -│ └── .mcp.json # MCP server declarations (8 servers) +│ ├── commands/ # /toolkit — browse packs + health check (auto-discovered) +│ ├── hooks/ # SessionStart banner: skills · packs · agents · MCP counts +│ ├── packs/ # 8 themed skill packs (manifest.json + per-pack READMEs) +│ └── .mcp.json # MCP server declarations (9 servers) ├── library/ # 1,244 browsable Hermes-arsenal skills (NOT session-loaded) │ └── //SKILL.md ├── routing/ # zcode-skills MCP-aware routing metadata @@ -63,10 +66,34 @@ Installed = curated fast-path; library = the comprehensive Hermes arsenal, pulle │ └── manifests/ # imported provenance lockfiles ├── workflows/ # machine-readable multi-skill workflow patterns └── scripts/ - ├── build_index.py # regenerates catalogs + routing metadata + ├── build_index.py # regenerates catalogs + routing metadata (calls build_packs) + ├── build_packs.py # validates packs/manifest.json + emits routing/bundles/*.yaml └── check-mcp.sh # local MCP server health check ``` +## Skill packs (installed-skill grouping) + +The 129 installed skills are grouped into **8 themed packs** — a navigation layer over the one +plugin, so the wall of skills becomes scannable by domain. Every skill still loads in every +session and is invokable as `agent-toolkit:`; packs just make browsing and routing +easier. See [`PACKS.md`](PACKS.md) for the full pack index, the per-pack skill rosters, and the +future "install only what you need" split roadmap. + +| Pack | Skills | Theme | +|---|---:|---| +| `core` | 10 | Daily-driver layer — Obsidian second-brain, Yuno cleaner, 3D printing, Yuno team orchestration, model selection, daily briefing, skill↔MCP router | +| `hermes-dev` | 18 | Hermes/Yuno platform — CLI internals, gateway protocol/clients, mobile, Ariadne memory, adapters, themes | +| `cybersecurity` | 50 | Defensive security & DFIR — CIS hardening, Docker/K8s, network hunting, forensics, compliance/supply-chain | +| `methodology` | 18 | Superpowers + ZCode team orchestration — brainstorm→plan→TDD→debug→verify→finish, swarm dispatch | +| `media` | 6 | MiniMax + generation — `mmx` CLI, agent builder, crypto trading, DOCX/PDF, Nano Banana Pro | +| `docs-web-research` | 15 | Docs, web & research — PPT/decks, research papers, frontend design, scraping, Excel, n8n, SEO/GEO, business research | +| `computer-use` | 3 | Computer-use & GreyHack — GUI automation + game/desktop-window reconnaissance | +| `dev-essentials` | 9 | Engineering originals — debugging patterns, defensive programming, recon, extraction, ClickHouse | + +Browse live in any session with the `/toolkit` slash command: `/toolkit` (overview), +`/toolkit ` (a pack's skills), or `/toolkit doctor` (health check). A `SessionStart` hook +prints a compact `skills · packs · agents · MCP servers` banner at session open. + ### Skills **Seed set:** @@ -232,7 +259,7 @@ with owner-agent + skills + exit criteria per phase): `superpower-10x-pipeline`, ### MCP servers -All 8 servers are declared in [`plugins/agent-toolkit/.mcp.json`](plugins/agent-toolkit/.mcp.json). +All 9 servers are declared in [`plugins/agent-toolkit/.mcp.json`](plugins/agent-toolkit/.mcp.json). Credentials are **always** referenced as `${ENV_VAR}` — never stored here. Copy [`.env.example`](.env.example) to `.env` and fill in your values. | Server | Transport | Purpose | Required env vars | @@ -245,6 +272,7 @@ Credentials are **always** referenced as `${ENV_VAR}` — never stored here. Cop | `memory` | npx (`@modelcontextprotocol/server-memory`) | Persistent knowledge graph across sessions | `MEMORY_FILE_PATH` (default `~/.agent-memory/memory.json`) | | `puppeteer` | npx (`@modelcontextprotocol/server-puppeteer`) | Headless browser / web automation | — | | `sequential-thinking` | npx (`@modelcontextprotocol/server-sequential-thinking`) | Structured multi-step reasoning | — | +| `basti-tools` | `uv run mcp-server-basti` (FastMCP/stdio, local) | Local system-status tools (`get_system_status`, `echo_tool`, `get_repo_info`) | — | #### Gmail + Google Calendar — Quick OAuth2 Setup diff --git a/plugins/agent-toolkit/.claude-plugin/plugin.json b/plugins/agent-toolkit/.claude-plugin/plugin.json index 9f1560b..f27d526 100644 --- a/plugins/agent-toolkit/.claude-plugin/plugin.json +++ b/plugins/agent-toolkit/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "agent-toolkit", - "description": "Basti's vetted Claude Code toolkit: curated skills, subagents, and MCP server declarations bundled together. One enable → every agent on the same state.", - "version": "0.5.0", + "description": "Basti's vetted Claude Code toolkit: 129 skills in 8 themed packs, 17 subagents, 9 MCP server declarations, a /toolkit browse command, and a session-start status hook. One enable → every agent on the same state.", + "version": "0.6.0", "author": { "name": "Toqsick" }, diff --git a/plugins/agent-toolkit/commands/toolkit.md b/plugins/agent-toolkit/commands/toolkit.md new file mode 100644 index 0000000..bda010e --- /dev/null +++ b/plugins/agent-toolkit/commands/toolkit.md @@ -0,0 +1,43 @@ +--- +description: Browse the agent-toolkit skill packs, list a pack's skills, or run a health check +argument-hint: "[pack | doctor]" +allowed-tools: ["Read", "Glob", "Bash"] +--- + +You are the `agent-toolkit` navigator. The user ran `/toolkit` with arguments: +`$ARGUMENTS` + +The plugin groups its 129 installed skills into 8 themed packs. The canonical +source is `plugins/agent-toolkit/packs/manifest.json` (relative to the repo +root of `Toqsick/my-agent-tools`; if that path is not present in the current +working directory, locate it under the installed plugin path, e.g. +`~/.claude/plugins/marketplaces/my-agent-tools/plugins/agent-toolkit/packs/manifest.json`). + +Read that manifest, then behave according to the argument: + +- **No argument** (default): Render an overview table of all 8 packs — columns: + `pack`, `title`, `category`, `skills` (count), and the one-line pack + `description`. End with a one-line hint: `Run /toolkit for a pack's skills, or /toolkit doctor for a health check.` + +- **``** (one of the 8 pack names: `core`, `hermes-dev`, `cybersecurity`, + `methodology`, `media`, `docs-web-research`, `computer-use`, `dev-essentials`): + List that pack's skills as a table — columns: `skill` (the `agent-toolkit:` + invocation handle), `what it does` (the skill's `description` from the manifest, + trimmed to ~140 chars). Lead with the pack's title, category, count, and a + one-line "when to use this pack" summary drawn from the pack description. If the + argument is not a known pack name, say so and fall back to the default overview. + +- **`doctor`**: Run a health check and report status. Do **not** print any tokens. + 1. Count installed skills: `find plugins/agent-toolkit/skills -maxdepth 2 -name SKILL.md -type f | wc -l` (expect 129). + 2. Count agents: `ls plugins/agent-toolkit/agents/*.md | wc -l` (expect 17). + 3. Count packs listed in `packs/manifest.json` (expect 8) and report per-pack + skill counts. + 4. Check the `github` MCP server: call `mcp__plugin_agent-toolkit_github__get_me` + if available; report `200 OK` on success or `401/UNAVAILABLE` on failure + (a 401 means the `GITHUB_PERSONAL_ACCESS_TOKEN` is expired/unset — flag it as + an action item, do not dump credentials). + 5. Report whether `INDEX.json` exists and its `counts.installed` value. + Present the results as a compact checklist (✅ / ❌). If any check fails, give + the exact one-line command to fix it where possible. + +Keep output compact and skimmable. Never print secret material. \ No newline at end of file diff --git a/plugins/agent-toolkit/hooks/hooks.json b/plugins/agent-toolkit/hooks/hooks.json new file mode 100644 index 0000000..7b86d78 --- /dev/null +++ b/plugins/agent-toolkit/hooks/hooks.json @@ -0,0 +1,17 @@ +{ + "description": "agent-toolkit session banner — on session start, print a one-line status of the installed toolkit (skill/pack/agent/MCP counts) with a hint to run /toolkit. Sensor only: emits a message, never returns a permission decision.", + "hooks": { + "SessionStart": [ + { + "matcher": "startup|resume", + "hooks": [ + { + "type": "command", + "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/toolkit-status.sh\"", + "timeout": 5 + } + ] + } + ] + } +} \ No newline at end of file diff --git a/plugins/agent-toolkit/hooks/toolkit-status.sh b/plugins/agent-toolkit/hooks/toolkit-status.sh new file mode 100755 index 0000000..e1b8437 --- /dev/null +++ b/plugins/agent-toolkit/hooks/toolkit-status.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# toolkit-status.sh — SessionStart banner for the agent-toolkit plugin. +# Prints a compact one-line status of the installed toolkit. Sensor only. +# Never prints tokens or credentials. Exits 0; failures are non-fatal. +set -u + +root="${CLAUDE_PLUGIN_ROOT:-}" +[ -z "$root" ] && exit 0 + +skills_dir="$root/skills" +agents_dir="$root/agents" +manifest="$root/packs/manifest.json" + +# Count skills (dirs with a SKILL.md) and agents (*.md). +skill_count=$(find "$skills_dir" -maxdepth 2 -name SKILL.md -type f 2>/dev/null | wc -l) +agent_count=$(find "$agents_dir" -maxdepth 1 -name '*.md' -type f 2>/dev/null | wc -l) + +# Count packs from the manifest (fast, single python call). +pack_count=$(python3 - "$manifest" <<'PY' 2>/dev/null +import json, sys +try: + m = json.load(open(sys.argv[1])) + print(len(m.get("packs", []))) +except Exception: + print(0) +PY +) + +# MCP server count from .mcp.json (top-level mcpServers keys). +mcp_count=$(python3 - "$root/.mcp.json" <<'PY' 2>/dev/null +import json, sys +try: + m = json.load(open(sys.argv[1])) + print(len((m.get("mcpServers") or {}))) +except Exception: + print(0) +PY +) + +printf 'agent-toolkit: %s skills · %s packs · %s agents · %s MCP servers — run /toolkit to browse, /toolkit doctor to health-check.\n' \ + "$skill_count" "$pack_count" "$agent_count" "$mcp_count" +exit 0 \ No newline at end of file diff --git a/plugins/agent-toolkit/packs/README.md b/plugins/agent-toolkit/packs/README.md new file mode 100644 index 0000000..9b0f3ef --- /dev/null +++ b/plugins/agent-toolkit/packs/README.md @@ -0,0 +1,16 @@ +# Skill Packs + +The 129 installed skills of `agent-toolkit` are grouped into 8 themed packs. Each pack is a documented, browsable collection — not a separate install (yet). Install the full plugin with `claude plugin install agent-toolkit@my-agent-tools` and browse packs with the `/toolkit` command. + +| Pack | Title | Category | Skills | +|---|---|---|---| +| [`core`](./core/README.md) | Core & Personal | productivity | 10 | +| [`hermes-dev`](./hermes-dev/README.md) | Hermes / Yuno Platform | development | 18 | +| [`cybersecurity`](./cybersecurity/README.md) | Cybersecurity | security | 50 | +| [`methodology`](./methodology/README.md) | Engineering Methodology | development | 18 | +| [`media`](./media/README.md) | Media & Generation | creative | 6 | +| [`docs-web-research`](./docs-web-research/README.md) | Docs, Web & Research | productivity | 15 | +| [`computer-use`](./computer-use/README.md) | Computer-Use & GreyHack | automation | 3 | +| [`dev-essentials`](./dev-essentials/README.md) | Dev Essentials | development | 9 | + +**Total:** 129 skills across 8 packs. See [../../PACKS.md](../../PACKS.md) for the future split roadmap. diff --git a/plugins/agent-toolkit/packs/computer-use/README.md b/plugins/agent-toolkit/packs/computer-use/README.md new file mode 100644 index 0000000..816df5f --- /dev/null +++ b/plugins/agent-toolkit/packs/computer-use/README.md @@ -0,0 +1,19 @@ +# Pack: Computer-Use & GreyHack + +**Category:** automation · **Skills:** 3 + +Desktop and game GUI automation — the GreyHack Computer-Use suite plus game and desktop-window reconnaissance. + +Desktop and game GUI automation — the GreyHack Computer-Use suite plus game-executable and desktop-window reconnaissance. Use these when driving a game or desktop app via Computer-Use. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `greyhack-computer-use-suite` | Use when driving GreyHack gameplay via Computer-Use automation suite. | +| `computer-use-game-reconnaissance` | Use when user asks for computer use game reconnaissance, Computer-Use Game Reconnaissance, When to Use This Skill, Why Bother? (Cost vs Value). NOT for unrel… | +| `desktop-window-reconnaissance` | Use when exploring a desktop application or game window for reconnaissance. | diff --git a/plugins/agent-toolkit/packs/core/README.md b/plugins/agent-toolkit/packs/core/README.md new file mode 100644 index 0000000..5f34e5e --- /dev/null +++ b/plugins/agent-toolkit/packs/core/README.md @@ -0,0 +1,26 @@ +# Pack: Core & Personal + +**Category:** productivity · **Skills:** 10 + +Personal seed skills, productivity, and routing meta — the daily-driver layer for Basti's workstation: Obsidian second-brain, Yuno cleaner, 3D printing, Yuno team orchestration/routing/preferences, model selection, folder tidy, daily briefing, and the skill↔MCP router. + +The daily-driver layer for Basti's workstation. These are the personal-seed and productivity skills that almost every session touches — the Obsidian second-brain knowledge base, Yuno cleaner, 3D printing, Yuno team orchestration and routing, model selection, the skill↔MCP router, and folder tidy. Enable this pack first; it pairs with every other pack. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `second-brain` | Bastis Obsidian Vault als Domän-Wissensbank nutzen. Verwenden bei Fragen zu Bastis Wissen/Notizen ("was weiß ich über X", "steht dazu was im Vault?"), zum Na… | +| `yuno-cleaner` | Use when user asks to run Yuno Cleaner for a Linux scan, cleanup, status check, scheduled cleanup, JSON report, Telegram notification, or handoff. NOT for de… | +| `drucker-experte` | 3D-Druck-Experte für Bastis Bambu Lab A1 mini (0.4mm Düse, Bett 180x180x180). Triggers on STL, Bambu Lab, 3D-Druck, Slicer-Setting, Druckzeit, Mesh-Repair, G… | +| `tidy-folder` | Professional folder cleanup and organization assistant. Safely organizes and cleans up directories by scanning contents, recommending cleanup rules, creating… | +| `daily-briefing` | Use when user asks for starting a Hermes work session, reviewing the last session and open work, checking cron and system status, validating today daily note… | +| `model-selector` | Use when user asks for choosing an LLM from the Nous Portal, comparing models by speed, reasoning, code ability, or price, resolving provider-specific model … | +| `skill-mcp-router` | Skill + MCP routing agent for the repository's installed and library skill tiers. Use when a task needs the right skill AND the right MCP server resolved tog… | +| `yuno-team-orchestrator` | Use when orchestrating Yunos 7-agent team for multi-domain tasks. | +| `yuno-team-routing` | Use when user asks which Yuno team agent should handle a task, how to decompose a multi-domain request, or how to hand work between the seven specialized age… | +| `yuno-user-preferences` | Use when user asks how to apply Basti’s working-style preferences, honest testing standard, recommendation-first decisions, concrete options, scope checks, o… | diff --git a/plugins/agent-toolkit/packs/cybersecurity/README.md b/plugins/agent-toolkit/packs/cybersecurity/README.md new file mode 100644 index 0000000..19d272c --- /dev/null +++ b/plugins/agent-toolkit/packs/cybersecurity/README.md @@ -0,0 +1,66 @@ +# Pack: Cybersecurity + +**Category:** security · **Skills:** 50 + +50 defensive-security and DFIR skills — CIS hardening, Docker/K8s and container security, network detection & hunting (Zeek/Suricata/Wireshark), forensics (Volatility/disk/IR), and compliance/supply-chain (SBOM/SLSA/gitleaks). + +The full defensive-security and DFIR set: CIS hardening, Docker/Kubernetes and container security, network detection & hunting (Zeek, Suricata, Wireshark, Scapy), memory/disk/endpoint forensics (Volatility, Foremost, PhotoRec), incident response, and compliance/supply-chain (SBOM, SLSA, gitleaks, TruffleHog). Use these for audits, hunting, and forensics. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `hardening-linux-endpoint-with-cis-benchmark` | Hardens Linux endpoints using CIS Benchmark recommendations for Ubuntu, RHEL, and CentOS to reduce attack surface, enforce security baselines, and meet compl… | +| `analyzing-linux-audit-logs-for-intrusion` | Uses the Linux Audit framework (auditd) with ausearch and aureport utilities to detect intrusion attempts, unauthorized access, privilege escalation, and sus… | +| `analyzing-linux-system-artifacts` | Examine Linux system artifacts including auth logs, cron jobs, shell history, and system configuration to uncover evidence of compromise or unauthorized acti… | +| `analyzing-persistence-mechanisms-in-linux` | Detect and analyze Linux persistence mechanisms including crontab entries, systemd service units, LD_PRELOAD hijacking, bashrc modifications, and authorized_… | +| `detecting-rootkit-activity` | Detects rootkit presence on compromised systems by identifying hidden processes, hooked system calls, modified kernel structures, hidden files, and covert ne… | +| `analyzing-linux-kernel-rootkits` | Detect kernel-level rootkits in Linux memory dumps using Volatility3 linux plugins (check_syscall, lsmod, hidden_modules), rkhunter system scanning, and /pro… | +| `performing-linux-log-forensics-investigation` | Perform forensic investigation of Linux system logs including syslog, auth.log, systemd journal, kern.log, and application logs to reconstruct user activity,… | +| `detecting-port-scanning-with-fail2ban` | Configures Fail2ban with custom filters and actions to detect port scanning activity, SSH brute force attempts, and network reconnaissance, automatically ban… | +| `implementing-network-segmentation-with-firewall-zones` | Design and implement network segmentation using firewall security zones, VLANs, ACLs, and microsegmentation policies to restrict lateral movement and enforce… | +| `hardening-docker-containers-for-production` | Hardening Docker containers for production involves applying security best practices aligned with CIS Docker Benchmark v1.8.0 to minimize attack surface, pre… | +| `hardening-docker-daemon-configuration` | Harden the Docker daemon by configuring daemon.json with user namespace remapping, TLS authentication, rootless mode, and CIS benchmark controls. | +| `performing-docker-bench-security-assessment` | Docker Bench for Security is an open-source script that checks dozens of common best practices around deploying Docker containers in production. Based on the… | +| `analyzing-docker-container-forensics` | Investigate compromised Docker containers by analyzing images, layers, volumes, logs, and runtime artifacts to identify malicious activity and evidence. | +| `detecting-container-escape-attempts` | Container escape is a critical attack technique where an adversary breaks out of container isolation to access the host system or other containers. Detection… | +| `detecting-container-runtime-threats-with-falco` | Write and deploy Falco rules with the modern eBPF driver to detect container escape, namespace abuse, privileged mounts, and anomalous syscalls at runtime in… | +| `scanning-docker-images-with-trivy` | Trivy is a comprehensive open-source vulnerability scanner by Aqua Security that detects vulnerabilities in OS packages, language-specific dependencies, misc… | +| `performing-container-security-scanning-with-trivy` | Scan container images, filesystems, and Kubernetes manifests for vulnerabilities, misconfigurations, exposed secrets, and license compliance issues using Aqu… | +| `implementing-container-image-minimal-base-with-distroless` | Reduce container attack surface by building application images on Google distroless base images that contain only the application runtime with no shell, pack… | +| `securing-container-registry-with-harbor` | Harbor is an open-source container registry that provides security features including vulnerability scanning (integrated Trivy), image signing (Notary/Cosign… | +| `implementing-kubernetes-pod-security-standards` | Pod Security Standards (PSS) define three levels of security policies -- Privileged, Baseline, and Restricted -- enforced by the Pod Security Admission (PSA)… | +| `analyzing-network-packets-with-scapy` | Craft, send, sniff, and dissect network packets using Scapy for protocol analysis, network reconnaissance, and traffic anomaly detection in authorized securi… | +| `analyzing-network-traffic-with-wireshark` | Captures and analyzes network packet data using Wireshark and tshark to identify malicious traffic patterns, diagnose protocol issues, extract artifacts, and… | +| `performing-network-forensics-with-wireshark` | Capture and analyze network traffic using Wireshark and tshark to reconstruct network events, extract artifacts, and identify malicious communications. | +| `configuring-suricata-for-network-monitoring` | Deploys and configures Suricata IDS/IPS with Emerging Threats rulesets, EVE JSON logging, and custom rules for real-time network traffic inspection, threat d… | +| `detecting-network-anomalies-with-zeek` | Deploys and configures Zeek (formerly Bro) network security monitor to passively analyze network traffic, generate structured logs, detect anomalous behavior… | +| `detecting-beaconing-patterns-with-zeek` | Performs statistical analysis of Zeek conn.log connection intervals to detect C2 beaconing patterns. Uses the ZAT library to load Zeek logs into Pandas DataF… | +| `detecting-dns-exfiltration-with-dns-query-analysis` | Detect data exfiltration through DNS tunneling by analyzing query entropy, subdomain length, query volume, TXT record abuse, and response payload sizes using… | +| `deploying-osquery-for-endpoint-monitoring` | Deploys and configures osquery for real-time endpoint monitoring using SQL-based queries to inspect running processes, open ports, installed software, and sy… | +| `building-detection-rules-with-sigma` | Builds vendor-agnostic detection rules using the Sigma rule format for threat detection across SIEM platforms including Splunk, Elastic, and Microsoft Sentin… | +| `performing-malware-triage-with-yara` | Performs rapid malware triage and classification using YARA rules to match file patterns, strings, byte sequences, and structural characteristics against kno… | +| `hunting-advanced-persistent-threats` | Proactively hunts for Advanced Persistent Threat (APT) activity within enterprise environments using hypothesis-driven searches across endpoint telemetry, ne… | +| `building-threat-hunt-hypothesis-framework` | Build a systematic threat hunt hypothesis framework that transforms threat intelligence, attack patterns, and environmental data into testable hunting hypoth… | +| `conducting-memory-forensics-with-volatility` | Performs memory forensics analysis using Volatility 3 to extract evidence of malware execution, process injection, network connections, and credential theft … | +| `performing-memory-forensics-with-volatility3` | Analyze volatile memory dumps using Volatility 3 to extract running processes, network connections, loaded modules, and evidence of malicious activity. | +| `performing-disk-forensics-investigation` | Conducts disk forensics investigations using forensic imaging, file system analysis, artifact recovery, and timeline reconstruction to support incident respo… | +| `performing-endpoint-forensics-investigation` | Performs digital forensics investigation on compromised endpoints including memory acquisition, disk imaging, artifact analysis, and timeline reconstruction.… | +| `performing-log-analysis-for-forensic-investigation` | Collect, parse, and correlate system, application, and security logs to reconstruct events and establish timelines during forensic investigations. | +| `building-incident-response-playbook` | Designs and documents structured incident response playbooks that define step-by-step procedures for specific incident types aligned with NIST SP 800-61r3 an… | +| `triaging-security-incident-with-ir-playbook` | Classify and prioritize security incidents using structured IR playbooks to determine severity, assign response teams, and initiate appropriate response proc… | +| `recovering-deleted-files-with-photorec` | Recover deleted files from disk images and storage media using PhotoRec's file signature-based carving engine regardless of file system damage. | +| `performing-file-carving-with-foremost` | Recover files from disk images and unallocated space using Foremost's header-footer signature carving to extract evidence regardless of file system state. | +| `performing-nist-csf-maturity-assessment` | The NIST Cybersecurity Framework (CSF) 2.0, released in February 2024, provides a comprehensive taxonomy for managing cybersecurity risk through six core Fun… | +| `implementing-attack-surface-management` | Implements external attack surface management (EASM) using Shodan, Censys, and ProjectDiscovery tools (subfinder, httpx, nuclei) for asset discovery, subdoma… | +| `auditing-cloud-with-cis-benchmarks` | This skill details how to conduct cloud security audits using Center for Internet Security benchmarks for AWS, Azure, and GCP. It covers interpreting CIS Fou… | +| `implementing-secret-scanning-with-gitleaks` | This skill covers implementing Gitleaks for detecting and preventing hardcoded secrets in git repositories. It addresses configuring pre-commit hooks, CI/CD … | +| `detecting-aws-credential-exposure-with-trufflehog` | Detecting exposed AWS credentials in source code repositories, CI/CD pipelines, and configuration files using TruffleHog, git-secrets, and AWS-native detecti… | +| `generating-and-analyzing-sboms` | Produce and ingest CycloneDX and SPDX SBOMs and correlate them to vulnerability intelligence. | +| `analyzing-sbom-for-supply-chain-vulnerabilities` | Parses Software Bill of Materials (SBOM) in CycloneDX and SPDX JSON formats to identify supply chain vulnerabilities by correlating components against the NV… | +| `verifying-build-provenance-with-slsa-sigstore` | Verify signed artifacts and SLSA build provenance with Sigstore cosign and slsa-verifier, enforce keyless OIDC identity, and apply SLSA Build levels to harde… | +| `performing-authenticated-vulnerability-scan` | Authenticated (credentialed) vulnerability scanning uses valid system credentials to log into target hosts and perform deep inspection of installed software,… | diff --git a/plugins/agent-toolkit/packs/dev-essentials/README.md b/plugins/agent-toolkit/packs/dev-essentials/README.md new file mode 100644 index 0000000..d6dffde --- /dev/null +++ b/plugins/agent-toolkit/packs/dev-essentials/README.md @@ -0,0 +1,25 @@ +# Pack: Dev Essentials + +**Category:** development · **Skills:** 9 + +Engineering fundamentals — debugging patterns, defensive programming, config-propagation bugs, reference-architecture research, open-source extraction, stealth web scraping, web-content recon, competitive-landscape research, and ClickHouse best practices. + +Engineering fundamentals that cut across every project — debugging patterns, defensive programming, config-propagation bugs, reference-architecture research, open-source extraction, stealth web scraping, web-content recon, competitive-landscape research, and ClickHouse best practices. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `stealth-web-scraping` | \| Bypass bot detection and anti-scraping measures when browser automation is blocked. Covers CloakBrowser, undetected-chromedriver, and Firecrawl self-hoste… | +| `open-source-extraction` | Extract specific packages from large open-source monorepos and adapt them for standalone use. Covers dependency mapping, stripping cloud/infra deps, creating… | +| `reference-architecture-research` | Systematic deep-architecture research of reference repositories before greenfield implementation — clone, audit, feature parity, ADRs, provenance, skeleton. | +| `debugging-patterns` | Concrete debugging tactics for error classification, library API verification, and multi-location bug fixes. Supplements systematic-debugging with pattern-le… | +| `defensive-programming` | Defensive programming practices to prevent bugs and increase code resilience | +| `config-propagation-bugs` | Detect and fix silent data loss from incomplete model serialization, wholesale overwrites, and live-probe replacement of configured values. | +| `web-content-reconnaissance` | \| Systematic discovery of hidden content across websites — subdomain enumeration, JavaScript Easter-egg hunting, Git commit archeology, API endpoint discove… | +| `competitive-software-landscape` | Systematic multi-registry research of open-source tools and products across categories — GitHub star queries, npm/PyPI/cargo fallback, and saturation scoring. | +| `clickhouse-best-practices` | MUST USE when reviewing ClickHouse schemas, queries, or configurations. Specialized expert for ClickHouse database optimization covering schema design, query… | diff --git a/plugins/agent-toolkit/packs/docs-web-research/README.md b/plugins/agent-toolkit/packs/docs-web-research/README.md new file mode 100644 index 0000000..786f385 --- /dev/null +++ b/plugins/agent-toolkit/packs/docs-web-research/README.md @@ -0,0 +1,31 @@ +# Pack: Docs, Web & Research + +**Category:** productivity · **Skills:** 15 + +Document generation, web, SEO, and business research — PPT/McKinsey decks, research papers, frontend design, web scraping, Excel, n8n, SEO/GEO, job hunting, sales power maps, SaaS niches, NotebookLM, knowledge digest, and prompt engineering. + +Document generation, web, SEO, and business research — PPT/McKinsey decks, doctorate-level research papers, frontend design, web scraping, Excel, n8n automation, SEO/GEO optimization, job hunting, sales Power Maps, SaaS niche discovery, NotebookLM, knowledge digest, and prompt engineering. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `pptx-generator` | Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing P… | +| `mckinsey-presentation-generator` | A professional McKinsey consulting-style multi-page HTML presentation generator. Creates data-rich, research-backed slide decks with SVG charts, market analy… | +| `research-paper-generator` | Autonomously produces doctorate-level research papers (12,000-15,000 words) as formatted Word documents (.docx). Covers the full pipeline: topic analysis, re… | +| `frontend-design` | Create distinctive, production-grade frontend interfaces with high design quality. Use when users ask to build web components, pages, artifacts, posters, or … | +| `seo-geo-optimization-expert` | Comprehensive SEO and GEO (Generative Engine Optimization) expert. Use when the user asks to: audit content quality, EEAT score, CORE-EEAT audit, audit domai… | +| `web-scraper` | Scrape, crawl, and extract data from websites. Use when users ask to scrape web pages, extract content, crawl websites, or collect data from the internet. | +| `excel-xlsx` | Build and manage Microsoft Excel spreadsheets with precision. Create, modify, and audit workbooks featuring formulas, formatting, and data integrity while pr… | +| `n8n` | Manage n8n workflows and automations via API. Use when working with n8n workflows, executions, or automation tasks - listing workflows, activating/deactivati… | +| `deep-research-agent` | Comprehensive research agent for in-depth investigation. Use when users ask for deep research, comprehensive analysis, market research, academic surveys, com… | +| `prompt-engineer` | Expert prompt engineering agent that helps users craft, critique, refine, and debug prompts for LLMs and AI systems. Use this skill whenever the user needs h… | +| `job-hunter` | Comprehensive job hunting and career assistant. Handles the full job search lifecycle: profile collection, multi-platform job discovery, relevance scoring, r… | +| `sales-power-map` | B2B sales intelligence assistant: parse vague sales intent, discover target companies, mine org structures, build decision-maker Power Maps with contact info… | +| `saas-niche-finder` | Discovers profitable SaaS niches and generates validated business ideas. Use when finding untapped market opportunities, analyzing competitor gaps, identifyi… | +| `notebooklm-bridge` | Use when user asks for managing NotebookLM notebooks and sources, asking citation-grounded questions over uploaded material, generating audio briefings or ar… | +| `knowledge-digest` | Converts textbooks or PDFs into personalized, multimodal interactive learning materials including handwritten notes, quiz webpages, slides, audio courses, an… | diff --git a/plugins/agent-toolkit/packs/hermes-dev/README.md b/plugins/agent-toolkit/packs/hermes-dev/README.md new file mode 100644 index 0000000..3b60e79 --- /dev/null +++ b/plugins/agent-toolkit/packs/hermes-dev/README.md @@ -0,0 +1,34 @@ +# Pack: Hermes / Yuno Platform + +**Category:** development · **Skills:** 18 + +Build Hermes/Yuno platform features — CLI internals, gateway protocol/clients, mobile clients, Ariadne memory, gateway adapters, desktop plugins, messaging gateways, themes, and the ModelHub dashboard. + +Skills for building on the Hermes/Yuno platform itself — CLI internals, the tui_gateway JSON-RPC protocol, mobile/desktop/CLI clients, Ariadne memory, gateway adapters, desktop plugins, messaging gateways, themes, and the ModelHub dashboard. Use these when contributing to or extending Hermes. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `hermes-cli-internals` | Hermes CLI architecture patterns — pre-argparse flag handling, environment propagation, profile overrides, and subprocess inheritance. | +| `hermes-client-development` | Build custom clients (mobile, desktop, web, CLI, IDE plugins) that connect to a remote Hermes Agent via its JSON-RPC WebSocket protocol. Covers the hermes se… | +| `hermes-gateway-integration` | Build clients that connect to Hermes Agent via the tui_gateway JSON-RPC WebSocket protocol — mobile apps, web clients, custom UIs, and automations that drive… | +| `hermes-gateway-client-development` | Build mobile, desktop, or CLI clients that connect to a remote Hermes Agent (hermes serve) via WebSocket JSON-RPC. | +| `hermes-contribution-workflows` | Git/PR/terminal tool patterns for contributing to the Hermes Agent codebase. Covers fork-PR gotchas, terminal atomicity, and patch-tool pitfalls. | +| `hermes-mobile-development` | Build native mobile clients (iOS/Android) that connect remotely to a Hermes Agent backend via WebSocket JSON-RPC. | +| `hermes-mobile-client-development` | Building native mobile clients (React Native / Expo) that connect to a remote Hermes Agent gateway via WebSocket JSON-RPC. | +| `hermes-ariadne-memory` | Install, configure, and use Ariadne memory provider for Hermes Agent — local-first hybrid search (FAISS + FTS5 + RRF), knowledge graph, cognitive retention, … | +| `hermes-gateway-protocol` | Build custom clients against the Hermes tui_gateway JSON-RPC protocol — remote connection, WebSocket transport, auth, and the @hermes/shared client library. | +| `modelhub-dashboard` | ModelHub AI Model Benchmark Dashboard - operations, data refresh, and management | +| `hermes-agent-environment-passthrough` | Ensuring environment variables are correctly passed to Hermes agent terminal backends, especially Daytona. | +| `hermes-free-tier-setup` | Class-level skill for configuring Hermes Agent with 100% free LLM providers, intelligent fallback chains, and optimized auxiliary models | +| `gateway-adapter-development` | Develop, debug, and maintain Hermes gateway platform adapters (Telegram, Discord, Slack, Raft, etc.) | +| `ariadne-memory` | Set up and use Ariadne as the local-first hybrid search memory provider for Hermes Agent. | +| `hermes-mcp-integration` | Use when integrating Hermes V7 native MCP client (stdio/HTTP servers, tool discovery, config.yaml setup). | +| `hermes-desktop-plugins` | Use when user asks for writing Hermes desktop plugins, UI panes, custom commands inside Hermes desktop app. NOT for Hermes CLI plugins or non-Hermes desktop … | +| `messaging-gateway-setup` | Use when user asks for setting up Telegram, WhatsApp, Discord, Signal, or Matrix, configuring the Hermes messaging gateway, checking or restarting gateway st… | +| `hermes-themes` | Author a Hermes color theme that skins every surface. | diff --git a/plugins/agent-toolkit/packs/manifest.json b/plugins/agent-toolkit/packs/manifest.json new file mode 100644 index 0000000..78a55b0 --- /dev/null +++ b/plugins/agent-toolkit/packs/manifest.json @@ -0,0 +1,594 @@ +{ + "version": 1, + "generated_from": "packs/manifest.json (hand-curated partition)", + "packs": [ + { + "name": "core", + "title": "Core & Personal", + "category": "productivity", + "description": "Personal seed skills, productivity, and routing meta — the daily-driver layer for Basti's workstation: Obsidian second-brain, Yuno cleaner, 3D printing, Yuno team orchestration/routing/preferences, model selection, folder tidy, daily briefing, and the skill↔MCP router.", + "skill_count": 10, + "skills": [ + { + "name": "second-brain", + "description": "Bastis Obsidian Vault als Domän-Wissensbank nutzen. Verwenden bei Fragen zu Bastis Wissen/Notizen (\"was weiß ich über X\", \"steht dazu was im Vault?\"), zum Nachschlagen von System-/Projekt-Kontext (Gaming-Performance, KI-Architektur, Security, Yuno/Hermes), zum Erfassen neuer Notizen/Erkenntnisse, für Daily Notes, oder zum Erstellen/Lesen von Excalidraw-Skizzen im Vault." + }, + { + "name": "yuno-cleaner", + "description": "Use when user asks to run Yuno Cleaner for a Linux scan, cleanup, status check, scheduled cleanup, JSON report, Telegram notification, or handoff. NOT for destructive cleanup without the tool’s safety flow or app-specific uninstall work. Provides the Hermes integration, command forms, dry/report modes, scheduling, and safety guardrails." + }, + { + "name": "drucker-experte", + "description": "3D-Druck-Experte für Bastis Bambu Lab A1 mini (0.4mm Düse, Bett 180x180x180). Triggers on STL, Bambu Lab, 3D-Druck, Slicer-Setting, Druckzeit, Mesh-Repair, G-Code." + }, + { + "name": "tidy-folder", + "description": "Professional folder cleanup and organization assistant. Safely organizes and cleans up directories by scanning contents, recommending cleanup rules, creating mandatory backups before any operation, and using move-to-trash instead of delete. Supports Linux/macOS and Windows (PowerShell). Trigger keywords: tidy, cleanup, organize folder, clean directory, folder organization." + }, + { + "name": "daily-briefing", + "description": "Use when user asks for starting a Hermes work session, reviewing the last session and open work, checking cron and system status, validating today daily note, or requesting a morning or daily briefing. NOT for end-of-session handoff or a standalone reminder about an empty daily note. Builds an evidence-backed session briefing from recent context, schedules, delivery health, optional news, and vault hygiene checks." + }, + { + "name": "model-selector", + "description": "Use when user asks for choosing an LLM from the Nous Portal, comparing models by speed, reasoning, code ability, or price, resolving provider-specific model names, or selecting a local model for limited VRAM. NOT for running formal benchmark evaluations or deploying a model server. Provides workload-based recommendations, price checks, provider naming rules, fallback considerations, and model-switch handoffs." + }, + { + "name": "skill-mcp-router", + "description": "Skill + MCP routing agent for the repository's installed and library skill tiers. Use when a task needs the right skill AND the right MCP server resolved together — converts a raw request into a (skill, MCP server, filtered tools) triple with minimal token use via lazy tool discovery. Implements the 5-step intent->skill->server-> tool->execute flow. NOT for single-skill lookup (use skill-navigator) or multi-agent dispatch (use swarm-router); this skill stitches the full chain that no other skill covers." + }, + { + "name": "yuno-team-orchestrator", + "description": "Use when orchestrating Yunos 7-agent team for multi-domain tasks." + }, + { + "name": "yuno-team-routing", + "description": "Use when user asks which Yuno team agent should handle a task, how to decompose a multi-domain request, or how to hand work between the seven specialized agents. NOT for performing the task itself or maintaining a generic organization chart. Applies the authoritative trigger-to-agent routing table, ownership rules, handoff patterns, and anti-patterns." + }, + { + "name": "yuno-user-preferences", + "description": "Use when user asks how to apply Basti’s working-style preferences, honest testing standard, recommendation-first decisions, concrete options, scope checks, or communication and documentation conventions. NOT for inventing preferences or overriding an explicit current instruction. Guides tone, verification, safe edits, GreyHack workflows, and disciplined task completion." + } + ] + }, + { + "name": "hermes-dev", + "title": "Hermes / Yuno Platform", + "category": "development", + "description": "Build Hermes/Yuno platform features — CLI internals, gateway protocol/clients, mobile clients, Ariadne memory, gateway adapters, desktop plugins, messaging gateways, themes, and the ModelHub dashboard.", + "skill_count": 18, + "skills": [ + { + "name": "hermes-cli-internals", + "description": "Hermes CLI architecture patterns — pre-argparse flag handling, environment propagation, profile overrides, and subprocess inheritance." + }, + { + "name": "hermes-client-development", + "description": "Build custom clients (mobile, desktop, web, CLI, IDE plugins) that connect to a remote Hermes Agent via its JSON-RPC WebSocket protocol. Covers the hermes serve backend, auth flows, the tui_gateway protocol, and the @hermes/shared TypeScript client library." + }, + { + "name": "hermes-gateway-integration", + "description": "Build clients that connect to Hermes Agent via the tui_gateway JSON-RPC WebSocket protocol — mobile apps, web clients, custom UIs, and automations that drive a remote Hermes backend." + }, + { + "name": "hermes-gateway-client-development", + "description": "Build mobile, desktop, or CLI clients that connect to a remote Hermes Agent (hermes serve) via WebSocket JSON-RPC." + }, + { + "name": "hermes-contribution-workflows", + "description": "Git/PR/terminal tool patterns for contributing to the Hermes Agent codebase. Covers fork-PR gotchas, terminal atomicity, and patch-tool pitfalls." + }, + { + "name": "hermes-mobile-development", + "description": "Build native mobile clients (iOS/Android) that connect remotely to a Hermes Agent backend via WebSocket JSON-RPC." + }, + { + "name": "hermes-mobile-client-development", + "description": "Building native mobile clients (React Native / Expo) that connect to a remote Hermes Agent gateway via WebSocket JSON-RPC." + }, + { + "name": "hermes-ariadne-memory", + "description": "Install, configure, and use Ariadne memory provider for Hermes Agent — local-first hybrid search (FAISS + FTS5 + RRF), knowledge graph, cognitive retention, auto-deduplication. Zero infrastructure, single SQLite file." + }, + { + "name": "hermes-gateway-protocol", + "description": "Build custom clients against the Hermes tui_gateway JSON-RPC protocol — remote connection, WebSocket transport, auth, and the @hermes/shared client library." + }, + { + "name": "modelhub-dashboard", + "description": "ModelHub AI Model Benchmark Dashboard - operations, data refresh, and management" + }, + { + "name": "hermes-agent-environment-passthrough", + "description": "Ensuring environment variables are correctly passed to Hermes agent terminal backends, especially Daytona." + }, + { + "name": "hermes-free-tier-setup", + "description": "Class-level skill for configuring Hermes Agent with 100% free LLM providers, intelligent fallback chains, and optimized auxiliary models" + }, + { + "name": "gateway-adapter-development", + "description": "Develop, debug, and maintain Hermes gateway platform adapters (Telegram, Discord, Slack, Raft, etc.)" + }, + { + "name": "ariadne-memory", + "description": "Set up and use Ariadne as the local-first hybrid search memory provider for Hermes Agent." + }, + { + "name": "hermes-mcp-integration", + "description": "Use when integrating Hermes V7 native MCP client (stdio/HTTP servers, tool discovery, config.yaml setup)." + }, + { + "name": "hermes-desktop-plugins", + "description": "Use when user asks for writing Hermes desktop plugins, UI panes, custom commands inside Hermes desktop app. NOT for Hermes CLI plugins or non-Hermes desktop extensions. Write desktop app plugins that add UI panes and commands." + }, + { + "name": "messaging-gateway-setup", + "description": "Use when user asks for setting up Telegram, WhatsApp, Discord, Signal, or Matrix, configuring the Hermes messaging gateway, checking or restarting gateway status, or removing a messaging platform safely. NOT for sending routine chat messages or changing model-provider configuration. Guides platform setup, environment and persisted-state cleanup, lifecycle commands, and connection verification." + }, + { + "name": "hermes-themes", + "description": "Author a Hermes color theme that skins every surface." + } + ] + }, + { + "name": "cybersecurity", + "title": "Cybersecurity", + "category": "security", + "description": "50 defensive-security and DFIR skills — CIS hardening, Docker/K8s and container security, network detection & hunting (Zeek/Suricata/Wireshark), forensics (Volatility/disk/IR), and compliance/supply-chain (SBOM/SLSA/gitleaks).", + "skill_count": 50, + "skills": [ + { + "name": "hardening-linux-endpoint-with-cis-benchmark", + "description": "Hardens Linux endpoints using CIS Benchmark recommendations for Ubuntu, RHEL, and CentOS to reduce attack surface, enforce security baselines, and meet compliance requirements. Use when deploying new Linux servers, remediating audit findings, or establishing security baselines for Linux infrastructure. Activates for requests involving Linux hardening, CIS benchmarks for Linux, server security baselines, or Linux configuration compliance." + }, + { + "name": "analyzing-linux-audit-logs-for-intrusion", + "description": "Uses the Linux Audit framework (auditd) with ausearch and aureport utilities to detect intrusion attempts, unauthorized access, privilege escalation, and suspicious system activity. Covers audit rule configuration, log querying, timeline reconstruction, and integration with SIEM platforms. Activates for requests involving auditd analysis, Linux audit log investigation, ausearch queries, aureport summaries, or host-based intrusion detection on Linux. '" + }, + { + "name": "analyzing-linux-system-artifacts", + "description": "Examine Linux system artifacts including auth logs, cron jobs, shell history, and system configuration to uncover evidence of compromise or unauthorized activity." + }, + { + "name": "analyzing-persistence-mechanisms-in-linux", + "description": "Detect and analyze Linux persistence mechanisms including crontab entries, systemd service units, LD_PRELOAD hijacking, bashrc modifications, and authorized_keys backdoors using auditd and file integrity monitoring" + }, + { + "name": "detecting-rootkit-activity", + "description": "Detects rootkit presence on compromised systems by identifying hidden processes, hooked system calls, modified kernel structures, hidden files, and covert network connections using memory forensics, cross-view detection, and integrity checking techniques. Activates for requests involving rootkit detection, hidden process discovery, kernel integrity checking, or system call hook analysis. '" + }, + { + "name": "analyzing-linux-kernel-rootkits", + "description": "Detect kernel-level rootkits in Linux memory dumps using Volatility3 linux plugins (check_syscall, lsmod, hidden_modules), rkhunter system scanning, and /proc vs /sys discrepancy analysis to identify hooked syscalls, hidden kernel modules, and tampered system structures." + }, + { + "name": "performing-linux-log-forensics-investigation", + "description": "Perform forensic investigation of Linux system logs including syslog, auth.log, systemd journal, kern.log, and application logs to reconstruct user activity, detect unauthorized access, and establish event timelines on compromised Linux systems." + }, + { + "name": "detecting-port-scanning-with-fail2ban", + "description": "Configures Fail2ban with custom filters and actions to detect port scanning activity, SSH brute force attempts, and network reconnaissance, automatically banning offending IP addresses and alerting security teams to suspicious network probing. '" + }, + { + "name": "implementing-network-segmentation-with-firewall-zones", + "description": "Design and implement network segmentation using firewall security zones, VLANs, ACLs, and microsegmentation policies to restrict lateral movement and enforce least-privilege network access." + }, + { + "name": "hardening-docker-containers-for-production", + "description": "Hardening Docker containers for production involves applying security best practices aligned with CIS Docker Benchmark v1.8.0 to minimize attack surface, prevent privilege escalation, and enforce leas" + }, + { + "name": "hardening-docker-daemon-configuration", + "description": "Harden the Docker daemon by configuring daemon.json with user namespace remapping, TLS authentication, rootless mode, and CIS benchmark controls." + }, + { + "name": "performing-docker-bench-security-assessment", + "description": "Docker Bench for Security is an open-source script that checks dozens of common best practices around deploying Docker containers in production. Based on the CIS Docker Benchmark, it audits host confi" + }, + { + "name": "analyzing-docker-container-forensics", + "description": "Investigate compromised Docker containers by analyzing images, layers, volumes, logs, and runtime artifacts to identify malicious activity and evidence." + }, + { + "name": "detecting-container-escape-attempts", + "description": "Container escape is a critical attack technique where an adversary breaks out of container isolation to access the host system or other containers. Detection involves monitoring for escape indicators" + }, + { + "name": "detecting-container-runtime-threats-with-falco", + "description": "Write and deploy Falco rules with the modern eBPF driver to detect container escape, namespace abuse, privileged mounts, and anomalous syscalls at runtime in Kubernetes and Docker." + }, + { + "name": "scanning-docker-images-with-trivy", + "description": "Trivy is a comprehensive open-source vulnerability scanner by Aqua Security that detects vulnerabilities in OS packages, language-specific dependencies, misconfigurations, secrets, and license violati" + }, + { + "name": "performing-container-security-scanning-with-trivy", + "description": "Scan container images, filesystems, and Kubernetes manifests for vulnerabilities, misconfigurations, exposed secrets, and license compliance issues using Aqua Security Trivy with SBOM generation and CI/CD integration." + }, + { + "name": "implementing-container-image-minimal-base-with-distroless", + "description": "Reduce container attack surface by building application images on Google distroless base images that contain only the application runtime with no shell, package manager, or unnecessary OS utilities." + }, + { + "name": "securing-container-registry-with-harbor", + "description": "Harbor is an open-source container registry that provides security features including vulnerability scanning (integrated Trivy), image signing (Notary/Cosign), RBAC, content trust policies, replicatio" + }, + { + "name": "implementing-kubernetes-pod-security-standards", + "description": "Pod Security Standards (PSS) define three levels of security policies -- Privileged, Baseline, and Restricted -- enforced by the Pod Security Admission (PSA) controller built into Kubernetes 1.25+. PS" + }, + { + "name": "analyzing-network-packets-with-scapy", + "description": "Craft, send, sniff, and dissect network packets using Scapy for protocol analysis, network reconnaissance, and traffic anomaly detection in authorized security testing" + }, + { + "name": "analyzing-network-traffic-with-wireshark", + "description": "Captures and analyzes network packet data using Wireshark and tshark to identify malicious traffic patterns, diagnose protocol issues, extract artifacts, and support incident response investigations on authorized network segments. '" + }, + { + "name": "performing-network-forensics-with-wireshark", + "description": "Capture and analyze network traffic using Wireshark and tshark to reconstruct network events, extract artifacts, and identify malicious communications." + }, + { + "name": "configuring-suricata-for-network-monitoring", + "description": "Deploys and configures Suricata IDS/IPS with Emerging Threats rulesets, EVE JSON logging, and custom rules for real-time network traffic inspection, threat detection, and integration with SIEM platforms for centralized security monitoring. '" + }, + { + "name": "detecting-network-anomalies-with-zeek", + "description": "Deploys and configures Zeek (formerly Bro) network security monitor to passively analyze network traffic, generate structured logs, detect anomalous behavior, and create custom detection scripts for threat hunting and incident response. '" + }, + { + "name": "detecting-beaconing-patterns-with-zeek", + "description": "Performs statistical analysis of Zeek conn.log connection intervals to detect C2 beaconing patterns. Uses the ZAT library to load Zeek logs into Pandas DataFrames, calculates inter-arrival time standard deviation, and flags periodic connections with low jitter. Use when hunting for command-and-control callbacks in network data. '" + }, + { + "name": "detecting-dns-exfiltration-with-dns-query-analysis", + "description": "Detect data exfiltration through DNS tunneling by analyzing query entropy, subdomain length, query volume, TXT record abuse, and response payload sizes using passive DNS monitoring." + }, + { + "name": "deploying-osquery-for-endpoint-monitoring", + "description": "Deploys and configures osquery for real-time endpoint monitoring using SQL-based queries to inspect running processes, open ports, installed software, and system configuration. Use when building visibility into endpoint state, threat hunting across fleet, or implementing compliance monitoring. Activates for requests involving osquery deployment, endpoint visibility, fleet management, or SQL-based endpoint querying. '" + }, + { + "name": "building-detection-rules-with-sigma", + "description": "Builds vendor-agnostic detection rules using the Sigma rule format for threat detection across SIEM platforms including Splunk, Elastic, and Microsoft Sentinel. Use when creating portable detection logic from threat intelligence, mapping rules to MITRE ATT&CK techniques, or converting community Sigma rules into platform-specific queries using sigmac or pySigma backends. '" + }, + { + "name": "performing-malware-triage-with-yara", + "description": "Performs rapid malware triage and classification using YARA rules to match file patterns, strings, byte sequences, and structural characteristics against known malware families and suspicious indicators. Covers rule writing, scanning, and integration with analysis pipelines. Activates for requests involving YARA rule creation, malware classification, pattern matching, sample triage, or signature-based detection. '" + }, + { + "name": "hunting-advanced-persistent-threats", + "description": "Proactively hunts for Advanced Persistent Threat (APT) activity within enterprise environments using hypothesis-driven searches across endpoint telemetry, network logs, and memory artifacts. Use when conducting scheduled threat hunting cycles, investigating anomalous behavior flagged by UEBA, or validating that known APT TTPs are not present in the environment. Activates for requests involving MITRE ATT&CK, Velociraptor, osquery, Zeek, or threat hunting playbooks. '" + }, + { + "name": "building-threat-hunt-hypothesis-framework", + "description": "Build a systematic threat hunt hypothesis framework that transforms threat intelligence, attack patterns, and environmental data into testable hunting hypotheses." + }, + { + "name": "conducting-memory-forensics-with-volatility", + "description": "Performs memory forensics analysis using Volatility 3 to extract evidence of malware execution, process injection, network connections, and credential theft from RAM dumps captured during incident response. Covers memory acquisition, process analysis, DLL inspection, and malware detection. Activates for requests involving memory forensics, RAM analysis, Volatility framework, memory dump investigation, volatile evidence analysis, or live memory acquisition. '" + }, + { + "name": "performing-memory-forensics-with-volatility3", + "description": "Analyze volatile memory dumps using Volatility 3 to extract running processes, network connections, loaded modules, and evidence of malicious activity." + }, + { + "name": "performing-disk-forensics-investigation", + "description": "Conducts disk forensics investigations using forensic imaging, file system analysis, artifact recovery, and timeline reconstruction to support incident response cases. Utilizes tools such as FTK Imager, Autopsy, and The Sleuth Kit for evidence acquisition, deleted file recovery, and artifact examination. Activates for requests involving disk forensics, hard drive analysis, forensic imaging, file recovery, evidence acquisition, or digital forensic investigation. '" + }, + { + "name": "performing-endpoint-forensics-investigation", + "description": "Performs digital forensics investigation on compromised endpoints including memory acquisition, disk imaging, artifact analysis, and timeline reconstruction. Use when investigating security incidents, collecting evidence for legal proceedings, or analyzing endpoint compromise scope. Activates for requests involving endpoint forensics, memory analysis, disk forensics, or incident investigation. '" + }, + { + "name": "performing-log-analysis-for-forensic-investigation", + "description": "Collect, parse, and correlate system, application, and security logs to reconstruct events and establish timelines during forensic investigations." + }, + { + "name": "building-incident-response-playbook", + "description": "Designs and documents structured incident response playbooks that define step-by-step procedures for specific incident types aligned with NIST SP 800-61r3 and SANS PICERL frameworks. Covers playbook structure, decision trees, escalation criteria, RACI matrices, and integration with SOAR platforms. Activates for requests involving IR playbook creation, incident response procedure documentation, response runbook development, or SOAR playbook design. '" + }, + { + "name": "triaging-security-incident-with-ir-playbook", + "description": "Classify and prioritize security incidents using structured IR playbooks to determine severity, assign response teams, and initiate appropriate response procedures." + }, + { + "name": "recovering-deleted-files-with-photorec", + "description": "Recover deleted files from disk images and storage media using PhotoRec's file signature-based carving engine regardless of file system damage." + }, + { + "name": "performing-file-carving-with-foremost", + "description": "Recover files from disk images and unallocated space using Foremost's header-footer signature carving to extract evidence regardless of file system state." + }, + { + "name": "performing-nist-csf-maturity-assessment", + "description": "The NIST Cybersecurity Framework (CSF) 2.0, released in February 2024, provides a comprehensive taxonomy for managing cybersecurity risk through six core Functions - Govern, Identify, Protect, Detect, Respond, and Recover. This skill covers conducting a maturity assessment against the CSF using Implementation Tiers to measure organizational cybersecurity posture and create improvement roadmaps." + }, + { + "name": "implementing-attack-surface-management", + "description": "Implements external attack surface management (EASM) using Shodan, Censys, and ProjectDiscovery tools (subfinder, httpx, nuclei) for asset discovery, subdomain enumeration, service fingerprinting, and exposure scoring. Includes a weighted risk scoring algorithm based on OWASP attack surface analysis methodology and the Relative Attack Surface Quotient (RSQ). Use when building continuous ASM programs or performing external reconnaissance for security assessments. '" + }, + { + "name": "auditing-cloud-with-cis-benchmarks", + "description": "This skill details how to conduct cloud security audits using Center for Internet Security benchmarks for AWS, Azure, and GCP. It covers interpreting CIS Foundations Benchmark controls, running automated assessments with tools like Prowler and ScoutSuite, remediating failed controls, and maintaining continuous compliance monitoring against CIS v5 for AWS, v4 for Azure, and v4 for GCP. '" + }, + { + "name": "implementing-secret-scanning-with-gitleaks", + "description": "This skill covers implementing Gitleaks for detecting and preventing hardcoded secrets in git repositories. It addresses configuring pre-commit hooks, CI/CD pipeline integration, custom rule authoring for organization-specific secrets, baseline management for existing repositories, and remediation workflows for exposed credentials. '" + }, + { + "name": "detecting-aws-credential-exposure-with-trufflehog", + "description": "Detecting exposed AWS credentials in source code repositories, CI/CD pipelines, and configuration files using TruffleHog, git-secrets, and AWS-native detection mechanisms to prevent credential theft and unauthorized account access. '" + }, + { + "name": "generating-and-analyzing-sboms", + "description": "Produce and ingest CycloneDX and SPDX SBOMs and correlate them to vulnerability intelligence." + }, + { + "name": "analyzing-sbom-for-supply-chain-vulnerabilities", + "description": "Parses Software Bill of Materials (SBOM) in CycloneDX and SPDX JSON formats to identify supply chain vulnerabilities by correlating components against the NVD CVE database via the NVD 2.0 API. Builds dependency graphs, calculates risk scores, identifies transitive vulnerability paths, and generates compliance reports. Activates for requests involving SBOM analysis, software composition analysis, supply chain security assessment, dependency vulnerability scanning, CycloneDX/SPDX parsing, or CVE correlation. '" + }, + { + "name": "verifying-build-provenance-with-slsa-sigstore", + "description": "Verify signed artifacts and SLSA build provenance with Sigstore cosign and slsa-verifier, enforce keyless OIDC identity, and apply SLSA Build levels to harden the software supply chain." + }, + { + "name": "performing-authenticated-vulnerability-scan", + "description": "Authenticated (credentialed) vulnerability scanning uses valid system credentials to log into target hosts and perform deep inspection of installed software, patches, configurations, and security sett" + } + ] + }, + { + "name": "methodology", + "title": "Engineering Methodology", + "category": "development", + "description": "Engineering methodology and multi-agent orchestration — the Superpowers workflow set (brainstorm→plan→TDD→debug→verify→finish), subagent-driven development, the ZCode SubAgent Team, Queen-Bee swarm dispatch, and the multi-agent master workflow.", + "skill_count": 18, + "skills": [ + { + "name": "superpower-10x", + "description": "Use when building software, planning features, debugging issues, or executing development workflows - enhances agent productivity 10x through systematic processes, automated workflows, and intelligent task orchestration" + }, + { + "name": "superpowers-brainstorming", + "description": "Use when you have a vague problem statement or open-ended request, before writing any spec — tease out goals, constraints, and scope through structured questioning" + }, + { + "name": "superpowers-dispatching-parallel-agents", + "description": "Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies — spawn parallel subagents with isolated context" + }, + { + "name": "superpowers-executing-plans", + "description": "Use when you have a written implementation plan to execute — load plan, review critically, execute tasks with review checkpoints" + }, + { + "name": "superpowers-finishing-a-development-branch", + "description": "Use when wrapping up a development branch before PR — run tests, lint, verify, clean up, and squash" + }, + { + "name": "superpowers-receiving-code-review", + "description": "Use when receiving code review feedback — evaluate suggestions with technical rigor, don't blindly implement" + }, + { + "name": "superpowers-requesting-code-review", + "description": "Use before submitting any PR or merge request — do a final pass for security, quality, and consistency" + }, + { + "name": "superpowers-subagent-driven-development", + "description": "Execute implementation plans by dispatching subagents per task with review checkpoints — the core autonomous development workflow" + }, + { + "name": "superpowers-systematic-debugging", + "description": "Use when encountering any bug, test failure, or unexpected behavior — find root cause before proposing fixes" + }, + { + "name": "superpowers-test-driven-development", + "description": "Use when implementing any feature or bugfix — write the test first, watch it fail, write minimal code to pass" + }, + { + "name": "superpowers-using-git-worktrees", + "description": "Use when starting feature work that needs isolation from current workspace — creates isolated worktrees so multiple branches can be worked on without interference" + }, + { + "name": "superpowers-using-superpowers", + "description": "Use when starting a new session or task — loads the Superpowers methodology and reminds the agent to follow the process" + }, + { + "name": "superpowers-verification-before-completion", + "description": "Use before declaring any task done — verify against spec, check edge cases, confirm tests pass, ensure no regressions" + }, + { + "name": "superpowers-writing-plans", + "description": "Use when you have a spec or requirements for a multi-step task, before touching code — write comprehensive bite-sized implementation plans" + }, + { + "name": "superpowers-writing-skills", + "description": "Use when creating or significantly updating a skill — write structured, reusable workflows with clear triggers and tested procedures" + }, + { + "name": "zcode-subagent-team", + "description": "ZCode SubAgent Team — a Hermes-Kanban multi-lane agent swarm where a Queen (GLM ZCode orchestrator/verifier) delegates bulk work to MiniMax-M3 workers across General / Vision / Coder / Debug / Verify / Quality-Gate lanes, all routed through Hermes. Use when orchestrating a staged, multi-lane coding or debugging pipeline; pairs with the zc-* subagents shipped in this toolkit." + }, + { + "name": "multi-agent-master-workflow", + "description": "Use when user asks for designing a master-controller and subagent workflow, parallelizing independent workstreams, coordinating cross-repository cleanup, or auditing a cron fleet with workers. NOT for a deterministic single-worker task or a request that only needs a written plan. Provides reusable phases, scope verification, briefing templates, ReAct reflection, conflict controls, and queen-side synthesis." + }, + { + "name": "queen-bee-schwarm-dispatch", + "description": "Use when user asks to orchestrate parallel subagents, dispatch a Queen-Bee swarm, run orthogonal scouts, or audit separate artifacts concurrently. NOT for one-file sequential edits or parallel writers with overlapping targets. Provides affinity-safe briefs, wave dispatch, Queen verification, and report-integration patterns." + } + ] + }, + { + "name": "media", + "title": "Media & Generation", + "category": "creative", + "description": "Media generation via MiniMax and image models — the mmx CLI, MiniMax agent builder, crypto trading, DOCX/PDF, and Nano Banana Pro image gen.", + "skill_count": 6, + "skills": [ + { + "name": "mmx-cli", + "description": "Use mmx to generate text, images, video, speech, and music via the MiniMax AI platform. Use when the user wants to create media content, chat with MiniMax models, perform web search, or manage MiniMax API resources from the terminal." + }, + { + "name": "minimax-ai-agent-builder", + "description": "A comprehensive guide to building your first AI agent using MiniMax. Use when users ask how to create AI agents, build autonomous assistants, develop LLM-powered applications, or get started with MiniMax agent development. Triggers include phrases like \"build an AI agent\", \"create a MiniMax agent\", \"how to make an agent\", \"AI agent tutorial\", \"MiniMax development guide\", or \"autonomous AI assistant setup\"." + }, + { + "name": "minimax-crypto-trading", + "description": "A professional-grade crypto trading decision agent for BTC/ETH/SOL. Uses multi-layer analysis (Macro Gatekeeper, Anti-Consensus Filter, SFP Liquidity Hunter, Committee Decision, Minimax Executor, Risk Governor) to identify asymmetric trades. Prioritizes survival over profit, outputs only EXECUTE or NO TRADE decisions. Trigger keywords: crypto, trading, BTC, ETH, SOL, trade signal, market analysis, SFP, swing failure pattern, funding rate, liquidity." + }, + { + "name": "minimax-docx", + "description": "Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET). Three pipelines: (A) create new documents from scratch, (B) fill/edit content in existing documents, (C) apply template formatting with XSD validation gate-check. MUST use this skill whenever the user wants to produce, modify, or format a Word document — including when they say \"write a report\", \"draft a proposal\", \"make a contract\", \"fill in this form\", \"reformat to match this template\", or any task whose final output is a .docx file. Even if the user doesn't mention \"docx\" explicitly, if the task implies a printable/formal document, use this skill." + }, + { + "name": "minimax-pdf", + "description": "Use this skill when visual quality and design identity matter for a PDF. CREATE (generate from scratch): \"make a PDF\", \"generate a report\", \"write a proposal\", \"create a resume\", \"beautiful PDF\", \"professional document\", \"cover page\", \"polished PDF\", \"client-ready document\". FILL (complete form fields): \"fill in the form\", \"fill out this PDF\", \"complete the form fields\", \"write values into PDF\", \"what fields does this PDF have\". REFORMAT (apply design to an existing doc): \"reformat this document\", \"apply our style\", \"convert this Markdown/text to PDF\", \"make this doc look good\", \"re-style this PDF\". This skill uses a token-based design system: color, typography, and spacing are derived from the document type and flow through every page. The output is print-ready. Prefer this skill when appearance matters, not just when any PDF output is needed." + }, + { + "name": "nano-banana-pro", + "description": "Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image." + } + ] + }, + { + "name": "docs-web-research", + "title": "Docs, Web & Research", + "category": "productivity", + "description": "Document generation, web, SEO, and business research — PPT/McKinsey decks, research papers, frontend design, web scraping, Excel, n8n, SEO/GEO, job hunting, sales power maps, SaaS niches, NotebookLM, knowledge digest, and prompt engineering.", + "skill_count": 15, + "skills": [ + { + "name": "pptx-generator", + "description": "Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing PPTX via XML workflows, or extract text with markitdown. Triggers: PPT, PPTX, PowerPoint, presentation, slide, deck, slides." + }, + { + "name": "mckinsey-presentation-generator", + "description": "A professional McKinsey consulting-style multi-page HTML presentation generator. Creates data-rich, research-backed slide decks with SVG charts, market analysis, and industry insights. Produces formal, information-dense slides with proper source citations. TRIGGERS: presentation, slide deck, PPT, McKinsey, consulting deck, data presentation, business slides, market analysis presentation." + }, + { + "name": "research-paper-generator", + "description": "Autonomously produces doctorate-level research papers (12,000-15,000 words) as formatted Word documents (.docx). Covers the full pipeline: topic analysis, research question formulation, literature discovery and evaluation, critical synthesis, theoretical/methodological framework development, data analysis (if empirical), academic writing of all sections, quality assurance, citation formatting, visual content sourcing, and professional document production. Trigger: research paper, academic paper, dissertation, thesis writing, literature review, scholarly paper, doctorate-level paper, .docx research document." + }, + { + "name": "frontend-design", + "description": "Create distinctive, production-grade frontend interfaces with high design quality. Use when users ask to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics." + }, + { + "name": "seo-geo-optimization-expert", + "description": "Comprehensive SEO and GEO (Generative Engine Optimization) expert. Use when the user asks to: audit content quality, EEAT score, CORE-EEAT audit, audit domain authority, CITE audit, domain trust score, optimize for AI, get cited by ChatGPT, AI optimization, make content AI-quotable, find keywords, keyword research, topic ideas, audit page SEO, on-page SEO check, SEO score, why is this page not ranking, write SEO content, create a blog post, write an article, draft optimized content, content gap analysis, competitor analysis, SERP analysis, schema markup, meta tags, internal linking, content refresh, rank tracking, backlink analysis, or performance reporting." + }, + { + "name": "web-scraper", + "description": "Scrape, crawl, and extract data from websites. Use when users ask to scrape web pages, extract content, crawl websites, or collect data from the internet." + }, + { + "name": "excel-xlsx", + "description": "Build and manage Microsoft Excel spreadsheets with precision. Create, modify, and audit workbooks featuring formulas, formatting, and data integrity while preserving templates. Use when working with Excel files, .xlsx, .xlsm, .csv, or .tsv formats where formulas, formatting, and workbook reliability are essential." + }, + { + "name": "n8n", + "description": "Manage n8n workflows and automations via API. Use when working with n8n workflows, executions, or automation tasks - listing workflows, activating/deactivating, checking execution status, manually triggering workflows, or debugging automation issues." + }, + { + "name": "deep-research-agent", + "description": "Comprehensive research agent for in-depth investigation. Use when users ask for deep research, comprehensive analysis, market research, academic surveys, competitive analysis, technology trends, or any topic requiring 100+ source verification. Triggers on requests like \"調査して\", \"research\", \"分析して\", \"レポートを作成\", \"comprehensive report\", \"deep dive\", \"thorough analysis\"." + }, + { + "name": "prompt-engineer", + "description": "Expert prompt engineering agent that helps users craft, critique, refine, and debug prompts for LLMs and AI systems. Use this skill whenever the user needs help writing a prompt, improving an existing prompt, debugging why a prompt produces bad output, creating system prompts, designing few-shot examples, or learning prompt techniques. Also trigger when the user mentions \"prompt\", \"system prompt\", \"instructions for AI\", \"make it respond better\", \"the AI keeps doing X\", or asks how to get better results from an AI model. This skill covers prompt generation, analysis, refinement, and education on prompting strategies." + }, + { + "name": "job-hunter", + "description": "Comprehensive job hunting and career assistant. Handles the full job search lifecycle: profile collection, multi-platform job discovery, relevance scoring, resume optimization, cover letter writing, application preparation, application tracking, interview preparation, and strategy optimization. Trigger keywords: job search, find jobs, apply, resume, cover letter, interview prep, job hunt, career, application, hiring." + }, + { + "name": "sales-power-map", + "description": "B2B sales intelligence assistant: parse vague sales intent, discover target companies, mine org structures, build decision-maker Power Maps with contact info and flanking strategies. Trigger on: 'sell', 'find customers', 'power map', 'decision makers', 'target company'." + }, + { + "name": "saas-niche-finder", + "description": "Discovers profitable SaaS niches and generates validated business ideas. Use when finding untapped market opportunities, analyzing competitor gaps, identifying customer pain points, or generating SaaS product ideas backed by market research. Trigger keywords: SaaS idea, niche finder, market opportunity, competitor gap, pain point discovery, startup idea, business validation." + }, + { + "name": "notebooklm-bridge", + "description": "Use when user asks for managing NotebookLM notebooks and sources, asking citation-grounded questions over uploaded material, generating audio briefings or artifacts, or troubleshooting nblm authentication. NOT for general Google Drive editing or ungrounded open-web research. Operates NotebookLM through the nblm CLI for source ingestion, cited synthesis, artifact generation, auth refresh, and repo-doc Q&A." + }, + { + "name": "knowledge-digest", + "description": "Converts textbooks or PDFs into personalized, multimodal interactive learning materials including handwritten notes, quiz webpages, slides, audio courses, and mind maps. Trigger: learning materials, convert textbook, study notes, quiz generation, slides from PDF, mind map, audio course." + } + ] + }, + { + "name": "computer-use", + "title": "Computer-Use & GreyHack", + "category": "automation", + "description": "Desktop and game GUI automation — the GreyHack Computer-Use suite plus game and desktop-window reconnaissance.", + "skill_count": 3, + "skills": [ + { + "name": "greyhack-computer-use-suite", + "description": "Use when driving GreyHack gameplay via Computer-Use automation suite." + }, + { + "name": "computer-use-game-reconnaissance", + "description": "Use when user asks for computer use game reconnaissance, Computer-Use Game Reconnaissance, When to Use This Skill, Why Bother? (Cost vs Value). NOT for unrelated tasks, simple questions. Reconnoiters game executables via static file analysis before GUI automation." + }, + { + "name": "desktop-window-reconnaissance", + "description": "Use when exploring a desktop application or game window for reconnaissance." + } + ] + }, + { + "name": "dev-essentials", + "title": "Dev Essentials", + "category": "development", + "description": "Engineering fundamentals — debugging patterns, defensive programming, config-propagation bugs, reference-architecture research, open-source extraction, stealth web scraping, web-content recon, competitive-landscape research, and ClickHouse best practices.", + "skill_count": 9, + "skills": [ + { + "name": "stealth-web-scraping", + "description": "| Bypass bot detection and anti-scraping measures when browser automation is blocked. Covers CloakBrowser, undetected-chromedriver, and Firecrawl self-hosted as the three pillars: stealth browsers, patched drivers, and headless scraping-as-a-service." + }, + { + "name": "open-source-extraction", + "description": "Extract specific packages from large open-source monorepos and adapt them for standalone use. Covers dependency mapping, stripping cloud/infra deps, creating shim packages, and iterative build fixing." + }, + { + "name": "reference-architecture-research", + "description": "Systematic deep-architecture research of reference repositories before greenfield implementation — clone, audit, feature parity, ADRs, provenance, skeleton." + }, + { + "name": "debugging-patterns", + "description": "Concrete debugging tactics for error classification, library API verification, and multi-location bug fixes. Supplements systematic-debugging with pattern-level techniques." + }, + { + "name": "defensive-programming", + "description": "Defensive programming practices to prevent bugs and increase code resilience" + }, + { + "name": "config-propagation-bugs", + "description": "Detect and fix silent data loss from incomplete model serialization, wholesale overwrites, and live-probe replacement of configured values." + }, + { + "name": "web-content-reconnaissance", + "description": "| Systematic discovery of hidden content across websites — subdomain enumeration, JavaScript Easter-egg hunting, Git commit archeology, API endpoint discovery, and client-side crypto reverse-engineering. For when the user asks you to \"find hidden stuff\" or \"solve a puzzle\" spread across multiple pages/sites." + }, + { + "name": "competitive-software-landscape", + "description": "Systematic multi-registry research of open-source tools and products across categories — GitHub star queries, npm/PyPI/cargo fallback, and saturation scoring." + }, + { + "name": "clickhouse-best-practices", + "description": "MUST USE when reviewing ClickHouse schemas, queries, or configurations. Specialized expert for ClickHouse database optimization covering schema design, query optimization, JOIN strategies, partition strategies, data type selection, insert performance tuning, and troubleshooting. Contains 28 rules that MUST be checked before providing recommendations. Triggers on: CREATE TABLE, ALTER TABLE, ORDER BY, PRIMARY KEY, slow query, JOIN optimization, data ingestion, update/delete strategy, ReplacingMergeTree, partitioning." + } + ] + } + ] +} diff --git a/plugins/agent-toolkit/packs/media/README.md b/plugins/agent-toolkit/packs/media/README.md new file mode 100644 index 0000000..c0afab0 --- /dev/null +++ b/plugins/agent-toolkit/packs/media/README.md @@ -0,0 +1,22 @@ +# Pack: Media & Generation + +**Category:** creative · **Skills:** 6 + +Media generation via MiniMax and image models — the mmx CLI, MiniMax agent builder, crypto trading, DOCX/PDF, and Nano Banana Pro image gen. + +Media generation via MiniMax and image models — the `mmx` CLI, MiniMax agent builder, crypto trading, DOCX/PDF, and Nano Banana Pro image gen. Use these when the user wants generated text, images, video, speech, music, or formatted documents. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `mmx-cli` | Use mmx to generate text, images, video, speech, and music via the MiniMax AI platform. Use when the user wants to create media content, chat with MiniMax mo… | +| `minimax-ai-agent-builder` | A comprehensive guide to building your first AI agent using MiniMax. Use when users ask how to create AI agents, build autonomous assistants, develop LLM-pow… | +| `minimax-crypto-trading` | A professional-grade crypto trading decision agent for BTC/ETH/SOL. Uses multi-layer analysis (Macro Gatekeeper, Anti-Consensus Filter, SFP Liquidity Hunter,… | +| `minimax-docx` | Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET). Three pipelines: (A) create new documents from scratch, (B) fill/edit … | +| `minimax-pdf` | Use this skill when visual quality and design identity matter for a PDF. CREATE (generate from scratch): "make a PDF", "generate a report", "write a proposal… | +| `nano-banana-pro` | Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K… | diff --git a/plugins/agent-toolkit/packs/methodology/README.md b/plugins/agent-toolkit/packs/methodology/README.md new file mode 100644 index 0000000..e65226d --- /dev/null +++ b/plugins/agent-toolkit/packs/methodology/README.md @@ -0,0 +1,34 @@ +# Pack: Engineering Methodology + +**Category:** development · **Skills:** 18 + +Engineering methodology and multi-agent orchestration — the Superpowers workflow set (brainstorm→plan→TDD→debug→verify→finish), subagent-driven development, the ZCode SubAgent Team, Queen-Bee swarm dispatch, and the multi-agent master workflow. + +The engineering-process backbone: the Superpowers workflow set (brainstorm → plan → TDD → debug → verify → finish), subagent-driven development, the ZCode SubAgent Team, Queen-Bee swarm dispatch, and the multi-agent master workflow. Use these whenever you're building software or orchestrating multiple agents. + +## When to use this pack + +See the trigger words in each skill's description. This pack is the right starting point when the task falls in this domain; the `/toolkit ` command lists these skills interactively. + +## Skills + +| Skill | What it does | +|---|---| +| `superpower-10x` | Use when building software, planning features, debugging issues, or executing development workflows - enhances agent productivity 10x through systematic proc… | +| `superpowers-brainstorming` | Use when you have a vague problem statement or open-ended request, before writing any spec — tease out goals, constraints, and scope through structured quest… | +| `superpowers-dispatching-parallel-agents` | Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies — spawn parallel subagents with isolated context | +| `superpowers-executing-plans` | Use when you have a written implementation plan to execute — load plan, review critically, execute tasks with review checkpoints | +| `superpowers-finishing-a-development-branch` | Use when wrapping up a development branch before PR — run tests, lint, verify, clean up, and squash | +| `superpowers-receiving-code-review` | Use when receiving code review feedback — evaluate suggestions with technical rigor, don't blindly implement | +| `superpowers-requesting-code-review` | Use before submitting any PR or merge request — do a final pass for security, quality, and consistency | +| `superpowers-subagent-driven-development` | Execute implementation plans by dispatching subagents per task with review checkpoints — the core autonomous development workflow | +| `superpowers-systematic-debugging` | Use when encountering any bug, test failure, or unexpected behavior — find root cause before proposing fixes | +| `superpowers-test-driven-development` | Use when implementing any feature or bugfix — write the test first, watch it fail, write minimal code to pass | +| `superpowers-using-git-worktrees` | Use when starting feature work that needs isolation from current workspace — creates isolated worktrees so multiple branches can be worked on without interfe… | +| `superpowers-using-superpowers` | Use when starting a new session or task — loads the Superpowers methodology and reminds the agent to follow the process | +| `superpowers-verification-before-completion` | Use before declaring any task done — verify against spec, check edge cases, confirm tests pass, ensure no regressions | +| `superpowers-writing-plans` | Use when you have a spec or requirements for a multi-step task, before touching code — write comprehensive bite-sized implementation plans | +| `superpowers-writing-skills` | Use when creating or significantly updating a skill — write structured, reusable workflows with clear triggers and tested procedures | +| `zcode-subagent-team` | ZCode SubAgent Team — a Hermes-Kanban multi-lane agent swarm where a Queen (GLM ZCode orchestrator/verifier) delegates bulk work to MiniMax-M3 workers across… | +| `multi-agent-master-workflow` | Use when user asks for designing a master-controller and subagent workflow, parallelizing independent workstreams, coordinating cross-repository cleanup, or … | +| `queen-bee-schwarm-dispatch` | Use when user asks to orchestrate parallel subagents, dispatch a Queen-Bee swarm, run orthogonal scouts, or audit separate artifacts concurrently. NOT for on… | diff --git a/routing/bundles/backend-frameworks.yaml b/routing/bundles/backend-frameworks.yaml deleted file mode 100644 index a60b736..0000000 --- a/routing/bundles/backend-frameworks.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: backend-frameworks -description: Backend-Frameworks — FastAPI, .NET-Upgrade, Postgres-Review. -skills: - - fastapi - - fastapi-python - - dotnet-upgrade - - postgresql-code-review -instruction: | - FastAPI generell → fastapi; FastAPI expert/async DB → fastapi-python; - .NET Framework Upgrade → dotnet-upgrade; Postgres-spezifisches Review → postgresql-code-review. diff --git a/routing/bundles/code-review-suite.yaml b/routing/bundles/code-review-suite.yaml deleted file mode 100644 index d4e6ba3..0000000 --- a/routing/bundles/code-review-suite.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: code-review-suite -description: Code-Review-Workflows — Diff-Review, Review-Best-Practices, MCP-Server-Generator. -skills: - - code-review - - code-review-excellence - - typescript-mcp-server-generator -instruction: | - Konkreter Diff-Review → code-review; PR/Review-Best-Practices → code-review-excellence; - TypeScript MCP-Server generieren → typescript-mcp-server-generator. diff --git a/routing/bundles/computer-use.yaml b/routing/bundles/computer-use.yaml new file mode 100644 index 0000000..ca076f5 --- /dev/null +++ b/routing/bundles/computer-use.yaml @@ -0,0 +1,8 @@ +name: computer-use +description: Desktop and game GUI automation — the GreyHack Computer-Use suite plus game and desktop-window reconnaissance. +skills: + - greyhack-computer-use-suite + - computer-use-game-reconnaissance + - desktop-window-reconnaissance +instruction: | + Tasks in the Computer-Use & GreyHack domain route to the computer-use pack. Representative skills: greyhack-computer-use-suite, computer-use-game-reconnaissance, desktop-window-reconnaissance. See packs/computer-use/README.md for the full roster and triggers. diff --git a/routing/bundles/core.yaml b/routing/bundles/core.yaml new file mode 100644 index 0000000..63c0288 --- /dev/null +++ b/routing/bundles/core.yaml @@ -0,0 +1,15 @@ +name: core +description: Personal seed skills, productivity, and routing meta — the daily-driver layer for Basti's workstation: Obsidian second-brain, Yuno cleaner, 3D printing, Yuno team orchestration/routing/preferences, model selection, folder tidy, daily briefing, and the skill↔MCP router. +skills: + - second-brain + - yuno-cleaner + - drucker-experte + - tidy-folder + - daily-briefing + - model-selector + - skill-mcp-router + - yuno-team-orchestrator + - yuno-team-routing + - yuno-user-preferences +instruction: | + Tasks in the Core & Personal domain route to the core pack. Representative skills: second-brain, yuno-cleaner, drucker-experte, tidy-folder, daily-briefing, model-selector…. See packs/core/README.md for the full roster and triggers. diff --git a/routing/bundles/cybersecurity.yaml b/routing/bundles/cybersecurity.yaml new file mode 100644 index 0000000..1e8833b --- /dev/null +++ b/routing/bundles/cybersecurity.yaml @@ -0,0 +1,55 @@ +name: cybersecurity +description: 50 defensive-security and DFIR skills — CIS hardening, Docker/K8s and container security, network detection & hunting (Zeek/Suricata/Wireshark), forensics (Volatility/disk/IR), and compliance/supply-chain (SBOM/SLSA/gitleaks). +skills: + - hardening-linux-endpoint-with-cis-benchmark + - analyzing-linux-audit-logs-for-intrusion + - analyzing-linux-system-artifacts + - analyzing-persistence-mechanisms-in-linux + - detecting-rootkit-activity + - analyzing-linux-kernel-rootkits + - performing-linux-log-forensics-investigation + - detecting-port-scanning-with-fail2ban + - implementing-network-segmentation-with-firewall-zones + - hardening-docker-containers-for-production + - hardening-docker-daemon-configuration + - performing-docker-bench-security-assessment + - analyzing-docker-container-forensics + - detecting-container-escape-attempts + - detecting-container-runtime-threats-with-falco + - scanning-docker-images-with-trivy + - performing-container-security-scanning-with-trivy + - implementing-container-image-minimal-base-with-distroless + - securing-container-registry-with-harbor + - implementing-kubernetes-pod-security-standards + - analyzing-network-packets-with-scapy + - analyzing-network-traffic-with-wireshark + - performing-network-forensics-with-wireshark + - configuring-suricata-for-network-monitoring + - detecting-network-anomalies-with-zeek + - detecting-beaconing-patterns-with-zeek + - detecting-dns-exfiltration-with-dns-query-analysis + - deploying-osquery-for-endpoint-monitoring + - building-detection-rules-with-sigma + - performing-malware-triage-with-yara + - hunting-advanced-persistent-threats + - building-threat-hunt-hypothesis-framework + - conducting-memory-forensics-with-volatility + - performing-memory-forensics-with-volatility3 + - performing-disk-forensics-investigation + - performing-endpoint-forensics-investigation + - performing-log-analysis-for-forensic-investigation + - building-incident-response-playbook + - triaging-security-incident-with-ir-playbook + - recovering-deleted-files-with-photorec + - performing-file-carving-with-foremost + - performing-nist-csf-maturity-assessment + - implementing-attack-surface-management + - auditing-cloud-with-cis-benchmarks + - implementing-secret-scanning-with-gitleaks + - detecting-aws-credential-exposure-with-trufflehog + - generating-and-analyzing-sboms + - analyzing-sbom-for-supply-chain-vulnerabilities + - verifying-build-provenance-with-slsa-sigstore + - performing-authenticated-vulnerability-scan +instruction: | + Tasks in the Cybersecurity domain route to the cybersecurity pack. Representative skills: hardening-linux-endpoint-with-cis-benchmark, analyzing-linux-audit-logs-for-intrusion, analyzing-linux-system-artifacts, analyzing-persistence-mechanisms-in-linux, detecting-rootkit-activity, analyzing-linux-kernel-rootkits…. See packs/cybersecurity/README.md for the full roster and triggers. diff --git a/routing/bundles/design-suite.yaml b/routing/bundles/design-suite.yaml deleted file mode 100644 index 826ec71..0000000 --- a/routing/bundles/design-suite.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: design-suite -description: Design-Workflow — Critique, Review, Accessibility, Frontend-Ästhetik, Review-Moderation. -skills: - - frontend-design - - design-review - - running-design-reviews - - accessibility-review - - web-design-guidelines -instruction: | - Wähle das Sub-Skill: Neue UI → frontend-design; Review/Kritik → design-review; - Review-Prozess moderieren → running-design-reviews; WCAG/a11y → accessibility-review; - Vercel Web Interface Guidelines → web-design-guidelines. diff --git a/routing/bundles/dev-essentials.yaml b/routing/bundles/dev-essentials.yaml new file mode 100644 index 0000000..740d6d1 --- /dev/null +++ b/routing/bundles/dev-essentials.yaml @@ -0,0 +1,14 @@ +name: dev-essentials +description: Engineering fundamentals — debugging patterns, defensive programming, config-propagation bugs, reference-architecture research, open-source extraction, stealth web scraping, web-content recon, competitive-landscape research, and ClickHouse best practices. +skills: + - stealth-web-scraping + - open-source-extraction + - reference-architecture-research + - debugging-patterns + - defensive-programming + - config-propagation-bugs + - web-content-reconnaissance + - competitive-software-landscape + - clickhouse-best-practices +instruction: | + Tasks in the Dev Essentials domain route to the dev-essentials pack. Representative skills: stealth-web-scraping, open-source-extraction, reference-architecture-research, debugging-patterns, defensive-programming, config-propagation-bugs…. See packs/dev-essentials/README.md for the full roster and triggers. diff --git a/routing/bundles/docs-web-research.yaml b/routing/bundles/docs-web-research.yaml new file mode 100644 index 0000000..a7a5048 --- /dev/null +++ b/routing/bundles/docs-web-research.yaml @@ -0,0 +1,20 @@ +name: docs-web-research +description: Document generation, web, SEO, and business research — PPT/McKinsey decks, research papers, frontend design, web scraping, Excel, n8n, SEO/GEO, job hunting, sales power maps, SaaS niches, NotebookLM, knowledge digest, and prompt engineering. +skills: + - pptx-generator + - mckinsey-presentation-generator + - research-paper-generator + - frontend-design + - seo-geo-optimization-expert + - web-scraper + - excel-xlsx + - n8n + - deep-research-agent + - prompt-engineer + - job-hunter + - sales-power-map + - saas-niche-finder + - notebooklm-bridge + - knowledge-digest +instruction: | + Tasks in the Docs, Web & Research domain route to the docs-web-research pack. Representative skills: pptx-generator, mckinsey-presentation-generator, research-paper-generator, frontend-design, seo-geo-optimization-expert, web-scraper…. See packs/docs-web-research/README.md for the full roster and triggers. diff --git a/routing/bundles/documents-and-web.yaml b/routing/bundles/documents-and-web.yaml deleted file mode 100644 index 1bdfd36..0000000 --- a/routing/bundles/documents-and-web.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: documents-and-web -description: Dokument- und Web-Tasks — PDF, Web-Scraping, große Kontextmengen. -skills: - - pdf - - firecrawl-web - - context-mode -instruction: | - PDF erstellen/extrahieren → pdf; URL scrape/screenshot → firecrawl-web; - Großer Output / Logs parsen → context-mode. diff --git a/routing/bundles/find-and-discover.yaml b/routing/bundles/find-and-discover.yaml deleted file mode 100644 index 4f1ff2f..0000000 --- a/routing/bundles/find-and-discover.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: find-and-discover -description: Skills finden, Kontext haushalten — Discovery und Kontext-Diät. -skills: - - find-skills - - agent-context-diet -instruction: | - "Finde einen Skill für X" → find-skills; Multi-Step-Tasks mit Kontext-Diät → agent-context-diet. diff --git a/routing/bundles/hermes-dev.yaml b/routing/bundles/hermes-dev.yaml new file mode 100644 index 0000000..04a3e61 --- /dev/null +++ b/routing/bundles/hermes-dev.yaml @@ -0,0 +1,23 @@ +name: hermes-dev +description: Build Hermes/Yuno platform features — CLI internals, gateway protocol/clients, mobile clients, Ariadne memory, gateway adapters, desktop plugins, messaging gateways, themes, and the ModelHub dashboard. +skills: + - hermes-cli-internals + - hermes-client-development + - hermes-gateway-integration + - hermes-gateway-client-development + - hermes-contribution-workflows + - hermes-mobile-development + - hermes-mobile-client-development + - hermes-ariadne-memory + - hermes-gateway-protocol + - modelhub-dashboard + - hermes-agent-environment-passthrough + - hermes-free-tier-setup + - gateway-adapter-development + - ariadne-memory + - hermes-mcp-integration + - hermes-desktop-plugins + - messaging-gateway-setup + - hermes-themes +instruction: | + Tasks in the Hermes / Yuno Platform domain route to the hermes-dev pack. Representative skills: hermes-cli-internals, hermes-client-development, hermes-gateway-integration, hermes-gateway-client-development, hermes-contribution-workflows, hermes-mobile-development…. See packs/hermes-dev/README.md for the full roster and triggers. diff --git a/routing/bundles/llm-operations.yaml b/routing/bundles/llm-operations.yaml deleted file mode 100644 index b9e4a7b..0000000 --- a/routing/bundles/llm-operations.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: llm-operations -description: LLM-Runtimes und Evaluation — vLLM, llama.cpp, lm-eval-harness. -skills: - - serving-llms-vllm - - llama-cpp - - evaluating-llms-harness -instruction: | - High-throughput Serving → serving-llms-vllm; lokale GGUF-Inferenz → llama-cpp; - Benchmarking (MMLU/GSM8K) → evaluating-llms-harness. diff --git a/routing/bundles/media.yaml b/routing/bundles/media.yaml new file mode 100644 index 0000000..406bffb --- /dev/null +++ b/routing/bundles/media.yaml @@ -0,0 +1,11 @@ +name: media +description: Media generation via MiniMax and image models — the mmx CLI, MiniMax agent builder, crypto trading, DOCX/PDF, and Nano Banana Pro image gen. +skills: + - mmx-cli + - minimax-ai-agent-builder + - minimax-crypto-trading + - minimax-docx + - minimax-pdf + - nano-banana-pro +instruction: | + Tasks in the Media & Generation domain route to the media pack. Representative skills: mmx-cli, minimax-ai-agent-builder, minimax-crypto-trading, minimax-docx, minimax-pdf, nano-banana-pro. See packs/media/README.md for the full roster and triggers. diff --git a/routing/bundles/methodology.yaml b/routing/bundles/methodology.yaml new file mode 100644 index 0000000..d92d936 --- /dev/null +++ b/routing/bundles/methodology.yaml @@ -0,0 +1,23 @@ +name: methodology +description: Engineering methodology and multi-agent orchestration — the Superpowers workflow set (brainstorm→plan→TDD→debug→verify→finish), subagent-driven development, the ZCode SubAgent Team, Queen-Bee swarm dispatch, and the multi-agent master workflow. +skills: + - superpower-10x + - superpowers-brainstorming + - superpowers-dispatching-parallel-agents + - superpowers-executing-plans + - superpowers-finishing-a-development-branch + - superpowers-receiving-code-review + - superpowers-requesting-code-review + - superpowers-subagent-driven-development + - superpowers-systematic-debugging + - superpowers-test-driven-development + - superpowers-using-git-worktrees + - superpowers-using-superpowers + - superpowers-verification-before-completion + - superpowers-writing-plans + - superpowers-writing-skills + - zcode-subagent-team + - multi-agent-master-workflow + - queen-bee-schwarm-dispatch +instruction: | + Tasks in the Engineering Methodology domain route to the methodology pack. Representative skills: superpower-10x, superpowers-brainstorming, superpowers-dispatching-parallel-agents, superpowers-executing-plans, superpowers-finishing-a-development-branch, superpowers-receiving-code-review…. See packs/methodology/README.md for the full roster and triggers. diff --git a/routing/bundles/ml-research.yaml b/routing/bundles/ml-research.yaml deleted file mode 100644 index 3c1fb13..0000000 --- a/routing/bundles/ml-research.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: ml-research -description: "ML/AI-Research-Tasks — Audio-Synthese (AudioCraft), Vision-Segmentation (SAM), Experiment-Tracking (W&B)." -skills: - - audiocraft - - segment-anything - - weights-and-biases -instruction: | - Du arbeitest an ML/AI-Research-Tasks. Lade die unten gelisteten Skills je nach Aufgabe. - Verwende /ml-research um alle drei auf einmal einzubinden. diff --git a/routing/bundles/obsidian.yaml b/routing/bundles/obsidian.yaml deleted file mode 100644 index e987a65..0000000 --- a/routing/bundles/obsidian.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: obsidian -description: Obsidian-Tasks — Markdown, Bases, CLI. -skills: - - obsidian-markdown - - obsidian-bases - - obsidian-cli -instruction: | - Obsidian Flavored Markdown (wikilinks, callouts) → obsidian-markdown; - Bases (.base) Files → obsidian-bases; Obsidian-CLI-Befehle → obsidian-cli. diff --git a/routing/bundles/react-frontend.yaml b/routing/bundles/react-frontend.yaml deleted file mode 100644 index aeeb7da..0000000 --- a/routing/bundles/react-frontend.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: react-frontend -description: React- und Frontend-Engineering — Performance, Builds, Native, TypeScript. -skills: - - vercel-react-best-practices - - react-vite-best-practices - - react-native-best-practices - - nextjs-turbopack - - typescript-expert -instruction: | - Wähle das Sub-Skill passend zur Aufgabe: Web/Next.js → vercel-react-best-practices; - Vite-basiert → react-vite-best-practices; Mobile → react-native-best-practices; - Next.js 16+/Turbopack → nextjs-turbopack; TypeScript-Fragen → typescript-expert. diff --git a/routing/bundles/supabase-platform.yaml b/routing/bundles/supabase-platform.yaml deleted file mode 100644 index 2e3a548..0000000 --- a/routing/bundles/supabase-platform.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: supabase-platform -description: "Supabase- und Postgres-Tasks — DB, Auth, Realtime, Storage, Edge Functions, Postgres-Performance." -skills: - - supabase - - supabase-postgres-best-practices -instruction: | - Du arbeitest an Supabase- oder Postgres-Themen. Beide Skills laden. diff --git a/routing/bundles/tailwind.yaml b/routing/bundles/tailwind.yaml deleted file mode 100644 index a6d2107..0000000 --- a/routing/bundles/tailwind.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: tailwind -description: Tailwind CSS — v4-Docs und Pattern-Bibliothek. -skills: - - tailwind-4-docs - - tailwind-css-patterns -instruction: | - Tailwind v4 Migrationsfragen → tailwind-4-docs; konkrete Patterns/Utilities → tailwind-css-patterns. diff --git a/routing/bundles/testing-strategies.yaml b/routing/bundles/testing-strategies.yaml deleted file mode 100644 index 870b70c..0000000 --- a/routing/bundles/testing-strategies.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: testing-strategies -description: Test-Strategien über Sprachen und Test-Typen — pytest, Go test, Playwright, QA. -skills: - - python-testing-patterns - - golang-testing - - playwright-generate-test - - dogfood -instruction: | - Python/pytest → python-testing-patterns; Go → golang-testing; - Browser/E2E-Test → playwright-generate-test; explorative Web-App-QA → dogfood. diff --git a/scripts/build_index.py b/scripts/build_index.py index b6e4871..b138d17 100644 --- a/scripts/build_index.py +++ b/scripts/build_index.py @@ -337,20 +337,39 @@ def main() -> int: "workflows": workflows, } + # Packs: validate the installed-skill partition + emit routing/bundles/*.yaml + from build_packs import main as build_packs + rc = build_packs() + if rc != 0: + return rc + packs = _load_packs() + (REPO / "INDEX.json").write_text( json.dumps(index, indent=2, ensure_ascii=False, sort_keys=False) + "\n", encoding="utf-8", ) - write_navigation(index) + write_navigation(index, packs) from build_routing import main as build_routing build_routing() print(f"INDEX.json: {len(installed)} installed + {len(library)} library " f"= {len(skills)} skills, {len(agents)} agents, {len(workflows)} workflows, " - f"{len(categories)} categories") + f"{len(categories)} categories, {len(packs)} packs") return 0 -def write_navigation(index: dict) -> None: +def _load_packs() -> list[dict]: + """Read the curated packs/manifest.json; return [] if absent.""" + p = REPO / "plugins" / "agent-toolkit" / "packs" / "manifest.json" + if not p.exists(): + return [] + try: + return json.loads(p.read_text(encoding="utf-8")).get("packs", []) + except Exception as e: + print(f"WARN: could not parse packs/manifest.json: {e}", file=sys.stderr) + return [] + + +def write_navigation(index: dict, packs: list[dict] | None = None) -> None: c = index["counts"] lines: list[str] = [] lines.append("# NAVIGATION — my-agent-tools skill index") @@ -386,6 +405,23 @@ def write_navigation(index: dict) -> None: lines.append(f"| `{s['id']}` | `{s['namespace']}` | {hint} |") lines.append("") + # Skill packs — installed-skill grouping (curated in packs/manifest.json) + if packs: + lines.append("## Skill Packs (installed-skill grouping)") + lines.append("") + packed_skill_total = sum(p.get("skill_count", len(p.get("skills", []))) for p in packs) + lines.append(f"The {packed_skill_total} installed skills are grouped " + f"into {len(packs)} themed packs. Browse with the `/toolkit` command; " + f"see [PACKS.md](PACKS.md) for the pack roadmap.") + lines.append("") + lines.append("| Pack | Title | Category | Skills |") + lines.append("|---|---|---|---|") + for p in packs: + lines.append(f"| [`{p['name']}`](plugins/agent-toolkit/packs/{p['name']}/README.md) " + f"| {p.get('title', p['name'])} | {p.get('category', '')} | " + f"{p.get('skill_count', len(p.get('skills', [])))} |") + lines.append("") + # Library, category table only (too large to list individually) lines.append("## Library (browsable via MCP, fetch by path)") lines.append("") diff --git a/scripts/build_packs.py b/scripts/build_packs.py new file mode 100644 index 0000000..d0cc457 --- /dev/null +++ b/scripts/build_packs.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +"""build_packs.py — validate packs/manifest.json and emit routing/bundles/*.yaml. + +The 8 skill packs are the *installed*-skill grouping layer over the 129 skills of +the ``agent-toolkit`` plugin. The canonical source of truth is the hand-curated +``plugins/agent-toolkit/packs/manifest.json``; this script: + + 1. validates it — every installed skill dir is in exactly one pack, no dupes, + every referenced skill exists on disk, and the union == the installed set; + 2. emits one ``routing/bundles/.yaml`` per pack (same schema as the legacy + hand-written bundles: name / description / skills / instruction), replacing + the stale bundles that referenced non-installed library skills. + +Invoked from ``scripts/build_index.py`` so a single ``python3 scripts/build_index.py`` +rebuilds INDEX.json, NAVIGATION.md, routing/registry/*, AND routing/bundles/*. + +Exits non-zero on any validation error so CI catches a broken partition. +""" +from __future__ import annotations + +import json +import sys +from pathlib import Path + +REPO = Path(__file__).resolve().parent.parent +PLUGIN = REPO / "plugins" / "agent-toolkit" +MANIFEST = PLUGIN / "packs" / "manifest.json" +INSTALLED_DIR = PLUGIN / "skills" +BUNDLES_DIR = REPO / "routing" / "bundles" + + +def installed_skill_dirs() -> set[str]: + if not INSTALLED_DIR.exists(): + return set() + return {p.name for p in INSTALLED_DIR.iterdir() + if p.is_dir() and (p / "SKILL.md").exists()} + + +def validate(manifest: dict) -> list[str]: + """Return a list of human-readable errors (empty == valid).""" + errors: list[str] = [] + installed = installed_skill_dirs() + seen: dict[str, str] = {} + packs = manifest.get("packs", []) + if not packs: + errors.append("manifest has no packs") + return errors + names = [p.get("name", "?") for p in packs] + if len(names) != len(set(names)): + errors.append(f"duplicate pack names: {names}") + for pack in packs: + pname = pack.get("name", "") + if not pack.get("name"): + errors.append("a pack is missing its 'name'") + continue + skills = pack.get("skills", []) + if not isinstance(skills, list) or not skills: + errors.append(f"pack '{pname}' has no skills") + continue + # entries may be {name, description} objects or bare strings + skill_names = [] + for s in skills: + sn = s["name"] if isinstance(s, dict) else str(s) + skill_names.append(sn) + if sn in seen: + errors.append(f"skill '{sn}' appears in both '{seen[sn]}' and '{pname}'") + seen[sn] = pname + if sn not in installed: + errors.append(f"pack '{pname}' references skill '{sn}' not on disk") + if len(skill_names) != len(set(skill_names)): + errors.append(f"pack '{pname}' has duplicate skill entries") + missing = installed - set(seen) + extra = set(seen) - installed + if missing: + errors.append(f"{len(missing)} installed skill(s) not in any pack: {sorted(missing)}") + if extra: + errors.append(f"{len(extra)} pack skill(s) not on disk: {sorted(extra)}") + return errors + + +def _yaml_escape(s: str) -> str: + """Minimal YAML scalar escaping for the bundle fields we emit.""" + s = s.replace('"', '\\"') + return f'"{s}"' + + +def emit_bundles(manifest: dict) -> None: + """Write routing/bundles/.yaml for each pack; remove stale bundles.""" + BUNDLES_DIR.mkdir(parents=True, exist_ok=True) + keep = set() + for pack in manifest["packs"]: + pname = pack["name"] + keep.add(pname) + skills = [s["name"] if isinstance(s, dict) else str(s) for s in pack["skills"]] + title = pack.get("title", pname) + desc = pack.get("description", "") + # instruction: a short routing hint, generated from the skill names. + hint_skills = ", ".join(skills[:6]) + ("…" if len(skills) > 6 else "") + instruction = (f"Tasks in the {title} domain route to the {pname} pack. " + f"Representative skills: {hint_skills}. " + f"See packs/{pname}/README.md for the full roster and triggers.") + lines = [ + f"name: {pname}", + f"description: {desc}", + "skills:", + ] + for s in skills: + lines.append(f" - {s}") + lines.append("instruction: |") + for ln in instruction.splitlines() or [instruction]: + lines.append(f" {ln}") + (BUNDLES_DIR / f"{pname}.yaml").write_text("\n".join(lines) + "\n", encoding="utf-8") + # remove stale bundles that are no longer packs (legacy hand-written set) + for old in BUNDLES_DIR.glob("*.yaml"): + if old.stem not in keep: + old.unlink() + print(f" removed stale bundle: {old.name}") + + +def main() -> int: + if not MANIFEST.exists(): + print(f"ERROR: {MANIFEST} not found", file=sys.stderr) + return 2 + manifest = json.loads(MANIFEST.read_text(encoding="utf-8")) + errors = validate(manifest) + if errors: + print("❌ packs/manifest.json validation failed:", file=sys.stderr) + for e in errors: + print(f" - {e}", file=sys.stderr) + return 1 + counts = {p["name"]: len(p["skills"]) for p in manifest["packs"]} + total = sum(counts.values()) + print(f"✅ packs/manifest.json valid: {total} skills across " + f"{len(counts)} packs ({counts})") + emit_bundles(manifest) + print(f" wrote {len(counts)} bundle(s) to routing/bundles/") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) \ No newline at end of file diff --git a/src/mcp_server_basti/logging_setup.py b/src/mcp_server_basti/logging_setup.py index 220cf04..d8fd1ed 100644 --- a/src/mcp_server_basti/logging_setup.py +++ b/src/mcp_server_basti/logging_setup.py @@ -5,7 +5,7 @@ import json import logging import sys -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any @@ -14,7 +14,7 @@ class JsonFormatter(logging.Formatter): def format(self, record: logging.LogRecord) -> str: payload: dict[str, Any] = { - "timestamp": datetime.now(timezone.utc).isoformat(), + "timestamp": datetime.now(UTC).isoformat(), "level": record.levelname, "logger": record.name, "message": record.getMessage(), @@ -28,7 +28,7 @@ def format(self, record: logging.LogRecord) -> str: def setup_json_logging() -> logging.Logger: -"""Konfiguriert den Server-Logger einmalig auf INFO und stderr.""" + """Konfiguriert den Server-Logger einmalig auf INFO und stderr.""" logger = logging.getLogger("mcp_server_basti") logger.setLevel(logging.INFO) logger.propagate = False