arkaos 4.13.2 → 4.14.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/VERSION +1 -1
- package/arka/SKILL.md +16 -0
- package/bin/arka-doctor +20 -1
- package/config/cognition/schedules.yaml +16 -0
- package/config/hooks/_lib/fastpath/engine.cjs +337 -0
- package/config/hooks/gate-manifest.json +741 -0
- package/config/hooks/post-tool-use.cjs +113 -0
- package/config/hooks/pre-tool-use.cjs +109 -0
- package/config/hooks/session-end.ps1 +40 -0
- package/config/hooks/session-end.sh +55 -0
- package/config/hooks/session-start.sh +25 -189
- package/config/hooks/subagent-stop.ps1 +40 -0
- package/config/hooks/subagent-stop.sh +56 -0
- package/config/mcp-policy.yaml +8 -0
- package/config/skills-curated.yaml +39 -0
- package/config/statusline.sh +57 -1
- package/core/cognition/capture/__pycache__/store.cpython-313.pyc +0 -0
- package/core/cognition/capture/store.py +7 -2
- package/core/evals/__pycache__/__init__.cpython-314.pyc +0 -0
- package/core/evals/__pycache__/sanitizer.cpython-314.pyc +0 -0
- package/core/evals/__pycache__/schema.cpython-314.pyc +0 -0
- package/core/evals/__pycache__/verdict_labels.cpython-314.pyc +0 -0
- package/core/forge/__pycache__/complexity.cpython-314.pyc +0 -0
- package/core/governance/__pycache__/evidence_checks.cpython-313.pyc +0 -0
- package/core/governance/__pycache__/judge.cpython-314.pyc +0 -0
- package/core/governance/__pycache__/leak_scanner.cpython-314.pyc +0 -0
- package/core/governance/__pycache__/qg_verdict.cpython-314.pyc +0 -0
- package/core/governance/__pycache__/routing_feedback.cpython-313.pyc +0 -0
- package/core/governance/__pycache__/routing_feedback.cpython-314.pyc +0 -0
- package/core/governance/__pycache__/routing_feedback_cli.cpython-313.pyc +0 -0
- package/core/governance/evidence_checks.py +42 -7
- package/core/governance/routing_feedback.py +229 -0
- package/core/governance/routing_feedback_cli.py +49 -0
- package/core/hooks/__pycache__/_shared.cpython-312.pyc +0 -0
- package/core/hooks/__pycache__/gate_manifest.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/post_tool_use.cpython-312.pyc +0 -0
- package/core/hooks/__pycache__/post_tool_use.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/pre_tool_use.cpython-312.pyc +0 -0
- package/core/hooks/__pycache__/session_end.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/session_start.cpython-312.pyc +0 -0
- package/core/hooks/__pycache__/session_start.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/stop.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/stop.cpython-314.pyc +0 -0
- package/core/hooks/__pycache__/subagent_stop.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/subagent_stop.cpython-314.pyc +0 -0
- package/core/hooks/__pycache__/user_prompt_submit.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/user_prompt_submit.cpython-314.pyc +0 -0
- package/core/hooks/gate_manifest.py +366 -0
- package/core/hooks/post_tool_use.py +5 -2
- package/core/hooks/session_end.py +127 -0
- package/core/hooks/session_start.py +322 -0
- package/core/hooks/stop.py +69 -0
- package/core/hooks/subagent_stop.py +186 -0
- package/core/hooks/user_prompt_submit.py +10 -6
- package/core/knowledge/__pycache__/embedding_backends.cpython-313.pyc +0 -0
- package/core/knowledge/__pycache__/embedding_backends.cpython-314.pyc +0 -0
- package/core/knowledge/__pycache__/pattern_cards.cpython-313.pyc +0 -0
- package/core/knowledge/__pycache__/pattern_cards.cpython-314.pyc +0 -0
- package/core/knowledge/__pycache__/recipes.cpython-314.pyc +0 -0
- package/core/knowledge/__pycache__/vector_store.cpython-313.pyc +0 -0
- package/core/knowledge/__pycache__/vector_store.cpython-314.pyc +0 -0
- package/core/knowledge/embedding_backends.py +278 -0
- package/core/knowledge/pattern_cards.py +49 -1
- package/core/knowledge/vector_store.py +14 -2
- package/core/memory/__pycache__/semantic_store.cpython-312.pyc +0 -0
- package/core/memory/__pycache__/semantic_store.cpython-313.pyc +0 -0
- package/core/memory/__pycache__/semantic_store.cpython-314.pyc +0 -0
- package/core/memory/__pycache__/turn_capture.cpython-313.pyc +0 -0
- package/core/memory/__pycache__/turn_capture.cpython-314.pyc +0 -0
- package/core/memory/semantic_store.py +301 -0
- package/core/memory/turn_capture.py +277 -0
- package/core/registry/__pycache__/generator.cpython-312.pyc +0 -0
- package/core/runtime/__pycache__/claude_code.cpython-312.pyc +0 -0
- package/core/runtime/__pycache__/codex_cli.cpython-312.pyc +0 -0
- package/core/runtime/__pycache__/cost_governor.cpython-314.pyc +0 -0
- package/core/runtime/__pycache__/gemini_cli.cpython-312.pyc +0 -0
- package/core/runtime/__pycache__/llm_cost_telemetry.cpython-312.pyc +0 -0
- package/core/runtime/__pycache__/mcp_telemetry.cpython-312.pyc +0 -0
- package/core/shared/__pycache__/decay.cpython-313.pyc +0 -0
- package/core/shared/__pycache__/decay.cpython-314.pyc +0 -0
- package/core/shared/__pycache__/sqlite_recovery.cpython-312.pyc +0 -0
- package/core/shared/__pycache__/sqlite_recovery.cpython-313.pyc +0 -0
- package/core/shared/__pycache__/sqlite_recovery.cpython-314.pyc +0 -0
- package/core/shared/decay.py +94 -0
- package/core/shared/sqlite_recovery.py +266 -0
- package/core/synapse/__pycache__/agent_experiences_layer.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/agent_experiences_layer.cpython-314.pyc +0 -0
- package/core/synapse/__pycache__/engine.cpython-312.pyc +0 -0
- package/core/synapse/__pycache__/engine.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/engine.cpython-314.pyc +0 -0
- package/core/synapse/__pycache__/layers.cpython-312.pyc +0 -0
- package/core/synapse/__pycache__/pattern_library_layer.cpython-314.pyc +0 -0
- package/core/synapse/__pycache__/recipe_layer.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/recipe_layer.cpython-314.pyc +0 -0
- package/core/synapse/__pycache__/routing_feedback_layer.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/routing_feedback_layer.cpython-314.pyc +0 -0
- package/core/synapse/__pycache__/session_memory_layer.cpython-312.pyc +0 -0
- package/core/synapse/__pycache__/session_memory_layer.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/session_memory_layer.cpython-314.pyc +0 -0
- package/core/synapse/agent_experiences_layer.py +42 -3
- package/core/synapse/engine.py +13 -0
- package/core/synapse/recipe_layer.py +27 -4
- package/core/synapse/routing_feedback_layer.py +132 -0
- package/core/synapse/session_memory_layer.py +152 -0
- package/core/workflow/__pycache__/__init__.cpython-312.pyc +0 -0
- package/core/workflow/__pycache__/design_authorization.cpython-314.pyc +0 -0
- package/core/workflow/__pycache__/frontend_gate.cpython-314.pyc +0 -0
- package/core/workflow/__pycache__/specialist_enforcer.cpython-314.pyc +0 -0
- package/installer/adapters/claude-code.js +37 -0
- package/installer/claude-plugins.js +6 -0
- package/installer/cli.js +23 -2
- package/installer/config-seed.js +25 -16
- package/installer/doctor.js +116 -1
- package/installer/hook-lib.js +28 -0
- package/installer/index.js +48 -153
- package/installer/mcp-runner.js +108 -0
- package/installer/skill-deploy.js +189 -0
- package/installer/skills-mode.js +64 -0
- package/installer/update.js +55 -79
- package/knowledge/commands-registry.json.bak +171 -4
- package/knowledge/skills-manifest.json +2337 -0
- package/package.json +1 -1
- package/pyproject.toml +9 -1
- package/scripts/__pycache__/marketplace_gen.cpython-313.pyc +0 -0
- package/scripts/__pycache__/synapse-bridge.cpython-314.pyc +0 -0
- package/scripts/marketplace_gen.py +310 -0
- package/scripts/tools/__pycache__/docs_stats.cpython-313.pyc +0 -0
- package/scripts/tools/__pycache__/skill_budget.cpython-313.pyc +0 -0
- package/scripts/tools/docs_stats.py +6 -4
- package/scripts/tools/skill_budget.py +209 -0
package/installer/update.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync, copyFileSync, chmodSync, mkdirSync, readdirSync, cpSync
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, copyFileSync, chmodSync, mkdirSync, readdirSync, cpSync } from "node:fs";
|
|
2
2
|
import { join, dirname, resolve } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { execSync } from "node:child_process";
|
|
5
5
|
import { ensureVenv, ensureVenvHealthy, getArkaosPython, pipInstall } from "./python-resolver.js";
|
|
6
|
-
import { copyHookLib } from "./hook-lib.js";
|
|
6
|
+
import { copyHookLib, copyHookAssets } from "./hook-lib.js";
|
|
7
|
+
import { deploySkills } from "./skill-deploy.js";
|
|
8
|
+
import { deprecationNotice, resolveSkillsMode } from "./skills-mode.js";
|
|
7
9
|
import { deployCoreSnapshot } from "./core-snapshot.js";
|
|
8
10
|
import { getRuntimeConfig } from "./detect-runtime.js";
|
|
9
11
|
import { loadAdapter } from "./index.js";
|
|
@@ -16,7 +18,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
16
18
|
const ARKAOS_ROOT = resolve(__dirname, "..");
|
|
17
19
|
const VERSION = JSON.parse(readFileSync(join(ARKAOS_ROOT, "package.json"), "utf-8")).version;
|
|
18
20
|
|
|
19
|
-
export async function update() {
|
|
21
|
+
export async function update({ skillsFlag = "" } = {}) {
|
|
20
22
|
const installDir = join(homedir(), ".arkaos");
|
|
21
23
|
const manifestPath = join(installDir, "install-manifest.json");
|
|
22
24
|
const profilePath = join(installDir, "profile.json");
|
|
@@ -207,6 +209,8 @@ export async function update() {
|
|
|
207
209
|
"cwd-changed",
|
|
208
210
|
"pre-tool-use",
|
|
209
211
|
"stop",
|
|
212
|
+
"subagent-stop",
|
|
213
|
+
"session-end",
|
|
210
214
|
];
|
|
211
215
|
const hookExt = HOOK_EXT;
|
|
212
216
|
const srcHooksDir = join(ARKAOS_ROOT, "config", "hooks");
|
|
@@ -246,6 +250,13 @@ export async function update() {
|
|
|
246
250
|
console.log(" ✓ Hook lib updated (_lib/)");
|
|
247
251
|
}
|
|
248
252
|
|
|
253
|
+
// F2-6 fast-path shims + gate manifest (same shared deploy as the
|
|
254
|
+
// fresh-install path — single asset list in hook-lib.js).
|
|
255
|
+
const assetCount = copyHookAssets(srcHooksDir, destHooksDir);
|
|
256
|
+
if (assetCount > 0) {
|
|
257
|
+
console.log(` ✓ Hook fast-path assets updated (${assetCount})`);
|
|
258
|
+
}
|
|
259
|
+
|
|
249
260
|
// Re-register hooks in the runtime's settings file.
|
|
250
261
|
// Without this, updating from an older version leaves settings.json
|
|
251
262
|
// frozen at the previous hook spec (missing new hooks, stale timeouts).
|
|
@@ -323,82 +334,36 @@ export async function update() {
|
|
|
323
334
|
// never deployed anything else.
|
|
324
335
|
console.log(" [6/8] Updating /arka skill...");
|
|
325
336
|
const skillsBase = join(homedir(), ".claude", "skills");
|
|
326
|
-
const skillSrc = join(ARKAOS_ROOT, "arka", "SKILL.md");
|
|
327
337
|
const skillDest = join(skillsBase, "arka");
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
const deployTop = (src, arkaName) => {
|
|
358
|
-
const md = join(src, "SKILL.md");
|
|
359
|
-
if (!existsSync(md)) return false;
|
|
360
|
-
const dest = join(skillsBase, arkaName);
|
|
361
|
-
mkdirSync(dest, { recursive: true });
|
|
362
|
-
safeResolveMarkdown(md, join(dest, "SKILL.md"));
|
|
363
|
-
copyResources(src, dest);
|
|
364
|
-
return true;
|
|
365
|
-
};
|
|
366
|
-
|
|
367
|
-
const deptRoot = join(ARKAOS_ROOT, "departments");
|
|
368
|
-
let deptCount = 0;
|
|
369
|
-
let subCount = 0;
|
|
370
|
-
for (const dept of listSubdirs(deptRoot)) {
|
|
371
|
-
if (deployTop(join(deptRoot, dept), `arka-${dept}`)) deptCount++;
|
|
372
|
-
for (const sub of listSubdirs(join(deptRoot, dept, "skills"))) {
|
|
373
|
-
if (deployTop(join(deptRoot, dept, "skills", sub), `arka-${sub}`)) subCount++;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
if (deptCount > 0) {
|
|
377
|
-
console.log(` ✓ ${deptCount} department skills updated`);
|
|
378
|
-
}
|
|
379
|
-
if (subCount > 0) {
|
|
380
|
-
console.log(` ✓ ${subCount} sub-skills updated`);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
const agentsBase = join(homedir(), ".claude", "agents");
|
|
384
|
-
mkdirSync(agentsBase, { recursive: true });
|
|
385
|
-
let agentCount = 0;
|
|
386
|
-
for (const dept of listSubdirs(deptRoot)) {
|
|
387
|
-
const agentsSrc = join(deptRoot, dept, "agents");
|
|
388
|
-
if (!existsSync(agentsSrc)) continue;
|
|
389
|
-
try {
|
|
390
|
-
for (const file of readdirSync(agentsSrc)) {
|
|
391
|
-
if (!file.endsWith(".md")) continue;
|
|
392
|
-
const srcFile = join(agentsSrc, file);
|
|
393
|
-
try { if (!statSync(srcFile).isFile()) continue; } catch { continue; }
|
|
394
|
-
const base = file.replace(/\.md$/, "");
|
|
395
|
-
copyFileSync(srcFile, join(agentsBase, `arka-${base}.md`));
|
|
396
|
-
agentCount++;
|
|
397
|
-
}
|
|
398
|
-
} catch {}
|
|
399
|
-
}
|
|
400
|
-
if (agentCount > 0) {
|
|
401
|
-
console.log(` ✓ ${agentCount} agent personas updated`);
|
|
338
|
+
// Single shared deployment (installer/skill-deploy.js) — identical
|
|
339
|
+
// surface to a fresh install BY CONSTRUCTION: main /arka + nested
|
|
340
|
+
// reference bundle + department hubs + sub-skills + META skills
|
|
341
|
+
// (arka-flow & co. were silently missing from update-only machines
|
|
342
|
+
// before F2-7c-pre) + agent personas.
|
|
343
|
+
const skillsMode = resolveSkillsMode({ flag: skillsFlag, fresh: false });
|
|
344
|
+
if (skillsMode.deprecated) {
|
|
345
|
+
console.log(" " + deprecationNotice());
|
|
346
|
+
}
|
|
347
|
+
const skillCounts = deploySkills({
|
|
348
|
+
repoRoot: ARKAOS_ROOT,
|
|
349
|
+
skillsBase,
|
|
350
|
+
agentsBase: join(homedir(), ".claude", "agents"),
|
|
351
|
+
version: VERSION,
|
|
352
|
+
mode: skillsMode.mode,
|
|
353
|
+
});
|
|
354
|
+
console.log(` ✓ skill set mode: ${skillsMode.mode}`);
|
|
355
|
+
if (skillCounts.main) console.log(" ✓ /arka skill updated");
|
|
356
|
+
if (skillCounts.depts > 0) {
|
|
357
|
+
console.log(` ✓ ${skillCounts.depts} department skills updated`);
|
|
358
|
+
}
|
|
359
|
+
if (skillCounts.subs > 0) {
|
|
360
|
+
console.log(` ✓ ${skillCounts.subs} sub-skills updated`);
|
|
361
|
+
}
|
|
362
|
+
if (skillCounts.meta > 0) {
|
|
363
|
+
console.log(` ✓ ${skillCounts.meta} meta skills updated`);
|
|
364
|
+
}
|
|
365
|
+
if (skillCounts.agents > 0) {
|
|
366
|
+
console.log(` ✓ ${skillCounts.agents} agent personas updated`);
|
|
402
367
|
}
|
|
403
368
|
|
|
404
369
|
// MCP infrastructure: deploy mcps/ subdirectories, registry, and
|
|
@@ -436,7 +401,18 @@ export async function update() {
|
|
|
436
401
|
}
|
|
437
402
|
}
|
|
438
403
|
|
|
439
|
-
|
|
404
|
+
// arka-tools server (F2-3) — mirrors the same block in installSkill().
|
|
405
|
+
const mcpToolsSrc = join(mcpsSrc, "arka-tools");
|
|
406
|
+
const mcpToolsDest = join(skillsBase, "arka", "mcp-tools");
|
|
407
|
+
if (existsSync(mcpToolsSrc)) {
|
|
408
|
+
if (!existsSync(mcpToolsDest)) mkdirSync(mcpToolsDest, { recursive: true });
|
|
409
|
+
for (const f of ["server.py", "pyproject.toml"]) {
|
|
410
|
+
const src = join(mcpToolsSrc, f);
|
|
411
|
+
if (existsSync(src)) copyFileSync(src, join(mcpToolsDest, f));
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
console.log(" ✓ MCP infrastructure updated (profiles, stacks, scripts, arka-prompts + arka-tools servers)");
|
|
440
416
|
|
|
441
417
|
// Higgsfield MCP is registered but requires an account + API key to connect.
|
|
442
418
|
// Non-blocking warning: the update succeeds even without a Higgsfield account.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_meta": {
|
|
3
3
|
"version": "3.0.0",
|
|
4
|
-
"generated": "2026-07-
|
|
5
|
-
"total_commands":
|
|
4
|
+
"generated": "2026-07-10T13:12:22Z",
|
|
5
|
+
"total_commands": 269,
|
|
6
6
|
"generator": "core/registry/generator.py",
|
|
7
7
|
"departments": {
|
|
8
|
-
"arka":
|
|
8
|
+
"arka": 21,
|
|
9
9
|
"brand": 12,
|
|
10
10
|
"community": 14,
|
|
11
|
-
"content":
|
|
11
|
+
"content": 19,
|
|
12
12
|
"dev": 36,
|
|
13
13
|
"ecom": 18,
|
|
14
14
|
"fin": 10,
|
|
@@ -317,6 +317,44 @@
|
|
|
317
317
|
"requires_branch": false,
|
|
318
318
|
"modifies_code": false
|
|
319
319
|
},
|
|
320
|
+
{
|
|
321
|
+
"id": "arka-refine",
|
|
322
|
+
"command": "/arka refine <rough idea>",
|
|
323
|
+
"department": "arka",
|
|
324
|
+
"description": "Turn a vague or domain-unfamiliar ask into a precise English prompt by asking about the topic first (arka-refine). Auto-suggested on vague requests.",
|
|
325
|
+
"lead_agent": "arka",
|
|
326
|
+
"keywords": [],
|
|
327
|
+
"examples": [],
|
|
328
|
+
"source": "builtin",
|
|
329
|
+
"tier": 2,
|
|
330
|
+
"requires_branch": false,
|
|
331
|
+
"modifies_code": false
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"id": "arka-recipes",
|
|
335
|
+
"command": "/arka recipes [list\\|show\\|apply] <slug>",
|
|
336
|
+
"department": "arka",
|
|
337
|
+
"description": "Reuse validated QG-approved feature builds (arka-recipes). Synapse L7.6 auto-surfaces matches.",
|
|
338
|
+
"lead_agent": "arka",
|
|
339
|
+
"keywords": [
|
|
340
|
+
"recipe",
|
|
341
|
+
"recipes",
|
|
342
|
+
"receita",
|
|
343
|
+
"reuse",
|
|
344
|
+
"validated build",
|
|
345
|
+
"apply recipe",
|
|
346
|
+
"feature template"
|
|
347
|
+
],
|
|
348
|
+
"examples": [
|
|
349
|
+
"que receitas temos",
|
|
350
|
+
"apply the laravel login recipe",
|
|
351
|
+
"reusa a receita de auth"
|
|
352
|
+
],
|
|
353
|
+
"source": "builtin",
|
|
354
|
+
"tier": 2,
|
|
355
|
+
"requires_branch": false,
|
|
356
|
+
"modifies_code": false
|
|
357
|
+
},
|
|
320
358
|
{
|
|
321
359
|
"id": "do",
|
|
322
360
|
"command": "/do <description>",
|
|
@@ -1213,6 +1251,135 @@
|
|
|
1213
1251
|
"requires_branch": false,
|
|
1214
1252
|
"modifies_code": false
|
|
1215
1253
|
},
|
|
1254
|
+
{
|
|
1255
|
+
"id": "content-video",
|
|
1256
|
+
"command": "/content video <topic>",
|
|
1257
|
+
"department": "content",
|
|
1258
|
+
"description": "End-to-end video production (research → script → assets → render)",
|
|
1259
|
+
"lead_agent": "arka-content",
|
|
1260
|
+
"keywords": [
|
|
1261
|
+
"produce video",
|
|
1262
|
+
"video production",
|
|
1263
|
+
"produz um vídeo",
|
|
1264
|
+
"faz um vídeo",
|
|
1265
|
+
"edit video",
|
|
1266
|
+
"edita o vídeo",
|
|
1267
|
+
"render video",
|
|
1268
|
+
"monta o vídeo",
|
|
1269
|
+
"hyperframes"
|
|
1270
|
+
],
|
|
1271
|
+
"examples": [
|
|
1272
|
+
"produz um vídeo sobre agentes de AI",
|
|
1273
|
+
"produce a video about our launch",
|
|
1274
|
+
"edita este vídeo com legendas e b-roll"
|
|
1275
|
+
],
|
|
1276
|
+
"source": "builtin",
|
|
1277
|
+
"tier": 2,
|
|
1278
|
+
"requires_branch": false,
|
|
1279
|
+
"modifies_code": false
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"id": "content-trends",
|
|
1283
|
+
"command": "/content trends <niche>",
|
|
1284
|
+
"department": "content",
|
|
1285
|
+
"description": "Demand-first trend and niche analysis with STEPPS scoring",
|
|
1286
|
+
"lead_agent": "arka-content",
|
|
1287
|
+
"keywords": [
|
|
1288
|
+
"trends",
|
|
1289
|
+
"trending",
|
|
1290
|
+
"niche analysis",
|
|
1291
|
+
"análise de nicho",
|
|
1292
|
+
"que trends",
|
|
1293
|
+
"what's trending",
|
|
1294
|
+
"encontra um nicho",
|
|
1295
|
+
"trend hunt",
|
|
1296
|
+
"nichos"
|
|
1297
|
+
],
|
|
1298
|
+
"examples": [
|
|
1299
|
+
"que trends há em fitness agora",
|
|
1300
|
+
"find me a profitable faceless niche",
|
|
1301
|
+
"analisa o nicho de finanças pessoais"
|
|
1302
|
+
],
|
|
1303
|
+
"source": "builtin",
|
|
1304
|
+
"tier": 2,
|
|
1305
|
+
"requires_branch": false,
|
|
1306
|
+
"modifies_code": false
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
"id": "content-research",
|
|
1310
|
+
"command": "/content research <topic>",
|
|
1311
|
+
"department": "content",
|
|
1312
|
+
"description": "Sourced research compiled into a production brief",
|
|
1313
|
+
"lead_agent": "arka-content",
|
|
1314
|
+
"keywords": [
|
|
1315
|
+
"research topic",
|
|
1316
|
+
"pesquisa o tema",
|
|
1317
|
+
"production brief",
|
|
1318
|
+
"brief de produção",
|
|
1319
|
+
"research for video",
|
|
1320
|
+
"pesquisa para o vídeo",
|
|
1321
|
+
"fact check topic"
|
|
1322
|
+
],
|
|
1323
|
+
"examples": [
|
|
1324
|
+
"faz o research para o vídeo sobre LLMs",
|
|
1325
|
+
"research this topic with sources",
|
|
1326
|
+
"prepara o brief de produção do episódio 3"
|
|
1327
|
+
],
|
|
1328
|
+
"source": "builtin",
|
|
1329
|
+
"tier": 2,
|
|
1330
|
+
"requires_branch": false,
|
|
1331
|
+
"modifies_code": false
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"id": "content-video-setup",
|
|
1335
|
+
"command": "/content video-setup",
|
|
1336
|
+
"department": "content",
|
|
1337
|
+
"description": "Video production environment bootstrap (Hyperframes, Agent-Reach, Higgsfield)",
|
|
1338
|
+
"lead_agent": "arka-content",
|
|
1339
|
+
"keywords": [
|
|
1340
|
+
"video setup",
|
|
1341
|
+
"setup video environment",
|
|
1342
|
+
"instala hyperframes",
|
|
1343
|
+
"configura produção de vídeo",
|
|
1344
|
+
"agent-reach setup",
|
|
1345
|
+
"video prerequisites"
|
|
1346
|
+
],
|
|
1347
|
+
"examples": [
|
|
1348
|
+
"prepara o ambiente de produção de vídeo",
|
|
1349
|
+
"install hyperframes and agent-reach",
|
|
1350
|
+
"video-setup"
|
|
1351
|
+
],
|
|
1352
|
+
"source": "builtin",
|
|
1353
|
+
"tier": 2,
|
|
1354
|
+
"requires_branch": false,
|
|
1355
|
+
"modifies_code": false
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"id": "content-shorts",
|
|
1359
|
+
"command": "/content shorts <niche>",
|
|
1360
|
+
"department": "content",
|
|
1361
|
+
"description": "Batch production of 3-5 rendered shorts with posting schedule",
|
|
1362
|
+
"lead_agent": "arka-content",
|
|
1363
|
+
"keywords": [
|
|
1364
|
+
"shorts batch",
|
|
1365
|
+
"produce shorts",
|
|
1366
|
+
"produz shorts",
|
|
1367
|
+
"reels batch",
|
|
1368
|
+
"tiktok batch",
|
|
1369
|
+
"faz-me uns shorts",
|
|
1370
|
+
"render shorts",
|
|
1371
|
+
"lote de shorts"
|
|
1372
|
+
],
|
|
1373
|
+
"examples": [
|
|
1374
|
+
"produz um lote de 5 shorts sobre finanças",
|
|
1375
|
+
"produce a batch of shorts for the launch",
|
|
1376
|
+
"faz-me shorts desta masterclass"
|
|
1377
|
+
],
|
|
1378
|
+
"source": "builtin",
|
|
1379
|
+
"tier": 2,
|
|
1380
|
+
"requires_branch": false,
|
|
1381
|
+
"modifies_code": false
|
|
1382
|
+
},
|
|
1216
1383
|
{
|
|
1217
1384
|
"id": "dev-feature",
|
|
1218
1385
|
"command": "/dev feature <description>",
|