Skip to content
Back to skills

003 Name Skill C8e4a96c

ASecurity

Use when the user wants to generate a companion-specific reference file from existing org library notes. Processes library notes chapter-by-chapter, filtering and reframing concepts for the current companion's needs. Requires a book with complete or in-progress library notes.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
research

Works with

  • cli

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 003-name-skill_c8e4a96c --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 003 Name Skill C8e4a96c?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 003 Name Skill C8e4a96c
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-003-name-skill-c8e4a96c/badge)](https://www.skillsdirectory.com/skills/tools-only-003-name-skill-c8e4a96c)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: contextualize
description: >
  Use when the user wants to generate a companion-specific reference file from existing org library
  notes. Processes library notes chapter-by-chapter, filtering and reframing concepts for the
  current companion's needs. Requires a book with complete or in-progress library notes.
disable-model-invocation: true
argument-hint: "[book-search-term] [client/companion]"
---

# /contextualize — Generate Companion-Specific Reference from Library Notes

Take existing companion-neutral library notes and generate a reference file tailored to a specific companion — without re-reading the book.

**Usage:**
- `/contextualize [book-search-term]` — Search org library, use current companion
- `/contextualize [book-search-term] [client/companion]` — Override companion

**Examples:**
```
/contextualize king                                   # Finds king-on-writing in library
/contextualize story-structure                        # Matches by subject tag
/contextualize king consortium.team/writing-companion # Override companion
```

---

## Step 0: Determine Companion and Organization

1. Parse `$ARGUMENTS`:
   - Last argument may be a companion path (contains `/`) — if so, use it as the companion
   - Remaining arguments are the book search term
2. If no companion path in arguments, read `tracking/current-companion.md` for the current companion
3. If no companion is set:
   ```
   No companion set. Use /companion to set or create one first.
   ```
4. Derive the organization from the client portion of the companion path (e.g., `consortium.team` from `consortium.team/writing-companion`)
5. Set `library_dir` = `companion-kits/private-kits/[org]-companion-kit/library/`
6. Set `companion_dir` = `companions/[client]/[companion]/`

**Declare collected values:**
```
Step 0 Complete. Collected values:
- Companion: [client/companion]
- Companion dir: [absolute path]
- Organization: [org]
- Library dir: [absolute path]
- Search term: [book-search-term]
```

---

## Step 1: Find the Library Book

1. Scan all `metadata.yaml` files in `[library_dir]/**/metadata.yaml`
2. For each metadata file, match the search term against:
   - Directory name (e.g., `king-on-writing`)
   - `title` field
   - `author` field
   - `subjects` array entries
3. Matching is case-insensitive and partial (e.g., "king" matches "Stephen King")

**Handle results:**

- **No matches:**
  ```
  No books matching "[search-term]" found in the [org] library.

  Available books:
  - [title] by [author] ([directory-name]) — [status]
  - ...

  Try a different search term.
  ```

- **Multiple matches:**
  ```
  Multiple books match "[search-term]":

  1. [title] by [author] — [status]
  2. [title] by [author] — [status]

  Which one?
  ```
  Wait for user to choose.

- **Single match:** Proceed to Step 2.

**Declare collected values:**
```
Step 1 Complete. Found book:
- Title: [title]
- Author: [author]
- Directory: [path]
- Status: [status]
- Subjects: [subjects]
```

---

## Step 2: Validate Book Status

Read the `metadata.yaml` for the matched book and check the `status` field:

- **`complete`** — Proceed to Step 3
- **`in-progress`** — Warn the user, then proceed:
  ```
  Note: This book's library notes are still in progress. Contextualizing what's available so far.
  ```
- **`needs-decontextualization`** — Block:
  ```
  This book's notes.md needs to be populated first. The library entry exists but
  the notes haven't been written yet.

  Use /read-book --library [org] to read and annotate this book first.
  ```
- **`not-yet-read`** — Block:
  ```
  This book hasn't been read yet.

  Use /read-book --library [org] [kindle-url] to read it first.
  ```

Also verify `notes.md` exists in the book's library directory and has substantive content (more than just a header/placeholder). If notes.md is missing or empty:
```
The library entry for this book exists but notes.md is missing or empty.
Use /read-book --library [org] to populate it first.
```

---

### Compliance Checkpoint 1

**Before proceeding to contextualization, confirm book and companion are correct:**
```
Ready to contextualize.

Book: [title] by [author]
Status: [status]
Companion: [client/companion]
Purpose: [companion purpose from context]

This will create a companion-specific reference file filtered for [companion]'s needs.
Proceed?
```

**STOP and wait for user confirmation.**

---

## Step 3: Load Companion Context

Read the following files from the companion directory:

1. `[companion_dir]/context/requirements.md`
2. `[companion_dir]/context/decisions.md`
3. `[companion_dir]/context/constraints.md`
4. `[companion_dir]/CLAUDE.md`

Extract and summarize:
- **Companion purpose** — What is this companion for?
- **Persona** — What persona does it use? What's its voice?
- **User profile** — Who uses this companion?
- **Key themes** — What topics/frameworks matter most?

Report what was loaded:
```
Step 3 Complete. Companion context loaded:
- Purpose: [brief summary]
- Persona: [persona name and key traits]
- User: [who the companion serves]
- Key themes: [list of themes/frameworks]
- Files read: [list of files successfully read]
- Files missing: [any context files not found]
```

---

## Step 4: Check for Existing Reference File

1. Search `[companion_dir]/reference/` for any file that appears to be a contextualization of this book
   - Match by author name, book title, or presence of the book's metadata in the file header
2. **If found with progress marker** (contains "Contextualization paused"):
   - Read the file to find where it left off
   - Report: "Found existing contextualization, paused at [chapter]. Resuming from there."
   - Skip to Step 6, starting from the next unprocessed chapter
3. **If found with completion marker** (contains "Contextualization complete"):
   ```
   A contextualized reference for this book already exists:
   [file path]

   Options:
   1. View the existing file
   2. Re-contextualize (overwrite)
   3. Cancel

   What would you like to do?
   ```
   Wait for user response.
4. **If not found** — Proceed to Step 5

---

## Step 5: Create the Reference File

1. Suggest filename: `[author-lastname]-[short-title]-companion-notes.md`
   - Confirm with user or let them override
2. Create the file in `[companion_dir]/reference/` with this header:

```markdown
# [Book Title] — Companion Reference

**Source:** [Author], *[Book Title]* (from [org] library)
**Library location:** [relative path to library book directory]
**Companion:** [companion name/purpose from Step 3]
**Purpose:** Concepts from this book filtered and reframed for this companion's specific needs
**Method:** Chapter-by-chapter contextualization from library notes.md

---
```

3. Create the `[companion_dir]/reference/` directory if it doesn't exist

---

## Step 6: Contextualize Chapter by Chapter

**This is the core loop. Process one chapter at a time.**

Read the library `notes.md` and identify all chapters.

**For each chapter:**

1. **Read the chapter's notes** from the library `notes.md`
2. **Filter:** For each concept/framework in the chapter, evaluate:
   - Is this relevant to this companion's purpose?
   - Is this relevant to this companion's users?
   - Does this connect to any of the companion's key themes?
3. **Rewrite relevant concepts** with companion-specific applicability:
   - How does this concept apply to what this companion does?
   - When would this companion invoke this concept?
   - What specific guidance does this give?
4. **Write the chapter section** to the reference file in this format:

```markdown
## Chapter [N] | [Chapter Title]

### Key Insights for [Companion Name]

1. **[Concept/Framework name]** — [Rewritten description focused on this companion's needs]

   **Application:** [Specific guidance for how/when this companion should use this concept]

2. **[Concept/Framework name]** — [Description]

   **Application:** [Guidance]

### Not Applicable from This Chapter

- **[Concept name]** — [Brief note on why it was filtered out for this companion]
- **[Concept name]** — [Why not applicable]

---
```

5. **Update progress marker** at the bottom of the reference file:
   ```
   *Contextualization paused after Chapter [N]: [Chapter Title]. [M] of [total] chapters complete.*
   ```
6. **Report to user:**
   ```
   Chapter [N]: [Title] — contextualized.
   - [X] concepts applied, [Y] filtered out

   Say **next** when ready for the next chapter.
   ```
7. **STOP and wait for the user to say "next"** — Do not continue without user confirmation

### Compliance Checkpoint 2

**After each chapter, this is a mandatory pause point.** Do not proceed to the next chapter until the user explicitly says "next" or equivalent. This gives the user review and pacing control.

---

## Step 7: Companion Synthesis

After all chapters are processed, write a master synthesis section at the end of the reference file:

```markdown
## Companion Synthesis

### Priority Frameworks

*Ranked by relevance to this companion's core purpose.*

1. **[Framework name]** (from Chapter [N])
   - **When to invoke:** [Specific trigger/situation]
   - **How to apply:** [Concrete guidance]

2. **[Framework name]** (from Chapter [N])
   - **When to invoke:** [Trigger]
   - **How to apply:** [Guidance]

3. **[Framework name]** (from Chapter [N])
   - **When to invoke:** [Trigger]
   - **How to apply:** [Guidance]

[3-5 frameworks total]

### What This Book Doesn't Cover

- [Gap 1 relative to this companion's needs]
- [Gap 2]

### Integration Notes

- [How these frameworks connect to other reference material in the companion]
- [Potential tensions or complementary relationships with existing guidance]
```

Replace the progress marker with a completion marker:
```
*Contextualization complete. [N] chapters processed, [X] concepts applied, [Y] filtered.*
```

---

### Compliance Checkpoint 3

**After writing the synthesis, present it to the user for review:**
```
Contextualization complete.

**Top frameworks extracted:**
1. [Framework 1]
2. [Framework 2]
3. [Framework 3]

**Gaps identified:**
- [Gap 1]
- [Gap 2]

Does the synthesis look accurate? Any frameworks to add or re-prioritize?
```

**STOP and wait for user confirmation before recording.**

---

## Step 8: Record the Contextualization

1. Add a row to `[companion_dir]/context/decisions.md`:
   ```
   | Contextualized [Book Title] for companion | [Top 3 frameworks extracted]; [N] concepts filtered as not applicable | [date] |
   ```
   Create the decisions table if it doesn't exist.

2. Report to user:
   ```
   ## Contextualization Complete

   **File:** [relative path to reference file]
   **Chapters processed:** [N]
   **Concepts applied:** [X]
   **Concepts filtered:** [Y]

   **Top frameworks:**
   1. [Framework 1]
   2. [Framework 2]
   3. [Framework 3]

   The reference file is ready for use by the companion.
   ```

---

## Design Rationale

- **notes.md, not synthesis.md** — Full signal, not lossy summary. synthesis.md is for `/intake` discovery; notes.md has the detail needed for companion-specific filtering.
- **Chapter-by-chapter with writes** — Same resilience pattern as `/read-book`. If context compaction hits, at most one chapter's work is lost.
- **User says "next"** — Pacing control and natural breakpoints. User can review each chapter's contextualization.
- **Filter, don't copy** — The value is in deciding what matters for THIS companion, not in reproducing the library notes.
- **Record skipped content** — "Not Applicable" sections enable reviewability and future re-contextualization with different criteria.
- **Status gating** — Only `complete` or `in-progress` books are eligible, preventing contextualization of empty stubs.
- **Progress markers** — Enable resume after interruption, matching the `/read-book` resilience pattern.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.