{
  "schemaVersion": 1,
  "generatedFrom": "sass-maker/saas-maker/tooling",
  "count": 105,
  "capabilities": [
    {
      "id": "doc:agent-indexing-standard",
      "type": "doc",
      "name": "Fleet Agent Indexing Standard (GEO)",
      "summary": "Make every public fleet surface readable by AI agents without scrolling or running JavaScript. Classic SEO (titles, OG, H1) is out of scope here — see seo-audit for that. Landing copy rules stay in LANDINGSTANDARD.md.",
      "path": "docs/agent-indexing-standard.md"
    },
    {
      "id": "doc:agent-workspaces",
      "type": "doc",
      "name": "Agent workspaces",
      "summary": "Use fleet-workspace for Fleet writer checkouts, dependency installs and heavy commands. It is a local Node CLI with no dependencies or provider access. Implementation tracking: SaaS Maker #179.",
      "path": "docs/agent-workspaces.md"
    },
    {
      "id": "doc:ahrefs-site-audit",
      "type": "doc",
      "name": "Canonical-root site audit",
      "summary": "The working path is a local sitemap crawl of Site Health's canonical roots, then source actions for 4xx pages, missing titles, and missing h1s. A report without remediation is incomplete.",
      "path": "docs/ahrefs-site-audit.md"
    },
    {
      "id": "doc:ai-client-standard",
      "type": "doc",
      "name": "Fleet AI client standard",
      "summary": "Status: ratified 2026-08-30 on issue #61.",
      "path": "docs/ai-client-standard.md"
    },
    {
      "id": "doc:clarity-fleet-health",
      "type": "doc",
      "name": "Clarity fleet health",
      "summary": "Fleet keeps one Microsoft Clarity project per catalog identity. Two skills own different halves of that, and they must not be confused:",
      "path": "docs/clarity-fleet-health.md"
    },
    {
      "id": "doc:landing-surface-classification",
      "type": "doc",
      "name": "Landing-surface classification",
      "summary": "Recorded: 2026-08-30. Refs sass-maker/saas-maker#62.",
      "path": "docs/landing-surface-classification.md"
    },
    {
      "id": "doc:preserved-tooling",
      "type": "doc",
      "name": "Preserved tooling boundary",
      "summary": "The repository contains two intentionally different classes of tooling.",
      "path": "docs/preserved-tooling.md"
    },
    {
      "id": "doc:slop-score",
      "type": "doc",
      "name": "Local website slop scoring",
      "summary": "Selected on 2026-10-02: slop-detect, with Impeccable retained for source checks and wider design review. This is an advisory rendered-page fingerprint, not a design grade or authorship probability.",
      "path": "docs/slop-score.md"
    },
    {
      "id": "script:agent-stack",
      "type": "script",
      "name": "Agent Stack",
      "summary": "Fleet operator script: Agent Stack.",
      "path": "scripts/agent-stack.sh"
    },
    {
      "id": "script:apply-clarity-id",
      "type": "script",
      "name": "Apply Clarity Id",
      "summary": "apply-clarity-id.sh — replace CLARITY_PROJECT_ID placeholder with the real",
      "path": "scripts/apply-clarity-id.sh"
    },
    {
      "id": "script:audit",
      "type": "script",
      "name": "Audit",
      "summary": "Fleet operator script: Audit.",
      "path": "scripts/audit.mjs"
    },
    {
      "id": "script:check-github-actions-policy",
      "type": "script",
      "name": "Check Github Actions Policy",
      "summary": "Credential-free availability checks may run daily when explicitly reviewed.",
      "path": "scripts/check-github-actions-policy.mjs"
    },
    {
      "id": "script:fleet-capabilities",
      "type": "script",
      "name": "Fleet Capabilities",
      "summary": "Fleet operator script: Fleet Capabilities.",
      "path": "scripts/fleet-capabilities.mjs"
    },
    {
      "id": "script:fleet-workspace",
      "type": "script",
      "name": "Fleet Workspace",
      "summary": "Manage agent writer worktrees, shared pinned-pnpm installs and bounded builds.",
      "path": "scripts/fleet-workspace.mjs"
    },
    {
      "id": "script:git-health",
      "type": "script",
      "name": "Git Health",
      "summary": "Fleet operator script: Git Health.",
      "path": "scripts/git-health.sh"
    },
    {
      "id": "script:github-priority-queue",
      "type": "script",
      "name": "Github Priority Queue",
      "summary": "Fleet operator script: Github Priority Queue.",
      "path": "scripts/github-priority-queue.mjs"
    },
    {
      "id": "script:link-project-agent-assets",
      "type": "script",
      "name": "Link Project Agent Assets",
      "summary": "Fleet operator script: Link Project Agent Assets.",
      "path": "scripts/link-project-agent-assets.sh"
    },
    {
      "id": "script:slop-score",
      "type": "script",
      "name": "Slop Score",
      "summary": "Score rendered websites locally with pinned slop-detect rules and evidence.",
      "path": "scripts/slop-score.mjs"
    },
    {
      "id": "script:unlink-project-agent-assets",
      "type": "script",
      "name": "Unlink Project Agent Assets",
      "summary": "Fleet operator script: Unlink Project Agent Assets.",
      "path": "scripts/unlink-project-agent-assets.sh"
    },
    {
      "id": "script:validate-tooling",
      "type": "script",
      "name": "Validate Tooling",
      "summary": "Fleet operator script: Validate Tooling.",
      "path": "scripts/validate-tooling.mjs"
    },
    {
      "id": "script:verify-local",
      "type": "script",
      "name": "Verify Local",
      "summary": "scripts/verify-local.mjs",
      "path": "scripts/verify-local.mjs"
    },
    {
      "id": "skill:agent-ready",
      "type": "skill",
      "name": "agent-ready",
      "summary": "Subskill of site-health — AI/agent indexing audit (llms.txt, /api/ai, markdown negotiation, robots vs AI crawlers, SPA-fake detection). Route here from site-health for \"can AI read my site\" checks.",
      "path": "skills/agent-ready/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Crawler and indexing evidence needs careful technical interpretation."
      }
    },
    {
      "id": "skill:analyze-storage",
      "type": "skill",
      "name": "analyze-storage",
      "summary": "Create a read-only local disk-usage report whose scan JSON, classified evidence, and static HTML stay under Fleet Workspace. Use when the operator asks what is consuming storage, says a disk is full, wants storage or cache analysis, asks for cleanup candidates, or wants a storage report. Do not use for RAM or process-memory diagnosis.",
      "path": "skills/analyze-storage/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Scanning and classification are deterministic; interpretation needs moderate context judgment."
      }
    },
    {
      "id": "skill:apple-native",
      "type": "skill",
      "name": "apple-native",
      "summary": "Build, review, test, and qualify Swift or SwiftUI applications across iOS, iPadOS, macOS, and watchOS. Covers Xcode and XcodeGen projects, platform boundaries, entitlements, simulator and physical-device QA, native accessibility, lifecycle, sync, and release preparation. Use for implementation or native product QA, not upload operations.",
      "path": "skills/apple-native/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Native implementation work turns on judgment a weaker model gets wrong quietly: SwiftData and CloudKit schema edits are runtime compatibility changes that still compile, platform boundaries decide what is genuinely shared versus cramped into one screen model, and entitlements must not be weakened to make a local build pass. High reasoning is the floor because the failure mode is a passing build that breaks users at runtime."
      }
    },
    {
      "id": "skill:apple-platform",
      "type": "skill",
      "name": "apple-platform",
      "summary": "Route Apple-native application work and Apple distribution work for iOS, iPadOS, macOS, and watchOS. Use when building Swift or SwiftUI apps, testing native targets, preparing archives, shipping through TestFlight or the App Store, notarizing direct-download Mac software, or diagnosing Apple Developer and App Store Connect blockers.",
      "path": "skills/apple-platform/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "This is the Apple entry point: it reads the request and routes to the focused implementation or release skill, so most of its own work is dispatch rather than execution. It still carries the shared operating contract, and misrouting release work into the native skill would skip the release gates, so it asks before degrading rather than allowing it silently."
      }
    },
    {
      "id": "skill:apple-release",
      "type": "skill",
      "name": "apple-release",
      "summary": "Qualify and deliver Apple applications end to end: Xcode archives, signing and entitlements, App Store Connect uploads, TestFlight internal and external testing, App Review submission, Mac App Store distribution, Developer ID signing, notarization, stapling, Gatekeeper checks, and Apple account/support diagnosis. Use when the user explicitly authorizes an Apple-side release action or asks for release readiness.",
      "path": "skills/apple-release/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Release actions are outward-facing and hard to reverse: App Store Connect uploads, TestFlight distribution, App Review submission, notarization, and stapling, all driven against real signing identities and credentials that must never be printed or copied. The skill is gate-based and keeps distribution channels and receipts separate. Degradation is denied rather than asked because a weaker model driving a signing or submission flow can take an irreversible action before anyone reviews it."
      }
    },
    {
      "id": "skill:astra-orchestrator",
      "type": "skill",
      "name": "astra-orchestrator",
      "summary": "Orchestrate Codex work with an Astra root and bounded Luna subagents when the user explicitly asks for agents, delegation, parallel work, or independent multi-agent review, or when current project instructions require it. Skip ordinary root-only work and tasks that cannot benefit from independent workstreams.",
      "path": "skills/astra-orchestrator/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "The root must decompose work, preserve permissions and file ownership, reconcile independent evidence, and verify the integrated result."
      }
    },
    {
      "id": "skill:call-claude-code",
      "type": "skill",
      "name": "call-claude-code",
      "summary": "Delegate work to a fresh headless Claude Code instance as a teammate — a parallel worker in a worktree, a fresh-context review unbiased by the current conversation, or a run under the other profile (personal ~/.claude vs work ~/.claude-work, separate auth/config). Use when the user asks to call/delegate to claude or claude-work, or when you want an independent Claude with clean context.",
      "path": "skills/call-claude-code/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "The current runtime briefs and verifies a separately configured teammate."
      }
    },
    {
      "id": "skill:call-codex",
      "type": "skill",
      "name": "call-codex",
      "summary": "Delegate repo-local coding work to OpenAI Codex CLI as a teammate agent — scoped implementation, mechanical refactors, test-fix loops, or an independent second-opinion code review from a different model family. Use when the user asks to call/delegate to codex, wants a second opinion on a diff, or when a well-scoped implementation task can run in parallel (e.g. in a worktree) while you do other work. Not for strategy, taste-heavy UX, or vague requirements.",
      "path": "skills/call-codex/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "The current runtime briefs and verifies a separately configured teammate."
      }
    },
    {
      "id": "skill:call-cursor",
      "type": "skill",
      "name": "call-cursor",
      "summary": "Delegate coding work to Cursor Agent CLI (cursor-agent) as a teammate — fast scoped implementation with a clean JSON envelope, read-only plan/ask modes, or access to Cursor's model roster (GPT, Claude, Gemini variants) under a separate subscription quota. Use when the user asks to call/delegate to cursor, or as an implementation fallback when other teammates are quota-limited.",
      "path": "skills/call-cursor/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "The current runtime briefs and verifies a separately configured teammate."
      }
    },
    {
      "id": "skill:call-devin",
      "type": "skill",
      "name": "call-devin",
      "summary": "Optional proprietary Devin teammate. Use only when the user explicitly asks for Devin or approves the spend/lock-in tradeoff.",
      "path": "skills/call-devin/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Paid external delegation needs precise scope, spend, permission, and verification judgment."
      }
    },
    {
      "id": "skill:call-grok",
      "type": "skill",
      "name": "call-grok",
      "summary": "Delegate coding work to Grok CLI (xAI's terminal agent) as a teammate — scoped implementation with native worktree isolation, best-of-N parallel attempts on hard tasks, or a cross-model second opinion. Use when the user asks to call/delegate to grok, wants N parallel attempts at one task, or wants an opinion from a non-Anthropic/non-OpenAI model family.",
      "path": "skills/call-grok/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "The current runtime briefs and verifies a separately configured teammate."
      }
    },
    {
      "id": "skill:call-hermes",
      "type": "skill",
      "name": "call-hermes",
      "summary": "Delegate bounded specialist work to the local open-source Hermes Agent runtime.",
      "path": "skills/call-hermes/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "The current runtime briefs and verifies a separately configured teammate."
      }
    },
    {
      "id": "skill:call-teammate",
      "type": "skill",
      "name": "call-teammate",
      "summary": "Delegate work to Codex, Grok, Hermes, or optional Devin. Use for independent review, parallel attempts, bounded specialist work, and explicit-spend external agent runs.",
      "path": "skills/call-teammate/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "This parent performs lightweight teammate routing before loading one provider-specific skill."
      }
    },
    {
      "id": "skill:catalog-freshness",
      "type": "skill",
      "name": "catalog-freshness",
      "summary": "Report on staleness and drift in the public catalogs — expired funding deadlines still marked open, launch destinations not verified recently, conflicting source claims, and (opt-in) live liveness probes that catch dead, parked, or hijacked domains. Use for \"what's gone stale\", \"which deadlines passed\", \"re-verify the launch catalog\", or scheduled refresh sweeps before updating launchdesk.json or funding.json.",
      "path": "skills/catalog-freshness/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "Deterministic date comparisons plus optional fetch-and-classify probes; verdicts are heuristic-flagged for operator review, no reasoning required."
      }
    },
    {
      "id": "skill:clarity-fleet-health",
      "type": "skill",
      "name": "clarity-fleet-health",
      "summary": "Audit Microsoft Clarity across every Fleet product, including project-ID integrity, source wiring, desired capability coverage, provider settings, cached aggregate traffic, and explicit live traffic refreshes. Use for Clarity counts, fleet-wide Clarity health, missing analytics, feature adoption, or requests to test Clarity on all applications; use clarity-fleet-rollout instead for project creation or source installation.",
      "path": "skills/clarity-fleet-health/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "The deterministic collectors own execution; the agent interprets bounded per-project evidence and preserves privacy and quota boundaries."
      }
    },
    {
      "id": "skill:clarity-fleet-rollout",
      "type": "skill",
      "name": "clarity-fleet-rollout",
      "summary": "Create and wire one Microsoft Clarity project per Fleet catalog entry, with a recoverable ID receipt and explicit no-web-surface exceptions.",
      "path": "skills/clarity-fleet-rollout/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "This workflow creates provider-side resources and maps them across independently owned Fleet products."
      }
    },
    {
      "id": "skill:cloudflare-spend-guard",
      "type": "skill",
      "name": "cloudflare-spend-guard",
      "summary": "Audit Cloudflare costs, billable usage, free-tier or paid-plan exposure, quota exhaustion, project necessity, and safe optimization opportunities for Fleet. Use when the user asks whether Cloudflare is charging them, how likely a project is to cost real money, what is driving a bill, whether current Workers/Pages/D1/R2/KV/Queues/Durable Objects/AI usage is needed, which resources look wasteful, what can be optimized, or how to prevent surprise cloud spend.",
      "path": "skills/cloudflare-spend-guard/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Cost, quota, and provider evidence can drive consequential operational decisions."
      }
    },
    {
      "id": "skill:code-cleanup",
      "type": "skill",
      "name": "code-cleanup",
      "summary": "Run Fleet code cleanup, dependency health checks, and guarded package upgrades in one place. Use for unused code or packages, outdated or vulnerable dependencies, Knip, lint/typecheck/test/format-check orchestration, Bundlephobia evidence, package recommendations, manifest or lockfile edits, and Fleet-wide dependency checks.",
      "path": "skills/code-cleanup/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Dependency and dead-code changes require repository judgment beyond mechanical scans."
      }
    },
    {
      "id": "skill:component-pattern-mine",
      "type": "skill",
      "name": "component-pattern-mine",
      "summary": "Compare mature implementations of an unfamiliar web component or interaction pattern and turn them into project-adapted guidance. Use for command palettes, comboboxes, timelines, tables, editors, navigation, uploaders, multi-state controls, spatial UI, or any component whose anatomy, states, accessibility, responsive behavior, motion, or data boundary needs research before implementation.",
      "path": "skills/component-pattern-mine/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Component comparison needs reliable synthesis across behavior, accessibility, and implementation constraints."
      }
    },
    {
      "id": "skill:content-coverage",
      "type": "skill",
      "name": "content-coverage",
      "summary": "Audit whether a product has the SEO and search-intent pages expected in its category, find competitive content gaps, draft source-backed pages, and publish approved pages through the owning repository. Use for SEO article coverage, comparison/alternative/use-case/integration pages, content inventories, or requests to create missing durable search pages.",
      "path": "skills/content-coverage/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Competitive research, claims, information architecture, and public copy need strong judgment."
      }
    },
    {
      "id": "skill:creative-web-effects",
      "type": "skill",
      "name": "creative-web-effects",
      "summary": "Shape, audit, discover, specify, implement, and validate purposeful creative browser effects using CSS animation, SVG, Canvas, WebGL shaders, scroll progress, pointer input, particles, transitions, or procedural visuals. Use when a web surface needs a new expressive effect, an audit of existing animation code, identification of genuine motion opportunities, or precise vocabulary for an unclear motion brief. Requires project-native direction, reduced-motion and low-capability fallbacks, input safety, lifecycle cleanup, and measurable performance evidence.",
      "path": "skills/creative-web-effects/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Creative effects require strong visual judgment plus accessibility and performance discipline."
      }
    },
    {
      "id": "skill:daily-learning",
      "type": "skill",
      "name": "daily-learning",
      "summary": "Create a fresh private 30-minute Fleet learning session from Telegram, OpenClaw, Hermes, or the terminal. Use when the operator asks to learn, study, review, get today's session, or focus on a named Fleet project or learning source.",
      "path": "skills/daily-learning/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Session control is bounded, while source selection benefits from moderate reasoning."
      }
    },
    {
      "id": "skill:design-engineering",
      "type": "skill",
      "name": "design-engineering",
      "summary": "Use explicitly for isolated design-engineering mechanics that do not need end-to-end visual direction: Tailwind canonicalization, semantic markup reconstruction, or routing a specialized 3D, effects, component-pattern, or evidence-interface task. Meaningful UI implementation and visual direction belong to design-workflow.",
      "path": "skills/design-engineering/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "The parent classifies one of five bounded jobs and loads the matching specialist."
      }
    },
    {
      "id": "skill:design-inspiration",
      "type": "skill",
      "name": "design-inspiration",
      "summary": "Use explicitly when external design references, comparative visual directions, or a requested brand-direction board are needed for a Fleet project. Produces attributable principles and design-workflow evidence without copying another product's brand, content, assets, or proprietary implementation. It does not own UI implementation or completion.",
      "path": "skills/design-inspiration/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Reference synthesis requires taste, attribution, and project-specific visual judgment."
      }
    },
    {
      "id": "skill:design-workflow",
      "type": "skill",
      "name": "design-workflow",
      "summary": "Use before meaningful Fleet visual or frontend work and whenever the owner is unhappy with a design or calls it ugly, generic, bland, template-like, or weak. Owns direction selection, implementation preflight, rendered craft review, and completion. Excludes copy-only edits, invisible refactors, accessibility corrections, and trivial deterministic CSS fixes.",
      "path": "skills/design-workflow/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Product design requires taste, visual synthesis, and reliable multi-step review."
      }
    },
    {
      "id": "skill:drank",
      "type": "skill",
      "name": "drank",
      "summary": "Look up and track Domain Rating (DR) for any domain, or report DR history for the owner's Fleet domains. Uses the public drank endpoint at domains.sassmaker.com — no API key, no signup. Use for \"what's the DR of X\", \"rank my domains by DR\", \"did codevetter.com's DR move\", or comparing a domain against the fleet board.",
      "path": "skills/drank/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "Single-endpoint GET lookups and snapshot sorting; no multi-step reasoning required."
      }
    },
    {
      "id": "skill:evidence-interface-design",
      "type": "skill",
      "name": "evidence-interface-design",
      "summary": "Shape, audit, specify, or implement evidence-heavy web interfaces such as reports, benchmarks, comparisons, dashboards, scorecards, calculators, ROI tools, and decision pages. Use when facts, formulas, units, sources, uncertainty, visual encoding, or fast-versus-audit reading paths must remain trustworthy while the interface makes a conclusion or decision clear. Produces a project-native evidence and composition contract without importing another brand system.",
      "path": "skills/evidence-interface-design/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Evidence interfaces require reliable synthesis across source meaning, information architecture, visual encoding, interaction state, and accessibility."
      }
    },
    {
      "id": "skill:evidence-research",
      "type": "skill",
      "name": "evidence-research",
      "summary": "Produce a decision-ready, evidence-first research report.",
      "path": "skills/evidence-research/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Decision-ready research requires current evidence, source judgment, and explicit uncertainty handling."
      }
    },
    {
      "id": "skill:fleet-audit",
      "type": "skill",
      "name": "fleet-audit",
      "summary": "Audit the fleet — git/CI health, PROJECT_STATUS sync, or full recurring audit. Use when the user asks \"is the fleet healthy?\", \"what's the fleet status?\", \"what's everyone working on?\", \"audit the fleet\", \"check all projects\", \"what's broken?\", or wants a fleet-wide snapshot before a deploy or audit pass.",
      "path": "skills/fleet-audit/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Most evidence is script-produced, with moderate reasoning needed for fleet triage."
      }
    },
    {
      "id": "skill:fleet-deploy-guard",
      "type": "skill",
      "name": "fleet-deploy-guard",
      "summary": "Guard a fleet project deploy — verify clean main, green CI, known Cloudflare target, no uncommitted changes before allowing a deploy. Use when the user says \"deploy X\", \"can I deploy?\", \"is X safe to deploy?\", or before any production deploy.",
      "path": "skills/fleet-deploy-guard/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "A deploy gate must fail safely when interpreting branch, CI, target, and blocker evidence."
      }
    },
    {
      "id": "skill:fleet-deploy-parity",
      "type": "skill",
      "name": "fleet-deploy-parity",
      "summary": "Check whether live Fleet products match origin/main, including SHA-tagged Workers at 100% traffic, and current-main Actions are green.",
      "path": "skills/fleet-deploy-parity/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Cross-project deployment evidence needs precise reconciliation and honest unknowns."
      }
    },
    {
      "id": "skill:fleet-init",
      "type": "skill",
      "name": "fleet-init",
      "summary": "Scaffold a new fleet project — create the GitHub repo, AGENTS.md, PROJECT_STATUS.md, wrangler config, CI workflow, and fleet README entry. Use when the user says \"create a new project\", \"scaffold X\", \"add a new fleet product\", or \"init a new repo\".",
      "path": "skills/fleet-init/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Project scaffolding changes several durable repository and registry surfaces."
      }
    },
    {
      "id": "skill:fleet-ops",
      "type": "skill",
      "name": "fleet-ops",
      "summary": "Route Fleet-wide audits, deploy checks, public-product smoke tests, spend reviews, project setup, and workspace decisions to the relevant subskill.",
      "path": "skills/fleet-ops/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "This parent performs lightweight intent routing before loading one specialist skill."
      }
    },
    {
      "id": "skill:fleet-workspace",
      "type": "skill",
      "name": "fleet-workspace",
      "summary": "Use when working across the Fleet workspace, deciding whether work belongs in a child project, Fleet policy, or project-local task tracking.",
      "path": "skills/fleet-workspace/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Cross-project ownership and policy decisions have broad repository consequences."
      }
    },
    {
      "id": "skill:flow-veo-browser",
      "type": "skill",
      "name": "flow-veo-browser",
      "summary": "Drive three experimental Google Ultra accounts in Flow (Nano Banana image generation + Veo video generation) via a browser agent, spending only included subscription Flow credits. Use when asked to generate images/videos with Flow or Veo, audit Flow credit balances, distribute generations across the Ultra accounts, batch creative briefs, or archive generated media. Never substitute paid APIs (Vertex/Gemini) for browser generation.",
      "path": "skills/flow-veo-browser/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Browser generation, credit safety, and provenance require careful multi-step verification."
      }
    },
    {
      "id": "skill:geo-observatory",
      "type": "skill",
      "name": "geo-observatory",
      "summary": "Subskill of site-health — recurring GEO/SEO outcome measurement: probe configured queries on live web search, classify A/B/C, append to the ledger, regenerate the trend report. Route here from site-health for \"did results move\" and scheduled weekly runs.",
      "path": "skills/geo-observatory/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Visibility trends require cautious attribution across noisy search evidence."
      }
    },
    {
      "id": "skill:glyph-art",
      "type": "skill",
      "name": "glyph-art",
      "summary": "Create archival, specimen, and object-collage treatments of an existing logo or glyph, with optional aligned-frame motion planning. Use for material-based logo art or glyph prompt packs, not logo redesign, UI styling, or ordinary texture fills.",
      "path": "skills/glyph-art/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Geometry fidelity, material composition, and visual inspection require judgment; prompt-only work can use a balanced model."
      }
    },
    {
      "id": "skill:ian-xiaohei-illustrations",
      "type": "skill",
      "name": "ian-xiaohei-illustrations",
      "summary": "Design or generate English-language editorial illustrations in Ian's licensed Xiaohei visual language for essays, blog posts, Notion documents, methods, workflows, and abstract concepts. Use for Xiaohei illustrations, sparse absurd hand-drawn article art, illustration shot lists, or edits to an existing Xiaohei image. Do not use for general illustration, formal diagrams, slide graphics, brand key art, or editable vector assets.",
      "path": "skills/ian-xiaohei-illustrations/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Editorial metaphor selection, visual restraint, and post-generation critique require strong language and visual judgment."
      }
    },
    {
      "id": "skill:ios-app-growth",
      "type": "skill",
      "name": "ios-app-growth",
      "summary": "Research, plan, prepare and review growth experiments for consumer iOS apps across competitors, organic distribution, paid acquisition, onboarding and cohort economics. Use for app growth decisions, not ordinary feature implementation or generic marketing copy.",
      "path": "skills/ios-app-growth/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Subscription economics, privacy and platform policy, and bounded ad spend require strong judgment."
      }
    },
    {
      "id": "skill:jules-cloud-worker",
      "type": "skill",
      "name": "jules-cloud-worker",
      "summary": "Use a pool of three Google Ultra Jules API accounts as asynchronous coding workers, primarily for high-value test generation across repos. Use when asked to run a Jules test-sweep, dispatch bounded tasks to Jules, poll Jules sessions, review Jules PRs, or check Jules account usage/quota. Jules is a batch worker, never the primary interactive agent and never an auto-merger.",
      "path": "skills/jules-cloud-worker/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Bounded cloud-worker dispatch and independent PR review require careful guardrail and lifecycle reasoning."
      }
    },
    {
      "id": "skill:launch-campaign",
      "type": "skill",
      "name": "launch-campaign",
      "summary": "Plan and execute a one-off launch for a new product or major feature. Use when the owner wants every launch step, full flagship posts, broad relevant directory and content-platform submissions, one exact-plan approval, and automatic execution through repositories, Postiz, connectors, or a visible connected browser.",
      "path": "skills/launch-campaign/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Positioning, public copy, channel eligibility, and external actions require strong judgment."
      }
    },
    {
      "id": "skill:launchkit",
      "type": "skill",
      "name": "launchkit",
      "summary": "Plan and run an honest directory-submission launch campaign for a product using the launchdesk catalog: fill one product brief, generate a truthful run plan of free/conditional routes, execute each route from its per-platform playbook with human gates, and record submitted/scheduled/live states with evidence in a tracker. Use for \"launch my product\", \"submit to directories\", \"plan a launch run\", \"directory submissions\", or /launchkit.",
      "path": "skills/launchkit/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "Planning is a deterministic script and the run prompt is mechanical; intelligence matters mainly for judging platform fit and writing claim-safe copy."
      }
    },
    {
      "id": "skill:local-ports-cleanup",
      "type": "skill",
      "name": "local-ports-cleanup",
      "summary": "Inspect, diagnose, and safely clean local listening ports and development-server processes with the installed `ports` CLI. Use when a local port is occupied, stale or orphaned dev processes should be stopped, a project's ports need clearing before restart, or an operator asks what is listening locally. Preserve healthy Docker, database, system, and unrelated project listeners unless explicitly named.",
      "path": "skills/local-ports-cleanup/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Local process termination is bounded but requires careful ownership and scope judgment."
      }
    },
    {
      "id": "skill:local-verification",
      "type": "skill",
      "name": "local-verification",
      "summary": "Verify a Fleet product starts and serves the current patch locally in under five minutes using observable readiness probing, failure injection, and exact-patch selection. Use when the user asks to verify a project locally, run local verification, qualify a local build, check that a patch is live locally, or prove a service is ready without fixed sleeps.",
      "path": "skills/local-verification/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Local verification needs precise probe interpretation and honest timeout reporting, but the engine is deterministic and does not require frontier reasoning."
      }
    },
    {
      "id": "skill:marketing",
      "type": "skill",
      "name": "marketing",
      "summary": "Develop evidence-backed positioning, customer research, marketing copy and launch plans for Fleet products. Use for messaging and distribution work, not deployment, visual design or technical SEO audits.",
      "path": "skills/marketing/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Positioning and customer evidence benefit from strong synthesis; bounded drafting remains useful with clearly stated research limits."
      }
    },
    {
      "id": "skill:media-acquisition",
      "type": "skill",
      "name": "media-acquisition",
      "summary": "Inspect or acquire public audio, video, subtitles, thumbnails, and media metadata with yt-dlp for an explicit research, archival, or product workflow; not for playback, private content, DRM bypass, or account scraping.",
      "path": "skills/media-acquisition/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Format selection is mechanical, while authorization, rate limits, and reproducible receipts require moderate judgment."
      }
    },
    {
      "id": "skill:mobile-task-control",
      "type": "skill",
      "name": "mobile-task-control",
      "summary": "Start, supervise, and report durable Fleet work requested from Telegram or another chat surface. Use when the operator asks to spin up work, run something in the background, show task status, or test mobile control.",
      "path": "skills/mobile-task-control/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Durable task control is bounded but must preserve scope and truthful status."
      }
    },
    {
      "id": "skill:name-domains",
      "type": "skill",
      "name": "name-domains",
      "summary": "Generate tasteful, likely-available domain names for a startup idea. Orchestrated pipeline (run-pipeline.sh): taste scoring, collision scan, two-pass RDAP/DNS availability, markdown shortlist. Reads PROJECT_STATUS.md in fleet repos. Use for domain names, brandable domains, naming help, \"name my startup\", or /name-domains. No backend, no signup.",
      "path": "skills/name-domains/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Naming quality depends on taste, semantic judgment, and collision evidence."
      }
    },
    {
      "id": "skill:openspec-apply-change",
      "type": "skill",
      "name": "openspec-apply-change",
      "summary": "Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.",
      "path": "skills/openspec-apply-change/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Applying a planned change requires reliable implementation judgment across code, tests, and task state."
      }
    },
    {
      "id": "skill:openspec-archive-change",
      "type": "skill",
      "name": "openspec-archive-change",
      "summary": "Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.",
      "path": "skills/openspec-archive-change/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Archival must reconcile completion and specification state without losing unfinished work."
      }
    },
    {
      "id": "skill:openspec-explore",
      "type": "skill",
      "name": "openspec-explore",
      "summary": "Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.",
      "path": "skills/openspec-explore/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Product and architecture exploration benefits from broad synthesis while preserving a strict read-only stance."
      }
    },
    {
      "id": "skill:openspec-propose",
      "type": "skill",
      "name": "openspec-propose",
      "summary": "Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.",
      "path": "skills/openspec-propose/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "A complete proposal shapes requirements, design, and implementation work across the change."
      }
    },
    {
      "id": "skill:openspec-sync-specs",
      "type": "skill",
      "name": "openspec-sync-specs",
      "summary": "Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.",
      "path": "skills/openspec-sync-specs/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Specification synchronization requires semantic merging without dropping existing requirements or scenarios."
      }
    },
    {
      "id": "skill:openspec-update-change",
      "type": "skill",
      "name": "openspec-update-change",
      "summary": "Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.",
      "path": "skills/openspec-update-change/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Updating change artifacts requires cross-document coherence and careful preservation of approved intent."
      }
    },
    {
      "id": "skill:ping",
      "type": "skill",
      "name": "ping",
      "summary": "Wire a fleet app to App Health application logs (Slack-alertable events like signup, waitlist.join, payment.failed) or add a new alertable event. Use when asked to \"alert on X\", \"notify me when someone signs up\", \"add a ping/log\", or to add an app to the Logs tab.",
      "path": "skills/ping/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "low"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "Drop-in client copy plus a single auth-hook integration against documented App Health patterns; multi-app wiring is mechanical."
      }
    },
    {
      "id": "skill:psi-swarm",
      "type": "skill",
      "name": "psi-swarm",
      "summary": "Route distributional Lighthouse and Core Web Vitals audits to the standalone PSI Swarm repository.",
      "path": "skills/psi-swarm/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "This thin wrapper routes audits to the standalone PSI Swarm skill and does not perform the audit itself."
      }
    },
    {
      "id": "skill:public-product-smoke",
      "type": "skill",
      "name": "public-product-smoke",
      "summary": "Audit whether public websites actually work for users through bounded browser journeys. Use when the user asks to click around a site or the Fleet, verify guest usability, test each product's unique pages, find blank or broken routes, exercise search/detail/primary actions, or produce an actionable public-product repair queue. This is a read-only production audit, not SEO, performance measurement, native-app testing, or automatic repair.",
      "path": "skills/public-product-smoke/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "Browser journeys need reliable interpretation of product-specific behavior and failures."
      }
    },
    {
      "id": "skill:screenmap",
      "type": "skill",
      "name": "screenmap",
      "summary": "Generate, inspect, or diff visual navigation maps for Expo and React Native apps using static route analysis plus optional iOS simulator or Android emulator captures. Use for app screen inventories, route/flow maps, runtime-state coverage, or PR-level visual impact review. Skip Swift-only, Android-native, and ordinary web-site screenshot work.",
      "path": "skills/screenmap/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Static parsing is deterministic, but safe device exploration, runtime-state coverage, PR impact classification, and privacy review require strong multi-step judgment."
      }
    },
    {
      "id": "skill:seo-audit",
      "type": "skill",
      "name": "seo-audit",
      "summary": "Subskill of site-health — on-page SEO audit (title/meta/canonical/OG/hreflang/JSON-LD/sitemap/headings/alt/SSR leaks) for any URL list. Route here from site-health for \"check my SEO\" requests.",
      "path": "skills/seo-audit/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "ask",
        "rationale": "On-page evidence is partly mechanical but prioritization requires technical SEO judgment."
      }
    },
    {
      "id": "skill:seo-research",
      "type": "skill",
      "name": "seo-research",
      "summary": "Research keywords, search competitors, backlink prospects, and local-search opportunities with evidence and optional provider metrics; use for SEO market decisions, not technical on-page audits, Search Console collection, or content publication.",
      "path": "skills/seo-research/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "deny",
        "rationale": "Search intent, competitor identity, source quality, and provider estimates require strong evidence synthesis and product judgment."
      }
    },
    {
      "id": "skill:site-health",
      "type": "skill",
      "name": "site-health",
      "summary": "Route site health, Microsoft Clarity traffic, AI indexing, technical SEO, competitive content coverage, performance, visibility trends, and public guest-journey audits to one relevant Fleet subskill.",
      "path": "skills/site-health/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "low"
        },
        "degradation": "allow",
        "rationale": "This parent routes a request to one health specialist and does not perform the audit itself."
      }
    },
    {
      "id": "skill:skills-validate",
      "type": "skill",
      "name": "skills-validate",
      "summary": "Validate a Fleet agent skill by clean-room testing: a fresh agent with no session history attempts real work (or a zero-cost plan) using only the skill's text, and the run is graded against a rubric so failures become specific edits to the skill. Use for \"validate this skill\", \"test the skill\", \"does this skill work\", \"skill QA\", or before merging a new or changed skill under tooling/skills. Not for validating product code.",
      "path": "skills/skills-validate/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Grading a transcript against a rubric and pinning each defect to the exact missing sentence is judgment work; a weak pass rubber-stamps broken skills."
      }
    },
    {
      "id": "skill:spec-driven",
      "type": "skill",
      "name": "spec-driven",
      "summary": "Spec-driven development for any new fleet feature. Use when starting non-trivial feature work (multi-file, new surface, behavior change, cross-repo) in any fleet project. Creates a GitHub tracking issue with proposal, design, specs, and task checklist — no local spec files. Trigger automatically at the start of feature work; do not wait for the user to ask.",
      "path": "skills/spec-driven/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Feature scoping and architectural decisions shape the entire implementation."
      }
    },
    {
      "id": "skill:test-quality",
      "type": "skill",
      "name": "test-quality",
      "summary": "Identify high-value regression tests, review assertion quality, diagnose flaky or low-signal suites, and design replayable adversarial workloads. Use for concrete test-quality work, not general code cleanup, startup readiness, or release approval.",
      "path": "skills/test-quality/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Fault mechanisms and test oracles require reasoning about behavior, not coverage alone."
      }
    },
    {
      "id": "skill:token-budget",
      "type": "skill",
      "name": "token-budget",
      "summary": "Audit Codex context cost across instructions, memory, skills, plugins, hooks, and command output; identify safe trimming opportunities.",
      "path": "skills/token-budget/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Measurements are scripted and recommendations need moderate context judgment."
      }
    },
    {
      "id": "skill:web-3d-pipeline",
      "type": "skill",
      "name": "web-3d-pipeline",
      "summary": "Shape, inspect, optimize, integrate, and validate web 3D experiences and assets. Use for glTF or GLB files, models, scenes, cameras, materials, lighting, spatial interaction, product viewers, 3D heroes, WebGL delivery, Three.js or React Three Fiber work, and decisions about whether an experience needs real-time 3D at all. Requires provenance, fallbacks, loading behavior, accessibility, and browser performance evidence.",
      "path": "skills/web-3d-pipeline/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "frontier",
          "reasoning": "high"
        },
        "minimum": {
          "intelligence": "balanced",
          "reasoning": "high"
        },
        "degradation": "ask",
        "rationale": "Web 3D decisions combine visual, asset, runtime, interaction, and performance trade-offs."
      }
    },
    {
      "id": "skill:web-extraction",
      "type": "skill",
      "name": "web-extraction",
      "summary": "Extract structured public web content or build a bounded crawl when repeatable page data is needed; use for datasets and corpora, not ordinary web research, browser interaction, authenticated pages, or technical SEO audits.",
      "path": "skills/web-extraction/SKILL.md",
      "executionProfile": {
        "schema": "fleet.skill-execution-profile.v1",
        "recommended": {
          "intelligence": "balanced",
          "reasoning": "medium"
        },
        "minimum": {
          "intelligence": "economy",
          "reasoning": "medium"
        },
        "degradation": "allow",
        "rationale": "Backend choice and extraction validation need moderate judgment; bounded execution remains observable."
      }
    },
    {
      "id": "template:agent-surfaces/api-ai.example",
      "type": "template",
      "name": "Api Ai Example",
      "summary": "{ \"name\": \"example\", \"version\": \"1\", \"url\": \"https://example.com\", \"llms\": \"https://example.com/llms.txt\", \"llmsFull\": null, \"sitemap\": \"https://example.com/sitemap.xml\", \"markdown\": { \"suffix\": \".md\", \"negotiation\": true }, \"surfaces\": [ { \"id\": \"home\", \"url\": \"https://example.c",
      "path": "templates/agent-surfaces/api-ai.example.json"
    },
    {
      "id": "template:agent-surfaces/index.md",
      "type": "template",
      "name": "{{NAME}}",
      "summary": "{{SUMMARY}}",
      "path": "templates/agent-surfaces/index.md.tmpl"
    },
    {
      "id": "template:agent-surfaces/llms.txt",
      "type": "template",
      "name": "{{NAME}}",
      "summary": "> {{SUMMARY}}",
      "path": "templates/agent-surfaces/llms.txt.tmpl"
    },
    {
      "id": "template:agent-surfaces/robots-ai-snippet",
      "type": "template",
      "name": "Allow major AI crawlers on public content (agent-indexing standard).",
      "summary": "User-agent: ChatGPT-User Allow: /",
      "path": "templates/agent-surfaces/robots-ai-snippet.txt"
    },
    {
      "id": "template:api-timing",
      "type": "template",
      "name": "Api Timing",
      "summary": "/  Client-side API call timing via the Resource Timing API.   Polls performance.getEntriesByType('resource') for fetch/XHR entries,  groups them by normalized route, and emits apicalltiming events to  PostHog with p50/p90/max duration + TTFB. This captures the full  round-trip la",
      "path": "templates/api-timing.ts"
    },
    {
      "id": "template:biome.base",
      "type": "template",
      "name": "Biome Base",
      "summary": "{ \"$schema\": \"../../../nodemodules/@biomejs/biome/configurationschema.json\", \"root\": false, \"extends\": [\"ultracite/biome/core\"], \"vcs\": { \"enabled\": true, \"clientKind\": \"git\", \"useIgnoreFile\": true }, \"files\": { \"ignoreUnknown\": true, \"includes\": [ \"\", \"!!/nodemodules\", \"!!/.next",
      "path": "templates/biome.base.json"
    },
    {
      "id": "template:clarity-snippet",
      "type": "template",
      "name": "Clarity Snippet",
      "summary": "<!-- Microsoft Clarity snippet — session replay + heatmaps.",
      "path": "templates/clarity-snippet.html"
    },
    {
      "id": "template:design-review",
      "type": "template",
      "name": "Design Review",
      "summary": "{ \"$schema\": \"fleet.design-review.v2\", \"version\": 2, \"project\": \"replace-with-project-id\", \"target\": \"replace-with-reviewed-surface\", \"surfaceMode\": \"operate\", \"mode\": \"preserve\", \"register\": \"product\", \"context\": { \"product\": \"PRODUCT.md\", \"design\": \"DESIGN.md\" }, \"direction\": {",
      "path": "templates/design-review.json"
    },
    {
      "id": "template:ios-landing/deprecated",
      "type": "template",
      "name": "Retired: the copy-to-fork iOS landing template",
      "summary": "Status: retired 2026-08-30. This directory no longer contains a template. Do not copy anything from here.",
      "path": "templates/ios-landing/DEPRECATED.md"
    },
    {
      "id": "template:web-landing/astro.config",
      "type": "template",
      "name": "Astro Config",
      "summary": "import { defineConfig } from 'astro/config';",
      "path": "templates/web-landing/astro.config.mjs"
    },
    {
      "id": "template:web-landing/package",
      "type": "template",
      "name": "Package",
      "summary": "{ \"name\": \"web-product-landing\", \"private\": true, \"type\": \"module\", \"packageManager\": \"pnpm@10.33.2\", \"scripts\": { \"dev\": \"astro dev\", \"build\": \"astro build\" }, \"devDependencies\": { \"@astrojs/check\": \"0.9.10\", \"astro\": \"7.2.0\", \"typescript\": \"6.0.3\" }, \"pnpm\": { \"onlyBuiltDepende",
      "path": "templates/web-landing/package.json"
    },
    {
      "id": "template:web-landing/readme",
      "type": "template",
      "name": "Web product landing template",
      "summary": "This is the canonical starting point for a Fleet web landing page. Use it for a web product, developer tool, internal utility, or dashboard that needs a clear public first view without phone screenshots.",
      "path": "templates/web-landing/README.md"
    },
    {
      "id": "template:web-landing/src/layouts/sitelayout",
      "type": "template",
      "name": "SiteLayout",
      "summary": "<!doctype html> <html lang=\"en\"> <head> <meta charset=\"UTF-8\" /> <meta name=\"viewport\" content=\"width=device-width\" /> <meta name=\"description\" content={description} /> <link rel=\"canonical\" href={canonical} /> <meta property=\"og:type\" content=\"website\" /> <meta property=\"og:titl",
      "path": "templates/web-landing/src/layouts/SiteLayout.astro"
    },
    {
      "id": "template:web-landing/src/pages/index",
      "type": "template",
      "name": "Index",
      "summary": "<SiteLayout> <header class=\"shell nav\"> <a class=\"brand\" href=\"/\">{site.name}</a> <nav aria-label=\"Primary\"> <a href=\"#how\">How it works</a> <a class=\"nav-action\" href={site.primary.href}>{site.primary.label}</a> </nav> </header>",
      "path": "templates/web-landing/src/pages/index.astro"
    },
    {
      "id": "template:web-landing/src/site.config",
      "type": "template",
      "name": "Site Config",
      "summary": "export type SiteConfig = { name: string; projectId: string; url: string; title: string; description: string; eyebrow: string; headline: string; lede: string; primary: { label: string; href: string }; secondary?: { label: string; href: string }; artifact: { label: string; title: s",
      "path": "templates/web-landing/src/site.config.ts"
    },
    {
      "id": "template:web-landing/src/styles/global",
      "type": "template",
      "name": "Global",
      "summary": "@layer reset, base, components;",
      "path": "templates/web-landing/src/styles/global.css"
    },
    {
      "id": "template:web-landing/tsconfig",
      "type": "template",
      "name": "Tsconfig",
      "summary": "{ \"extends\": \"astro/tsconfigs/strict\" }",
      "path": "templates/web-landing/tsconfig.json"
    }
  ]
}