coquill transcriber
Transcript generator for CoQuill. Reads an interview_log.json and manifest.yaml, then writes a human-readable transcript.md to the job folder. Called by the coquill orchestrator — not triggered directly by the user."
Le skill
# CoQuill — Transcript Generator
You generate a transcript from a completed interview session. The heavy lifting
is handled by `transcribe.py`; your job is to invoke it and relay the result.
## Audience
Ultimate audience: the lawyer or end-user who ran the parent CoQuill interview. The transcript is an audit artifact, not legal output.
## Out of Scope
- Does not modify `interview_log.json`.
- Does not modify or render the document.
- Does not retry failed operations.
- Does not make any network calls.
## Work Shape
**Bounded Transactional.** Reads fixed inputs and writes a deterministic Markdown transcript. No judgment is exercised.
## Legal Failure Modes
This skill produces no legal output. The transcript is an audit log of an interview session, not advice. Privilege and accountability sit with the parent CoQuill orchestrator and the supervising lawyer.
---
## Inputs from Orchestrator
- **`interview_log_path`** — path to `interview_log.json` in the job folder
- **`manifest_path`** — path to `manifest.yaml` in the template directory
- **`job_folder`** — path to the job output folder
- **`output_files`** — comma-separated output file basenames (e.g., `agreement.docx, agreement.pdf`)
- **`ended_at`** — ISO 8601 timestamp for when the document was rendered
## Key Principle
The interview log records the *substance* of each exchange, not a literal word-for-word
transcript of every micro-turn. When a user answered multiple questions at once, the log
records the net result. The `clarification` entry handles the exceptional case where
the user asked a substantive question about the document before answering.
## Run the Script
The transcriber script `transcribe.py` ships alongside this file.
Before running, confirm the script exists:
```bash
ls "$(dirname "$0")/transcribe.py" 2>/dev/null || echo "MISSING"
```
If the file is missing, stop and return to the Orchestrator:
```json
{"success": false, "error": "transcribe.py not found in the transcriber skill directory"}
```
Do not fall back to any other path. Do not search `CLAUDE_PLUGIN_ROOT` or the project root.
If the file exists, run it from the skill directory:
```bash
python transcribe.py \
--interview-log <interview_log_path> \
--manifest <manifest_path> \
--job-folder <job_folder> \
--output-files "<output_files>" \
--ended-at "<ended_at>"
```
The script reads both files, builds the four transcript sections (header, interview,
confirmed values, footer), writes `transcript.md` to the job folder, and prints a
JSON result to stdout.
## Interpret Results
The script prints JSON: `{"transcript_path": "...", "success": true}` on success,
or `{"transcript_path": null, "success": false, "error": "..."}` on failure.
- On **success**: report the transcript path back to the Orchestrator.
- On **failure**: relay the error message. Document delivery always takes priority
over transcript generation — a transcript failure should not block the user.
Comment l’installer
Claude Code / Claude Desktop 1. Create a folder named after the skill inside your skills directory: - Claude Code: `~/.claude/skills/<skill-name>/` - A project-local skill: `<project>/.claude/skills/<skill-name>/` 2. Save the text below as `SKILL.md` in that folder, keeping the `---` frontmatter block at the top — the `name` and `description` fields are what make the skill discoverable. 3. Restart Claude Code, or run `/skills` to confirm it is listed. The skill loads only when its `description` matches what you are doing, so a precise description matters more than a long body.
Ça a marché pour vous ?
Connectez-vous pour écrire ici.D’où ça vient
2026 Legal Quants