# How book-to-skill Supports Multiple Agent Skills Hosts Like Amp and Claude Code

> Discover how book-to-skill enables universal agent skill bundles compatible with hosts like Amp and Claude Code. Learn about standardized directory support for seamless integration.

- Repository: [Virgilio Junior/book-to-skill](https://github.com/virgiliojr94/book-to-skill)
- Tags: deep-dive
- Published: 2026-08-30

---

**`book-to-skill` generates a single host-agnostic skill bundle that any Agent-Skills compatible host can consume by writing to standardized directories that each platform monitors.**

The `virgiliojr94/book-to-skill` repository converts technical books into interactive agent skills using the open Agent Skills format. Because the specification is platform-neutral, the same generated bundle works across GitHub Copilot CLI, Amp, Claude Code, and other compatible hosts without modification.

## The Open Agent Skills Format

The tool outputs a canonical skill structure that all hosts interpret identically. When you process a book, `book-to-skill` creates a directory named after the book's slug (e.g., `designing-data-intensive-apps/`) containing:

- [`SKILL.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/SKILL.md) – The core skill definition consumed by every host
- `chapters/*.md` – Individual chapter content loaded on demand
- [`glossary.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/glossary.md), [`patterns.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/patterns.md), [`cheatsheet.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/cheatsheet.md) – Auxiliary reference files

This standardized layout is defined in the repository's [[`SKILL.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/SKILL.md)](https://github.com/virgiliojr94/book-to-skill/blob/master/SKILL.md) specification. Because every host reads the same format, no host-specific transformation logic exists inside the extractor.

## Host-Specific Installation Paths

While the skill format remains constant, each host monitors a distinct filesystem location for skill discovery. According to [[`docs/architecture.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/docs/architecture.md)](https://github.com/virgiliojr94/book-to-skill/blob/master/docs/architecture.md) (lines 40-45), the tool maps the same bundle to the following directories:

- **GitHub Copilot CLI** → `~/.copilot/skills/<slug>/`
- **Amp** (cross-agent) → `~/.agents/skills/<slug>/` (with fallback to `~/.config/agents/skills/` or `~/.config/amp/skills/`)
- **Claude Code** → `~/.claude/skills/<slug>/`

The only host-specific step involves copying the generated folder to the appropriate location or letting the host discover it automatically during the next session initialization.

## Automatic Host Detection

The CLI automatically determines the output directory based on the execution environment. As implemented in [[`book_to_skill/cli.py`](https://github.com/virgiliojr94/book-to-skill/blob/main/book_to_skill/cli.py)](https://github.com/virgiliojr94/book-to-skill/blob/master/book_to_skill/cli.py), the tool detects which host launched the current session and routes the skill to the corresponding path defined in [[`book_to_skill/config.py`](https://github.com/virgiliojr94/book-to-skill/blob/main/book_to_skill/config.py)](https://github.com/virgiliojr94/book-to-skill/blob/master/book_to_skill/config.py).

### GitHub Copilot CLI

When executed from within a Copilot CLI session, the skill is written directly to `~/.copilot/skills/<slug>/` and is immediately available without restart.

```bash

# Run inside a Copilot CLI session

book-to-skill my-book.pdf

# Output: ~/.copilot/skills/my-book/SKILL.md

```

### Amp (Cross-Agent)

Amp watches the cross-agent directory at `~/.agents/skills/<slug>/`. When running inside an Amp session, the tool selects this path automatically. Amp picks up the skill on the next session start.

```bash

# Execute from an Amp terminal

book-to-skill architecture-guide.pdf

# Output: ~/.agents/skills/architecture-guide/SKILL.md

```

### Claude Code

Claude Code monitors `~/.claude/skills/<slug>/`. Running the command from a terminal launched by Claude Code places the skill in this directory, with the host reloading skills on the next session initialization.

```bash

# Run from Claude Code's integrated terminal

book-to-skill design-patterns.pdf

# Output: ~/.claude/skills/design-patterns/SKILL.md

```

## Working with Skills Across Hosts

When running outside any recognized host environment, the tool deposits the skill in the current working directory, allowing manual placement into any host's skill path.

```bash

# Generate skill without host detection

book-to-skill my-book.pdf

# Manual installation for Amp

mkdir -p ~/.agents/skills/my-book
cp -r my-book/ ~/.agents/skills/

# Manual installation for Claude Code

mkdir -p ~/.claude/skills/my-book
cp -r my-book/ ~/.claude/skills/

```

The reload behavior varies by platform. As documented in [[`docs/usage.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/docs/usage.md)](https://github.com/virgiliojr94/book-to-skill/blob/master/docs/usage.md), GitHub Copilot CLI recognizes new skills immediately, while Amp and Claude Code require a session restart to load freshly installed skills.

## Summary

- `book-to-skill` produces a single **host-agnostic skill bundle** using the open Agent Skills format
- The canonical output includes [`SKILL.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/SKILL.md) plus supporting files under a slug-named directory
- **Host-specific paths** are handled through directory mapping rather than code transformation
- Automatic detection in [`cli.py`](https://github.com/virgiliojr94/book-to-skill/blob/main/cli.py) routes output to `~/.copilot/`, `~/.agents/`, or `~/.claude/` based on the active session
- Manual copying works for any host when running outside a managed session

## Frequently Asked Questions

### Can I use the same skill bundle for multiple hosts simultaneously?

Yes. Because the skill format is standardized, you can copy the generated directory to `~/.copilot/skills/`, `~/.agents/skills/`, and `~/.claude/skills/` concurrently. Each host reads the same [`SKILL.md`](https://github.com/virgiliojr94/book-to-skill/blob/main/SKILL.md) and chapter files without conflicts.

### How does the tool detect which host is running?

The CLI examines environment variables and parent process information to determine the active host context. When detected, it selects the appropriate root path from the configuration defined in [`config.py`](https://github.com/virgiliojr94/book-to-skill/blob/main/config.py). If no host is detected, it defaults to the current working directory.

### Do I need to restart Amp or Claude Code after installing a skill?

Yes. While GitHub Copilot CLI monitors skill directories dynamically, Amp and Claude Code load skills at session initialization. After copying a skill to `~/.agents/skills/` or `~/.claude/skills/`, restart the host application to make the skill available.

### What file extensions does book-to-skill support for input?

The supported extensions are defined in [[`book_to_skill/config.py`](https://github.com/virgiliojr94/book-to-skill/blob/main/book_to_skill/config.py)](https://github.com/virgiliojr94/book-to-skill/blob/master/book_to_skill/config.py). The tool primarily processes PDF files containing technical book content, extracting structure into the markdown-based Agent Skills format.