diff --git a/app/mission-control/agents/page.tsx b/app/mission-control/agents/page.tsx
new file mode 100644
index 0000000..f23ea28
--- /dev/null
+++ b/app/mission-control/agents/page.tsx
@@ -0,0 +1,88 @@
+"use client";
+
+import Link from "next/link";
+
+const AGENTS = [
+ { id: "thoth", name: "Thoth", role: "Strategy & Research", icon: "π¦", color: "#6366f1", status: "idle" },
+ { id: "ptah", name: "Ptah", role: "Dev & Ops", icon: "π οΈ", color: "#f59e0b", status: "idle" },
+ { id: "seshat", name: "Seshat", role: "Content & SEO", icon: "π", color: "#22c55e", status: "idle" },
+ { id: "anubis", name: "Anubis", role: "Outreach & Growth", icon: "π", color: "#ef4444", status: "idle" },
+ { id: "thoth-trading", name: "Thoth Trading", role: "Market Research", icon: "π", color: "#10b981", status: "idle" },
+ { id: "sekhmet", name: "Sekhmet", role: "Trade Execution", icon: "π¦", color: "#fbbf24", status: "idle" },
+ { id: "hathor", name: "Hathor", role: "Personal Growth", icon: "π", color: "#a855f7", status: "idle" },
+];
+
+const SQUADS = [
+ {
+ name: "SiteMente Squad",
+ icon: "π",
+ agents: ["thoth", "ptah", "seshat", "anubis"],
+ },
+ {
+ name: "Trading Squad",
+ icon: "π",
+ agents: ["thoth-trading", "sekhmet"],
+ },
+ {
+ name: "Personal",
+ icon: "π",
+ agents: ["hathor"],
+ },
+];
+
+export default function AgentsPage() {
+ return (
+
+
+
π₯ Agent Roster
+
Manage your AI agent council
+
+
+ {SQUADS.map(squad => (
+
+
+ {squad.icon} {squad.name}
+
+
+ {squad.agents.map(agentId => {
+ const agent = AGENTS.find(a => a.id === agentId);
+ if (!agent) return null;
+ return (
+
+
+
+ {agent.icon}
+
+
+
+ {agent.name}
+
+
{agent.role}
+
+
+
+
+ {agent.status}
+
+
+ );
+ })}
+
+
+ ))}
+
+
+
+ π‘ Click any agent to view their command center with tasks, logs, and brainown outputs.
+
+
+
+ );
+}
diff --git a/app/mission-control/autorun/page.tsx b/app/mission-control/autorun/page.tsx
new file mode 100644
index 0000000..1c1affa
--- /dev/null
+++ b/app/mission-control/autorun/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import AutoRunPanel from "@/components/mission-control/AutoRunPanel";
+
+export default function AutoRunPage() {
+ return (
+
+ );
+}
diff --git a/app/mission-control/brainown/page.tsx b/app/mission-control/brainown/page.tsx
new file mode 100644
index 0000000..af0fec8
--- /dev/null
+++ b/app/mission-control/brainown/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import BrainownPanel from "@/components/mission-control/BrainownPanel";
+
+export default function BrainownPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/change-log/page.tsx b/app/mission-control/change-log/page.tsx
new file mode 100644
index 0000000..0055d1d
--- /dev/null
+++ b/app/mission-control/change-log/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import ChangeLogPanel from "@/components/mission-control/ChangeLogPanel";
+
+export default function ChangeLogPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/command/page.tsx b/app/mission-control/command/page.tsx
new file mode 100644
index 0000000..4f14bb1
--- /dev/null
+++ b/app/mission-control/command/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function CommandPage() {
+ return (
+
+
+
β¨οΈ Command Center
+
Execute commands
+
+
+
Command center loading...
+
+
+ );
+}
diff --git a/app/mission-control/council/page.tsx b/app/mission-control/council/page.tsx
new file mode 100644
index 0000000..32c3c1a
--- /dev/null
+++ b/app/mission-control/council/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+import HorusChat from "@/components/mission-control/HorusChat";
+
+export default function CouncilPage() {
+ return (
+
+
+
ποΈ Council Chat
+
Chat with your agent council
+
+
+
+ );
+}
diff --git a/app/mission-control/execution-logs/page.tsx b/app/mission-control/execution-logs/page.tsx
new file mode 100644
index 0000000..e010e15
--- /dev/null
+++ b/app/mission-control/execution-logs/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import ExecutionLogsPanel from "@/components/mission-control/ExecutionLogsPanel";
+
+export default function ExecutionLogsPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/horus-ai/page.tsx b/app/mission-control/horus-ai/page.tsx
new file mode 100644
index 0000000..6100703
--- /dev/null
+++ b/app/mission-control/horus-ai/page.tsx
@@ -0,0 +1,151 @@
+"use client";
+
+import { useState } from "react";
+
+const SKILLS = [
+ { id: "github", name: "GitHub", description: "Manage GitHub repositories", enabled: true },
+ { id: "healthcheck", name: "Health Check", description: "System security hardening", enabled: true },
+ { id: "tmux", name: "Tmux", description: "Remote-control tmux sessions", enabled: true },
+ { id: "weather", name: "Weather", description: "Weather forecasts via wttr.in", enabled: true },
+ { id: "tavily", name: "Tavily", description: "Web search and extraction", enabled: true },
+ { id: "coingecko", name: "CoinGecko", description: "Crypto prices and market data", enabled: true },
+ { id: "discord", name: "Discord", description: "Discord operations", enabled: false },
+ { id: "clawhub", name: "ClawHub", description: "Skill management", enabled: true },
+];
+
+const APIS = [
+ { id: "perplexity", name: "Perplexity", status: "active", color: "green" },
+ { id: "openweather", name: "OpenWeather", status: "active", color: "green" },
+ { id: "newsapi", name: "NewsAPI", status: "active", color: "green" },
+ { id: "coingecko", name: "CoinGecko", status: "active", color: "green" },
+ { id: "tavily", name: "Tavily", status: "active", color: "green" },
+ { id: "elevenlabs", name: "ElevenLabs", status: "inactive", color: "yellow" },
+];
+
+const AUTOMATIONS = [
+ { id: "morning-brief", name: "Morning Brief", schedule: "06:00 CET", enabled: true },
+ { id: "backups", name: "Backups", schedule: "02:00 CET", enabled: true },
+ { id: "health-checks", name: "Health Checks", schedule: "30min", enabled: true },
+ { id: "trading-scan", name: "Trading Scan", schedule: "30min", enabled: false },
+];
+
+export default function HorusAIPage() {
+ const [skills, setSkills] = useState(SKILLS);
+ const [automations, setAutomations] = useState(AUTOMATIONS);
+
+ const toggleSkill = (id: string) => {
+ setSkills(skills.map(s => s.id === id ? { ...s, enabled: !s.enabled } : s));
+ };
+
+ const toggleAutomation = (id: string) => {
+ setAutomations(automations.map(a => a.id === id ? { ...a, enabled: !a.enabled } : a));
+ };
+
+ return (
+
+
+
π€ Horus AI
+
Manage skills, APIs, and automation toggles
+
+
+ {/* Skills */}
+
+
+ π― Skills
+
+
+ {skills.map(skill => (
+
+
+
{skill.name}
+
{skill.description}
+
+
+
+ ))}
+
+
+
+ {/* APIs */}
+
+
+ π APIs
+
+
+
+
+
+ | API |
+ Status |
+
+
+
+ {APIS.map(api => (
+
+ | {api.name} |
+
+
+
+ {api.status}
+
+ |
+
+ ))}
+
+
+
+
+
+ {/* Automations */}
+
+
+ β‘ Automation
+
+
+
+
+
+ | Cron Job |
+ Schedule |
+ Status |
+
+
+
+ {automations.map(automation => (
+
+ | {automation.name} |
+ {automation.schedule} |
+
+
+ |
+
+ ))}
+
+
+
+
+
+ );
+}
diff --git a/app/mission-control/leads/page.tsx b/app/mission-control/leads/page.tsx
new file mode 100644
index 0000000..d3a4be5
--- /dev/null
+++ b/app/mission-control/leads/page.tsx
@@ -0,0 +1,88 @@
+"use client";
+
+import { useState } from "react";
+
+const LEAD_STATUSES = ["all", "new", "contacted", "qualified", "proposal", "won", "lost"];
+
+const SAMPLE_LEADS = [
+ { id: 1, name: "Restaurante El GaleΓ³n", email: "info@galeon.es", phone: "+34 952 123 456", status: "qualified", source: "Website" },
+ { id: 2, name: "ClΓnica Dental Mar", email: "contacto@clinica-dental-mar.es", phone: "+34 951 234 567", status: "contacted", source: "Referral" },
+ { id: 3, name: "Inmobiliaria Sol", email: "info@inmobiliariasol.com", phone: "+34 953 345 678", status: "new", source: "Website" },
+];
+
+export default function LeadsPage() {
+ const [filter, setFilter] = useState("all");
+
+ const filteredLeads = filter === "all"
+ ? SAMPLE_LEADS
+ : SAMPLE_LEADS.filter(l => l.status === filter);
+
+ const statusColors: Record = {
+ new: "bg-blue-500/20 text-blue-400",
+ contacted: "bg-yellow-500/20 text-yellow-400",
+ qualified: "bg-green-500/20 text-green-400",
+ proposal: "bg-purple-500/20 text-purple-400",
+ won: "bg-emerald-500/20 text-emerald-400",
+ lost: "bg-red-500/20 text-red-400",
+ };
+
+ return (
+
+
+
π Lead Manager
+
Manage your SiteMente leads
+
+
+ {/* Filters */}
+
+ {LEAD_STATUSES.map(status => (
+
+ ))}
+
+
+ {/* Table */}
+
+
+
+
+ | Name |
+ Email |
+ Phone |
+ Status |
+ Source |
+
+
+
+ {filteredLeads.map(lead => (
+
+ | {lead.name} |
+ {lead.email} |
+ {lead.phone} |
+
+
+ {lead.status}
+
+ |
+ {lead.source} |
+
+ ))}
+
+
+
+
+
+ Showing {filteredLeads.length} of {SAMPLE_LEADS.length} leads (database connection needed for full functionality)
+
+
+ );
+}
diff --git a/app/mission-control/monday/page.tsx b/app/mission-control/monday/page.tsx
new file mode 100644
index 0000000..e77c7a2
--- /dev/null
+++ b/app/mission-control/monday/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import MondayBoard from "@/components/mission-control/MondayBoard";
+
+export default function MondayPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/projects-panel/page.tsx b/app/mission-control/projects-panel/page.tsx
new file mode 100644
index 0000000..544a137
--- /dev/null
+++ b/app/mission-control/projects-panel/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function ProjectsPanelPage() {
+ return (
+
+
+
π Projects Panel
+
All projects overview
+
+
+
Projects panel loading...
+
+
+ );
+}
diff --git a/app/mission-control/sessions/page.tsx b/app/mission-control/sessions/page.tsx
new file mode 100644
index 0000000..b866981
--- /dev/null
+++ b/app/mission-control/sessions/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import VoiceChat from "@/components/mission-control/VoiceChat";
+
+export default function VoiceChatPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/skills/page.tsx b/app/mission-control/skills/page.tsx
new file mode 100644
index 0000000..3e6c189
--- /dev/null
+++ b/app/mission-control/skills/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function SkillsPanelPage() {
+ return (
+
+
+
π― Skills Panel
+
Manage OpenClaw skills
+
+
+
Skills panel loading...
+
+
+ );
+}
diff --git a/app/mission-control/system-status/page.tsx b/app/mission-control/system-status/page.tsx
new file mode 100644
index 0000000..651e6d4
--- /dev/null
+++ b/app/mission-control/system-status/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function SystemStatusPage() {
+ return (
+
+
+
π‘ System Status
+
Server health and monitoring
+
+
+
System status loading...
+
+
+ );
+}
diff --git a/app/mission-control/task-history/page.tsx b/app/mission-control/task-history/page.tsx
new file mode 100644
index 0000000..0f07b34
--- /dev/null
+++ b/app/mission-control/task-history/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import TaskHistoryPanel from "@/components/mission-control/TaskHistoryPanel";
+
+export default function TaskHistoryPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/tasks/page.tsx b/app/mission-control/tasks/page.tsx
new file mode 100644
index 0000000..987f5f6
--- /dev/null
+++ b/app/mission-control/tasks/page.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import { TaskCardsPanel } from "@/components/mission-control/TaskCardsPanel";
+import { useState, useEffect } from "react";
+import { Task, TaskStatus } from "@/lib/mission-control/types";
+
+const SAMPLE_TASKS: Task[] = [
+ { id: "1", title: "Complete SiteMente landing page", status: "todo", project: "sitemente", priority: "high", createdAt: "2026-03-22", agent: "ptah" },
+ { id: "2", title: "Write content for HostPioneers", status: "in_progress", project: "sitemente", priority: "medium", createdAt: "2026-03-21", agent: "seshat" },
+ { id: "3", title: "Deploy trading bot", status: "done", project: "trading", priority: "high", createdAt: "2026-03-20", agent: "sekhmet" },
+];
+
+export default function TasksPage() {
+ const [tasks, setTasks] = useState(SAMPLE_TASKS);
+
+ const toggleTask = (id: string) => {
+ setTasks(tasks.map(t =>
+ t.id === id
+ ? { ...t, status: t.status === "done" ? "todo" as TaskStatus : "done" as TaskStatus }
+ : t
+ ));
+ };
+
+ return (
+
+
+
π Task Board
+
Manage tasks across all projects
+
+
+
+ );
+}
diff --git a/app/mission-control/trading-chart/page.tsx b/app/mission-control/trading-chart/page.tsx
new file mode 100644
index 0000000..dd56efc
--- /dev/null
+++ b/app/mission-control/trading-chart/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function TradingChartPage() {
+ return (
+
+
+
π Trading Chart
+
BTC, ETH, SOL price charts
+
+
+
Trading charts loading...
+
+
+ );
+}
diff --git a/app/mission-control/trading-reports/page.tsx b/app/mission-control/trading-reports/page.tsx
new file mode 100644
index 0000000..3c8accb
--- /dev/null
+++ b/app/mission-control/trading-reports/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function TradingReportsPage() {
+ return (
+
+
+
π Trading Reports
+
P&L stats, win rate, trade history
+
+
+
Trading reports loading...
+
+
+ );
+}
diff --git a/app/mission-control/trading-tools/page.tsx b/app/mission-control/trading-tools/page.tsx
new file mode 100644
index 0000000..65b5227
--- /dev/null
+++ b/app/mission-control/trading-tools/page.tsx
@@ -0,0 +1,15 @@
+"use client";
+
+export default function TradingToolsPage() {
+ return (
+
+
+
π οΈ Trading Tools
+
Risk management, position sizing, etc.
+
+
+
Trading tools loading...
+
+
+ );
+}
diff --git a/app/mission-control/trading/page.tsx b/app/mission-control/trading/page.tsx
new file mode 100644
index 0000000..f475548
--- /dev/null
+++ b/app/mission-control/trading/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import { TradingPanel } from "@/components/mission-control/TradingPanel";
+
+export default function TradingPage() {
+ return (
+
+
+
+ );
+}
diff --git a/app/mission-control/voice/page.tsx b/app/mission-control/voice/page.tsx
new file mode 100644
index 0000000..088130c
--- /dev/null
+++ b/app/mission-control/voice/page.tsx
@@ -0,0 +1,11 @@
+"use client";
+
+import VoiceChat from "@/components/mission-control/VoiceChat";
+
+export default function VoicePage() {
+ return (
+
+
+
+ );
+}