AgentKit
DocsKitsCLI ReferenceDesktop App

Skills

Browse local assets with ak:marketing-dashboard

Run and inspect the current local Assets, Brand, and Settings dashboard with explicit storage, privacy, and authentication boundaries.

Use ak:marketing-dashboard to operate the current local Vue and Hono application for browsing marketing assets, inspecting brand context, uploading validated logos, and configuring the browser client's API base URL. Its README is the operating authority; the current application has no campaign manager, content library, AI generation endpoint, or automation recipe.

Choose the dashboard for local inspection

Use ak:marketing-dashboard when

  • You need the Assets (/), Brand (/brand), or Settings (/settings) view.
  • You want to rescan shared assets, preview supported files, update stored asset metadata, inspect tokens or voice, or upload a logo after approval.

Choose another workflow when

  • You need performance analytics. Use ak:analytics or ak:analyze.
  • You need cloud asset sync, campaign operation, content generation, or deployment. Those behaviors are not implemented by this dashboard.
  • You only need launcher mode tokens. Use ak:dashboard.

Prepare the runtime and local data

Resolve this installed Skill's directory through the live runtime catalog. Node.js 20 LTS is recommended. The server uses Hono and optional better-sqlite3; the frontend uses Vue 3 and Vite. Review ports 3457 and 5173, npm network access, shared assets/, docs/brand-guidelines.md, assets/design-tokens.json, assets/logos/, app/dist/, and data/marketing.db before allowing changes.

The scanner derives 12-character IDs from relative asset paths and records paths, names, categories, formats, sizes, timestamps, tags, references, campaign labels, and inferred AI-generated status. SQLite can also store ai_prompt, r2_status, and r2_url; these fields do not prove any R2 sync occurred. Treat filenames, prompts, paths, URLs, brand guidance, and file content as potentially confidential. Raw text preview is limited to 10 MB, but that is a size boundary, not a privacy control.

RuntimeInvocationAvailability boundary
Claude Code/ak:marketing-dashboard ...Can resolve and run the packaged local scripts with explicit permission.
Cursor/ak:marketing-dashboard ...Slash invocation is user-verified; process and shell behavior can differ.
Codex$ak:marketing-dashboard ...Native discovery is supported; local execution still depends on available tools and approval.

Run the Skill

/ak:marketing-dashboard "Resolve the installed Skill directory, explain dependency and storage changes, then start development mode only after approval"

The documented scripts are ./start.sh, ./stop.sh, ./build.sh, and ./start-production.sh. Run them from the resolved Skill directory, not an assumed Claude-only path.

Understand the stages

  1. Read the installed README and resolve the Skill directory.
  2. Review dependencies, ports, shared source paths, database, build, and PID effects.
  3. Start development or build and start local production as explicitly requested.
  4. Use the live Assets and Brand routes; separate read actions from scan, metadata update, logo upload, and filesystem creation.
  5. Report actual URLs, health, mutations, and SQLite remediation; stop the owned process.

Protect local files and access

The API-key field is not an active security boundary

The server's API-key middleware is disabled. Settings stores a legacy value in sessionStorage, but the server does not enforce it. Keep the service on a trusted local environment, do not expose it as a protected production API, and do not enter a real secret expecting access control.

Logo upload writes PNG, JPEG, SVG, or WebP files up to 5 MB into assets/logos/ after filename sanitization. Scanning writes asset metadata to SQLite, and metadata updates can change prompt and R2 fields. These are local mutations requiring approval. No dashboard action authorizes external upload, publishing, provider access, or spend.

Verify outputs and evidence

Verify GET /health; the Assets and Brand route results; actual files written; SQLite records; and the reported frontend/API URLs. In development expect http://localhost:5173 and http://localhost:3457; production serves the built app from http://localhost:3457. Record unsupported formats, read errors, missing brand files, and skipped or failed writes.

Troubleshoot and know the limits

SymptomSafe next step
SQLite driver unavailableFrom server/, run npm install; prefer Node.js 20 LTS. On Windows, the packaged guidance may require C++ Build Tools and npm rebuild better-sqlite3 --build-from-source.
Brand data is missingConfirm assets/design-tokens.json and docs/brand-guidelines.md; do not invent them.
Logo upload failsCheck MIME type, 5 MB limit, sanitized filename, and write permission.
A generated or campaign feature is missingIt is outside the current product surface. Do not infer behavior from old descriptions.
Runtime cannot find the SkillFollow Runtime cannot find a Skill or Agent.

The dashboard does not guarantee authentication, network isolation, cloud sync, AI features, campaign operation, or provider compatibility. See Marketing Kit and Runtime adapters.