$npx -y skills add yha9806/academic-writing-toolkit --skill mapShow or update the mapping between literature and thesis chapters — which sources support which arguments. Use for tracking coverage.
| 1 | # /map — Literature-Thesis Mapping Skill |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Build and display a mapping matrix showing which literature sources support which thesis chapters. Identify coverage gaps where chapters lack sufficient source support. |
| 6 | |
| 7 | ## Trigger Words |
| 8 | |
| 9 | This skill activates on: `map`, `show mapping`, `coverage`, `which sources`, `/map`. |
| 10 | |
| 11 | ## Workflow |
| 12 | |
| 13 | 1. **Scan all notes files** in `literature/reading_notes/` using Glob (`*_NOTES.md`). For each file, extract: |
| 14 | - Author and title (from the `# Reading Notes:` heading) |
| 15 | - `Status` field value |
| 16 | - `Relevance` field value |
| 17 | - All rows from the `## Thesis Connections` table |
| 18 | |
| 19 | 2. **Scan chapter files** in `chapters/` to get the list of chapters and their section headings. |
| 20 | |
| 21 | 3. **Build the mapping matrix.** Rows are sources (sorted alphabetically by author), columns are chapters (Ch1 through Ch8 or however many exist). |
| 22 | - Mark each cell with the connection type if a mapping exists (e.g., `supports`, `challenges`, `extends`). |
| 23 | - Leave cells empty if no connection. |
| 24 | |
| 25 | 4. **Identify coverage gaps.** Flag any chapter that has fewer than 3 mapped sources as "under-covered". |
| 26 | |
| 27 | 5. **Output the mapping.** |
| 28 | |
| 29 | ## Output Format |
| 30 | |
| 31 | ``` |
| 32 | ## Literature-Thesis Mapping -- {YYYY-MM-DD} |
| 33 | |
| 34 | ### Matrix |
| 35 | |
| 36 | | Source | Status | Ch1 | Ch2 | Ch3 | Ch4 | Ch5 | Ch6 | Ch7 | Ch8 | |
| 37 | |--------|--------|-----|-----|-----|-----|-----|-----|-----|-----| |
| 38 | | Smith (2024) | integrated | | supports | supports | | | | | | |
| 39 | | Jones (2021) | integrated | extends | supports | supports | extends | | | | | |
| 40 | | Lee (2019) | completed | | | supports | | | challenges | | challenges | |
| 41 | |
| 42 | ### Coverage Summary |
| 43 | |
| 44 | | Chapter | Mapped Sources | Status | |
| 45 | |---------|---------------|--------| |
| 46 | | Ch1 | {N} | OK / Under-covered | |
| 47 | | Ch2 | {N} | OK / Under-covered | |
| 48 | |
| 49 | ### Under-covered Chapters |
| 50 | |
| 51 | {List chapters with < 3 sources, with suggestions for which completed-but-not-yet-mapped notes might fill the gap.} |
| 52 | ``` |
| 53 | |
| 54 | ## Saving the Matrix |
| 55 | |
| 56 | If the user says "save" or "export mapping", write the matrix to `literature/mapping_matrix.md` using Edit (if the file exists) or Write (if creating new). Include a timestamp header. |
| 57 | |
| 58 | ## Gap Threshold |
| 59 | |
| 60 | - **Under-covered**: fewer than 3 mapped sources per chapter. |
| 61 | - This threshold can be adjusted if the user specifies a different minimum. |
| 62 | |
| 63 | ## Constraints |
| 64 | |
| 65 | 1. **Read-only by default.** Only modify files if the user explicitly asks to save the matrix. |
| 66 | 2. **No emoji** in output. |
| 67 | 3. **No hardcoded chapter count.** Detect chapters dynamically from the `chapters/` directory. |
| 68 | 4. **Source names** use the format `{Author} ({Year})` for readability. |
| 69 | 5. **Connection types** are derived from the `Connection Type` column in notes files. If that column is missing, infer from the `Relevance` field. |