How to Install Distilled Skills into Claude Code or Cursor Skills Directory
Copy (or symlink) the skill folder from books/<book-slug>/<skill-slug>/ to your target skills directory—~/.claude/skills/ for user-level access, <project>/.claude/skills/ for Claude Code projects, or .cursor/skills/ for Cursor projects.
The cangjie-skill pipeline transforms books, video transcripts, podcasts, and courses into atomic, reusable skills. Each skill is a self-contained folder with a canonical SKILL.md and test-prompts.json. To make these skills available to Claude Code or Cursor, you must install them into the appropriate skills directory. Below are the exact paths, copy commands, and verification steps as implemented in the kangarooking/cangjie-skill source.
Understanding the Skill Output Structure
After the pipeline's delivery stage, every generated skill resides at:
books/<book-slug>/<skill-slug>/
Inside each folder you'll find:
SKILL.md— the canonical skill definition with system prompt and guidelinestest-prompts.json— validation prompts used to verify the skill triggers correctly
The pipeline asks once which installation target you prefer, then generates copy commands accordingly (methodology/07-stage5-deliver.md, lines 48-52). You can also skip installation entirely to keep skills as repository artifacts.
Installation Target Paths
Choose your destination based on scope and editor:
| Installation target | Path pattern |
|---|---|
| User-level (global, all projects) | ~/.claude/skills/<skill-slug>/ |
| Project-level for Claude Code | <project-root>/.claude/skills/<skill-slug>/ |
| Project-level for Cursor | <project-root>/.cursor/skills/<skill-slug>/ |
The copy commands are baked into templates/INDEX.md.template (lines 63-66):
cp -r {{skill-slug-1}} ~/.claude/skills/ # user-level
cp -r {{skill-slug-1}} <project>/.claude/skills/ # Claude Code project-level
cp -r {{skill-slug-1}} .cursor/skills/ # Cursor project-level
Copying Skills: Practical Examples
Example 1: Install a Single Skill (User-Level Claude Code)
# From the cangjie-skill repository root
cp -r books/clean-code/naming-conventions ~/.claude/skills/
The skill is now available to Claude Code in any project on your machine.
Example 2: Batch Install All Verified Skills (Cursor Project-Level)
# From your target project root
mkdir -p .cursor/skills
for d in /path/to/cangjie-skill/books/*/*; do
if [ -f "$d/test-prompts.json" ]; then
cp -r "$d" .cursor/skills/
echo "Installed: $(basename "$d")"
fi
done
This loop only copies skills that passed validation (presence of test-prompts.json confirms completion of earlier pipeline stages).
Example 3: Symlink Instead of Copy (Development Workflow)
# Keeps the skill in the repo; editors see live changes
ln -s "$(pwd)/books/design-patterns/strategy-pattern" ~/.claude/skills/strategy-pattern
Symlinks are ideal when iterating on skill content before finalizing.
Verifying the Installation
The pipeline's delivery stage (step 4) verifies at least one skill triggers with a one-sentence should_trigger prompt. Replicate this check manually:
cd ~/.claude/skills/naming-conventions
# Extract a test prompt from the skill's validation file
jq -r '.should_trigger[0]' test-prompts.json | claude-cli --run
Successful execution confirms:
- The skill is in the correct directory structure
SKILL.mdis properly formatted and parseable- The trigger conditions match natural language inputs
If testing in Cursor, use the Cursor CLI or invoke the skill through the editor's agent panel with a matching prompt.
Key Files in the Repo
| File | Purpose |
|---|---|
methodology/07-stage5-deliver.md |
Detailed installation process and user interaction flow |
templates/INDEX.md.template |
Template generating the actual cp -r commands |
SKILL.md |
Skill specification format, including installation requirements |
README.md |
Pipeline overview with delivery stage summary |
Summary
- Install location:
~/.claude/skills/(global),.claude/skills/or.cursor/skills/(project-level) - Source format: Each skill is a folder with
SKILL.md+test-prompts.jsonunderbooks/<book-slug>/<skill-slug>/ - Copy method: Use
cp -rfor permanence,ln -sfor development; commands are pre-generated inINDEX.md - Validation: Pipeline verifies triggerability automatically; manual check uses
test-prompts.jsonentries
Frequently Asked Questions
Can I install skills without copying them out of the repository?
Yes. Skip the copy step entirely if you prefer to keep skills as repository artifacts—for example, to version-control them on GitHub or share across teams. The pipeline makes this optional (methodology/07-stage5-deliver.md, lines 48-52).
What's the difference between user-level and project-level installation?
User-level (~/.claude/skills/) makes skills available to Claude Code in any project on your machine. Project-level (.claude/skills/ or .cursor/skills/) limits scope to a single codebase—useful for domain-specific skills that shouldn't pollute global context.
How does the pipeline know which installation target to use?
It prompts you once at the delivery stage, then injects your choice into the generated INDEX.md. This avoids repetitive per-skill prompting and produces reusable installation commands.
What happens if a skill fails the trigger verification?
The pipeline flags it in the delivery report. You can still install the skill manually, but expect unreliable activation. Review SKILL.md for overly restrictive trigger conditions or missing context in test-prompts.json.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →