Files
Thejesh ddbe19a0e8 fix(install.sh): stop advertising plugin names that don't exist (#165)
The generated install commands referenced skill-creator@daymade-skills,
markdown-tools@daymade-skills, mermaid-tools@daymade-skills, and
statusline-generator@daymade-skills. None of those plugin names appear
in .claude-plugin/marketplace.json, so pasting the emitted commands into
Claude Code fails.

skill-creator ships inside the daymade-skill plugin (README already
recommends `claude plugin install daymade-skill@daymade-skills`), so
swap that in and drop the three names that were never published. Also
bound the custom-selection loop by the array length instead of a
hard-coded 8.
2026-07-20 06:09:30 +08:00

143 lines
4.7 KiB
Bash
Executable File

#!/bin/bash
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
echo "================================================"
echo "Claude Code Skills Marketplace Installer"
echo "================================================"
echo ""
# Detect OS
OS="$(uname -s)"
case "${OS}" in
Linux*) MACHINE=Linux;;
Darwin*) MACHINE=macOS;;
*) MACHINE="UNKNOWN:${OS}"
esac
echo "Detected OS: ${MACHINE}"
echo ""
# Check if Claude Code is installed
if ! command -v claude &> /dev/null; then
echo -e "${RED}Error: Claude Code not found!${NC}"
echo "Please install Claude Code first: https://claude.com/code"
exit 1
fi
echo -e "${GREEN}✓ Claude Code detected${NC}"
echo ""
# Check if running interactively
if [ -t 0 ]; then
# Interactive mode
echo "What would you like to install?"
echo ""
echo "1) daymade-skill only (RECOMMENDED - bundles skill-creator and friends)"
echo "2) All plugins"
echo "3) Custom selection"
echo "4) Exit"
echo ""
read -p "Enter your choice (1-4): " choice
else
# Non-interactive mode (piped from curl)
echo -e "${YELLOW}Running in non-interactive mode.${NC}"
echo "Defaulting to option 1: daymade-skill only (RECOMMENDED)"
echo ""
echo "To run interactively, download and run directly:"
echo " curl -fsSL https://raw.githubusercontent.com/daymade/claude-code-skills/main/scripts/install.sh -o install.sh"
echo " bash install.sh"
echo ""
choice=1
fi
case $choice in
1)
echo ""
echo -e "${CYAN}Installing daymade-skill (bundles skill-creator)...${NC}"
echo ""
echo "Run these commands in Claude Code:"
echo ""
echo -e "${YELLOW}claude plugin marketplace add https://github.com/daymade/claude-code-skills${NC}"
echo -e "${YELLOW}claude plugin install daymade-skill@daymade-skills${NC}"
echo ""
echo -e "${GREEN}After installation, ask Claude Code:${NC}"
echo " \"Create a new skill called my-awesome-skill in ~/my-skills\""
echo " \"Validate my skill at ~/my-skills/my-awesome-skill\""
echo " \"Package my skill at ~/my-skills/my-awesome-skill\""
echo ""
echo "Claude Code will guide you through the skill creation process!"
;;
2)
echo ""
echo -e "${CYAN}Installing all featured plugins...${NC}"
echo ""
echo "Run these commands in Claude Code:"
echo ""
echo -e "${YELLOW}claude plugin marketplace add https://github.com/daymade/claude-code-skills${NC}"
echo ""
# Only publish plugin names that actually exist in .claude-plugin/marketplace.json.
for skill in daymade-skill github-ops teams-channel-post-writer repomix-unmixer llm-icon-finder; do
echo -e "${YELLOW}claude plugin install ${skill}@daymade-skills${NC}"
done
;;
3)
echo ""
echo "Available plugins:"
echo " 1) daymade-skill (bundles skill-creator and friends)"
echo " 2) github-ops (GitHub operations)"
echo " 3) teams-channel-post-writer (Teams communication)"
echo " 4) repomix-unmixer (repomix extraction)"
echo " 5) llm-icon-finder (AI/LLM icons)"
echo ""
if [ -t 0 ]; then
read -p "Enter plugin numbers separated by spaces (e.g., '1 2 3'): " selections
else
echo -e "${YELLOW}Non-interactive mode: Installing daymade-skill only${NC}"
selections="1"
fi
echo ""
echo "Run these commands in Claude Code:"
echo ""
echo -e "${YELLOW}claude plugin marketplace add https://github.com/daymade/claude-code-skills${NC}"
echo ""
SKILLS=(daymade-skill github-ops teams-channel-post-writer repomix-unmixer llm-icon-finder)
for num in $selections; do
idx=$((num-1))
if [ $idx -ge 0 ] && [ $idx -lt ${#SKILLS[@]} ]; then
echo -e "${YELLOW}claude plugin install ${SKILLS[$idx]}@daymade-skills${NC}"
fi
done
;;
4)
echo "Installation cancelled."
exit 0
;;
*)
echo -e "${RED}Invalid choice!${NC}"
exit 1
;;
esac
echo ""
echo -e "${GREEN}================================================${NC}"
echo -e "${GREEN}Installation commands generated!${NC}"
echo -e "${GREEN}================================================${NC}"
echo ""
echo "Next steps:"
echo "1. Copy the commands above"
echo "2. Paste them into Claude Code"
echo "3. Restart Claude Code"
echo "4. Start using your skills!"
echo ""
echo "Documentation: https://github.com/daymade/claude-code-skills"
echo ""