Initial commit

This commit is contained in:
Ryan Ward
2026-04-29 10:43:20 -05:00
parent b7b327510d
commit d8d4ac9e5d
28 changed files with 211 additions and 83 deletions
+4 -4
View File
@@ -4,7 +4,7 @@ use std::{fmt, str::FromStr};
/// A skill specifier that can reference a skill in a specific repo or search the current directory.
///
/// The skill identifier (after the optional `repo:` or `org/repo:` prefix) can be either:
/// - A **simple skill name** - searched across skill directories with precedence (`.agents/skills/`, `.warp/skills/`, `.claude/skills/`, `.codex/skills/`)
/// - A **simple skill name** - searched across skill directories with precedence (`.agents/skills/`, `.warp-core/skills/`, `.claude/skills/`, `.codex/skills/`)
/// - A **full path to SKILL.md** - resolved directly without precedence
///
/// # Formats
@@ -19,7 +19,7 @@ use std::{fmt, str::FromStr};
///
/// Simple skill names (searched with directory precedence):
/// ```ignore
/// code-review // searches .agents/skills/, .warp/skills/, .claude/skills/, .codex/skills/
/// code-review // searches .agents/skills/, .warp-core/skills/, .claude/skills/, .codex/skills/
/// warp-internal:code-review // searches in "warp-internal" repo
/// warpdotdev/warp-internal:code-review // searches in specific org/repo
/// ```
@@ -38,7 +38,7 @@ pub struct SkillSpec {
pub repo: Option<String>,
/// The skill identifier - either a simple name or a full path to SKILL.md.
///
/// - **Simple name** (e.g., `"code-review"`): Searched across `.agents/skills/`, `.warp/skills/`, `.claude/skills/`, `.codex/skills/`
/// - **Simple name** (e.g., `"code-review"`): Searched across `.agents/skills/`, `.warp-core/skills/`, `.claude/skills/`, `.codex/skills/`
/// in precedence order. The name is used to construct paths like `.claude/skills/code-review/SKILL.md`.
///
/// - **Full path** (e.g., `".claude/skills/code-review/SKILL.md"`): Resolved directly without precedence.
@@ -87,7 +87,7 @@ impl SkillSpec {
/// - `deploy`
///
/// Full paths are resolved directly, while simple names are searched across
/// skill directories in precedence order (`.agents/skills/`, `.warp/skills/`, `.claude/skills/`, `.codex/skills/`).
/// skill directories in precedence order (`.agents/skills/`, `.warp-core/skills/`, `.claude/skills/`, `.codex/skills/`).
///
/// Uses cross-platform path semantics via [`std::path::Path`].
pub fn is_full_path(&self) -> bool {