arkaos 4.35.0 → 4.36.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/THE-ARKAOS-GUIDE.md +1 -1
- package/VERSION +1 -1
- package/bin/arka-menubar.py +58 -5
- package/core/runtime/opencode.py +151 -12
- package/harness/codex/AGENTS.md +1 -1
- package/harness/copilot/copilot-instructions.md +1 -1
- package/harness/cursor/rules/arkaos.mdc +2 -2
- package/harness/gemini/GEMINI.md +1 -1
- package/harness/opencode/AGENTS.md +1 -1
- package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
- package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
- package/harness/opencode/agents/arka-cfo-helena.md +1 -1
- package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
- package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
- package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
- package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
- package/harness/opencode/agents/arka-coo-sofia.md +1 -1
- package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
- package/harness/opencode/agents/arka-cqo-marta.md +1 -1
- package/harness/opencode/agents/arka-cto-marco.md +1 -1
- package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
- package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
- package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
- package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
- package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
- package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
- package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
- package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
- package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
- package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
- package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
- package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
- package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
- package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
- package/harness/zed/.rules +1 -1
- package/knowledge/skills-manifest.json +1 -1
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/THE-ARKAOS-GUIDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# The ArkaOS Guide
|
|
2
2
|
|
|
3
|
-
> v4.
|
|
3
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills, 297 commands, 17 ADRs.
|
|
4
4
|
> One file, everything you need to start. Generated by `scripts/guide_gen.py` — never hand-edited.
|
|
5
5
|
|
|
6
6
|
## What it is
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.
|
|
1
|
+
4.36.0
|
package/bin/arka-menubar.py
CHANGED
|
@@ -278,10 +278,44 @@ def run_app() -> int:
|
|
|
278
278
|
super().__init__(TITLE, quit_button=None)
|
|
279
279
|
self._rumps = rumps
|
|
280
280
|
self._pollers = set()
|
|
281
|
+
# QG r2 follow-ups: the ollama probe result is CACHED and
|
|
282
|
+
# refreshed by a worker (the 2s `ollama list` subprocess
|
|
283
|
+
# never runs on the menu runloop); the auto-update toggle
|
|
284
|
+
# is disabled while its worker is in flight.
|
|
285
|
+
self._ollama_cache = "absent"
|
|
286
|
+
self._probe_running = False
|
|
287
|
+
self._toggle_inflight = False
|
|
281
288
|
self.refresh(None)
|
|
282
289
|
self.timer = rumps.Timer(self.refresh, REFRESH_SECONDS)
|
|
283
290
|
self.timer.start()
|
|
284
291
|
|
|
292
|
+
def _schedule_ollama_probe(self):
|
|
293
|
+
"""Worker-side probe -> cache; redraw only on change."""
|
|
294
|
+
if self._probe_running:
|
|
295
|
+
return
|
|
296
|
+
self._probe_running = True
|
|
297
|
+
before = self._ollama_cache
|
|
298
|
+
|
|
299
|
+
def probe():
|
|
300
|
+
try:
|
|
301
|
+
self._ollama_cache = ollama_status()
|
|
302
|
+
finally:
|
|
303
|
+
self._probe_running = False
|
|
304
|
+
|
|
305
|
+
worker = threading.Thread(target=probe, daemon=True)
|
|
306
|
+
worker.start()
|
|
307
|
+
|
|
308
|
+
def poll(timer):
|
|
309
|
+
if not worker.is_alive():
|
|
310
|
+
timer.stop()
|
|
311
|
+
self._pollers.discard(timer)
|
|
312
|
+
if self._ollama_cache != before:
|
|
313
|
+
self.refresh(None)
|
|
314
|
+
|
|
315
|
+
poller = self._rumps.Timer(poll, 1)
|
|
316
|
+
self._pollers.add(poller)
|
|
317
|
+
poller.start()
|
|
318
|
+
|
|
285
319
|
def _spawn(self, work, refresh_after=False):
|
|
286
320
|
"""Run side-effect work off the AppKit main thread (a blocking
|
|
287
321
|
subprocess in a rumps callback freezes the whole menu bar).
|
|
@@ -313,7 +347,11 @@ def run_app() -> int:
|
|
|
313
347
|
|
|
314
348
|
def refresh(self, _sender):
|
|
315
349
|
state = read_state()
|
|
316
|
-
|
|
350
|
+
if state["profile"] == "local-ai":
|
|
351
|
+
ollama = self._ollama_cache
|
|
352
|
+
self._schedule_ollama_probe()
|
|
353
|
+
else:
|
|
354
|
+
ollama = "absent"
|
|
317
355
|
self.title = title_for(state)
|
|
318
356
|
self.menu.clear()
|
|
319
357
|
info = rumps.MenuItem(version_label(state))
|
|
@@ -331,8 +369,9 @@ def run_app() -> int:
|
|
|
331
369
|
"doctor": ("Run Doctor", self.on_doctor),
|
|
332
370
|
"start_ollama": ("Start Ollama", self.on_start_ollama),
|
|
333
371
|
"autoupdate_toggle": (
|
|
334
|
-
"Auto-update:
|
|
335
|
-
|
|
372
|
+
"Auto-update: switching…" if self._toggle_inflight
|
|
373
|
+
else ("Auto-update: on" if state["autoupdate_on"] else "Auto-update: off"),
|
|
374
|
+
None if self._toggle_inflight else self.on_autoupdate_toggle,
|
|
336
375
|
),
|
|
337
376
|
"disable": ("Disable menu bar (permanent)", self.on_disable),
|
|
338
377
|
"quit": ("Quit until next login", self.on_quit),
|
|
@@ -340,7 +379,7 @@ def run_app() -> int:
|
|
|
340
379
|
for item_id in visible:
|
|
341
380
|
label, callback = labels[item_id]
|
|
342
381
|
entry = rumps.MenuItem(label, callback=callback)
|
|
343
|
-
if item_id == "autoupdate_toggle":
|
|
382
|
+
if item_id == "autoupdate_toggle" and not self._toggle_inflight:
|
|
344
383
|
entry.state = 1 if state["autoupdate_on"] else 0
|
|
345
384
|
if item_id == "disable":
|
|
346
385
|
entries.append(rumps.separator)
|
|
@@ -365,8 +404,22 @@ def run_app() -> int:
|
|
|
365
404
|
self._spawn(action_start_ollama, refresh_after=True)
|
|
366
405
|
|
|
367
406
|
def on_autoupdate_toggle(self, _):
|
|
407
|
+
# Guard against double-fire while the (up to 180s) npx
|
|
408
|
+
# worker runs — the item is disabled and relabelled until
|
|
409
|
+
# the post-worker refresh (QG r2 minor).
|
|
410
|
+
if self._toggle_inflight:
|
|
411
|
+
return
|
|
412
|
+
self._toggle_inflight = True
|
|
368
413
|
enable = not read_state()["autoupdate_on"]
|
|
369
|
-
|
|
414
|
+
|
|
415
|
+
def work():
|
|
416
|
+
try:
|
|
417
|
+
action_autoupdate(enable=enable)
|
|
418
|
+
finally:
|
|
419
|
+
self._toggle_inflight = False
|
|
420
|
+
|
|
421
|
+
self._spawn(work, refresh_after=True)
|
|
422
|
+
self.refresh(None)
|
|
370
423
|
|
|
371
424
|
def on_disable(self, _):
|
|
372
425
|
try:
|
package/core/runtime/opencode.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""OpenCode runtime adapter (Foundation PR-6).
|
|
1
|
+
"""OpenCode runtime adapter (Foundation PR-6 + headless follow-up).
|
|
2
2
|
|
|
3
3
|
OpenCode (opencode.ai) — open-source terminal AI coding agent with
|
|
4
4
|
native agents (markdown, ``~/.config/opencode/agents/``), custom
|
|
@@ -6,13 +6,31 @@ commands (``commands/``), MCP servers (``opencode.json``), and AGENTS.md
|
|
|
6
6
|
instructions. The installer adapter (installer/adapters/opencode.js)
|
|
7
7
|
deploys the generated harness bundle onto those surfaces.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
Headless invocation (live-verified against the installed binary,
|
|
10
|
+
opencode 1.18.4, ``opencode run --help`` + a real probe, 2026-07-23):
|
|
11
|
+
|
|
12
|
+
opencode run --format json "<prompt>"
|
|
13
|
+
|
|
14
|
+
``--format json`` prints JSONL events to stdout. Live-verified shapes:
|
|
15
|
+
|
|
16
|
+
{"type":"step_start", "sessionID":"...", "part":{...}}
|
|
17
|
+
{"type":"text","part":{"type":"text","text":"ok",...}}
|
|
18
|
+
{"type":"step_finish","part":{"reason":"stop","tokens":
|
|
19
|
+
{"total":N,"input":N,"output":N,"reasoning":N,
|
|
20
|
+
"cache":{"write":N,"read":N}},"cost":X}}
|
|
21
|
+
{"type":"error","error":{"name":"...","data":{"message":"..."}}}
|
|
22
|
+
|
|
23
|
+
The error event fires with exit 1 when the user's DEFAULT model/provider
|
|
24
|
+
is broken (observed live) — headless_complete surfaces that as
|
|
25
|
+
LLMUnavailable with the event message. When no JSONL parses at all,
|
|
26
|
+
stdout is treated as raw text with a ``len(text) // 4`` token estimate
|
|
27
|
+
(same fallback as the Codex/Gemini adapters). stdin is closed explicitly
|
|
28
|
+
(codex precedent — a piped stdin must never leak into the prompt).
|
|
14
29
|
"""
|
|
15
30
|
|
|
31
|
+
import json
|
|
32
|
+
import shutil
|
|
33
|
+
import subprocess
|
|
16
34
|
from pathlib import Path
|
|
17
35
|
from os.path import expanduser
|
|
18
36
|
from typing import TYPE_CHECKING
|
|
@@ -23,6 +41,13 @@ if TYPE_CHECKING:
|
|
|
23
41
|
from core.runtime.llm_provider import LLMResponse
|
|
24
42
|
|
|
25
43
|
|
|
44
|
+
# `opencode run` is a full agent turn (session bootstrap + provider
|
|
45
|
+
# round-trip) — mirror the Codex budget, not the tighter Gemini one.
|
|
46
|
+
_TIMEOUT_SECONDS = 120
|
|
47
|
+
_TOKEN_ESTIMATE_DIVISOR = 4 # Rough chars-per-token heuristic.
|
|
48
|
+
_STDERR_CLIP = 200
|
|
49
|
+
|
|
50
|
+
|
|
26
51
|
class OpenCodeAdapter(RuntimeAdapter):
|
|
27
52
|
"""Adapter for OpenCode (terminal AI coding agent)."""
|
|
28
53
|
|
|
@@ -44,7 +69,7 @@ class OpenCodeAdapter(RuntimeAdapter):
|
|
|
44
69
|
def capabilities(self) -> dict[str, bool]:
|
|
45
70
|
return {
|
|
46
71
|
"agent_dispatch": False, # native agents exist; no ArkaOS wiring yet
|
|
47
|
-
"headless":
|
|
72
|
+
"headless": True, # `opencode run` live-verified 2026-07-23
|
|
48
73
|
"file_ops": True, # terminal agent edits files natively
|
|
49
74
|
"hooks": False, # plugins exist; no PreToolUse/Stop parity
|
|
50
75
|
}
|
|
@@ -97,7 +122,7 @@ class OpenCodeAdapter(RuntimeAdapter):
|
|
|
97
122
|
raise NotImplementedError("Use OpenCode's native content search")
|
|
98
123
|
|
|
99
124
|
def headless_supported(self) -> bool:
|
|
100
|
-
return
|
|
125
|
+
return shutil.which("opencode") is not None
|
|
101
126
|
|
|
102
127
|
def headless_complete(
|
|
103
128
|
self,
|
|
@@ -106,8 +131,122 @@ class OpenCodeAdapter(RuntimeAdapter):
|
|
|
106
131
|
max_tokens: int = 2000,
|
|
107
132
|
system: str = "",
|
|
108
133
|
) -> "LLMResponse":
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
134
|
+
"""One-shot completion via `opencode run --format json`.
|
|
135
|
+
|
|
136
|
+
Verified against opencode 1.18.4 (live probe, 2026-07-23). The
|
|
137
|
+
model comes from the user's opencode config; a broken default
|
|
138
|
+
provider surfaces as an error event -> LLMUnavailable. Raises
|
|
139
|
+
LLMUnavailable on non-zero exit or timeout.
|
|
140
|
+
"""
|
|
141
|
+
from core.runtime.llm_provider import LLMUnavailable
|
|
142
|
+
|
|
143
|
+
binary = shutil.which("opencode")
|
|
144
|
+
if binary is None:
|
|
145
|
+
raise NotImplementedError(
|
|
146
|
+
"opencode CLI not found on PATH — install OpenCode to "
|
|
147
|
+
"enable headless completion."
|
|
148
|
+
)
|
|
149
|
+
effective_prompt = _merge_system_prompt(prompt, system)
|
|
150
|
+
cmd = [binary, "run", "--format", "json", effective_prompt]
|
|
151
|
+
proc = _run_opencode_cli(cmd)
|
|
152
|
+
if proc.returncode != 0:
|
|
153
|
+
# The error event carries the actionable message (observed
|
|
154
|
+
# live with a broken default model); stderr is often empty.
|
|
155
|
+
event_message = _first_error_message(proc.stdout)
|
|
156
|
+
detail = event_message or proc.stderr.strip()[:_STDERR_CLIP]
|
|
157
|
+
raise LLMUnavailable(
|
|
158
|
+
f"opencode run exited {proc.returncode}: {detail}"
|
|
159
|
+
)
|
|
160
|
+
return _parse_opencode_output(proc.stdout)
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def _merge_system_prompt(prompt: str, system: str) -> str:
|
|
164
|
+
# `opencode run` takes a single message; prepend the system text so
|
|
165
|
+
# downstream behaviour matches the other adapters.
|
|
166
|
+
if not system:
|
|
167
|
+
return prompt
|
|
168
|
+
return f"{system}\n\n---\n\n{prompt}"
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def _run_opencode_cli(cmd: list[str]) -> subprocess.CompletedProcess:
|
|
172
|
+
from core.runtime.llm_provider import LLMUnavailable
|
|
173
|
+
|
|
174
|
+
try:
|
|
175
|
+
return subprocess.run(
|
|
176
|
+
cmd,
|
|
177
|
+
capture_output=True,
|
|
178
|
+
text=True,
|
|
179
|
+
encoding="utf-8",
|
|
180
|
+
errors="replace",
|
|
181
|
+
timeout=_TIMEOUT_SECONDS,
|
|
182
|
+
check=False,
|
|
183
|
+
# codex precedent: piped stdin must never leak into the run.
|
|
184
|
+
stdin=subprocess.DEVNULL,
|
|
185
|
+
)
|
|
186
|
+
except subprocess.TimeoutExpired as err:
|
|
187
|
+
raise LLMUnavailable(
|
|
188
|
+
f"opencode run timed out after {_TIMEOUT_SECONDS}s"
|
|
189
|
+
) from err
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def _iter_events(stdout: str):
|
|
193
|
+
for line in stdout.splitlines():
|
|
194
|
+
line = line.strip()
|
|
195
|
+
if not line.startswith("{"):
|
|
196
|
+
continue
|
|
197
|
+
try:
|
|
198
|
+
yield json.loads(line)
|
|
199
|
+
except (ValueError, TypeError):
|
|
200
|
+
continue
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def _first_error_message(stdout: str) -> str:
|
|
204
|
+
for event in _iter_events(stdout):
|
|
205
|
+
if event.get("type") == "error":
|
|
206
|
+
data = (event.get("error") or {}).get("data") or {}
|
|
207
|
+
message = data.get("message") or (event.get("error") or {}).get("name")
|
|
208
|
+
if message:
|
|
209
|
+
return str(message)[:_STDERR_CLIP]
|
|
210
|
+
return ""
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
def _parse_opencode_output(stdout: str) -> "LLMResponse":
|
|
214
|
+
"""Parse the live-verified JSONL stream (see module docstring)."""
|
|
215
|
+
from core.runtime.llm_provider import LLMResponse, LLMUnavailable
|
|
216
|
+
|
|
217
|
+
texts: list[str] = []
|
|
218
|
+
tokens_in = 0
|
|
219
|
+
tokens_out = 0
|
|
220
|
+
cached = 0
|
|
221
|
+
saw_event = False
|
|
222
|
+
for event in _iter_events(stdout):
|
|
223
|
+
saw_event = True
|
|
224
|
+
kind = event.get("type")
|
|
225
|
+
part = event.get("part") or {}
|
|
226
|
+
if kind == "text" and part.get("type") == "text":
|
|
227
|
+
texts.append(str(part.get("text", "")))
|
|
228
|
+
elif kind == "step_finish":
|
|
229
|
+
tokens = part.get("tokens") or {}
|
|
230
|
+
tokens_in += int(tokens.get("input") or 0)
|
|
231
|
+
tokens_out += int(tokens.get("output") or 0)
|
|
232
|
+
cached += int((tokens.get("cache") or {}).get("read") or 0)
|
|
233
|
+
elif kind == "error":
|
|
234
|
+
message = _first_error_message(stdout) or "unknown opencode error"
|
|
235
|
+
raise LLMUnavailable(f"opencode run error event: {message}")
|
|
236
|
+
if saw_event:
|
|
237
|
+
return LLMResponse(
|
|
238
|
+
text="".join(texts),
|
|
239
|
+
tokens_in=tokens_in,
|
|
240
|
+
tokens_out=tokens_out,
|
|
241
|
+
cached_tokens=cached,
|
|
242
|
+
model="", # events carry no model id (verified 1.18.4)
|
|
113
243
|
)
|
|
244
|
+
# No JSONL parsed — degrade to raw text (codex/gemini fallback).
|
|
245
|
+
raw = stdout.strip()
|
|
246
|
+
return LLMResponse(
|
|
247
|
+
text=raw,
|
|
248
|
+
tokens_in=0,
|
|
249
|
+
tokens_out=max(1, len(raw) // _TOKEN_ESTIMATE_DIVISOR) if raw else 0,
|
|
250
|
+
cached_tokens=0,
|
|
251
|
+
model="",
|
|
252
|
+
)
|
package/harness/codex/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ArkaOS — The Operating System for AI Agent Teams
|
|
2
2
|
|
|
3
|
-
> v4.
|
|
3
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills. Generated by `scripts/harness_gen.py`; do not edit.
|
|
4
4
|
|
|
5
5
|
You are operating within ArkaOS. Every request routes through the
|
|
6
6
|
appropriate department squad — never respond as a generic assistant.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ArkaOS — The Operating System for AI Agent Teams
|
|
2
2
|
|
|
3
|
-
> v4.
|
|
3
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills. Generated by `scripts/harness_gen.py`; do not edit.
|
|
4
4
|
|
|
5
5
|
You are operating within ArkaOS. Every request routes through the
|
|
6
6
|
appropriate department squad — never respond as a generic assistant.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: ArkaOS v4.
|
|
2
|
+
description: ArkaOS v4.36.0 agent-team contract
|
|
3
3
|
alwaysApply: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ArkaOS — The Operating System for AI Agent Teams
|
|
7
7
|
|
|
8
|
-
> v4.
|
|
8
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills. Generated by `scripts/harness_gen.py`; do not edit.
|
|
9
9
|
|
|
10
10
|
You are operating within ArkaOS. Every request routes through the
|
|
11
11
|
appropriate department squad — never respond as a generic assistant.
|
package/harness/gemini/GEMINI.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ArkaOS — The Operating System for AI Agent Teams
|
|
2
2
|
|
|
3
|
-
> v4.
|
|
3
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills. Generated by `scripts/harness_gen.py`; do not edit.
|
|
4
4
|
|
|
5
5
|
You are operating within ArkaOS. Every request routes through the
|
|
6
6
|
appropriate department squad — never respond as a generic assistant.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ArkaOS — The Operating System for AI Agent Teams
|
|
2
2
|
|
|
3
|
-
> v4.
|
|
3
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills. Generated by `scripts/harness_gen.py`; do not edit.
|
|
4
4
|
|
|
5
5
|
You are operating within ArkaOS. Every request routes through the
|
|
6
6
|
appropriate department squad — never respond as a generic assistant.
|
|
@@ -3,7 +3,7 @@ description: "Software Architect — ArkaOS /dev department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Gabriel, Software Architect of the ArkaOS /dev department (v4.
|
|
6
|
+
You are Gabriel, Software Architect of the ArkaOS /dev department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: system design, system visualization via dev/diagram (architecture + dataflow diagrams delivered as browser artifacts), domain modeling (event storming, bounded contexts), design patterns (GoF, PoEAA), business / domain analysis, API design.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Creative Director — ArkaOS /brand department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Valentina, Creative Director of the ArkaOS /brand department (v4.
|
|
6
|
+
You are Valentina, Creative Director of the ArkaOS /brand department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: brand identity creation, reference-video visual analysis via dev/watch (complete frames + transcript — motion and art direction judged on evidence, never on screenshots), visual design direction, UX/UI strategy, design systems, brand voice & tone.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Chief Financial Officer — ArkaOS /fin department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Helena, Chief Financial Officer of the ArkaOS /fin department (v4.
|
|
6
|
+
You are Helena, Chief Financial Officer of the ArkaOS /fin department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: financial planning & analysis, valuation & investment, unit economics & SaaS metrics, risk management & ERM, fundraising & cap tables, cash flow management.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Chief of Staff & Governance Lead — ArkaOS /org department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v4.
|
|
6
|
+
You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: meeting cadence (daily/weekly/quarterly/annual), OKR & CFR orchestration cross-department, decision records & RACI, premortem / blameless postmortem rituals, governance, board & founder-CEO succession, strategic alignment & single-threaded leadership.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Community Strategist — ArkaOS /community department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Beatriz, Community Strategist of the ArkaOS /community department (v4.
|
|
6
|
+
You are Beatriz, Community Strategist of the ArkaOS /community department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: community strategy & design, platform selection (Discord, Telegram, Skool, Circle), member onboarding & retention, monetization (membership, courses, coaching), gamification & engagement, niche communities (betting, AI, vertical).
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Content Strategist — ArkaOS /content department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Rafael, Content Strategist of the ArkaOS /content department (v4.
|
|
6
|
+
You are Rafael, Content Strategist of the ArkaOS /content department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: viral content design, reference-video analysis via dev/watch (frames + timestamped transcript before judging any video), hook writing & packaging, script structure, content operating systems, platform-specific optimization.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Conversion Strategist — ArkaOS /landing department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Ines, Conversion Strategist of the ArkaOS /landing department (v4.
|
|
6
|
+
You are Ines, Conversion Strategist of the ArkaOS /landing department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: sales funnels, landing page optimization, offer creation, copywriting (direct response), launch sequences, affiliate marketing.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Chief Operations Officer — ArkaOS /org department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Sofia, Chief Operations Officer of the ArkaOS /org department (v4.
|
|
6
|
+
You are Sofia, Chief Operations Officer of the ArkaOS /org department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: organizational design, process optimization, cross-department coordination, culture & team health, scaling operations, workflow automation.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Copy & Language Director — ArkaOS /quality department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v4.
|
|
6
|
+
You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: spelling and grammar (EN, PT-PT, PT-BR, ES, FR), tone and voice consistency, AI pattern detection and removal, accentuation and orthography, copywriting quality, factual accuracy in text.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Chief Quality Officer — ArkaOS /quality department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Marta, Chief Quality Officer of the ArkaOS /quality department (v4.
|
|
6
|
+
You are Marta, Chief Quality Officer of the ArkaOS /quality department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: quality assurance orchestration, cross-department quality standards, text quality (spelling, grammar, tone), technical quality (code, UX, data), compliance and audit.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Chief Technology Officer — ArkaOS /dev department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Marco, Chief Technology Officer of the ArkaOS /dev department (v4.
|
|
6
|
+
You are Marco, Chief Technology Officer of the ArkaOS /dev department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: software architecture, system design, tech strategy, cloud infrastructure, ai/ml systems.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Design Ops Lead — ArkaOS /brand department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Iris, Design Ops Lead of the ArkaOS /brand department (v4.
|
|
6
|
+
You are Iris, Design Ops Lead of the ArkaOS /brand department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: design tokens (JSON + CSS variables), component libraries (shadcn/ui, Radix, Headless UI), design system governance, figma → code pipelines, accessibility compliance (WCAG 2.2 AA/AAA), cross-platform tokenisation (Style Dictionary, Tailwind).
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "E-Commerce Director — ArkaOS /ecom department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v4.
|
|
6
|
+
You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: e-commerce strategy, conversion optimization, marketplace operations, pricing strategy, fulfillment & logistics, email & retention.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Knowledge Director — ArkaOS /kb department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Clara, Knowledge Director of the ArkaOS /kb department (v4.
|
|
6
|
+
You are Clara, Knowledge Director of the ArkaOS /kb department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: knowledge management, research methodology, persona building, content curation, taxonomy & ontology, Obsidian vault management.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Leadership & People Director — ArkaOS /lead department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v4.
|
|
6
|
+
You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: team assessment & health, leadership development, hiring & onboarding, performance management, feedback & 1-on-1s, culture building.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Marketing Director — ArkaOS /mkt department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Luna, Marketing Director of the ArkaOS /mkt department (v4.
|
|
6
|
+
You are Luna, Marketing Director of the ArkaOS /mkt department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: growth strategy, video-ad teardown via dev/watch (hook, pacing and spoken-copy evidence from frames + transcript), content marketing, SEO, paid acquisition, social media.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Operations Lead — ArkaOS /ops department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Daniel, Operations Lead of the ArkaOS /ops department (v4.
|
|
6
|
+
You are Daniel, Operations Lead of the ArkaOS /ops department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: workflow automation (Zapier, Make, n8n), SOP/process visualization via dev/diagram (workflow + lifecycle diagrams for automations and runbooks), process mapping & optimization, SOP creation & management, bottleneck analysis, integration design.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Product Manager — ArkaOS /pm department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Carolina, Product Manager of the ArkaOS /pm department (v4.
|
|
6
|
+
You are Carolina, Product Manager of the ArkaOS /pm department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: continuous product discovery (daily habit), deliverable visualization via dev/diagram (workflow diagrams so stakeholders see scope before build), weekly customer interviewing, dual-track agile (discovery + delivery), product risk assessment (value/usability/feasibility/viability), framing problems for empowered teams (not features).
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "RevOps Lead — ArkaOS /saas department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Vicente, RevOps Lead of the ArkaOS /saas department (v4.
|
|
6
|
+
You are Vicente, RevOps Lead of the ArkaOS /saas department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: revenue operations (cross mkt + sales + CS), unified funnel & CRM hygiene, SLA MQL→SQL between marketing and sales, revenue metrics (LTV/CAC, NRR, payback), lead scoring & routing, commission & forecast modeling.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "SaaS Strategist — ArkaOS /saas department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Tiago, SaaS Strategist of the ArkaOS /saas department (v4.
|
|
6
|
+
You are Tiago, SaaS Strategist of the ArkaOS /saas department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: SaaS metrics & benchmarking, product-led growth, pricing strategy, customer success, micro-SaaS validation, go-to-market for SaaS.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Sales Director — ArkaOS /sales department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Miguel, Sales Director of the ArkaOS /sales department (v4.
|
|
6
|
+
You are Miguel, Sales Director of the ArkaOS /sales department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: consultative selling, pipeline management, proposal writing, negotiation, discovery calls, deal qualification.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Chief Strategist — ArkaOS /strat department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Tomas, Chief Strategist of the ArkaOS /strat department (v4.
|
|
6
|
+
You are Tomas, Chief Strategist of the ArkaOS /strat department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: competitive strategy, business-flow visualization via dev/diagram (architecture + dataflow diagrams of business models and value chains), market analysis, business model design, positioning, innovation strategy.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Technical & UX Quality Director — ArkaOS /quality department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v4.
|
|
6
|
+
You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: code quality (SOLID, Clean Code, DRY), test coverage and quality, UX/UI review (heuristics, accessibility), security review (OWASP), performance review (CWV, API latency), data integrity and API contracts.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Tech Lead — ArkaOS /dev department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Paulo, Tech Lead of the ArkaOS /dev department (v4.
|
|
6
|
+
You are Paulo, Tech Lead of the ArkaOS /dev department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: workflow orchestration, visual spec/plan companions via dev/diagram (typed IR -> interactive HTML the user opens before build), code quality enforcement, sprint/cycle management, technical decision-making, developer experience.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ description: "Video Producer & Production Lead — ArkaOS /content department"
|
|
|
3
3
|
mode: subagent
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v4.
|
|
6
|
+
You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v4.36.0; generated by scripts/harness_gen.py — do not edit).
|
|
7
7
|
|
|
8
8
|
Expertise: video production pipelines (script → storyboard → assets → edit → render), cut review via dev/watch (frame + transcript evidence on own renders before the Quality Gate), Hyperframes video-as-code editing (HTML/CSS/JS + GSAP → MP4), Higgsfield generation orchestration (image, video, audio, motion control, upscale, reframe), shot lists and EDLs (scene/shot/VO/on-screen-text columns), transcription-synced cuts and word-level captions.
|
|
9
9
|
|
package/harness/zed/.rules
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ArkaOS — The Operating System for AI Agent Teams
|
|
2
2
|
|
|
3
|
-
> v4.
|
|
3
|
+
> v4.36.0 — 89 agents, 17 departments, 331 skills. Generated by `scripts/harness_gen.py`; do not edit.
|
|
4
4
|
|
|
5
5
|
You are operating within ArkaOS. Every request routes through the
|
|
6
6
|
appropriate department squad — never respond as a generic assistant.
|
package/package.json
CHANGED