@outsidestudio/agent-kit 0.2.3 → 0.3.1

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/README.md CHANGED
@@ -14,6 +14,8 @@ bunx @outsidestudio/agent-kit add product-backend web-frontend
14
14
 
15
15
  Installs **stack**: every run is additive, so installing one profile never removes another profile's entries — run them in any order, as often as you like. `agent-kit remove <target>` takes something out again.
16
16
 
17
+ **Auto-update.** bunx caches its copy of the kit. From **0.2.3** a cached copy checks npm's `latest` on startup and transparently reruns the new version with your arguments, so bare commands stay current (`AGENT_KIT_NO_UPDATE_CHECK=1` to opt out). Copies older than 0.2.3 cannot self-update: run `bunx @outsidestudio/agent-kit@latest update` once; the bare form updates itself from then on.
18
+
17
19
  That command:
18
20
 
19
21
  1. Detects which tools are installed (`opencode`, `omp`). Use `--tool` to choose.
@@ -56,11 +58,11 @@ src/adapters/ one adapter per tool (opencode.ts, omp.ts)
56
58
  {
57
59
  "description": "Product backend developers",
58
60
  "extends": ["shared"],
59
- "include": ["context-mode", "outside/product-backend-skills"]
61
+ "include": ["outside/product-backend-skills", "security-audit"]
60
62
  }
61
63
  ```
62
64
 
63
- `shared` is the base every department extends: the LLM provider, company skills, Superpowers, Context7 and Anthropic's document skills (docx, pdf, pptx, xlsx).
65
+ `shared` is the base every department extends: the LLM provider, company skills, Superpowers, Context7, context-mode and Anthropic's document skills (docx, pdf, pptx, xlsx).
64
66
 
65
67
  ### Registry item kinds
66
68
 
@@ -92,16 +94,16 @@ src/adapters/ one adapter per tool (opencode.ts, omp.ts)
92
94
  "fallback": { "type": "git", "repo": "https://github.com/obra/superpowers.git", "path": "skills" } }
93
95
  ```
94
96
 
95
- **`provider`**: an OpenAI-compatible model endpoint (our vast.ai models). The provider id in each tool is the registry id with `/` replaced by `-`, so the model id `nvidia/Qwen2.8-Flash-Next-NVFP4` in `outside/llm` appears as `outside-llm/nvidia/Qwen2.8-Flash-Next-NVFP4`.
97
+ **`provider`**: an OpenAI-compatible model endpoint (our vast.ai models). The provider id in each tool is the registry id with `/` replaced by `-`, so the model id `nvidia/Qwen3.8-Flash-Next-NVFP4` in `outside/llm` appears as `outside-llm/nvidia/Qwen3.8-Flash-Next-NVFP4`.
96
98
 
97
99
  ```json
98
100
  { "kind": "provider", "name": "Outside LLM",
99
101
  "baseURL": "${OUTSIDE_LLM_BASE_URL}", "apiKey": "${OUTSIDE_LLM_API_KEY}",
100
- "models": { "nvidia/Qwen2.8-Flash-Next-NVFP4": {
101
- "name": "Qwen2.8 Flash Next (NVFP4)", "contextWindow": 131072, "maxTokens": 32768,
102
+ "models": { "nvidia/Qwen3.8-Flash-Next-NVFP4": {
103
+ "name": "Qwen3.8 Flash Next (NVFP4)", "contextWindow": 131072, "maxTokens": 32768,
102
104
  "reasoning": true, "input": ["text", "image"],
103
105
  "thinking": { "mode": "effort", "efforts": ["low", "medium", "high"], "defaultLevel": "medium" } } },
104
- "defaultModel": "nvidia/Qwen2.8-Flash-Next-NVFP4" }
106
+ "defaultModel": "nvidia/Qwen3.8-Flash-Next-NVFP4" }
105
107
  ```
106
108
 
107
109
  Model metadata is endpoint-specific — the same model id behind a different gateway has different limits — so each provider item carries the numbers for the server it points at. The kit maps `contextWindow`/`maxTokens` to OMP's `contextWindow`/`maxTokens` and OpenCode's `limit.context`/`limit.output`, `input` to OpenCode `modalities.input`, and passes `thinking` through to OMP.
@@ -121,27 +123,12 @@ Model metadata is endpoint-specific — the same model id behind a different gat
121
123
 
122
124
  **JSONC.** If `opencode.json` has comments, they are removed when the kit rewrites it (the backup keeps them).
123
125
 
126
+ **Caveats.** OMP also reads other tools' configs (`opencode.json`, `.claude`, …): same-named MCP servers dedupe (OMP's own `mcp.json` wins), but a skill installed in several places may appear twice. OpenCode caches git plugins — if an update doesn't show up, clear OpenCode's plugin cache and restart it.
127
+
124
128
  ## Adding things
125
129
 
126
130
  - **Custom skill**: `agent-kit new skill product-backend/rate-limiting`, write the SKILL.md, open a PR. Everyone gets it on their next `update`.
127
131
  - **New department**: add `profiles/<dept>.json` and `skills/<dept>/` (`new skill <dept>/<name>` creates the registry entry for you).
128
132
  - **Third-party item**: add a `registry/<id>.json` (put your own under `registry/outside/`), then add the id to profiles.
129
133
  - **New tool** (Codex, Cursor…): write `src/adapters/<tool>.ts` implementing `Adapter` and list it in `src/adapters/index.ts`.
130
-
131
- ## Publishing
132
-
133
- Pick one:
134
-
135
- - **Private npm registry** (GitHub Packages, Verdaccio): `npm publish`, then devs run `bunx @outsidestudio/agent-kit add <profile>`. Point the `@outsidestudio` scope at your registry in `~/.npmrc` or `bunfig.toml`.
136
- - **Straight from GitHub**, no registry: `bunx github:madebyoutside/agent-kit <profile>`.
137
-
138
- **Auto-update.** bunx reuses its cached copy of the kit; from **0.2.3** a cached copy checks npm's `latest` on startup and transparently reruns the new version with your arguments — bare commands stay current, no `@latest` needed. Set `AGENT_KIT_NO_UPDATE_CHECK=1` to opt out. Copies older than 0.2.3 cannot self-update: if a new command errors (e.g. `Unknown target "add"`), run `bunx @outsidestudio/agent-kit@latest update` once; from then on the bare form updates itself.
139
-
140
- ## Things to verify for your setup
141
-
142
- - **Base URL.** Put a stable gateway (LiteLLM, Cloudflare Tunnel) in front of vast.ai so `OUTSIDE_LLM_BASE_URL` doesn't change when instances are recreated.
143
- - **Model list.** Replace `qwen3-coder` in `registry/outside/llm.json` with the model ids your server actually serves (`curl $OUTSIDE_LLM_BASE_URL/models`).
144
- - **Document skills.** Anthropic's docx/pdf/pptx/xlsx skills shell out to `python3` (and LibreOffice/pandoc for some conversions). `agent-kit doctor` warns when `python3` is missing; install the rest only if you use those flows.
145
- - **OMP plugins.** Superpowers has no `omp` entry yet, so OMP gets its skills via the fallback. Add `"omp": { "plugin": "..." }` if `omp plugin install` supports it.
146
- - **OpenCode plugin cache.** OpenCode caches git plugins. If an update doesn't show up, clear OpenCode's plugin cache and restart it.
147
- - **Duplicates in OMP.** OMP also reads other tools' configs (`opencode.json`, `.claude`, …). Same-named MCP servers dedupe (OMP's own `mcp.json` wins), but a skill installed in several places may appear twice.
134
+ - **Release**: bump `version` in `package.json`, commit, `npm publish --access public`, push. `latest` propagates in ~1-2 min; machines on 0.2.3+ pick it up on their next bare `bunx` run.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outsidestudio/agent-kit",
3
- "version": "0.2.3",
3
+ "version": "0.3.1",
4
4
  "description": "One-command setup of skills, MCP servers and model providers for OpenCode and OMP",
5
5
  "type": "module",
6
6
  "bin": {
package/profiles/pm.json CHANGED
@@ -1 +1,9 @@
1
- {"description":"Product managers","extends":["shared"],"include":["outside/pm-skills"]}
1
+ {
2
+ "description": "Product managers",
3
+ "extends": [
4
+ "shared"
5
+ ],
6
+ "include": [
7
+ "outside/pm-skills"
8
+ ]
9
+ }
@@ -1 +1,10 @@
1
- {"description":"Product backend developers","extends":["shared"],"include":["context-mode","outside/product-backend-skills"]}
1
+ {
2
+ "description": "Product backend developers",
3
+ "extends": [
4
+ "shared"
5
+ ],
6
+ "include": [
7
+ "outside/product-backend-skills",
8
+ "security-audit"
9
+ ]
10
+ }
@@ -1 +1,11 @@
1
- {"description":"Base setup every profile extends","include":["outside/llm","outside/shared-skills","superpowers","context7","anthropic/document-skills"]}
1
+ {
2
+ "description": "Base setup every profile extends",
3
+ "include": [
4
+ "outside/llm",
5
+ "outside/shared-skills",
6
+ "superpowers",
7
+ "context7",
8
+ "context-mode",
9
+ "anthropic/document-skills"
10
+ ]
11
+ }
@@ -1 +1,9 @@
1
- {"description":"Web / frontend developers","extends":["shared"],"include":["context-mode","outside/web-frontend-skills"]}
1
+ {
2
+ "description": "Web / frontend developers",
3
+ "extends": [
4
+ "shared"
5
+ ],
6
+ "include": [
7
+ "outside/web-frontend-skills"
8
+ ]
9
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "kind": "skills",
3
+ "description": "Cloudflare's security-audit skill: security guidance, focused reviews and full multi-agent codebase audits",
4
+ "source": { "type": "git", "repo": "https://github.com/cloudflare/security-audit-skill.git", "path": "skills" },
5
+ "only": ["security-audit"],
6
+ "requires": ["node"]
7
+ }
@@ -15,5 +15,3 @@ Structure every PRD as:
15
15
  6. Open questions and risks
16
16
 
17
17
  Ask for missing evidence instead of inventing it.
18
-
19
- <!-- Placeholder content. Replace with your real PRD template. -->
@@ -10,5 +10,3 @@ description: Use when creating, editing or reviewing database migrations in Outs
10
10
  3. Add indexes concurrently on large tables.
11
11
  4. Split schema changes and data backfills into separate migrations.
12
12
  5. Run the migration locally up and down before opening a PR.
13
-
14
- <!-- Placeholder content. Replace with your real migration rules. -->