Overview
The homework-machine skill provides an end-to-end pipeline for completing university assignments and coursework. It automates the entire workflow from requirement analysis through final deliverable assembly, including:
- Requirement Analysis — Parse assignment specifications and extract all deliverables
- Research Phase — Conduct literature search for background and methods
- Code Implementation — Write production-quality code with comprehensive tests
- Report Writing — Generate academic reports with proper citations and formatting
- Paraphrasing — Automatic anti-plagiarism via translation round-trip (macOS only)
- Deliverable Assembly — Collect all outputs with submission checklist
The workflow produces publication-ready reports, tested code, and all supporting materials needed for submission.
Arguments
<assignment> (required) — Path to assignment PDF or plain text file containing assignment requirements
--format (optional, default: latex) — Output report format: latex or docx
--language (optional, default: English) — Report writing language for the academic report
Example usage:
homework-machine /path/to/assignment.pdf --format latex --language English
homework-machine "assignment_text.txt" --format docx
Setup
Before running this skill, ensure all dependencies are installed:
pip install -r "BASE_DIR/scripts/requirements.txt"
If using .docx output format, also install the Word document library:
pip install python-docx
Verify that the following helper scripts exist in BASE_DIR/scripts/:
paper_search.py — Academic paper search and retrieval
bibtex_utils.py — BibTeX citation management
translate_roundtrip.py — Translation-based paraphrasing (macOS only)
Workflow
The homework-machine executes 6 phases in sequence. After Phase 1, the user must explicitly confirm the plan before proceeding.
Phase 1 — Analyze Assignment
Read the Assignment
- If the input is a PDF, read it using appropriate tools
- Paginate large PDFs (>20 pages) to avoid context overflow
- If the input is a text file, read the entire content
Extract Deliverables
- List all required outputs: academic report, source code, datasets, written answers, specific questions to address
- Identify the format and structure expected for each deliverable
Identify Constraints and Grading Criteria
- Page limits for the report
- Specific format requirements (LaTeX template, Word template, etc.)
- Required methods, algorithms, or frameworks
- Expected citation count and style
- Code submission format (single file, project structure, etc.)
- Grading rubric if provided
Present the Plan to User
- Summarize the assignment scope, deliverables, and constraints
- Display estimated effort for each phase
- Present the execution plan
- Wait for explicit user confirmation before proceeding to Phase 2
- Ask the user: "Are there any additional requirements or constraints not mentioned in the assignment that I should know about?"
- Allow the user to add custom constraints, provide reference materials, or modify the scope
Phase 2 — Research
Conduct Literature Search
Collect Findings
- Extract key concepts, mathematical formulations, and algorithms from top-cited papers
- Identify foundational methods and state-of-the-art approaches relevant to the assignment
- Note empirical results and benchmarks that will validate the implementation
- Document all sources for later citation
Organize Research Results
- Group findings by topic area (background, method, optimization, benchmarks, etc.)
- Prioritize papers by relevance and citation count
- Prepare to reference these in the report's Related Work section
Phase 3 — Code Implementation
Write Implementation Code
- Use Python as the default language unless the assignment specifies otherwise
- Implement all required algorithms, data structures, and functionality per the assignment spec
- Follow the specific requirements for methods, libraries, or frameworks mentioned in the assignment
- Use clean, readable code with meaningful variable names
- Add inline comments explaining the approach, key decisions, and non-obvious logic
Write Test Cases
- Write comprehensive test cases that verify correctness
- Test against expected outputs provided in the assignment
- Test edge cases and boundary conditions
- Ensure tests are isolated and reproducible
- Aim for 80%+ code coverage
Run and Verify
- Execute all tests and confirm they pass
- Verify the implementation produces correct results
- Check for runtime performance issues or memory leaks
- Document any known limitations
Save Code
- Save all source code files to the
code/ directory in the output
- Include a
requirements.txt if external packages are used
- Include a
README.md with instructions to run the code and tests
Phase 4 — Report Writing
Draft Academic Report
- Follow standard academic structure:
- Title & Abstract — Concise summary of the problem and solution
- Introduction — Problem statement, motivation, scope, and contributions
- Related Work / Background — Review of relevant literature and methods (with citations)
- Method / Approach — Detailed technical description of the solution with equations and pseudo-code where needed
- Experiments / Results — Present findings, include tables, figures, and quantitative analysis
- Discussion — Interpret results, discuss limitations, and suggest future work
- Conclusion — Summarize key contributions and findings
- References — Complete bibliography
For LaTeX Format (--format latex)
- Use the LaTeX template provided in the Templates section below
- Use article document class with standard packages
- Include proper mathematical notation using amsmath
- Ensure all figures and tables are properly referenced
- Configure bibliography for natbib with numbered citations
For DOCX Format (--format docx)
- Use the python-docx library to generate a Word document:
from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
doc = Document()
doc.add_heading('Your Title', 0)
doc.add_paragraph('Your introduction text...')
# ... add more content ...
doc.save('report.docx')
- Use proper heading hierarchy (Heading 1 for sections, Heading 2 for subsections)
- Format tables with borders and shading for readability
- Insert code blocks as formatted text or images
- Use numbered and bulleted lists appropriately
Fetch and Format Citations
Accuracy and Depth
- Tailor report depth to assignment level (undergrad reports are typically 8-15 pages, graduate reports 15-30 pages)
- Match technical depth to course level
- Ensure all claims are supported by citations or experimental results
- Verify mathematical correctness of equations
Phase 5 — Paraphrase (macOS Only)
This phase uses Apple's built-in translation API to automatically rephrase content while preserving technical accuracy. It is only available on macOS systems with AppleScript support.
Generate Technical Terms File
- Extract domain-specific terms from the assignment and report that should NOT be paraphrased:
- Algorithm names (e.g., "QuickSort", "LSTM")
- Method names from the assignment or code
- Mathematical terms and notation
- Proper nouns (author names, institution names)
- Variable names and code identifiers
- Save these as
terms.txt in the output directory (one term per line)
Paraphrase Substantial Paragraphs
Review and Approve
- Display the diff for each paraphrased paragraph showing before/after versions
- Verify that the paraphrased version:
- Preserves technical accuracy
- Maintains the original meaning
- Varies sentence structure while keeping technical terms unchanged
- Does not introduce errors in grammar or logic
- Allow the user to accept or reject each paraphrase
Error Handling
- If the script detects a non-macOS system, warn the user: "Paraphrasing requires macOS with AppleScript support. This feature will be skipped. Your report is complete but without automated paraphrasing."
- If Apple Translate is unavailable or fails, skip this phase and continue to Phase 6
- Save a copy of the original report before applying changes for recovery
Apply Approved Changes
- Update the report with approved paraphrases
- Save a
paraphrase_diff.md showing all accepted before/after changes for reference
Phase 6 — Assemble Deliverables
Collect All Outputs
- Verify the output directory structure exists:
./output/homework-machine/YYYY-MM-DD-HHMMSS/
- Ensure all required deliverables from Phase 1 are present
Directory Structure
./output/homework-machine/2026-03-03-143025/
├── report.tex (or report.docx if --format docx)
├── references.bib (LaTeX) or bibliography data (docx)
├── code/
│ ├── main.py
│ ├── tests/
│ │ └── test_main.py
│ ├── requirements.txt
│ └── README.md
├── terms.txt (if paraphrasing ran)
├── paraphrase_diff.md (if paraphrasing ran)
└── checklist.md (submission checklist)
Generate Submission Checklist
- Create
checklist.md with all required deliverables from the assignment
- Mark each item as present/verified
- Include file sizes and line counts for code files
- Add notes on completeness and quality
Final Verification
- Confirm all files are readable and properly formatted
- Generate a summary report showing what was completed
- Display the path to the output directory
- Provide instructions for the user to review and submit
LaTeX Template
Use this template as the foundation for LaTeX reports. If the assignment provides a specific LaTeX template, use that instead.
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[numbers]{natbib}
\usepackage{booktabs}
\title{Your Assignment Title}
\author{Your Name}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
Provide a concise summary of the problem, approach, and key results (150-250 words).
\end{abstract}
\section{Introduction}
\label{sec:intro}
Introduce the problem, explain its significance, and outline the scope of the work.
State the main contributions clearly.
\section{Related Work}
\label{sec:related}
Review relevant prior work and methods. Cite key papers using \cite{key}.
\section{Method / Approach}
\label{sec:method}
Describe the solution approach in detail. Include algorithms, pseudocode, and
mathematical formulations as needed.
\subsection{Algorithm Name}
Provide pseudocode or detailed steps here.
\section{Experiments and Results}
\label{sec:results}
Present experimental findings, results, and analysis.
\begin{table}[h]
\centering
\caption{Example Results Table}
\label{tab:results}
\begin{tabular}{lcc}
\toprule
Method & Accuracy & Time \\
\midrule
Baseline & 85\% & 0.5s \\
Proposed & 92\% & 0.6s \\
\bottomrule
\end{tabular}
\end{table}
\section{Discussion}
\label{sec:discussion}
Interpret the results, discuss limitations, and suggest directions for future work.
\section{Conclusion}
\label{sec:conclusion}
Summarize the key findings and contributions.
\bibliographystyle{plainnat}
\bibliography{references}
\end{document}
Output Directory
All deliverables are saved to: ./output/homework-machine/YYYY-MM-DD-HHMMSS/
The timestamp ensures each run creates a unique output directory. Contents include:
- report.tex or report.docx — The complete academic report ready for submission
- references.bib — BibTeX bibliography file (LaTeX) or embedded references (DOCX)
- code/ — Directory containing all source code:
main.py or language-appropriate entry point
tests/ subdirectory with test cases
requirements.txt listing dependencies
README.md with build and execution instructions
- terms.txt — Technical terms that were excluded from paraphrasing (if Phase 5 ran)
- paraphrase_diff.md — Before/after comparison of paraphrased sections (if Phase 5 ran)
- checklist.md — Final submission checklist verifying all deliverables
Tips
Always Confirm Before Heavy Work — After Phase 1 analysis, present the plan to the user and wait for explicit confirmation. This prevents wasted effort if the user's understanding of the assignment differs.
Match Report Depth to Assignment Level — Undergraduate assignments typically expect 8-15 page reports with 15-25 citations, while graduate assignments often require 20-40 pages with 40+ citations. Adjust accordingly.
Use Provided Templates — If the assignment includes a specific LaTeX template or Word template, use it instead of the default template provided here. Adapt the structure to match instructor expectations.
Test Code Before Writing About It — Always run the implementation code and verify tests pass before writing the report. This ensures the reported results match actual behavior and prevents embarrassing discrepancies.
Verify Citations — Double-check BibTeX entries for accuracy, especially author names, publication years, and venues. Incorrect citations reflect poorly on academic work.
Handle Paraphrasing Failures Gracefully — If the paraphrasing script fails (non-macOS system, missing dependencies, API unavailability), the report is still complete and usable. Warn the user but continue to Phase 6.
Request Clarification When Ambiguous — If the assignment is unclear or contradictory, ask the user for clarification in Phase 1 before proceeding.
Keep Code Separate from Report — Maintain clean separation between implementation code in the code/ directory and the report. Reference code in the report but don't embed large code blocks in the main text (use appendix or external files if needed).
Document All Assumptions — If you make assumptions about missing specifications (e.g., dataset sources, parameter choices), document them in the report's Method section or in the code README.
Archive Outputs — The timestamped output directory structure allows running the skill multiple times without overwriting previous work, enabling iterative refinement if needed.
1---2name: homework-machine3description: End-to-end university assignment completion. Analyzes assignment requirements (PDF or text), conducts research, writes implementation code with tests, drafts an academic report (LaTeX or Word) with accurate citations, and performs automatic paraphrasing for anti-plagiarism via translation round-trip (macOS only). Use when the user provides a homework assignment, coursework, lab report requirements, or says "complete this assignment", "do my homework", "write this report", "finish this coursework".4---56## Overview78The homework-machine skill provides an end-to-end pipeline for completing university assignments and coursework. It automates the entire workflow from requirement analysis through final deliverable assembly, including:910- **Requirement Analysis** — Parse assignment specifications and extract all deliverables11- **Research Phase** — Conduct literature search for background and methods12- **Code Implementation** — Write production-quality code with comprehensive tests13- **Report Writing** — Generate academic reports with proper citations and formatting14- **Paraphrasing** — Automatic anti-plagiarism via translation round-trip (macOS only)15- **Deliverable Assembly** — Collect all outputs with submission checklist1617The workflow produces publication-ready reports, tested code, and all supporting materials needed for submission.1819## Arguments2021- `<assignment>` (required) — Path to assignment PDF or plain text file containing assignment requirements22- `--format` (optional, default: `latex`) — Output report format: `latex` or `docx`23- `--language` (optional, default: `English`) — Report writing language for the academic report2425Example usage:26```bash27homework-machine /path/to/assignment.pdf --format latex --language English28homework-machine "assignment_text.txt" --format docx29```3031## Setup3233Before running this skill, ensure all dependencies are installed:3435```bash36pip install -r "BASE_DIR/scripts/requirements.txt"37```3839If using `.docx` output format, also install the Word document library:4041```bash42pip install python-docx43```4445Verify that the following helper scripts exist in `BASE_DIR/scripts/`:46- `paper_search.py` — Academic paper search and retrieval47- `bibtex_utils.py` — BibTeX citation management48- `translate_roundtrip.py` — Translation-based paraphrasing (macOS only)4950## Workflow5152The homework-machine executes 6 phases in sequence. After Phase 1, the user must explicitly confirm the plan before proceeding.5354### Phase 1 — Analyze Assignment55561. **Read the Assignment**57 - If the input is a PDF, read it using appropriate tools58 - Paginate large PDFs (>20 pages) to avoid context overflow59 - If the input is a text file, read the entire content60612. **Extract Deliverables**62 - List all required outputs: academic report, source code, datasets, written answers, specific questions to address63 - Identify the format and structure expected for each deliverable64653. **Identify Constraints and Grading Criteria**66 - Page limits for the report67 - Specific format requirements (LaTeX template, Word template, etc.)68 - Required methods, algorithms, or frameworks69 - Expected citation count and style70 - Code submission format (single file, project structure, etc.)71 - Grading rubric if provided72734. **Present the Plan to User**74 - Summarize the assignment scope, deliverables, and constraints75 - Display estimated effort for each phase76 - Present the execution plan77 - **Wait for explicit user confirmation** before proceeding to Phase 278 - Ask the user: "Are there any additional requirements or constraints not mentioned in the assignment that I should know about?"79 - Allow the user to add custom constraints, provide reference materials, or modify the scope8081### Phase 2 — Research82831. **Conduct Literature Search**84 - Run the research command with the assignment topic:85 ```bash86 python "BASE_DIR/scripts/paper_search.py" --query "<assignment-topic>" --max-results 20 --sort citations87 ```88 - If the assignment mentions specific papers, methods, or techniques, run additional targeted searches89902. **Collect Findings**91 - Extract key concepts, mathematical formulations, and algorithms from top-cited papers92 - Identify foundational methods and state-of-the-art approaches relevant to the assignment93 - Note empirical results and benchmarks that will validate the implementation94 - Document all sources for later citation95963. **Organize Research Results**97 - Group findings by topic area (background, method, optimization, benchmarks, etc.)98 - Prioritize papers by relevance and citation count99 - Prepare to reference these in the report's Related Work section100101### Phase 3 — Code Implementation1021031. **Write Implementation Code**104 - Use Python as the default language unless the assignment specifies otherwise105 - Implement all required algorithms, data structures, and functionality per the assignment spec106 - Follow the specific requirements for methods, libraries, or frameworks mentioned in the assignment107 - Use clean, readable code with meaningful variable names108 - Add inline comments explaining the approach, key decisions, and non-obvious logic1091102. **Write Test Cases**111 - Write comprehensive test cases that verify correctness112 - Test against expected outputs provided in the assignment113 - Test edge cases and boundary conditions114 - Ensure tests are isolated and reproducible115 - Aim for 80%+ code coverage1161173. **Run and Verify**118 - Execute all tests and confirm they pass119 - Verify the implementation produces correct results120 - Check for runtime performance issues or memory leaks121 - Document any known limitations1221234. **Save Code**124 - Save all source code files to the `code/` directory in the output125 - Include a `requirements.txt` if external packages are used126 - Include a `README.md` with instructions to run the code and tests127128### Phase 4 — Report Writing1291301. **Draft Academic Report**131 - Follow standard academic structure:132 - **Title & Abstract** — Concise summary of the problem and solution133 - **Introduction** — Problem statement, motivation, scope, and contributions134 - **Related Work / Background** — Review of relevant literature and methods (with citations)135 - **Method / Approach** — Detailed technical description of the solution with equations and pseudo-code where needed136 - **Experiments / Results** — Present findings, include tables, figures, and quantitative analysis137 - **Discussion** — Interpret results, discuss limitations, and suggest future work138 - **Conclusion** — Summarize key contributions and findings139 - **References** — Complete bibliography1401412. **For LaTeX Format** (`--format latex`)142 - Use the LaTeX template provided in the Templates section below143 - Use article document class with standard packages144 - Include proper mathematical notation using amsmath145 - Ensure all figures and tables are properly referenced146 - Configure bibliography for natbib with numbered citations1471483. **For DOCX Format** (`--format docx`)149 - Use the python-docx library to generate a Word document:150 ```python151 from docx import Document152 from docx.shared import Pt, RGBColor153 from docx.enum.text import WD_ALIGN_PARAGRAPH154155 doc = Document()156 doc.add_heading('Your Title', 0)157 doc.add_paragraph('Your introduction text...')158 # ... add more content ...159 doc.save('report.docx')160 ```161 - Use proper heading hierarchy (Heading 1 for sections, Heading 2 for subsections)162 - Format tables with borders and shading for readability163 - Insert code blocks as formatted text or images164 - Use numbered and bulleted lists appropriately1651664. **Fetch and Format Citations**167 - For each cited paper, retrieve the BibTeX entry:168 ```bash169 python "BASE_DIR/scripts/bibtex_utils.py" fetch --title "<paper-title>"170 ```171 - Collect all BibTeX entries into `references.bib`172 - Ensure author names, publication years, and venues are accurate173 - Use consistent citation style (numbered for LaTeX, author-date for Word)1741755. **Accuracy and Depth**176 - Tailor report depth to assignment level (undergrad reports are typically 8-15 pages, graduate reports 15-30 pages)177 - Match technical depth to course level178 - Ensure all claims are supported by citations or experimental results179 - Verify mathematical correctness of equations180181### Phase 5 — Paraphrase (macOS Only)182183This phase uses Apple's built-in translation API to automatically rephrase content while preserving technical accuracy. It is only available on macOS systems with AppleScript support.1841851. **Generate Technical Terms File**186 - Extract domain-specific terms from the assignment and report that should **NOT** be paraphrased:187 - Algorithm names (e.g., "QuickSort", "LSTM")188 - Method names from the assignment or code189 - Mathematical terms and notation190 - Proper nouns (author names, institution names)191 - Variable names and code identifiers192 - Save these as `terms.txt` in the output directory (one term per line)1931942. **Paraphrase Substantial Paragraphs**195 - For each major paragraph in the report (excluding abstract, references, and code):196 ```bash197 python "BASE_DIR/scripts/translate_roundtrip.py" --input <paragraph_file> --terms-file terms.txt --diff198 ```199 - The script performs a round-trip translation (e.g., English → French → English) to generate varied phrasing200 - Technical terms are preserved by the terms file2012023. **Review and Approve**203 - Display the diff for each paraphrased paragraph showing before/after versions204 - Verify that the paraphrased version:205 - Preserves technical accuracy206 - Maintains the original meaning207 - Varies sentence structure while keeping technical terms unchanged208 - Does not introduce errors in grammar or logic209 - Allow the user to accept or reject each paraphrase2102114. **Error Handling**212 - If the script detects a non-macOS system, warn the user: "Paraphrasing requires macOS with AppleScript support. This feature will be skipped. Your report is complete but without automated paraphrasing."213 - If Apple Translate is unavailable or fails, skip this phase and continue to Phase 6214 - Save a copy of the original report before applying changes for recovery2152165. **Apply Approved Changes**217 - Update the report with approved paraphrases218 - Save a `paraphrase_diff.md` showing all accepted before/after changes for reference219220### Phase 6 — Assemble Deliverables2212221. **Collect All Outputs**223 - Verify the output directory structure exists: `./output/homework-machine/YYYY-MM-DD-HHMMSS/`224 - Ensure all required deliverables from Phase 1 are present2252262. **Directory Structure**227 ```228 ./output/homework-machine/2026-03-03-143025/229 ├── report.tex (or report.docx if --format docx)230 ├── references.bib (LaTeX) or bibliography data (docx)231 ├── code/232 │ ├── main.py233 │ ├── tests/234 │ │ └── test_main.py235 │ ├── requirements.txt236 │ └── README.md237 ├── terms.txt (if paraphrasing ran)238 ├── paraphrase_diff.md (if paraphrasing ran)239 └── checklist.md (submission checklist)240 ```2412423. **Generate Submission Checklist**243 - Create `checklist.md` with all required deliverables from the assignment244 - Mark each item as present/verified245 - Include file sizes and line counts for code files246 - Add notes on completeness and quality2472484. **Final Verification**249 - Confirm all files are readable and properly formatted250 - Generate a summary report showing what was completed251 - Display the path to the output directory252 - Provide instructions for the user to review and submit253254## LaTeX Template255256Use this template as the foundation for LaTeX reports. If the assignment provides a specific LaTeX template, use that instead.257258```latex259\documentclass[12pt]{article}260\usepackage[margin=1in]{geometry}261\usepackage{amsmath, amssymb}262\usepackage{graphicx}263\usepackage{hyperref}264\usepackage[numbers]{natbib}265\usepackage{booktabs}266267\title{Your Assignment Title}268\author{Your Name}269\date{\today}270271\begin{document}272273\maketitle274275\begin{abstract}276Provide a concise summary of the problem, approach, and key results (150-250 words).277\end{abstract}278279\section{Introduction}280\label{sec:intro}281282Introduce the problem, explain its significance, and outline the scope of the work.283State the main contributions clearly.284285\section{Related Work}286\label{sec:related}287288Review relevant prior work and methods. Cite key papers using \cite{key}.289290\section{Method / Approach}291\label{sec:method}292293Describe the solution approach in detail. Include algorithms, pseudocode, and294mathematical formulations as needed.295296\subsection{Algorithm Name}297298Provide pseudocode or detailed steps here.299300\section{Experiments and Results}301\label{sec:results}302303Present experimental findings, results, and analysis.304305\begin{table}[h]306\centering307\caption{Example Results Table}308\label{tab:results}309\begin{tabular}{lcc}310\toprule311Method & Accuracy & Time \\312\midrule313Baseline & 85\% & 0.5s \\314Proposed & 92\% & 0.6s \\315\bottomrule316\end{tabular}317\end{table}318319\section{Discussion}320\label{sec:discussion}321322Interpret the results, discuss limitations, and suggest directions for future work.323324\section{Conclusion}325\label{sec:conclusion}326327Summarize the key findings and contributions.328329\bibliographystyle{plainnat}330\bibliography{references}331332\end{document}333```334335## Output Directory336337All deliverables are saved to: `./output/homework-machine/YYYY-MM-DD-HHMMSS/`338339The timestamp ensures each run creates a unique output directory. Contents include:340341- **report.tex** or **report.docx** — The complete academic report ready for submission342- **references.bib** — BibTeX bibliography file (LaTeX) or embedded references (DOCX)343- **code/** — Directory containing all source code:344 - `main.py` or language-appropriate entry point345 - `tests/` subdirectory with test cases346 - `requirements.txt` listing dependencies347 - `README.md` with build and execution instructions348- **terms.txt** — Technical terms that were excluded from paraphrasing (if Phase 5 ran)349- **paraphrase_diff.md** — Before/after comparison of paraphrased sections (if Phase 5 ran)350- **checklist.md** — Final submission checklist verifying all deliverables351352## Tips3533541. **Always Confirm Before Heavy Work** — After Phase 1 analysis, present the plan to the user and wait for explicit confirmation. This prevents wasted effort if the user's understanding of the assignment differs.3553562. **Match Report Depth to Assignment Level** — Undergraduate assignments typically expect 8-15 page reports with 15-25 citations, while graduate assignments often require 20-40 pages with 40+ citations. Adjust accordingly.3573583. **Use Provided Templates** — If the assignment includes a specific LaTeX template or Word template, use it instead of the default template provided here. Adapt the structure to match instructor expectations.3593604. **Test Code Before Writing About It** — Always run the implementation code and verify tests pass before writing the report. This ensures the reported results match actual behavior and prevents embarrassing discrepancies.3613625. **Verify Citations** — Double-check BibTeX entries for accuracy, especially author names, publication years, and venues. Incorrect citations reflect poorly on academic work.3633646. **Handle Paraphrasing Failures Gracefully** — If the paraphrasing script fails (non-macOS system, missing dependencies, API unavailability), the report is still complete and usable. Warn the user but continue to Phase 6.3653667. **Request Clarification When Ambiguous** — If the assignment is unclear or contradictory, ask the user for clarification in Phase 1 before proceeding.3673688. **Keep Code Separate from Report** — Maintain clean separation between implementation code in the `code/` directory and the report. Reference code in the report but don't embed large code blocks in the main text (use appendix or external files if needed).3693709. **Document All Assumptions** — If you make assumptions about missing specifications (e.g., dataset sources, parameter choices), document them in the report's Method section or in the code README.37137210. **Archive Outputs** — The timestamped output directory structure allows running the skill multiple times without overwriting previous work, enabling iterative refinement if needed.