@hybridlabor-api/aos 4.0.2 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/database-reviewer.md +109 -0
- package/.claude/agents/go-build-resolver.md +112 -0
- package/.claude/agents/opensource-forker.md +216 -0
- package/.claude/agents/opensource-sanitizer.md +206 -0
- package/.claude/agents/security-reviewer.md +126 -0
- package/.claude/agents/silent-failure-hunter.md +68 -0
- package/CLAUDE.md +15 -0
- package/README.md +0 -13
- package/THIRD_PARTY_NOTICES.md +133 -0
- package/package.json +4 -2
- package/skills/basic/bdbmediastorm/SKILL.md +7 -1
- package/skills/basic/startcycle/SKILL.md +2 -0
- package/skills/bdbrainstorm/SKILL.md +1 -0
- package/skills/global_config/plan-canvas/SKILL.md +233 -0
- package/skills/global_config/plan-canvas/scripts/lib/loopback-guard.js +59 -0
- package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/markdown.js +301 -0
- package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/sdk.js +239 -0
- package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/server.js +636 -0
- package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/sessions.js +271 -0
- package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/ui.js +630 -0
- package/skills/global_config/plan-canvas/scripts/plan-canvas.js +419 -0
- package/.agents/skills/firecrawl/SKILL.md +0 -149
- package/.agents/skills/firecrawl/rules/install.md +0 -82
- package/.agents/skills/firecrawl/rules/security.md +0 -26
- package/.agents/skills/firecrawl-agent/SKILL.md +0 -58
- package/.agents/skills/firecrawl-build/SKILL.md +0 -39
- package/.agents/skills/firecrawl-build-interact/SKILL.md +0 -68
- package/.agents/skills/firecrawl-build-onboarding/SKILL.md +0 -103
- package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +0 -39
- package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +0 -20
- package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +0 -17
- package/.agents/skills/firecrawl-build-scrape/SKILL.md +0 -69
- package/.agents/skills/firecrawl-build-search/SKILL.md +0 -69
- package/.agents/skills/firecrawl-crawl/SKILL.md +0 -59
- package/.agents/skills/firecrawl-download/SKILL.md +0 -70
- package/.agents/skills/firecrawl-interact/SKILL.md +0 -84
- package/.agents/skills/firecrawl-map/SKILL.md +0 -51
- package/.agents/skills/firecrawl-scrape/SKILL.md +0 -69
- package/.agents/skills/firecrawl-search/SKILL.md +0 -60
- package/docs/sessions/AUDIT-HANDOVER-2026-08-28.md +0 -169
- package/docs/sessions/BDB_REMOTEOS_MCP_HANDOVER.md +0 -130
- package/docs/sessions/SESSION-HANDOVER-v3.13.md +0 -249
- package/mcps/RhinoMCP/cc-plugin/.claude/settings.json +0 -10
- package/mcps/after-effects-mcp/build/index.js +0 -840
- package/mcps/after-effects-mcp/build/scripts/applyEffect.jsx +0 -153
- package/mcps/after-effects-mcp/build/scripts/applyEffectTemplate.jsx +0 -218
- package/mcps/after-effects-mcp/build/scripts/createComposition.jsx +0 -71
- package/mcps/after-effects-mcp/build/scripts/createShapeLayer.jsx +0 -147
- package/mcps/after-effects-mcp/build/scripts/createSolidLayer.jsx +0 -114
- package/mcps/after-effects-mcp/build/scripts/createTextLayer.jsx +0 -115
- package/mcps/after-effects-mcp/build/scripts/getLayerInfo.jsx +0 -192
- package/mcps/after-effects-mcp/build/scripts/getProjectInfo.jsx +0 -90
- package/mcps/after-effects-mcp/build/scripts/listCompositions.jsx +0 -50
- package/mcps/after-effects-mcp/build/scripts/mcp-bridge-auto.jsx +0 -1773
- package/mcps/after-effects-mcp/build/scripts/setLayerProperties.jsx +0 -160
- package/mcps/bdb-remoteos-mcp/queue.db +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/__init__.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/incus_client.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/main.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/queue.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/schemas.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/server.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/webhook.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/tests/__pycache__/mock_incus.cpython-312.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/tests/__pycache__/test_mcp_server.cpython-312-pytest-9.1.1.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/tests/__pycache__/test_security_redteam.cpython-312-pytest-9.1.1.pyc +0 -0
- package/mcps/bdb-remoteos-mcp/tests/__pycache__/test_webhook.cpython-312-pytest-9.1.1.pyc +0 -0
- package/mcps/computer-use-mcp/dist/client.d.ts +0 -150
- package/mcps/computer-use-mcp/dist/client.js +0 -136
- package/mcps/computer-use-mcp/dist/entrypoint.d.ts +0 -16
- package/mcps/computer-use-mcp/dist/entrypoint.js +0 -26
- package/mcps/computer-use-mcp/dist/native.d.ts +0 -212
- package/mcps/computer-use-mcp/dist/native.js +0 -50
- package/mcps/computer-use-mcp/dist/server.d.ts +0 -32
- package/mcps/computer-use-mcp/dist/server.js +0 -342
- package/mcps/computer-use-mcp/dist/session.d.ts +0 -101
- package/mcps/computer-use-mcp/dist/session.js +0 -2372
- package/skills/bdbsaastraining/scripts/__pycache__/build_profile.cpython-314.pyc +0 -0
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: firecrawl-interact
|
|
3
|
-
description: |
|
|
4
|
-
Control and interact with a live browser session on any scraped page — click buttons, fill forms, navigate flows, and extract data using natural language prompts or code. Use when the user needs to interact with a webpage beyond simple scraping: logging into a site, submitting forms, clicking through pagination, handling infinite scroll, navigating multi-step checkout or wizard flows, or when a regular scrape failed because content is behind JavaScript interaction. Also useful for authenticated scraping via profiles. Triggers on "interact", "click", "fill out the form", "log in to", "sign in", "submit", "paginated", "next page", "infinite scroll", "interact with the page", "navigate to", "open a session", or "scrape failed".
|
|
5
|
-
category: library
|
|
6
|
-
allowed-tools:
|
|
7
|
-
- Bash(firecrawl *)
|
|
8
|
-
- Bash(npx firecrawl *)
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# firecrawl interact
|
|
12
|
-
|
|
13
|
-
Interact with scraped pages in a live browser session. Scrape a page first, then use natural language prompts or code to click, fill forms, navigate, and extract data.
|
|
14
|
-
|
|
15
|
-
## When to use
|
|
16
|
-
|
|
17
|
-
- Content requires interaction: clicks, form fills, pagination, login
|
|
18
|
-
- `scrape` failed because content is behind JavaScript interaction
|
|
19
|
-
- You need to navigate a multi-step flow
|
|
20
|
-
- Last resort in the [workflow escalation pattern](firecrawl-cli): search → scrape → map → crawl → **interact**
|
|
21
|
-
- **Never use interact for web searches** — use `search` instead
|
|
22
|
-
|
|
23
|
-
## Quick start
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
# 1. Scrape a page (scrape ID is saved automatically)
|
|
27
|
-
firecrawl scrape "<url>"
|
|
28
|
-
|
|
29
|
-
# 2. Interact with the page using natural language
|
|
30
|
-
firecrawl interact --prompt "Click the login button"
|
|
31
|
-
firecrawl interact --prompt "Fill in the email field with test@example.com"
|
|
32
|
-
firecrawl interact --prompt "Extract the pricing table"
|
|
33
|
-
|
|
34
|
-
# 3. Or use code for precise control
|
|
35
|
-
firecrawl interact --code "agent-browser click @e5" --language bash
|
|
36
|
-
firecrawl interact --code "agent-browser snapshot -i" --language bash
|
|
37
|
-
|
|
38
|
-
# 4. Stop the session when done
|
|
39
|
-
firecrawl interact stop
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Options
|
|
43
|
-
|
|
44
|
-
| Option | Description |
|
|
45
|
-
| --------------------- | ------------------------------------------------- |
|
|
46
|
-
| `--prompt <text>` | Natural language instruction (use this OR --code) |
|
|
47
|
-
| `--code <code>` | Code to execute in the browser session |
|
|
48
|
-
| `--language <lang>` | Language for code: bash, python, node |
|
|
49
|
-
| `--timeout <seconds>` | Execution timeout (default: 30, max: 300) |
|
|
50
|
-
| `--scrape-id <id>` | Target a specific scrape (default: last scrape) |
|
|
51
|
-
| `-o, --output <path>` | Output file path |
|
|
52
|
-
|
|
53
|
-
## Profiles
|
|
54
|
-
|
|
55
|
-
Use `--profile` on the scrape to persist browser state (cookies, localStorage) across scrapes:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Session 1: Login and save state
|
|
59
|
-
firecrawl scrape "https://app.example.com/login" --profile my-app
|
|
60
|
-
firecrawl interact --prompt "Fill in email with user@example.com and click login"
|
|
61
|
-
|
|
62
|
-
# Session 2: Come back authenticated
|
|
63
|
-
firecrawl scrape "https://app.example.com/dashboard" --profile my-app
|
|
64
|
-
firecrawl interact --prompt "Extract the dashboard data"
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Read-only reconnect (no writes to profile state):
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
firecrawl scrape "https://app.example.com" --profile my-app --no-save-changes
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Tips
|
|
74
|
-
|
|
75
|
-
- Always scrape first — `interact` requires a scrape ID from a previous `firecrawl scrape` call
|
|
76
|
-
- The scrape ID is saved automatically, so you don't need `--scrape-id` for subsequent interact calls
|
|
77
|
-
- Use `firecrawl interact stop` to free resources when done
|
|
78
|
-
- For parallel work, scrape multiple pages and interact with each using `--scrape-id`
|
|
79
|
-
|
|
80
|
-
## See also
|
|
81
|
-
|
|
82
|
-
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — try scrape first, escalate to interact only when needed
|
|
83
|
-
- [firecrawl-search](../firecrawl-search/SKILL.md) — for web searches (never use interact for searching)
|
|
84
|
-
- [firecrawl-agent](../firecrawl-agent/SKILL.md) — AI-powered extraction (less manual control)
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: firecrawl-map
|
|
3
|
-
description: |
|
|
4
|
-
Discover and list all URLs on a website, with optional search filtering. Use this skill when the user wants to find a specific page on a large site, list all URLs, see the site structure, find where something is on a domain, or says "map the site", "find the URL for", "what pages are on", or "list all pages". Essential when the user knows which site but not which exact page.
|
|
5
|
-
category: library
|
|
6
|
-
allowed-tools:
|
|
7
|
-
- Bash(firecrawl *)
|
|
8
|
-
- Bash(npx firecrawl *)
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# firecrawl map
|
|
12
|
-
|
|
13
|
-
Discover URLs on a site. Use `--search` to find a specific page within a large site.
|
|
14
|
-
|
|
15
|
-
## When to use
|
|
16
|
-
|
|
17
|
-
- You need to find a specific subpage on a large site
|
|
18
|
-
- You want a list of all URLs on a site before scraping or crawling
|
|
19
|
-
- Step 3 in the [workflow escalation pattern](firecrawl-cli): search → scrape → **map** → crawl → interact
|
|
20
|
-
|
|
21
|
-
## Quick start
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Find a specific page on a large site
|
|
25
|
-
firecrawl map "<url>" --search "authentication" -o .firecrawl/filtered.txt
|
|
26
|
-
|
|
27
|
-
# Get all URLs
|
|
28
|
-
firecrawl map "<url>" --limit 500 --json -o .firecrawl/urls.json
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Options
|
|
32
|
-
|
|
33
|
-
| Option | Description |
|
|
34
|
-
| --------------------------------- | ---------------------------- |
|
|
35
|
-
| `--limit <n>` | Max number of URLs to return |
|
|
36
|
-
| `--search <query>` | Filter URLs by search query |
|
|
37
|
-
| `--sitemap <include\|skip\|only>` | Sitemap handling strategy |
|
|
38
|
-
| `--include-subdomains` | Include subdomain URLs |
|
|
39
|
-
| `--json` | Output as JSON |
|
|
40
|
-
| `-o, --output <path>` | Output file path |
|
|
41
|
-
|
|
42
|
-
## Tips
|
|
43
|
-
|
|
44
|
-
- **Map + scrape is a common pattern**: use `map --search` to find the right URL, then `scrape` it.
|
|
45
|
-
- Example: `map https://docs.example.com --search "auth"` → found `/docs/api/authentication` → `scrape` that URL.
|
|
46
|
-
|
|
47
|
-
## See also
|
|
48
|
-
|
|
49
|
-
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape the URLs you discover
|
|
50
|
-
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract instead of map + scrape
|
|
51
|
-
- [firecrawl-download](../firecrawl-download/SKILL.md) — download entire site (uses map internally)
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: firecrawl-scrape
|
|
3
|
-
description: |
|
|
4
|
-
Extract clean markdown from any URL, including JavaScript-rendered SPAs. Use this skill whenever the user provides a URL and wants its content, says "scrape", "grab", "fetch", "pull", "get the page", "extract from this URL", or "read this webpage". Handles JS-rendered pages, multiple concurrent URLs, and returns LLM-optimized markdown. Use this instead of WebFetch for any webpage content extraction.
|
|
5
|
-
category: library
|
|
6
|
-
allowed-tools:
|
|
7
|
-
- Bash(firecrawl *)
|
|
8
|
-
- Bash(npx firecrawl *)
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# firecrawl scrape
|
|
12
|
-
|
|
13
|
-
Scrape one or more URLs. Returns clean, LLM-optimized markdown. Multiple URLs are scraped concurrently.
|
|
14
|
-
|
|
15
|
-
## When to use
|
|
16
|
-
|
|
17
|
-
- You have a specific URL and want its content
|
|
18
|
-
- The page is static or JS-rendered (SPA)
|
|
19
|
-
- Step 2 in the [workflow escalation pattern](firecrawl-cli): search → **scrape** → map → crawl → interact
|
|
20
|
-
|
|
21
|
-
## Quick start
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Basic markdown extraction
|
|
25
|
-
firecrawl scrape "<url>" -o .firecrawl/page.md
|
|
26
|
-
|
|
27
|
-
# Main content only, no nav/footer
|
|
28
|
-
firecrawl scrape "<url>" --only-main-content -o .firecrawl/page.md
|
|
29
|
-
|
|
30
|
-
# Wait for JS to render, then scrape
|
|
31
|
-
firecrawl scrape "<url>" --wait-for 3000 -o .firecrawl/page.md
|
|
32
|
-
|
|
33
|
-
# Multiple URLs (each saved to .firecrawl/)
|
|
34
|
-
firecrawl scrape https://example.com https://example.com/blog https://example.com/docs
|
|
35
|
-
|
|
36
|
-
# Get markdown and links together
|
|
37
|
-
firecrawl scrape "<url>" --format markdown,links -o .firecrawl/page.json
|
|
38
|
-
|
|
39
|
-
# Ask a question about the page
|
|
40
|
-
firecrawl scrape "https://example.com/pricing" --query "What is the enterprise plan price?"
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Options
|
|
44
|
-
|
|
45
|
-
| Option | Description |
|
|
46
|
-
| ------------------------ | ---------------------------------------------------------------- |
|
|
47
|
-
| `-f, --format <formats>` | Output formats: markdown, html, rawHtml, links, screenshot, json |
|
|
48
|
-
| `-Q, --query <prompt>` | Ask a question about the page content (5 credits) |
|
|
49
|
-
| `-H` | Include HTTP headers in output |
|
|
50
|
-
| `--only-main-content` | Strip nav, footer, sidebar — main content only |
|
|
51
|
-
| `--wait-for <ms>` | Wait for JS rendering before scraping |
|
|
52
|
-
| `--include-tags <tags>` | Only include these HTML tags |
|
|
53
|
-
| `--exclude-tags <tags>` | Exclude these HTML tags |
|
|
54
|
-
| `-o, --output <path>` | Output file path |
|
|
55
|
-
|
|
56
|
-
## Tips
|
|
57
|
-
|
|
58
|
-
- **Prefer plain scrape over `--query`.** Scrape to a file, then use `grep`, `head`, or read the markdown directly — you can search and reason over the full content yourself. Use `--query` only when you want a single targeted answer without saving the page (costs 5 extra credits).
|
|
59
|
-
- **Try scrape before interact.** Scrape handles static pages and JS-rendered SPAs. Only escalate to `interact` when you need interaction (clicks, form fills, pagination).
|
|
60
|
-
- Multiple URLs are scraped concurrently — check `firecrawl --status` for your concurrency limit.
|
|
61
|
-
- Single format outputs raw content. Multiple formats (e.g., `--format markdown,links`) output JSON.
|
|
62
|
-
- Always quote URLs — shell interprets `?` and `&` as special characters.
|
|
63
|
-
- Naming convention: `.firecrawl/{site}-{path}.md`
|
|
64
|
-
|
|
65
|
-
## See also
|
|
66
|
-
|
|
67
|
-
- [firecrawl-search](../firecrawl-search/SKILL.md) — find pages when you don't have a URL
|
|
68
|
-
- [firecrawl-interact](../firecrawl-interact/SKILL.md) — when scrape can't get the content, use `interact` to click, fill forms, etc.
|
|
69
|
-
- [firecrawl-download](../firecrawl-download/SKILL.md) — bulk download an entire site to local files
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: firecrawl-search
|
|
3
|
-
description: |
|
|
4
|
-
Web search with full page content extraction. Use this skill whenever the user asks to search the web, find articles, research a topic, look something up, find recent news, discover sources, or says "search for", "find me", "look up", "what are people saying about", or "find articles about". Returns real search results with optional full-page markdown — not just snippets. Provides capabilities beyond Claude's built-in WebSearch.
|
|
5
|
-
category: library
|
|
6
|
-
allowed-tools:
|
|
7
|
-
- Bash(firecrawl *)
|
|
8
|
-
- Bash(npx firecrawl *)
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# firecrawl search
|
|
12
|
-
|
|
13
|
-
Web search with optional content scraping. Returns search results as JSON, optionally with full page content.
|
|
14
|
-
|
|
15
|
-
## When to use
|
|
16
|
-
|
|
17
|
-
- You don't have a specific URL yet
|
|
18
|
-
- You need to find pages, answer questions, or discover sources
|
|
19
|
-
- First step in the [workflow escalation pattern](firecrawl-cli): search → scrape → map → crawl → interact
|
|
20
|
-
|
|
21
|
-
## Quick start
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Basic search
|
|
25
|
-
firecrawl search "your query" -o .firecrawl/result.json --json
|
|
26
|
-
|
|
27
|
-
# Search and scrape full page content from results
|
|
28
|
-
firecrawl search "your query" --scrape -o .firecrawl/scraped.json --json
|
|
29
|
-
|
|
30
|
-
# News from the past day
|
|
31
|
-
firecrawl search "your query" --sources news --tbs qdr:d -o .firecrawl/news.json --json
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Options
|
|
35
|
-
|
|
36
|
-
| Option | Description |
|
|
37
|
-
| ------------------------------------ | --------------------------------------------- |
|
|
38
|
-
| `--limit <n>` | Max number of results |
|
|
39
|
-
| `--sources <web,images,news>` | Source types to search |
|
|
40
|
-
| `--categories <github,research,pdf>` | Filter by category |
|
|
41
|
-
| `--tbs <qdr:h\|d\|w\|m\|y>` | Time-based search filter |
|
|
42
|
-
| `--location` | Location for search results |
|
|
43
|
-
| `--country <code>` | Country code for search |
|
|
44
|
-
| `--scrape` | Also scrape full page content for each result |
|
|
45
|
-
| `--scrape-formats` | Formats when scraping (default: markdown) |
|
|
46
|
-
| `-o, --output <path>` | Output file path |
|
|
47
|
-
| `--json` | Output as JSON |
|
|
48
|
-
|
|
49
|
-
## Tips
|
|
50
|
-
|
|
51
|
-
- **`--scrape` fetches full content** — don't re-scrape URLs from search results. This saves credits and avoids redundant fetches.
|
|
52
|
-
- Always write results to `.firecrawl/` with `-o` to avoid context window bloat.
|
|
53
|
-
- Use `jq` to extract URLs or titles: `jq -r '.data.web[].url' .firecrawl/search.json`
|
|
54
|
-
- Naming convention: `.firecrawl/search-{query}.json` or `.firecrawl/search-{query}-scraped.json`
|
|
55
|
-
|
|
56
|
-
## See also
|
|
57
|
-
|
|
58
|
-
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape a specific URL
|
|
59
|
-
- [firecrawl-map](../firecrawl-map/SKILL.md) — discover URLs within a site
|
|
60
|
-
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract from a site
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
# Audit-Handover — Beta Aftercare v3.13.0-nodex.4 (2026-08-28)
|
|
2
|
-
|
|
3
|
-
Nachfolge-Dokument zu `SESSION-HANDOVER-v3.13.md`. Erstellt durch den
|
|
4
|
-
Aftercare-Audit-Run (Verifikation + Cleanup-Audit, **keine Änderungen**):
|
|
5
|
-
nichts gemergt, geschlossen, gelöscht, gepusht oder published. Alles unten
|
|
6
|
-
ist geprüft und wartet auf Entscheidung/GO.
|
|
7
|
-
|
|
8
|
-
Repo-Zustand bei Audit: `main` @ `ba49a22` (3.13.0-nodex.4), Working Tree
|
|
9
|
-
clean. Diese Datei ist neu und **untracked** (Commit braucht GO).
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 1. Verifiziert korrekt
|
|
14
|
-
|
|
15
|
-
Alle SHAs aus dem Brief existieren exakt in `git log main`:
|
|
16
|
-
|
|
17
|
-
| Fix | Urteil |
|
|
18
|
-
|---|---|
|
|
19
|
-
| `5c8b634` setup-saas.mjs: Cert-Cleanup + 0600 | korrekt; regex-Replace des Marker-Blocks entfernt sogar alt-gesteckte stale Lines (self-heiling). Restrisiken siehe F9/F10 |
|
|
20
|
-
| `5b2444a` agent-pipeline SKILL.md Rewrite | korrekt (die Datei selbst); aber fiktive Pipeline lebt woanders weiter → F3 |
|
|
21
|
-
| `bb4053d` isNewerVersion im Status-Check | korrekt für den gemeldeten Bug; **unvollständig bei Prereleases** → F1 (wichtigster Befund) |
|
|
22
|
-
| `6425b97` --platforms Flag | korrekt; Kleinigkeiten: Leerzeichen-Form (`--platforms 2`) nicht unterstützt, Duplikate nicht deduped, `0,2` verschweigt das `2` |
|
|
23
|
-
| `f283b7c` MCP-Merge Claude Code/Desktop | korrekt: Read-Modify-Write, fremde Top-Level-Keys (`projects` u. a.) und User-Server bleiben in BEIDEN Dateien erhalten; Namenskollision → BDB gewinnt. Aber: F2 (chmod-Lücke), F8 (env carry-over nur im Mirror) |
|
|
24
|
-
| `e3bea52` excludeList-Rekursion | korrekt; Bug-Klasse existiert genau einmal im Codebase |
|
|
25
|
-
| startcycle-Naming-Fix `2138bd9` | korrekt; ein stale Pointer bleibt → F4 |
|
|
26
|
-
| `.agents/graph.md` Rewrite | korrekt: alle 7 Nodes existieren real (agents.md + .claude/agents + .opencode/agents), alle referenzierten Dateien existieren |
|
|
27
|
-
| go-gate.mjs Transcript-Fix (`51ae49c`) | korrekt: `type`/`message.content`, String- wie Block-Content, Sidechain-Skip, fail-closed. Nuance: `isMeta`-User-Entries werden nicht excluded (konservativ, ok) |
|
|
28
|
-
| Hook-Drift | `~/.claude/hooks/go-gate.mjs` UND `graph-gate.mjs` sind byte-identisch mit den Repo-Kopien (diff geprüft, 2026-08-28) |
|
|
29
|
-
| npm dist-tags | `latest=3.12.0`, `beta=3.13.0-nodex.4` — wie beabsichtigt |
|
|
30
|
-
|
|
31
|
-
## 2. Befunde (priorisiert)
|
|
32
|
-
|
|
33
|
-
**P1 — solltest du fixen vor dem nächsten Release:**
|
|
34
|
-
- **F1 `isNewerVersion` versteht keine Prereleases** (installer.js:238-248,
|
|
35
|
-
Call-Site :1487, `npm view` ohne Tag :1476). Numerischer Dot-Compare:
|
|
36
|
-
`3.13.0-nodex.4` gilt als NEUER als `3.13.0` (semver: älter). Sobald 3.13.0
|
|
37
|
-
auf `latest` landet, bekommen nodex.4-User „Up to date" angezeigt, obwohl
|
|
38
|
-
sie älter sind — dieselbe Fehlerklasse wie der gefixte Bug, nur invertiert.
|
|
39
|
-
Außerdem sieht die Call-Site nur den `latest`-Dist-Tag: Beta-Bumps unter
|
|
40
|
-
`beta` sind unsichtbar.
|
|
41
|
-
- **F2 chmod-Lücke beim primären MCP-Merge** (installer.js:1884): der Write
|
|
42
|
-
für `claude_desktop_config.json` setzt keinen Mode — eine bestehende-0644
|
|
43
|
-
Datei behält 0644, während API-Keys injiziert werden. Der Mirror-Pfad nach
|
|
44
|
-
`~/.claude.json` macht 0600+chmod (:1617) — inkonsistent zur eigenen Regel
|
|
45
|
-
aus `5c8b634`. Zusätzlich: write→chmod-Fenster auch bei
|
|
46
|
-
`writeMcpConfigSecure` (:223-226) und `catch {}` verschluckt
|
|
47
|
-
chmod-Fehler still.
|
|
48
|
-
|
|
49
|
-
**P2 — Konsistenz/Regressionsvektoren:**
|
|
50
|
-
- **F3 Fiktive Pipeline lebt weiter:** `skills/basic/godmode-shipping/SKILL.md:14`
|
|
51
|
-
empfiehlt `/spec` als echten Befehl; `GEMINI.md:13` und
|
|
52
|
-
`.codex-plugin/system.md:13` listen `/build`, `/test`; „run `/ship`" steht
|
|
53
|
-
in 5 aktiven Dateien (`.agents/workflows/startcycle.md:81`,
|
|
54
|
-
`.codex-plugin/system.md:119`, `.claude/workflows/startcycle-dispatch.mjs:411`,
|
|
55
|
-
`.agents/state.schema.json:20`, `.agents/graph.md:92+115`), obwohl es
|
|
56
|
-
`/ship` nirgends als Command gibt (GO-Check passiert stattdessen im
|
|
57
|
-
go-gate.mjs am Push-Punkt — funktional ok, Benennung inkonsistent).
|
|
58
|
-
- **F4 Stale Path:** `.agents/state.schema.json:76` verweist noch auf
|
|
59
|
-
`.claude/workflows/startcycle.mjs` (heißt jetzt `startcycle-dispatch.mjs`).
|
|
60
|
-
- **F5 `github-repo` doppelt mit divergiertem Inhalt:**
|
|
61
|
-
`skills/github-repo/SKILL.md` (neu, BDB-Standard) vs.
|
|
62
|
-
`skills/global_config/github-repo/SKILL.md` (alt, generisch).
|
|
63
|
-
Install-Reihenfolge (alphabetisch) überschreibt bei **jedem** Install die
|
|
64
|
-
neuere Root-Version still mit der älteren.
|
|
65
|
-
|
|
66
|
-
**P3 — klein:**
|
|
67
|
-
- **F6** `skills/global_config/github-actions-templates/SKILL.md:83,340`
|
|
68
|
-
referenziert `assets/test-workflow.yml` — existiert nicht.
|
|
69
|
-
- **F7** `/grill-me` wird benutzt von bdbrainstorm, startcycle,
|
|
70
|
-
bdbmediastorm — ist aber in keinem Repo shipped (undeclared dependency).
|
|
71
|
-
- **F8** Mirror-Path (`~/.claude.json`) hat kein env carry-over bei
|
|
72
|
-
Namenskollision (primärer Pfad hat es) — User-Env wird ersetzt.
|
|
73
|
-
- **F9** setup-saas: Cert-Existenz-Check ≠ Frische-Check
|
|
74
|
-
(bin/setup-saas.mjs:139-148): vorhandenes, aber abgelaufenes Cert bleibt
|
|
75
|
-
verdrahtet, wenn heutiges Bootstrap failt.
|
|
76
|
-
- **F10** Lock-freies Read-Modify-Write auf `~/.claude.json` kann
|
|
77
|
-
konkurrierende Claude-Code-Updates verlieren (inherent, dokumentieren statt
|
|
78
|
-
fixen).
|
|
79
|
-
|
|
80
|
-
## 3. Cleanup-Liste — wartet auf GO / Entscheidung
|
|
81
|
-
|
|
82
|
-
| # | Aktion | Grund (1 Zeile) |
|
|
83
|
-
|---|---|---|
|
|
84
|
-
| C1 | PR #36 schließen (`gh pr close 36`) | Inhalt seit `54caa5c` in main; einziger Delta = überholter Version-Bump `8eead12` (3.9.5→3.12.0) |
|
|
85
|
-
| C2 | Remote-Branch `feat/agent-skills-v3.13` löschen | vollständig in main gemergt (`merge-base --is-ancestor` bestanden, tip `adc7f47`) |
|
|
86
|
-
| C3 | Lokale Branches `fix/build-profile-hardening` + `fix/v3.13-installer-blockers` löschen | beide 0 unique commits, vollständig gemergt |
|
|
87
|
-
| C4 | `installer_old.js` entfernen (Commit) | 0 Referenzen im ganzen Repo (package.json, installer.js, scripts/, grep) |
|
|
88
|
-
| C5 | `SESSION-HANDOVER-v3.13.md` archivieren/löschen (Commit) | von diesem Handover abgelöst; **`audit-agents.md` BEHALTEN** — wird von `.agents/graph.md:5` als Spec-Referenz zitiert, ist also produktiv |
|
|
89
|
-
| C6 | Tag `v3.13.0-nodex.0`: pushen ODER lokal löschen | npm hat nodex.0, GitHub hat den Tag nicht — Inkonsistenz; entscheide eine Richtung |
|
|
90
|
-
| C7 | 4 `snapshot-*`-Tags: behalten/pushen/löschen | lokale Historie-Anker; nur lokal vorhanden, keine Releases — bewusst entscheiden |
|
|
91
|
-
| C8 | (Beobachtung) `BDB_REMOTEOS_MCP_HANDOVER.md`, `Project-overview.html` im Root | weitere Root-Kandidaten, nicht im Brief — nur angeschaut, nicht bewertet |
|
|
92
|
-
|
|
93
|
-
**Explizit NICHT tun:** `mcp_config.json` anfassen (live MCP-Template-Quelle);
|
|
94
|
-
`pr-15`/`copilot/worktree-*` suchen — existieren auf dieser Maschine nicht
|
|
95
|
-
mehr (Brief veraltet; `.worktrees/`-Verzeichnis enthält keine Git-Repos).
|
|
96
|
-
|
|
97
|
-
**Nicht-Cleanup, aber offen:** PR #7 + #8 auf `bdb-saashost-engine`
|
|
98
|
-
(LDAP-Injection, Admin-Group-Authz) sind weiterhin OPEN — brauchen
|
|
99
|
-
Review/Merge-Entscheidung, sitzen seit 2026-08-27.
|
|
100
|
-
|
|
101
|
-
## 4. Tag-/Release-Anomalien (Inventur, 2026-08-28)
|
|
102
|
-
|
|
103
|
-
- 45 lokale Tags; 5 lokal-only: 4× `snapshot-*`, `v3.13.0-nodex.0` (→ C6/C7).
|
|
104
|
-
- Kein GitHub-Release für: `v2.4.1`, `v3.9.5` (Tags + npm existieren).
|
|
105
|
-
- `3.0.6`: Tag + Release existieren, aber **nie auf npm publiziert** (E404).
|
|
106
|
-
- `3.3.1`: auf npm, aber kein Tag, kein Release.
|
|
107
|
-
- Betas (3.13.0-beta.nodex, nodex.0–.4): auf npm, keine Git-Tags (außer
|
|
108
|
-
lokalem nodex.0), keine Releases — konsistent zur Beta-Strategie.
|
|
109
|
-
|
|
110
|
-
## 5. Design-Abgleich (manuell, teilweise — Subagenten gequotet)
|
|
111
|
-
|
|
112
|
-
Der unabhängige Screenshot-Vergleich wurde 2× abgebrochen (concurrency limit,
|
|
113
|
-
dann quota limit) und **nicht** durchgeführt. Manuell abgeglichen:
|
|
114
|
-
`~/Downloads/GRAOG/bdb_graph_layer_guide.html` (das distillierte Design-Doku,
|
|
115
|
-
Aug 27, „BDB OS v3.13") gegen `.agents/graph.md` + Implementierung:
|
|
116
|
-
|
|
117
|
-
| Design (Guide) | Status | Anmerkung |
|
|
118
|
-
|---|---|---|
|
|
119
|
-
| 7-Node State Machine (Architect→TechLead→paralleler Build→Reviewer→Shipping) | MATCH | 1:1 in graph.md + Simulator-Diagramm |
|
|
120
|
-
| „Nodes never call each other", Dispatcher-only Edges | MATCH | Kernregel von graph.md:8-17 |
|
|
121
|
-
| Repair-Loops (TechLead-Reject→Architect, Reviewer→owning node) | MATCH | Edge-Table identisch |
|
|
122
|
-
| No-Progress Guard (gleiche Blocker-ID 2× → needs_human) | MATCH | Implementierung = „same finding IDs"-Eskalation (graph.md:64-75, dokumentierte Adaptation von B3) |
|
|
123
|
-
| Phase 4: „Reply GO → `/ship`" | PARTIAL | `/ship` existiert als Command nicht; GO-Check läuft im go-gate.mjs am Push — F3 |
|
|
124
|
-
| Phase 1: `/bdbrainstorm` & `/grill-me` | PARTIAL | `/grill-me` fehlt (F7) |
|
|
125
|
-
| memB-Dual-Memory (Seed vor Planung, Regression-Match, Ingest nach Ship) | UNKLAR | memb-ingest Skill existiert; ob Architect/Reviewer memB wirklich abfragen, steht nicht im Graph-Contract (ggf. in .agents/agents.md prüfen) |
|
|
126
|
-
| Multi-Harness (Claude dispatcher, Antigravity, OpenCode/Codex, Cursor/Roo-Fallback) | MATCH | Artefakte existieren (.opencode/agents, .roomodes); Guide nennt noch alten Namen `startcycle.mjs` (Guide:889, Design-Doku, nicht Repo) |
|
|
127
|
-
|
|
128
|
-
**Offen:** die 10 Screenshots (IMG_6186–IMG_6300) wurden einzeln nicht
|
|
129
|
-
ausgewertet. Der Guide referenziert IMG_6186 („4 Primitives") und IMG_6194
|
|
130
|
-
(„Multi-Agent Topology") als die beiden Blueprints — vermutlich deckt der
|
|
131
|
-
Guide deren Inhalt already ab; die übrigen 8 sind wahrscheinlich frühere
|
|
132
|
-
Iterationen. Ein Nachfolge-Agent kann das mit Read auf die Bilddateien
|
|
133
|
-
verifizieren.
|
|
134
|
-
|
|
135
|
-
## 6. Best-Practices-Check (code.claude.com/docs/en/best-practices, manuell)
|
|
136
|
-
|
|
137
|
-
- **Verification loops: FOLLOWS** — Stop-Hook-Gates (graph-gate, go-gate),
|
|
138
|
-
Dispatcher gegen 9+ Szenarien verifiziert (graph.md:117-124),
|
|
139
|
-
`max_iterations=3` bewusst unter Claude's 8-Block-Override
|
|
140
|
-
(graph.md:137-141 zitiert die Best-Practices-Doku explizit).
|
|
141
|
-
- **CLAUDE.md-Hygiene: FOLLOWS** — 1.6KB, schlank. **Aber:** 5+ parallele
|
|
142
|
-
Instruction-Files (CLAUDE/AGENTS/GEMINI/CODEX/.roomodes/.codex-plugin) —
|
|
143
|
-
der Drift ist schon sichtbar (F3: GEMINI.md + .codex-plugin stale).
|
|
144
|
-
Empfehlung: single-source + Generierung statt manuell synchronisierter
|
|
145
|
-
Kopien.
|
|
146
|
-
- **Skills vs CLAUDE.md Split: FOLLOWS.** **Reviewer-Isolation (= adversarial
|
|
147
|
-
fresh-context review): FOLLOWS** modellhaft (Reviewer sieht nie die Claims
|
|
148
|
-
der Build-Nodes).
|
|
149
|
-
- 161 Skills: kein Verstoß, aber Redundanz-Cluster existieren (seo×3,
|
|
150
|
-
prompt×3, tdd×2, debugger×2, postgres×4) — Aufräum-Kandidaten, low
|
|
151
|
-
priority.
|
|
152
|
-
|
|
153
|
-
## 7. Sonstiges
|
|
154
|
-
|
|
155
|
-
- token-saver v2.6.3 aktiv, Lifetime 44.9% Ersparnis (48.3K tokens/162
|
|
156
|
-
cmds). Auffällig: git-Processor „Mismatches" 28× (~17%) — Config-Stellschraube,
|
|
157
|
-
unangetastet.
|
|
158
|
-
- `token-saver update` wurde bewusst NICHT ausgeführt (Zustandsänderung).
|
|
159
|
-
- GO-Gate gilt weiter: push/publish/npm version/rekursives rm nur nach
|
|
160
|
-
wörtlichem „GO" direkt davor.
|
|
161
|
-
|
|
162
|
-
## 8. Empfohlene Reihenfolge für den Folgende-Agent
|
|
163
|
-
|
|
164
|
-
1. F1 + F2 fixen (vor dem 3.13.0-latest-Release!) → Beta-Gate.
|
|
165
|
-
2. F3/F4 in einem „stale-references"-Commit.
|
|
166
|
-
3. F5 entscheiden: welche github-repo-Version ist kanonisch, andere löschen
|
|
167
|
-
+ Install-Reihenfolge fixen.
|
|
168
|
-
4. Cleanup C1–C7 einzeln zur Freigabe vorlegen.
|
|
169
|
-
5. PR #7/#8 (bdb-saashost-engine) reviewen.
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
# 🏰 Handover & Integration Blueprint: `bdb-remoteos-mcp` for `bdb-dev-optimized-agent-skills`
|
|
2
|
-
|
|
3
|
-
**Target Repository:** `https://github.com/hybridlabor-api/bdb-dev-optimized-agent-skills`
|
|
4
|
-
**Purpose:** Enable any AI agent (Claude Code, Codex, Antigravity, Cursor, Roo Code) to deploy, configure, and manage Multi-Cloud Linux server infrastructure via standard MCP tools and the `bdbsaashost` skill.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 📦 1. Artifacts & Source Locations
|
|
9
|
-
|
|
10
|
-
| Component | Source Location | Target in `bdb-dev-optimized-agent-skills` |
|
|
11
|
-
| :--- | :--- | :--- |
|
|
12
|
-
| **MCP Server** | `~/bdb-saashost-engine/packages/bdb-remoteos-mcp/` | `mcps/bdb-remoteos-mcp/` |
|
|
13
|
-
| **Skill Definition** | `~/bdb-saashost-engine/server-config/skills/bdbsaashost/SKILL.md` | `skills/global_config/bdbsaashost/SKILL.md` |
|
|
14
|
-
| **Server Engine** | `https://github.com/hybridlabor-api/bdb-saashost-engine` | External Infrastructure Engine |
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 🛠️ 2. MCP Tool Specifications
|
|
19
|
-
|
|
20
|
-
The `bdb-remoteos-mcp` implements FastMCP (stdio and SSE) with 15 passing Red-Team tests:
|
|
21
|
-
|
|
22
|
-
```json
|
|
23
|
-
[
|
|
24
|
-
{
|
|
25
|
-
"name": "remoteos_get_system_telemetry",
|
|
26
|
-
"description": "Query host CPU, RAM, Disk, Inodes, PSI Pressure, and Load averages",
|
|
27
|
-
"tier": "Tier 0 (Read-Only)"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"name": "remoteos_manage_service",
|
|
31
|
-
"description": "Manage Systemd service lifecycle (status, start, stop, restart, reload, enable)",
|
|
32
|
-
"tier": "Tier 1 (Safe / Idempotent)"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "remoteos_query_journal_logs",
|
|
36
|
-
"description": "Query filtered, window-bounded JSON system logs without flooding LLM context",
|
|
37
|
-
"tier": "Tier 0 (Read-Only)"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"name": "remoteos_storage_cleanup",
|
|
41
|
-
"description": "Perform safe disk vacuum (journal vacuum, apt cache, podman prune)",
|
|
42
|
-
"tier": "Tier 1 (Safe)"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"name": "remoteos_backup_snapshot",
|
|
46
|
-
"description": "Trigger encrypted Restic / Rclone S3 snapshots and inspect ZFS/Incus pools",
|
|
47
|
-
"tier": "Tier 1 (Safe)"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"name": "remoteos_audit_security",
|
|
51
|
-
"description": "Inspect UFW firewall, Fail2ban jails, TLS cert expiry, and Sudoers integrity",
|
|
52
|
-
"tier": "Tier 0 (Read-Only)"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"name": "remoteos_create_instance",
|
|
56
|
-
"description": "Provision Incus container/VM from templates (Froxlor, AI Sandbox, WordPress)",
|
|
57
|
-
"tier": "Tier 1 (Safe)"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"name": "remoteos_manage_instance",
|
|
61
|
-
"description": "Start, stop, or restart an Incus instance",
|
|
62
|
-
"tier": "Tier 1 (Safe)"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"name": "remoteos_list_instances",
|
|
66
|
-
"description": "List all active instances, IP addresses, and resource allocations",
|
|
67
|
-
"tier": "Tier 0 (Read-Only)"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"name": "remoteos_add_route",
|
|
71
|
-
"description": "Add Caddy reverse proxy route with optional Authelia 2FA gatekeeper",
|
|
72
|
-
"tier": "Tier 1 (Safe)"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"name": "remoteos_delete_instance",
|
|
76
|
-
"description": "Delete instance (automatically creates pre-delete snapshot and enqueues in 4-eyes queue)",
|
|
77
|
-
"tier": "Tier 2 (Destructive / 4-Eyes Queue)"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"name": "remoteos_approval_queue_list",
|
|
81
|
-
"description": "List pending destructive operations waiting for admin confirmation",
|
|
82
|
-
"tier": "Tier 0 (Read-Only)"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"name": "remoteos_approval_queue_decide",
|
|
86
|
-
"description": "Approve or reject a pending request with a cryptographic HMAC token",
|
|
87
|
-
"tier": "Tier 2 (Admin Decision)"
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## ⚙️ 3. Installer Integration (`installer.js`)
|
|
95
|
-
|
|
96
|
-
In `bdb-dev-optimized-agent-skills/installer.js`:
|
|
97
|
-
|
|
98
|
-
1. Add `bdb-remoteos-mcp` to available MCP options:
|
|
99
|
-
```javascript
|
|
100
|
-
const availableMcps = [
|
|
101
|
-
'memb-mcp',
|
|
102
|
-
'bdb-remoteos-mcp', // Multi-Cloud Server & Host Operations
|
|
103
|
-
'touchdesigner-mcp',
|
|
104
|
-
'davinci-mcp-professional',
|
|
105
|
-
'unreal_mcp',
|
|
106
|
-
// ...
|
|
107
|
-
];
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
2. Register configuration in `mcp_config.json`:
|
|
111
|
-
```json
|
|
112
|
-
{
|
|
113
|
-
"bdb-remoteos": {
|
|
114
|
-
"command": "python3",
|
|
115
|
-
"args": ["-m", "bdb_remoteos_mcp"],
|
|
116
|
-
"env": {
|
|
117
|
-
"REMOTEOS_GATEWAY_URL": "https://gateway.yourdomain.com",
|
|
118
|
-
"REMOTEOS_API_KEY": "${REMOTEOS_API_KEY}"
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## 🎯 4. Agent Instruction Prompt
|
|
127
|
-
|
|
128
|
-
When starting a session in `bdb-dev-optimized-agent-skills`, use this exact prompt:
|
|
129
|
-
|
|
130
|
-
> **"Implementiere den neuen MCP-Server `bdb-remoteos-mcp` und den Skill `bdbsaashost` in unser Skillpack gemäß des Blueprints in `BDB_REMOTEOS_MCP_HANDOVER.md`. Aktualisiere `installer.js` und `mcp_config.json`, damit jeder Nutzer beim Installieren des BDB Agent OS die Multi-Cloud Server-Administration direkt auswählen kann."**
|