arkaos 4.12.0 → 4.13.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/README.md +2 -2
- package/VERSION +1 -1
- package/arka/SKILL.md +1 -1
- package/arka/skills/flow/SKILL.md +11 -4
- package/config/claude-agents/content-researcher.md +51 -0
- package/config/claude-agents/frontend-dev.md +1 -1
- package/config/claude-agents/info-compiler.md +51 -0
- package/config/claude-agents/scriptwriter.md +9 -7
- package/config/claude-agents/trends-analyst.md +51 -0
- package/config/claude-agents/ux-designer.md +1 -1
- package/config/claude-agents/video-producer.md +51 -0
- package/config/claude-agents/visual-designer.md +1 -1
- package/config/constitution.yaml +1 -0
- package/config/mcp-policy.yaml +8 -0
- package/core/governance/__pycache__/evidence_checks.cpython-313.pyc +0 -0
- package/core/governance/__pycache__/phantom_action_check.cpython-313.pyc +0 -0
- package/core/governance/__pycache__/phantom_action_check.cpython-314.pyc +0 -0
- package/core/governance/evidence_checks.py +70 -0
- package/core/hooks/__pycache__/pre_tool_use.cpython-313.pyc +0 -0
- package/core/hooks/__pycache__/pre_tool_use.cpython-314.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/pre_tool_use.py +8 -2
- package/core/runtime/__pycache__/model_routing_context.cpython-313.pyc +0 -0
- package/core/runtime/model_routing_context.py +4 -0
- package/core/workflow/__pycache__/frontend_gate.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/frontend_gate_telemetry.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/frontend_gate_telemetry_cli.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/plan_approval.cpython-314.pyc +0 -0
- package/core/workflow/frontend_gate.py +118 -25
- package/core/workflow/frontend_gate_telemetry.py +129 -0
- package/core/workflow/frontend_gate_telemetry_cli.py +53 -0
- package/departments/brand/agents/ux-designer.yaml +1 -1
- package/departments/brand/agents/visual-designer.yaml +1 -1
- package/departments/brand/references/uiux-knowledge-and-tools.md +73 -0
- package/departments/brand/skills/colors/SKILL.md +76 -3
- package/departments/brand/skills/design-review/SKILL.md +81 -31
- package/departments/brand/skills/design-system/SKILL.md +32 -0
- package/departments/brand/skills/identity-system/SKILL.md +65 -4
- package/departments/brand/skills/logo-brief/SKILL.md +81 -3
- package/departments/brand/skills/mockup-generate/SKILL.md +82 -3
- package/departments/brand/skills/ux-audit/SKILL.md +74 -5
- package/departments/brand/skills/wireframe/SKILL.md +75 -3
- package/departments/content/SKILL.md +16 -2
- package/departments/content/agents/production/content-researcher.yaml +68 -0
- package/departments/content/agents/production/info-compiler.yaml +68 -0
- package/departments/content/agents/production/trends-analyst.yaml +69 -0
- package/departments/content/agents/production/video-producer.yaml +77 -0
- package/departments/content/agents/scriptwriter.yaml +29 -10
- package/departments/content/skills/research-compile/SKILL.md +75 -0
- package/departments/content/skills/short-form/SKILL.md +3 -1
- package/departments/content/skills/trend-hunt/SKILL.md +74 -0
- package/departments/content/skills/video-produce/SKILL.md +98 -0
- package/departments/content/skills/video-setup/SKILL.md +91 -0
- package/departments/content/squad.yaml +6 -0
- package/departments/content/workflows/shorts-social.yaml +83 -0
- package/departments/content/workflows/video-production.yaml +142 -0
- package/departments/content/workflows/youtube.yaml +3 -0
- package/departments/dev/agents/frontend-dev.yaml +1 -1
- package/installer/doctor.js +56 -1
- package/knowledge/agents-registry-v2.json +209 -14
- package/knowledge/commands-keywords.json +1388 -234
- package/knowledge/commands-registry.json +132 -3
- package/package.json +1 -1
- package/pyproject.toml +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: content/video-setup
|
|
3
|
+
description: >
|
|
4
|
+
One-time environment bootstrap for video production — preflights and
|
|
5
|
+
(with per-step user confirmation) installs the Hyperframes skills,
|
|
6
|
+
Agent-Reach CLI, and Higgsfield key wiring, ending with an honest
|
|
7
|
+
capability matrix. TRIGGER: "/content video-setup", "setup video",
|
|
8
|
+
"prepara o ambiente de vídeo", "instala o hyperframes", "configura a
|
|
9
|
+
produção de vídeo", "video production setup". SKIP: actually producing
|
|
10
|
+
a video -> content/video-produce (it preflights non-interactively and
|
|
11
|
+
degrades); general MCP setup -> /arka keys or apply-mcps.
|
|
12
|
+
allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<!-- arka:kb-first-prefix begin -->
|
|
16
|
+
> **KB-first:** query `mcp__obsidian__search_notes` and cite
|
|
17
|
+
> `[[wikilinks]]` — or declare the gap — BEFORE any external research.
|
|
18
|
+
> Full doctrine: `arka/SKILL.md` (KB-First Research).
|
|
19
|
+
<!-- arka:kb-first-prefix end -->
|
|
20
|
+
|
|
21
|
+
# Video Setup — `/content video-setup`
|
|
22
|
+
|
|
23
|
+
> **Agent:** Simão (Video Producer) | **Purpose:** environment bootstrap, run once per machine
|
|
24
|
+
|
|
25
|
+
## Preflight (run first, print PASS/FAIL per row)
|
|
26
|
+
|
|
27
|
+
| Check | Command | Needed for |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Node.js 22+ | `node --version` | Hyperframes rendering |
|
|
30
|
+
| FFmpeg | `ffmpeg -version` | encode/cut + transcription |
|
|
31
|
+
| Hyperframes skills | `ls ~/.claude/skills/ \| grep -i hyperframes` | video-as-code editing |
|
|
32
|
+
| Agent-Reach | `agent-reach doctor` | trend/research platform pulls |
|
|
33
|
+
| Higgsfield key | `HIGGSFIELD_API_KEY` in env or `~/.arkaos/keys.json` | generation engine (MCP) |
|
|
34
|
+
|
|
35
|
+
`npx arkaos doctor` runs the same five checks (warn-only) from the
|
|
36
|
+
installer side — this skill is the interactive fix path.
|
|
37
|
+
|
|
38
|
+
## Install steps — EACH gated on explicit user confirmation, never silent
|
|
39
|
+
|
|
40
|
+
1. **Hyperframes skills** (free, Apache-2.0, HeyGen):
|
|
41
|
+
```
|
|
42
|
+
npx skills add heygen-com/hyperframes --full-depth --yes
|
|
43
|
+
```
|
|
44
|
+
`--full-depth` is MANDATORY — without it the skills registry serves a
|
|
45
|
+
stale snapshot that lags the upstream main branch. Installs ~20
|
|
46
|
+
skills including the `/hyperframes` router, `/talking-head-recut`,
|
|
47
|
+
`/faceless-explainer`, `/product-launch-video`, `/motion-graphics`,
|
|
48
|
+
`/embedded-captions`, `/media-use`. Keep fresh later with
|
|
49
|
+
`npx hyperframes skills update <workflow>`.
|
|
50
|
+
2. **Agent-Reach CLI** (MIT, beta): install into an isolated tool env —
|
|
51
|
+
`pipx install agent-reach` (or `uv tool install agent-reach`),
|
|
52
|
+
NEVER a bare global pip (python-core rule: virtual environments
|
|
53
|
+
only). Then run `agent-reach doctor` and show the user which of the
|
|
54
|
+
15 platform backends are live; cookie/browser-session platforms
|
|
55
|
+
(X, Reddit, IG, FB) need the user's own logged sessions and stay
|
|
56
|
+
optional.
|
|
57
|
+
3. **Higgsfield key**: `npx arkaos keys set HIGGSFIELD_API_KEY <key>`
|
|
58
|
+
(account at higgsfield.ai), then activate per project:
|
|
59
|
+
`bash apply-mcps.sh --add higgsfield` or select the `content` MCP
|
|
60
|
+
profile.
|
|
61
|
+
|
|
62
|
+
## Never install binaries
|
|
63
|
+
|
|
64
|
+
Node.js and FFmpeg are system packages — print the platform-specific
|
|
65
|
+
instruction and stop:
|
|
66
|
+
|
|
67
|
+
- macOS: `brew install ffmpeg` · `nvm install 22`
|
|
68
|
+
- Linux: `apt install ffmpeg` (or distro equivalent)
|
|
69
|
+
- Windows: `winget install Gyan.FFmpeg`
|
|
70
|
+
|
|
71
|
+
ArkaOS detects and instructs; it never mutates the user's system
|
|
72
|
+
package state.
|
|
73
|
+
|
|
74
|
+
## Capability matrix (always print at the end — honest, per backend)
|
|
75
|
+
|
|
76
|
+
| Capability | Full | Degraded | Manual |
|
|
77
|
+
|---|---|---|---|
|
|
78
|
+
| Asset generation | Higgsfield MCP | `arka-comfyui` (local) | asset brief with engine-ready prompts |
|
|
79
|
+
| Edit / render | Hyperframes (Node 22 + FFmpeg) | Higgsfield `explainer_video` / `shorts_studio` (server-side) | edit-ready package (script + assets + EDL + SRT) |
|
|
80
|
+
| Research | agent-reach | firecrawl + WebSearch | KB-only |
|
|
81
|
+
|
|
82
|
+
State plainly which tier each capability landed on and what it takes to
|
|
83
|
+
reach the tier above. A missing backend NEVER blocks the pipeline — it selects
|
|
84
|
+
the next tier and says so (multi-backend rule: no capability is ever
|
|
85
|
+
hardcoded to a single external backend).
|
|
86
|
+
|
|
87
|
+
## Output
|
|
88
|
+
|
|
89
|
+
Setup report: preflight table, what was installed (with user consent
|
|
90
|
+
noted per step), the capability matrix, and the exact next command to
|
|
91
|
+
try (`/content video <topic>`).
|
|
@@ -37,3 +37,9 @@ workflows:
|
|
|
37
37
|
- workflow_id: content-youtube
|
|
38
38
|
trigger_command: "/content youtube"
|
|
39
39
|
tier: enterprise
|
|
40
|
+
- workflow_id: content-video
|
|
41
|
+
trigger_command: "/content video"
|
|
42
|
+
tier: enterprise
|
|
43
|
+
- workflow_id: content-shorts-produce
|
|
44
|
+
trigger_command: "/content shorts"
|
|
45
|
+
tier: focused
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
id: content-shorts-produce
|
|
2
|
+
name: Shorts Batch Production
|
|
3
|
+
description: Batch production of 3-5 rendered short-form videos — trend check, hooks, scripts, assets, vertical render, posting schedule (distinct from /content short, which is script-only)
|
|
4
|
+
department: content
|
|
5
|
+
tier: focused
|
|
6
|
+
command: "/content shorts"
|
|
7
|
+
requires_branch: false
|
|
8
|
+
requires_spec: false
|
|
9
|
+
quality_gate_required: true
|
|
10
|
+
|
|
11
|
+
phases:
|
|
12
|
+
- id: brief
|
|
13
|
+
name: Shorts Brief
|
|
14
|
+
description: Define niche/topic, platform mix (Reels / TikTok / Shorts), batch size, and capability preflight
|
|
15
|
+
agents:
|
|
16
|
+
- agent_id: content-strategist-rafael
|
|
17
|
+
role: Frame niche, platforms, batch size, cadence
|
|
18
|
+
- agent_id: video-producer-simao
|
|
19
|
+
role: Capability preflight — state the asset and render tiers
|
|
20
|
+
parallel: true
|
|
21
|
+
gate:
|
|
22
|
+
type: user_approval
|
|
23
|
+
description: User confirms the batch brief
|
|
24
|
+
|
|
25
|
+
- id: trend-hooks
|
|
26
|
+
name: Trend Check & Hooks
|
|
27
|
+
description: Demand-first validation of the batch angles plus hook variants per short
|
|
28
|
+
agents:
|
|
29
|
+
- agent_id: trends-analyst-margarida
|
|
30
|
+
role: Trend check per angle (declared platform skips), STEPPS shortlist
|
|
31
|
+
- agent_id: viral-engineer-filipe
|
|
32
|
+
role: Hook variants (3 per short) mapped to the shortlist
|
|
33
|
+
parallel: true
|
|
34
|
+
gate:
|
|
35
|
+
type: auto
|
|
36
|
+
description: Shortlist and hooks feed the scripts
|
|
37
|
+
|
|
38
|
+
- id: script-assets
|
|
39
|
+
name: Scripts & Assets
|
|
40
|
+
description: Batch scripts (storyboard-ready, vertical framing) and asset generation per the capability matrix
|
|
41
|
+
agents:
|
|
42
|
+
- agent_id: scriptwriter-joana
|
|
43
|
+
role: Batch scripts — vertical-first scenes, hook in the first 2 seconds, caption-safe framing
|
|
44
|
+
- agent_id: video-producer-simao
|
|
45
|
+
role: Assets per short (Higgsfield shorts_studio when live; declared degraded tiers otherwise)
|
|
46
|
+
gate:
|
|
47
|
+
type: user_approval
|
|
48
|
+
description: User approves scripts and generated assets before render — credits are metered
|
|
49
|
+
|
|
50
|
+
- id: quality-gate
|
|
51
|
+
name: Quality Gate
|
|
52
|
+
description: Mandatory pre-delivery review — binary verdict on the whole batch
|
|
53
|
+
model_override: opus
|
|
54
|
+
agents:
|
|
55
|
+
- agent_id: cqo-marta
|
|
56
|
+
role: Orchestrate review, aggregate verdicts, issue binary decision
|
|
57
|
+
- agent_id: copy-director-eduardo
|
|
58
|
+
role: Scripts, captions, on-screen text
|
|
59
|
+
parallel: true
|
|
60
|
+
- agent_id: tech-director-francisca
|
|
61
|
+
role: Render quality, vertical specs, caption sync
|
|
62
|
+
parallel: true
|
|
63
|
+
gate:
|
|
64
|
+
type: quality_gate
|
|
65
|
+
required_verdict: APPROVED
|
|
66
|
+
|
|
67
|
+
- id: delivery
|
|
68
|
+
name: Delivery
|
|
69
|
+
description: Rendered batch plus posting schedule
|
|
70
|
+
agents:
|
|
71
|
+
- agent_id: video-producer-simao
|
|
72
|
+
role: 3-5 rendered 9:16 MP4s + SRTs + thumbnails
|
|
73
|
+
- agent_id: repurpose-distributor-nuno
|
|
74
|
+
role: Posting schedule per platform (native captions, hashtags, timing)
|
|
75
|
+
parallel: true
|
|
76
|
+
gate:
|
|
77
|
+
type: auto
|
|
78
|
+
description: Batch delivered
|
|
79
|
+
outputs:
|
|
80
|
+
- type: document
|
|
81
|
+
format: markdown
|
|
82
|
+
obsidian_path: "WizardingCode/Content/Shorts/"
|
|
83
|
+
description: Batch manifest — files, posting schedule, backend tiers used
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
id: content-video
|
|
2
|
+
name: Video Production
|
|
3
|
+
description: End-to-end video production — sourced research, Hollywood script, storyboard, Higgsfield asset generation, Hyperframes edit/render, virality QA, quality gate, multi-format delivery
|
|
4
|
+
department: content
|
|
5
|
+
tier: enterprise
|
|
6
|
+
command: "/content video"
|
|
7
|
+
requires_branch: false
|
|
8
|
+
requires_spec: false
|
|
9
|
+
quality_gate_required: true
|
|
10
|
+
|
|
11
|
+
phases:
|
|
12
|
+
- id: brief
|
|
13
|
+
name: Production Brief
|
|
14
|
+
description: Define target (brand channel / personal / client / new niche), format, platform, length; run the capability preflight and state the backend tier per capability
|
|
15
|
+
agents:
|
|
16
|
+
- agent_id: content-strategist-rafael
|
|
17
|
+
role: Frame target, audience, platform, format, success metric
|
|
18
|
+
- agent_id: video-producer-simao
|
|
19
|
+
role: Capability preflight (assets / edit / research tiers) + production constraints
|
|
20
|
+
parallel: true
|
|
21
|
+
gate:
|
|
22
|
+
type: user_approval
|
|
23
|
+
description: User confirms the production brief and the backend tiers
|
|
24
|
+
|
|
25
|
+
- id: research-trends
|
|
26
|
+
name: Research & Trend Validation
|
|
27
|
+
description: Sourced research with claim ledger plus demand-first angle validation, compiled into the production brief the script consumes
|
|
28
|
+
agents:
|
|
29
|
+
- agent_id: content-researcher-madalena
|
|
30
|
+
role: Sourced research — CRAAP-rated sources, claim ledger, [UNVERIFIED] fail-closed
|
|
31
|
+
- agent_id: trends-analyst-margarida
|
|
32
|
+
role: Demand-first angle validation + STEPPS scoring of the chosen angle
|
|
33
|
+
parallel: true
|
|
34
|
+
- agent_id: info-compiler-dinis
|
|
35
|
+
role: Compile the production brief (angle / audience / proof / hooks / beats / claim-source table)
|
|
36
|
+
gate:
|
|
37
|
+
type: user_approval
|
|
38
|
+
description: User approves the production brief
|
|
39
|
+
outputs:
|
|
40
|
+
- type: document
|
|
41
|
+
format: markdown
|
|
42
|
+
obsidian_path: "WizardingCode/Content/Research/"
|
|
43
|
+
description: Production brief with claim-source table
|
|
44
|
+
|
|
45
|
+
- id: script
|
|
46
|
+
name: Hollywood Script
|
|
47
|
+
description: Beat sheet then full script in scene/shot/VO/on-screen-text columns, Hook Architecture on the first 30 seconds, never-default voice
|
|
48
|
+
agents:
|
|
49
|
+
- agent_id: scriptwriter-joana
|
|
50
|
+
role: Beat sheet (Save the Cat / Story Circle adapted to length) + full script with scene/shot/VO/OST columns
|
|
51
|
+
- agent_id: viral-engineer-filipe
|
|
52
|
+
role: 3 hook variants + retention-drop map
|
|
53
|
+
parallel: true
|
|
54
|
+
gate:
|
|
55
|
+
type: user_approval
|
|
56
|
+
description: User approves the script and picks the hook
|
|
57
|
+
|
|
58
|
+
- id: storyboard
|
|
59
|
+
name: Storyboard & Shot List
|
|
60
|
+
description: Shot list with per-shot generation prompts, audio/VO plan, and thumbnail package under the brand design doctrine (benchmark named, [arka:design] marker)
|
|
61
|
+
agents:
|
|
62
|
+
- agent_id: video-producer-simao
|
|
63
|
+
role: Shot list + per-shot generation prompts + audio/VO plan + EDL skeleton
|
|
64
|
+
- agent_id: visual-designer-isabel
|
|
65
|
+
role: Thumbnail package (anti-default doctrine, benchmark named, structured design marker)
|
|
66
|
+
parallel: true
|
|
67
|
+
gate:
|
|
68
|
+
type: user_approval
|
|
69
|
+
description: User approves the storyboard — creative lock before credits are spent
|
|
70
|
+
outputs:
|
|
71
|
+
- type: document
|
|
72
|
+
format: markdown
|
|
73
|
+
obsidian_path: "WizardingCode/Content/Video/Storyboards/"
|
|
74
|
+
description: Shot list, generation prompts, audio plan, thumbnail specs
|
|
75
|
+
|
|
76
|
+
- id: asset-generation
|
|
77
|
+
name: Asset Generation
|
|
78
|
+
description: Execute per the capability matrix — Higgsfield primary (cost-tier models for routine b-roll, hero models only for hero shots), comfyui or manual asset brief as degraded tiers
|
|
79
|
+
agents:
|
|
80
|
+
- agent_id: video-producer-simao
|
|
81
|
+
role: Generate voice, b-roll, stills per shot list; post-process (remove_background / upscale / reframe); log credits spent
|
|
82
|
+
gate:
|
|
83
|
+
type: user_approval
|
|
84
|
+
description: User reviews generated assets BEFORE render — Higgsfield credits are metered; regeneration requires explicit approval, never a loop
|
|
85
|
+
|
|
86
|
+
- id: edit-render
|
|
87
|
+
name: Edit & Render
|
|
88
|
+
description: Hyperframes composition (HTML+GSAP motion graphics, word-level captions) and deterministic MP4 render, or the declared degraded path
|
|
89
|
+
agents:
|
|
90
|
+
- agent_id: video-producer-simao
|
|
91
|
+
role: Compose and render — /hyperframes workflow per format, GSAP timeline for motion graphics, embedded captions; state the tier actually used
|
|
92
|
+
gate:
|
|
93
|
+
type: auto
|
|
94
|
+
description: Proceeds to QA when the render (or edit-ready package) exists
|
|
95
|
+
|
|
96
|
+
- id: virality-qa
|
|
97
|
+
name: Virality & Technical QA
|
|
98
|
+
description: STEPPS audit and virality prediction plus technical quality control before the quality gate
|
|
99
|
+
agents:
|
|
100
|
+
- agent_id: viral-engineer-filipe
|
|
101
|
+
role: STEPPS audit + virality_predictor / video_analysis when Higgsfield is live (hook strength, retention risk)
|
|
102
|
+
- agent_id: video-producer-simao
|
|
103
|
+
role: Technical QC — sync, caption accuracy, aspect ratios, loudness
|
|
104
|
+
parallel: true
|
|
105
|
+
gate:
|
|
106
|
+
type: auto
|
|
107
|
+
description: QA findings attached to the quality-gate input
|
|
108
|
+
|
|
109
|
+
- id: quality-gate
|
|
110
|
+
name: Quality Gate
|
|
111
|
+
description: Mandatory pre-delivery review — binary verdict
|
|
112
|
+
model_override: opus
|
|
113
|
+
agents:
|
|
114
|
+
- agent_id: cqo-marta
|
|
115
|
+
role: Orchestrate review, aggregate verdicts, issue binary decision
|
|
116
|
+
- agent_id: copy-director-eduardo
|
|
117
|
+
role: Script, captions, title and description copy
|
|
118
|
+
parallel: true
|
|
119
|
+
- agent_id: tech-director-francisca
|
|
120
|
+
role: Render quality, spec compliance, delivery formats
|
|
121
|
+
parallel: true
|
|
122
|
+
gate:
|
|
123
|
+
type: quality_gate
|
|
124
|
+
required_verdict: APPROVED
|
|
125
|
+
|
|
126
|
+
- id: delivery
|
|
127
|
+
name: Delivery
|
|
128
|
+
description: Final package and repurposing spec
|
|
129
|
+
agents:
|
|
130
|
+
- agent_id: video-producer-simao
|
|
131
|
+
role: Master MP4 + 9:16 reframe + thumbnail + title/description/tags + SRT
|
|
132
|
+
- agent_id: repurpose-distributor-nuno
|
|
133
|
+
role: Repurposing spec (1 → 30+) and distribution calendar
|
|
134
|
+
parallel: true
|
|
135
|
+
gate:
|
|
136
|
+
type: auto
|
|
137
|
+
description: Package delivered
|
|
138
|
+
outputs:
|
|
139
|
+
- type: document
|
|
140
|
+
format: markdown
|
|
141
|
+
obsidian_path: "WizardingCode/Content/Video/"
|
|
142
|
+
description: Delivery manifest — files, metadata, repurposing spec, backend tiers used
|
|
@@ -28,6 +28,9 @@ phases:
|
|
|
28
28
|
- agent_id: brand-strategist-mateus
|
|
29
29
|
role: Differentiation angle, channel identity
|
|
30
30
|
parallel: true
|
|
31
|
+
- agent_id: trends-analyst-margarida
|
|
32
|
+
role: Data-backed niche validation (demand volume, competition density)
|
|
33
|
+
parallel: true
|
|
31
34
|
gate:
|
|
32
35
|
type: user_approval
|
|
33
36
|
description: User approves channel positioning
|
package/installer/doctor.js
CHANGED
|
@@ -23,7 +23,7 @@ function commandExists(cmd) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const checks = [
|
|
26
|
+
export const checks = [
|
|
27
27
|
{
|
|
28
28
|
name: "install-dir",
|
|
29
29
|
description: "ArkaOS installation directory exists",
|
|
@@ -230,6 +230,61 @@ const checks = [
|
|
|
230
230
|
},
|
|
231
231
|
fix: () => "Run: npx arkaos keys set MAGIC_API_KEY <your-21st-dev-key> (or re-run npx arkaos@latest update)",
|
|
232
232
|
},
|
|
233
|
+
// ─── Content production prerequisites (PR-C2) — all warn-only:
|
|
234
|
+
// video production is opt-in; the installer never fails on these and
|
|
235
|
+
// never installs the binaries itself (detect + instruct only).
|
|
236
|
+
{
|
|
237
|
+
name: "node-22-video",
|
|
238
|
+
description: "Node.js 22+ (required by Hyperframes video rendering)",
|
|
239
|
+
severity: "warn",
|
|
240
|
+
check: () => {
|
|
241
|
+
const major = parseInt(process.version.slice(1).split(".")[0], 10);
|
|
242
|
+
return Number.isFinite(major) && major >= 22;
|
|
243
|
+
},
|
|
244
|
+
fix: () => "Install Node.js 22+ (nvm install 22) — only needed for /content video rendering",
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: "ffmpeg",
|
|
248
|
+
description: "FFmpeg present (video encode/cut for Hyperframes + transcription workflows)",
|
|
249
|
+
severity: "warn",
|
|
250
|
+
check: () => commandExists("ffmpeg"),
|
|
251
|
+
fix: () => "Install FFmpeg: brew install ffmpeg (macOS) / apt install ffmpeg (Linux) / winget install Gyan.FFmpeg (Windows)",
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: "agent-reach",
|
|
255
|
+
description: "Agent-Reach CLI present (multi-platform source pulls for the content trend and research skills)",
|
|
256
|
+
severity: "warn",
|
|
257
|
+
check: () => commandExists("agent-reach"),
|
|
258
|
+
fix: () => "Install: pipx install agent-reach (or uv tool install agent-reach), then run: agent-reach doctor",
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
name: "hyperframes-skills",
|
|
262
|
+
description: "Hyperframes skills installed (video-as-code editing for /content video)",
|
|
263
|
+
severity: "warn",
|
|
264
|
+
check: () => {
|
|
265
|
+
// `npx skills add heygen-com/hyperframes` lands skills under
|
|
266
|
+
// ~/.claude/skills/<name>; the router skill is the sentinel.
|
|
267
|
+
return ["hyperframes", "hyperframes-core"].some((name) =>
|
|
268
|
+
existsSync(join(homedir(), ".claude", "skills", name, "SKILL.md"))
|
|
269
|
+
);
|
|
270
|
+
},
|
|
271
|
+
fix: () => "Run /content video-setup in Claude Code, or: npx skills add heygen-com/hyperframes --full-depth --yes",
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: "higgsfield-api-key",
|
|
275
|
+
description: "Higgsfield API key configured (image/video/audio generation engine)",
|
|
276
|
+
severity: "warn",
|
|
277
|
+
check: () => {
|
|
278
|
+
if (process.env.HIGGSFIELD_API_KEY) return true;
|
|
279
|
+
const keysPath = join(INSTALL_DIR, "keys.json");
|
|
280
|
+
if (!existsSync(keysPath)) return false;
|
|
281
|
+
try {
|
|
282
|
+
const keys = JSON.parse(readFileSync(keysPath, "utf-8"));
|
|
283
|
+
return !!keys.HIGGSFIELD_API_KEY;
|
|
284
|
+
} catch { return false; }
|
|
285
|
+
},
|
|
286
|
+
fix: () => "Run: npx arkaos keys set HIGGSFIELD_API_KEY <key> (https://higgsfield.ai) — needed for Higgsfield MCP generation",
|
|
287
|
+
},
|
|
233
288
|
];
|
|
234
289
|
|
|
235
290
|
// ─── Windows-only checks ───────────────────────────────────────────────
|