{
  "schemaVersion": "persona-shared-skill-catalog.1",
  "packageName": "@persona-harness/shared-skills",
  "skills": [
    {
      "id": "deep-interview",
      "title": "Product Deep Interview",
      "category": "core",
      "optional": false,
      "entry": "skills/deep-interview/SKILL.md",
      "startPredicate": "A product idea or user outcome is still ambiguous.",
      "mutability": "conversation-only",
      "inputBrief": ["initial product idea", "answers or explicit deferrals"],
      "outputBrief": ["approved product brief", "open decisions"],
      "handoff": "technical-intake"
    },
    {
      "id": "philosophy-refinement",
      "title": "Socratic Philosophy Refinement",
      "category": "core",
      "optional": false,
      "entry": "skills/philosophy-refinement/SKILL.md",
      "startPredicate": "The user explicitly asks to change, review, or persist a reusable philosophy.",
      "mutability": "explicit-user-action",
      "inputBrief": ["current rationale", "preferred alternative", "intended scope", "counterexample or side effect", "trade-offs"],
      "outputBrief": ["classified refinement result", "complete structured candidate or unresolved decision"],
      "handoff": null
    },
    {
      "id": "grill-me",
      "title": "Decision Grill",
      "category": "core",
      "optional": true,
      "entry": "skills/grill-me/SKILL.md",
      "startPredicate": "A concrete decision, design, or plan includes a pressure-test signal such as assumptions, alternatives, risks, or trade-offs.",
      "mutability": "conversation-only",
      "inputBrief": ["concrete decision, design, or plan", "named assumptions, alternatives, risks, or trade-offs"],
      "outputBrief": ["one-question challenge sequence", "recommendation and trade-off summary"],
      "handoff": null
    },
    {
      "id": "technical-intake",
      "title": "Technical Intake",
      "category": "core",
      "optional": false,
      "entry": "skills/technical-intake/SKILL.md",
      "startPredicate": "A product brief has explicit approval.",
      "mutability": "explicit-user-action",
      "inputBrief": ["approved product brief", "existing-project facts when relevant"],
      "outputBrief": ["technical constraints", "delivery assumptions"],
      "handoff": "plan"
    },
    {
      "id": "plan",
      "title": "Delivery Plan",
      "category": "core",
      "optional": false,
      "entry": "skills/plan/SKILL.md",
      "startPredicate": "Product and technical inputs are concrete enough to choose a delivery boundary.",
      "mutability": "explicit-user-action",
      "inputBrief": ["approved product brief", "technical intake"],
      "outputBrief": ["bounded delivery plan", "risks and assumptions"],
      "handoff": "ralplan"
    },
    {
      "id": "ralplan",
      "title": "Adversarial Plan Review",
      "category": "core",
      "optional": true,
      "entry": "skills/ralplan/SKILL.md",
      "startPredicate": "The user explicitly wants an adversarial review of a high-risk plan.",
      "mutability": "advisory",
      "inputBrief": ["bounded delivery plan", "named high-risk assumptions"],
      "outputBrief": ["risk findings", "plan corrections"],
      "handoff": "tdd"
    },
    {
      "id": "tdd",
      "title": "Test-First Delivery",
      "category": "core",
      "optional": false,
      "entry": "skills/tdd/SKILL.md",
      "startPredicate": "An approved delivery plan names a behavior to change.",
      "mutability": "explicit-user-action",
      "inputBrief": ["approved plan", "current behavior"],
      "outputBrief": ["failing behavior contract", "focused verification plan"],
      "handoff": "implementation"
    },
    {
      "id": "implementation",
      "title": "Scoped Implementation",
      "category": "core",
      "optional": false,
      "entry": "skills/implementation/SKILL.md",
      "startPredicate": "A tested, approved behavior boundary is ready to implement.",
      "mutability": "explicit-user-action",
      "inputBrief": ["failing test", "approved plan"],
      "outputBrief": ["implemented behavior", "focused verification evidence"],
      "handoff": "review"
    },
    {
      "id": "review",
      "title": "Review",
      "category": "core",
      "optional": false,
      "entry": "skills/review/SKILL.md",
      "startPredicate": "A scoped implementation is ready for independent findings.",
      "mutability": "advisory",
      "inputBrief": ["implementation diff", "verification evidence"],
      "outputBrief": ["findings", "remaining risks"],
      "handoff": null
    },
    {
      "id": "programming",
      "title": "Programming Discipline",
      "category": "core",
      "optional": false,
      "entry": "skills/programming/SKILL.md",
      "startPredicate": "The user explicitly asks to implement a scoped behavior.",
      "mutability": "advisory",
      "inputBrief": ["scoped change", "project profile and local conventions"],
      "outputBrief": ["small implementation guidance", "verification focus"],
      "handoff": "tdd"
    },
    {
      "id": "debug",
      "title": "Debug",
      "category": "core",
      "optional": false,
      "entry": "skills/debug/SKILL.md",
      "startPredicate": "A reproducible failure or unexpected behavior is reported.",
      "mutability": "advisory",
      "inputBrief": ["observed failure", "reproduction boundary"],
      "outputBrief": ["confirmed cause", "focused regression"],
      "handoff": "tdd"
    },
    {
      "id": "refactor",
      "title": "Refactor",
      "category": "core",
      "optional": false,
      "entry": "skills/refactor/SKILL.md",
      "startPredicate": "A behavior-preserving structure change is explicitly requested.",
      "mutability": "advisory",
      "inputBrief": ["current behavior", "structural goal"],
      "outputBrief": ["bounded refactor", "regression evidence"],
      "handoff": "review"
    },
    {
      "id": "git",
      "title": "Git Hygiene",
      "category": "core",
      "optional": false,
      "entry": "skills/git/SKILL.md",
      "startPredicate": "The user explicitly asks for a Git operation.",
      "mutability": "explicit-user-action",
      "inputBrief": ["explicit Git request", "relevant diff"],
      "outputBrief": ["bounded Git result", "remaining transport decision"],
      "handoff": null
    },
    {
      "id": "frontend",
      "title": "Frontend Overlay",
      "category": "optional-extension",
      "optional": true,
      "entry": "skills/frontend/SKILL.md",
      "startPredicate": "The user explicitly selects frontend guidance for a scoped UI change.",
      "mutability": "advisory",
      "inputBrief": ["scoped UI behavior", "existing design constraints"],
      "outputBrief": ["UI implementation guidance", "visual verification focus"],
      "handoff": "tdd"
    },
    {
      "id": "visual-qa",
      "title": "Visual QA Overlay",
      "category": "optional-extension",
      "optional": true,
      "entry": "skills/visual-qa/SKILL.md",
      "startPredicate": "A user explicitly requests visual verification and the host can render the UI.",
      "mutability": "advisory",
      "inputBrief": ["rendered UI", "visual acceptance criteria"],
      "outputBrief": ["visual findings", "verification limits"],
      "handoff": "review"
    },
    {
      "id": "ast-grep",
      "title": "AST-Grep Overlay",
      "category": "optional-extension",
      "optional": true,
      "entry": "skills/ast-grep/SKILL.md",
      "startPredicate": "A user explicitly selects AST-aware search or rewrite and the tool is available.",
      "mutability": "advisory",
      "inputBrief": ["structural query", "bounded target set"],
      "outputBrief": ["structural findings", "safe rewrite plan"],
      "handoff": "review"
    },
    {
      "id": "lsp-setup",
      "title": "LSP Setup Overlay",
      "category": "optional-extension",
      "optional": true,
      "entry": "skills/lsp-setup/SKILL.md",
      "startPredicate": "A user explicitly requests language-server setup or diagnostics.",
      "mutability": "explicit-user-action",
      "inputBrief": ["project language", "requested editor capability"],
      "outputBrief": ["bounded setup result", "available diagnostics"],
      "handoff": null
    }
  ]
}
