--- name: 10x-cli-guide description: "Invoke this skill when the user asks how to USE the 10x-cli day-to-day — fetching lessons, listing modules, switching AI tools, troubleshooting errors, understanding where artifacts land, or working on a specific OS (Windows, Linux, macOS). Covers commands (get, list, doctor, auth --status/--logout), tool profiles, artifact locations, common errors, and platform-specific tips. Excludes: first-time installation and onboarding (use 10x-cli-setup instead), developing or contributing to 10x-cli source code, and general programming help." --- # 10x-cli Daily Usage Guide This skill helps users work with `@przeprogramowani/10x-cli` after it is already installed and authenticated. If the user has not installed or authenticated yet, hand off to the **10x-cli-setup** skill instead. ## Step 1: Detect the user's environment Before giving any guidance, gather context silently — run these checks and remember the results. Do not print raw output to the user. ### Operating system ```bash echo "$OSTYPE" 2>/dev/null || echo "win32" ``` Use the result to tailor path separators, shell syntax, and clipboard commands throughout your answers: | OS | Shell | Home var | Clipboard | Temp dir | |----|-------|----------|-----------|----------| | macOS (`darwin*`) | zsh / bash | `$HOME` | `pbcopy` | `$TMPDIR` | | Linux (`linux-gnu*`) | bash / zsh | `$HOME` | `xclip -selection clipboard` or `xsel --clipboard` | `/tmp` | | Windows (`win32` / MSYS / Git Bash) | PowerShell / cmd | `%USERPROFILE%` | `clip.exe` | `%TEMP%` | ### Active AI tool ```bash 10x doctor --json 2>/dev/null | head -1 ``` Also check which tool profile is configured: ```bash cat ~/.config/10x-cli/config.json 2>/dev/null || cat "$APPDATA/10x-cli/config.json" 2>/dev/null || echo "{}" ``` If the config contains a `"tool"` key, that is the active profile. If not, the default is `claude-code`. ### CLI version ```bash 10x --version ``` ## Step 2: Answer the user's question using the reference below Use the environment context from Step 1 to personalize every answer. Always use the OS-appropriate shell syntax, paths, and commands. Never show macOS-specific commands to a Windows user or vice versa. --- ## Command Reference ### `10x get ` — Fetch and apply lesson artifacts The primary daily command. Fetches a lesson bundle from the API and writes skills, prompts, rules, and config templates to the project directory. ```bash 10x get m1l1 # Fetch module 1, lesson 1 10x get m2l3 # Fetch module 2, lesson 3 10x get m1l1 --dry-run # Preview what would be written 10x get m1l1 --tool cursor # Use a different AI tool profile 10x get m1l1 --lang pl # Fetch Polish content ``` **Filtering artifacts:** ```bash 10x get m1l1 --type skills # Only skills 10x get m1l1 --type skills --name code-review # One specific skill 10x get m1l1 --print --type skills --name code-review # Print to stdout ``` **Where artifacts land** (depends on the active tool profile): | Tool | Skills | Prompts | Rules file | Config templates | |------|--------|---------|------------|------------------| | Claude Code | `.claude/skills//SKILL.md` | `.claude/prompts/.md` | `CLAUDE.md` | `.claude/config-templates/` | | Cursor | `.cursor/skills//SKILL.md` | `.cursor/prompts/.md` | `.cursor/rules/10x-course.mdc` | `.cursor/config-templates/` | | GitHub Copilot | `.github/skills//SKILL.md` | `.github/prompts/.md` | `.github/copilot-instructions.md` | `.github/config-templates/` | | Codex CLI | `.agents/skills//SKILL.md` | `.agents/prompts/.md` | `AGENTS.md` | `.agents/config-templates/` | | Generic | `.ai/skills//SKILL.md` | `.ai/prompts/.md` | `AGENTS.md` | `.ai/config-templates/` | **Re-applying a lesson** overwrites skills and prompts if content changed, updates the rules sentinel block, but never overwrites config templates (they may contain user edits). **Switching lessons** cleans up artifacts from the previous lesson that are not in the new one, keeps shared artifacts, and adds new ones. ### `10x list [module]` — Browse available content ```bash 10x list # Show all modules with lock state 10x list m1 # Show lessons in module 1 ``` Locked modules show their unlock date. Use this to see what is available before fetching. ### `10x doctor` — Diagnose problems Runs 5 checks: Auth status, API connectivity, Config directory, CLI version, and tool directory presence. ```bash 10x doctor # Human-readable output 10x doctor --json # Machine-readable for scripting ``` Exit code 78 means at least one check failed. ### `10x auth` — Session management ```bash 10x auth # Start magic-link login 10x auth --status # Check current session 10x auth --logout # Clear credentials ``` Sessions refresh transparently — if a token is near expiry, the next command refreshes it automatically. You only need to re-auth manually if the session has fully expired. --- ## Switching Tools To change your AI tool (e.g., from Claude Code to Cursor): ```bash 10x get m1l1 --tool cursor ``` The CLI will detect that artifacts from the old tool exist and offer two options: 1. **Migrate** (default) — move all artifacts to the new tool's directories, remove the sentinel block from the old rules file. 2. **Delete** — remove only 10x-managed artifacts from the old tool's directories. Your own files (e.g., `.github/workflows/`) are never touched. The tool choice is saved in the config file (`~/.config/10x-cli/config.json` on macOS/Linux, `%APPDATA%/10x-cli/config.json` on Windows). Future `get` commands will use the new tool without needing `--tool` again. --- ## Platform-Specific Tips ### Windows - **Use PowerShell** (not cmd.exe). The CLI outputs ANSI colors and Unicode symbols that render correctly in Windows Terminal + PowerShell but may garble in legacy cmd. - **npx works fine**: `npx @przeprogramowani/10x-cli get m1l1` — no global install needed. Node 20+ is the only prerequisite. - **Clipboard**: Skills that copy to clipboard use `clip.exe` on Windows. If a skill outputs a clipboard command, it will fall back silently if `clip.exe` is unavailable. - **Config location**: `%APPDATA%\10x-cli\config.json` and `%APPDATA%\10x-cli\auth.json`. The CLI creates these automatically. - **Path separators**: The CLI uses Node's `path.join()` internally, so forward slashes in command output (like `.claude/skills/code-review/SKILL.md`) work fine on Windows — no need to convert them. ### Linux - **Clipboard**: Skills use `xclip -selection clipboard` or `xsel --clipboard`. If neither is installed, clipboard operations fail silently. Install with `sudo apt install xclip` (Debian/Ubuntu) or `sudo dnf install xclip` (Fedora). - **Config location**: `~/.config/10x-cli/` (respects `$XDG_CONFIG_HOME` if set). ### macOS - **Clipboard**: Skills use `pbcopy` — works out of the box. - **Config location**: `~/.config/10x-cli/`. --- ## Troubleshooting When the user reports a problem, follow this sequence: ### 1. Run doctor first ```bash 10x doctor ``` This catches the most common issues. Read the output and address each failing check. ### 2. Common problems and fixes | Symptom | Likely cause | Fix | |---------|-------------|-----| | "You're not signed in" | No auth or expired session | `10x auth` | | "Session expired" | Token past expiry and auto-refresh failed | `10x auth` (re-login) | | API unreachable / timeout | Network issue or API outage | Check internet; retry in a few minutes | | "Module is locked" | Content not yet released | `10x list` to see unlock date | | `.claude/` not found (doctor fail) | Running from wrong directory or wrong tool profile | `cd` to project root; check `10x doctor --json` for which tool is configured | | "403 Forbidden" on `10x get` | Module locked or no membership | Check `10x list` for module state; verify enrollment | | Orphaned artifact prompt on `get` | Switching tools mid-lesson | Choose "migrate" to move files, or "delete" to clean up | | Permission denied writing files | Directory not writable | Check directory permissions; on POSIX: `chmod u+w ` | ### 3. Verbose mode for deeper debugging ```bash 10x get m1l1 --verbose 10x doctor --verbose ``` This prints request/response diagnostics to stderr, useful for diagnosing API or network issues. ### 4. Nuclear reset If config is corrupted: On macOS/Linux: ```bash rm -rf ~/.config/10x-cli 10x auth ``` On Windows (PowerShell): ```powershell Remove-Item -Recurse -Force "$env:APPDATA\10x-cli" 10x auth ``` This clears auth and tool preference. The next `10x auth` recreates everything. --- ## Important Principles - **Answer with the user's OS and tool in mind.** Never show `pbcopy` to a Windows user. Never show `%APPDATA%` to a macOS user. - **Run `10x doctor` before speculating.** It catches 80% of issues. - **Don't guess command syntax from memory.** If unsure about a flag or behavior, fetch the latest README: `https://raw.githubusercontent.com/przeprogramowani/10x-cli/refs/heads/master/README.md` - **Distinguish tool profile issues from CLI issues.** If artifacts land in the wrong directory, it is a tool profile question. If the command itself fails, it is a CLI/auth/network question.