Skip to content
Back to skills

Export

ASecurity

Convert thesis chapters and reading notes from Markdown to Word (.docx) and package for submission. Use when preparing materials for supervisors or examiners.

  • 42 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 3, 2026
ai-agentspythonshellbash

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add yha9806/academic-writing-toolkit --skill export --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Export?

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

Security grade badge for Export
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yha9806-export/badge)](https://www.skillsdirectory.com/skills/yha9806-export)

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

Download with Pro
SKILL.md
---
name: export
description: Convert thesis chapters and reading notes from Markdown to Word (.docx) and package for submission. Use when preparing materials for supervisors or examiners.
disable-model-invocation: true
allowed-tools: Bash, Read, Glob, Write
---

# /export — Document Export Skill

## Running Python helpers

Choose the interpreter before running the examples. For a globally installed
copy, use the private runtime recorded by its installer. In a checkout or linked
workspace, use `AWT_PYTHON` when set, otherwise the toolkit's `.venv` (follow the
skill directory link back to the toolkit): `Scripts/python.exe` on Windows,
`bin/python` on macOS/Linux. Without that environment, check that `python`
(Windows) or `python3` (macOS/Linux) actually runs and has the helper's dependencies.
Replace the example's `python3` with that executable. In PowerShell, prefix a
quoted executable with `&`; keep commands on one line and quote file paths.

## Purpose

Convert thesis chapters and reading notes from Markdown to Word (.docx) format and package them into a ZIP archive for submission to supervisors or examiners. This skill is user-invoked only and will not be triggered automatically.

## Trigger Words

This skill activates on: `/export`. It is never invoked automatically by the model.

## Parameters

- `$ARGUMENTS[0]` -- **scope**: `chapters` | `notes` | `all` (default: `all`)
- `$ARGUMENTS[1]` -- **language filter**: `en-only` | `all` (default: `all`)

Examples:
- `/export chapters en-only` -- export only chapter files, skip files with significant CJK content
- `/export notes all` -- export only reading notes, include all languages
- `/export` -- export everything, all languages

## Workflow

0. **Resolve every source first (Advisory here; Enforced in the AWT app).**
   Before converting, confirm that every author-year citation in `chapters/`
   has a lint-conforming notes file under `literature/reading_notes/`, and
   that `references.bib` (when present) neither contains entries nothing
   cites nor lacks an entry a chapter cites:

   ```
   python3 .claude/skills/audit/scripts/audit-claim-positioning.py --base-dir chapters --bib references.bib --json
   ```

   Stop and report if anything is unresolved. On this surface nothing blocks
   you from exporting anyway — say so if you do. In the AWT app the same
   condition is a typed denial (`EXPORT_SOURCES_UNRESOLVED`) on the
   `export_docx` tool, and the export does not run.

1. **Check dependencies.** Verify that `pypandoc` is installed AND a working `pandoc` binary is on PATH (the script smoke-probes via `pypandoc.get_pandoc_version()`). If pypandoc/pandoc are unavailable, fall back to `python-docx` + `markdown`. Report which conversion method is being used.

   **Run from the project root.**

2. **Run the conversion script.**
   ```
   python3 .claude/skills/export/scripts/convert_to_docx.py --base-dir "{project_root}" --output-dir "{project_root}/final_output" --scope {scope} --lang-filter {lang_filter}
   ```

3. **Report results.**
   ```
   ## Export Complete

   | Item | Value |
   |------|-------|
   | Files converted | {N} |
   | Files skipped (language filter) | {N} |
   | Output directory | {path} |
   | ZIP archive | {path} |
   | Total size | {size} |

   Conversion method: {pandoc | python-docx fallback}
   ```

## Constraints

1. **User-invoked only.** This skill has `disable-model-invocation: true` and must not run unless the user explicitly calls `/export`.
2. **No hardcoded paths.** All paths are derived from arguments or project root.
3. **No emoji** in output.
4. **Preserve formatting** as much as possible during conversion -- headings, tables, block quotes, inline code.

Files in this skill

  • SKILL.md2.3 KB
  • scripts/convert_to_docx.py13.9 KB

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.