{
  "schemaVersion": 1,
  "generatedFrom": "sass-maker/saas-maker/tooling",
  "count": 80,
  "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; lockfile-only follow-up: #195.",
      "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; gateway policy revised 2026-10-04, superseding the 2026-08-29 no-gateway decision.",
      "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:new-project-checklist",
      "type": "doc",
      "name": "New project checklist",
      "summary": "The gate list for a new Fleet product or project. New projects start only when the owner explicitly asks for one. Work top to bottom; skip a phase only with a recorded reason (for example no public surface, or a private tool). Each item points at its canonical doc or skill: this",
      "path": "docs/new-project-checklist.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, pinned-pnpm installs and bounded commands.",
      "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. Also the entry point for Apple work in general: it routes archive, signing, upload, TestFlight, App Store, and notarization work to apple-release.",
      "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-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-teammate",
      "type": "skill",
      "name": "call-teammate",
      "summary": "Delegate work to Codex, Grok, Cursor, a fresh Claude Code instance, 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; for project creation or source installation, follow its rollout reference.",
      "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: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: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:design-workflow",
      "type": "skill",
      "name": "design-workflow",
      "summary": "Fleet's single design entry point for visual or frontend work, and for when the owner calls a design ugly, generic, bland, or template-like. Default lane is PRESERVE (keep the established look, do good work, check the rendered result). OVERHAUL (3-4 rendered directions, owner picks) only for a brand-new surface or an explicit redesign request. Also routes specialist design references (inspiration, slop check, evidence interfaces, components, effects, 3D, Tailwind/markup mechanics).",
      "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: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-parity",
      "type": "skill",
      "name": "fleet-deploy-parity",
      "summary": "Check whether live Fleet products match origin/main (SHA-tagged Workers at 100% traffic, green current-main Actions), and gate a single project's deploy readiness. Use for \"is production in sync with main?\", \"what's not deployed?\", \"can I deploy X?\", or \"is X safe to deploy?\".",
      "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, .gitignore, and CI workflow. Use only when the owner explicitly asks to create a new project (\"create a new project called X\", \"scaffold X\", \"init a new repo for X\"). Never propose or start a new project on your own.",
      "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: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 run a one-off launch for a new product or major feature, including honest directory-submission runs with the launchkit toolkit. Use when the owner asks to launch a product, submit to directories, plan a launch run, or runs /launchkit. Builds one exact plan, gets owner approval of it, then executes only the approved items.",
      "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: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: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: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: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: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": "Opt-in spec workflow for large fleet features. Use only when the owner asks for spec-driven work, a spec, or a tracking issue, or when a feature is genuinely large or cross-repo. Writes the proposal, design, specs, and task checklist; creates a GitHub tracking issue only when the owner wants tracking. Small fixes and ordinary scoped changes skip it.",
      "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: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"
    }
  ]
}