cortex-agent 0.3.1

Self-learning AI agent with persistent memory, tools, plugins, and a beautiful terminal UI
/// Auto-seeded skill definitions from obra/superpowers.
/// Each entry: (name, description, category, content)

pub const SKILL_DEFINITIONS: &[SkillDef] = &[
    SkillDef {
        name: "cortex-superpower",
        description: "Power-user guide for Cortex CLI — commands, tools, workflows, plugins, and tips",
        category: "getting-started",
        content: include_str!("skills/cortex-superpower.md"),
    },
    SkillDef {
        name: "brainstorming",
        description: "You MUST use this before any creative work — creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.",
        category: "workflow",
        content: include_str!("skills/brainstorming.md"),
    },
    SkillDef {
        name: "test-driven-development",
        description: "Use when implementing any feature or bugfix, before writing implementation code",
        category: "workflow",
        content: include_str!("skills/test-driven-development.md"),
    },
    SkillDef {
        name: "systematic-debugging",
        description: "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes",
        category: "workflow",
        content: include_str!("skills/systematic-debugging.md"),
    },
    SkillDef {
        name: "writing-plans",
        description: "Use when you have a spec or requirements for a multi-step task, before touching code",
        category: "workflow",
        content: include_str!("skills/writing-plans.md"),
    },
    SkillDef {
        name: "executing-plans",
        description: "Use when you have a written implementation plan to execute in a separate session with review checkpoints",
        category: "workflow",
        content: include_str!("skills/executing-plans.md"),
    },
    SkillDef {
        name: "subagent-driven-development",
        description: "Use when executing implementation plans with independent tasks in the current session",
        category: "workflow",
        content: include_str!("skills/subagent-driven-development.md"),
    },
    SkillDef {
        name: "dispatching-parallel-agents",
        description: "Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies",
        category: "workflow",
        content: include_str!("skills/dispatching-parallel-agents.md"),
    },
    SkillDef {
        name: "requesting-code-review",
        description: "Use when completing tasks, implementing major features, or before merging to verify work meets requirements",
        category: "workflow",
        content: include_str!("skills/requesting-code-review.md"),
    },
    SkillDef {
        name: "receiving-code-review",
        description: "Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable",
        category: "workflow",
        content: include_str!("skills/receiving-code-review.md"),
    },
    SkillDef {
        name: "using-git-worktrees",
        description: "Use when starting feature work that needs isolation from current workspace or before executing implementation plans",
        category: "workflow",
        content: include_str!("skills/using-git-worktrees.md"),
    },
    SkillDef {
        name: "finishing-a-development-branch",
        description: "Use when implementation is complete, all tests pass, and you need to decide how to integrate the work",
        category: "workflow",
        content: include_str!("skills/finishing-a-development-branch.md"),
    },
    SkillDef {
        name: "verification-before-completion",
        description: "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs — requires running verification commands and confirming output before making any success claims",
        category: "workflow",
        content: include_str!("skills/verification-before-completion.md"),
    },
    SkillDef {
        name: "using-superpowers",
        description: "Use when starting any conversation — establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions",
        category: "workflow",
        content: include_str!("skills/using-superpowers.md"),
    },
    SkillDef {
        name: "writing-skills",
        description: "Use when creating new skills, editing existing skills, or verifying skills work before deployment",
        category: "meta",
        content: include_str!("skills/writing-skills.md"),
    },
];

pub struct SkillDef {
    pub name: &'static str,
    pub description: &'static str,
    pub category: &'static str,
    pub content: &'static str,
}