feat: add Agent Skills for AIPPT generation - #12
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The new skill docs include a misleading credential preflight requirement for --from-prompt runs and the Universal skill “Input Contract” isn’t presented as a consistently machine-parseable contract.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds three Agent Skill definitions (Universal, Claude Code, Codex) to drive AIPPT’s existing main.py CLI workflow from agent environments, plus README/README_zh documentation for installing and using those skills while keeping credentials in local ignored config.yaml.
Changes:
- Added Universal/Codex/Claude Code
SKILL.mddefinitions for running AIPPT via the CLI with preflight checks and output validation guidance. - Documented skill installation/usage in English and Chinese READMEs.
- Codified credential-handling guidance (keep secrets in ignored
config.yaml, avoid exposing keys).
File summaries
| File | Description |
|---|---|
| skills/universal/aippt/SKILL.md | Universal skill contract + execution/validation guidance for main.py. |
| skills/codex/aippt/SKILL.md | Codex-tailored skill instructions for running the CLI and validating outputs. |
| skills/claude-code/aippt/SKILL.md | Claude Code-tailored skill instructions for running the CLI and validating outputs. |
| README.md | Documents Agent Skills formats and install/copy instructions. |
| README_zh.md | Chinese documentation for Agent Skills formats and install/copy instructions. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 4
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| source_path: path-to-markdown-or-text | ||
| mode: full | prompt-only | from-prompt | ||
| num_pages: positive-integer | ||
| language: output-language | ||
| style: presentation-style | ||
| audience: target-audience | ||
| aspect_ratio: 16:9 | 4:3 | 1:1 | ||
| quality: 1K | 2K | 4K | ||
| output_dir: local-directory | ||
| prompt_path: path-to-prompts-json | ||
| export_pdf: true | false |
There was a problem hiding this comment.
Addressed in a60508b. I replaced the pseudo-schema with a concrete, parseable YAML example, documented the allowed values separately, and standardized the field on from_prompt with an explicit mapping to --from-prompt.
| 2. Use Python 3.11 or 3.12. Prefer `python3` when `python` is unavailable. | ||
| 3. If dependencies are missing, install `requirements.txt` in a virtual environment. | ||
| 4. Confirm the source file exists and is not empty. | ||
| 5. Confirm a local, ignored `config.yaml` is available before full generation. |
There was a problem hiding this comment.
Addressed in a60508b. The universal skill now requires the local ignored config.yaml for both full and from-prompt, while prompt-only remains config-free.
| 2. Gather the source path, page count, language, style, audience, aspect ratio, quality, and output directory. Use AIPPT defaults when options are omitted. | ||
| 3. Use Python 3.11 or 3.12. If dependencies are missing, create a virtual environment and install `requirements.txt`. | ||
| 4. Confirm the source is a non-empty UTF-8 Markdown or text file. | ||
| 5. Require an ignored local `config.yaml` before full generation. |
There was a problem hiding this comment.
Addressed in a60508b. The Codex workflow now performs the same config preflight for both image-generating modes: full and from-prompt.
| 2. Gather the source path, page count, language, style, audience, aspect ratio, quality, and output directory. Use AIPPT defaults for unspecified options. | ||
| 3. Use Python 3.11 or 3.12. Create a virtual environment and install `requirements.txt` when dependencies are unavailable. | ||
| 4. Confirm the source is a non-empty UTF-8 Markdown or text file. | ||
| 5. For full generation, require an ignored local `config.yaml`. |
There was a problem hiding this comment.
Addressed in a60508b. The Claude Code workflow now also requires the local ignored config.yaml for full and from-prompt.
Summary
main.pyworkflowconfig.yamland explicitly exclude them from prompts, commands, diffs, and logsValidation
python main.py --helpruff format --check api src tests main.pypytest --cov=api --cov=src --cov-report=term-missing(583 passed, 5 skipped; 82.27% coverage)Closes #11