Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "taskyou",
"description": "Install and manage TaskYou — a personal task management system with Kanban board, background AI execution, and git worktree isolation.",
"version": "1.0.0",
"author": {
"name": "bborn"
},
"homepage": "https://github.com/bborn/taskyou",
"repository": "https://github.com/bborn/taskyou",
"license": "MIT"
}
28 changes: 23 additions & 5 deletions docs/orchestrator.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,37 @@ Task You's Kanban UI is great for humans, but every action it performs is also a

## Using the Claude Code Skill

Task You includes a `/taskyou` skill that teaches Claude Code (or any compatible agent) how to manage your task queue via CLI.
TaskYou includes a `/taskyou` skill that teaches Claude Code (or any compatible agent) how to install and manage your task queue via CLI.

**Automatic availability:** When working inside the Task You project, the skill is automatically loaded from `skills/taskyou/`.
### Installation Methods

**Global installation:** To use the skill from any project, run:
**1. Quick install (recommended — no repo needed):**

```bash
curl -fsSL raw.githubusercontent.com/bborn/taskyou/main/scripts/install-skill.sh | bash
```

This downloads the skill to `~/.claude/skills/taskyou/` so you can use `/taskyou` from any project.

**2. Plugin install (via Claude Code):**

```
/plugin install taskyou@bborn-taskyou
```

**3. From within the repo:**

```bash
./scripts/install-skill.sh
```

This symlinks the skill to `~/.claude/skills/taskyou/` for personal access across all projects.
This symlinks the skill from the repo to `~/.claude/skills/taskyou/`.

**4. Automatic:** When working inside the TaskYou project, the skill is automatically loaded from `skills/taskyou/`.

### What It Does

Once available, you can say things like:
The skill guides installation of the `ty` CLI if not present, then provides full orchestration capabilities. Once available, you can say things like:

- "Show me my task board"
- "Execute the top priority task"
Expand Down
78 changes: 51 additions & 27 deletions scripts/install-skill.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
#!/bin/bash
# Install the Task You skill for Claude Code (personal/global installation)
# Install the TaskYou skill for Claude Code
#
# The skill is already available when working inside the Task You project
# (at skills/taskyou/SKILL.md). This script installs it globally
# so you can use /taskyou from any project.
# Two modes:
# 1. Local: Run from within the TaskYou repo to symlink the skill globally
# 2. Remote: Download the skill directly from GitHub (no repo needed)
#
# Usage:
# ./scripts/install-skill.sh
# From repo: ./scripts/install-skill.sh
# Remote: curl -fsSL raw.githubusercontent.com/bborn/taskyou/main/scripts/install-skill.sh | bash

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
SKILL_SOURCE="$PROJECT_DIR/skills/taskyou"
REPO="bborn/taskyou"
BRANCH="main"
SKILL_TARGET="$HOME/.claude/skills/taskyou"

# Colors for output
Expand All @@ -22,38 +22,62 @@ YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

echo "Installing Task You skill for Claude Code..."
info() { echo -e "${GREEN}==>${NC} $1"; }
warn() { echo -e "${YELLOW}Warning:${NC} $1"; }
error() { echo -e "${RED}Error:${NC} $1" >&2; exit 1; }

# Check if skill source exists
if [ ! -d "$SKILL_SOURCE" ]; then
echo -e "${RED}Error: Skill source not found at $SKILL_SOURCE${NC}"
exit 1
fi
echo ""
echo " TaskYou Skill Installer"
echo " ========================"
echo ""

# Create skills directory if it doesn't exist
# Create skills directory
mkdir -p "$HOME/.claude/skills"

# Remove existing symlink or directory
# Remove existing
if [ -L "$SKILL_TARGET" ]; then
echo -e "${YELLOW}Removing existing symlink...${NC}"
rm "$SKILL_TARGET"
elif [ -d "$SKILL_TARGET" ]; then
echo -e "${YELLOW}Removing existing directory...${NC}"
rm -rf "$SKILL_TARGET"
fi

# Create symlink
ln -s "$SKILL_SOURCE" "$SKILL_TARGET"
# Check if running from within the repo
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}" 2>/dev/null)" && pwd 2>/dev/null)" || SCRIPT_DIR=""
PROJECT_DIR="$(dirname "$SCRIPT_DIR" 2>/dev/null)" || PROJECT_DIR=""
SKILL_SOURCE="$PROJECT_DIR/skills/taskyou"

if [ -n "$SCRIPT_DIR" ] && [ -f "$SKILL_SOURCE/SKILL.md" ]; then
# Local mode: symlink from the repo
info "Installing from local repo..."
ln -s "$SKILL_SOURCE" "$SKILL_TARGET"
info "Symlinked $SKILL_TARGET -> $SKILL_SOURCE"
else
# Remote mode: download from GitHub
info "Downloading skill from GitHub..."
mkdir -p "$SKILL_TARGET"

SKILL_URL="https://raw.githubusercontent.com/${REPO}/${BRANCH}/skills/taskyou/SKILL.md"
if ! curl -fsSL "$SKILL_URL" -o "$SKILL_TARGET/SKILL.md"; then
rm -rf "$SKILL_TARGET"
error "Failed to download skill from $SKILL_URL"
fi

info "Downloaded to $SKILL_TARGET/SKILL.md"
fi

echo -e "${GREEN}Success!${NC} Task You skill installed globally."
echo ""
echo -e "${GREEN}Success!${NC} TaskYou skill installed for Claude Code."
echo ""
echo -e "${BLUE}Usage:${NC}"
echo " Type /taskyou in Claude Code to invoke the skill"
echo " Or ask Claude to 'manage my task queue' and it will use the skill automatically"
echo " Or ask Claude to 'manage my task queue' it will use the skill automatically"
echo ""
echo -e "${BLUE}CLI commands:${NC}"
echo " Use 'ty' or 'taskyou' to interact with Task You from the command line"

# Check if ty is installed
if command -v ty &>/dev/null; then
echo -e "${BLUE}TaskYou CLI:${NC} $(ty --version 2>/dev/null || echo 'installed')"
else
echo -e "${YELLOW}TaskYou CLI not found.${NC} The skill will guide installation when invoked."
echo " Or install now: curl -fsSL taskyou.dev/install.sh | bash"
fi
echo ""
echo -e "${BLUE}Note:${NC}"
echo " The skill is also available automatically when working inside the Task You project."
echo " This global install lets you use /taskyou from any directory."
Loading