@laitszkin/apollo-toolkit 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +62 -0
- package/CHANGELOG.md +100 -0
- package/LICENSE +21 -0
- package/README.md +144 -0
- package/align-project-documents/SKILL.md +94 -0
- package/align-project-documents/agents/openai.yaml +4 -0
- package/analyse-app-logs/LICENSE +21 -0
- package/analyse-app-logs/README.md +126 -0
- package/analyse-app-logs/SKILL.md +121 -0
- package/analyse-app-logs/agents/openai.yaml +4 -0
- package/analyse-app-logs/references/investigation-checklist.md +58 -0
- package/analyse-app-logs/references/log-signal-patterns.md +52 -0
- package/answering-questions-with-research/SKILL.md +46 -0
- package/answering-questions-with-research/agents/openai.yaml +4 -0
- package/bin/apollo-toolkit.js +7 -0
- package/commit-and-push/LICENSE +21 -0
- package/commit-and-push/README.md +26 -0
- package/commit-and-push/SKILL.md +70 -0
- package/commit-and-push/agents/openai.yaml +4 -0
- package/commit-and-push/references/branch-naming.md +15 -0
- package/commit-and-push/references/commit-messages.md +19 -0
- package/deep-research-topics/LICENSE +21 -0
- package/deep-research-topics/README.md +43 -0
- package/deep-research-topics/SKILL.md +84 -0
- package/deep-research-topics/agents/openai.yaml +4 -0
- package/develop-new-features/LICENSE +21 -0
- package/develop-new-features/README.md +52 -0
- package/develop-new-features/SKILL.md +105 -0
- package/develop-new-features/agents/openai.yaml +4 -0
- package/develop-new-features/references/testing-e2e.md +35 -0
- package/develop-new-features/references/testing-integration.md +42 -0
- package/develop-new-features/references/testing-property-based.md +44 -0
- package/develop-new-features/references/testing-unit.md +37 -0
- package/discover-edge-cases/CHANGELOG.md +19 -0
- package/discover-edge-cases/LICENSE +21 -0
- package/discover-edge-cases/README.md +87 -0
- package/discover-edge-cases/SKILL.md +124 -0
- package/discover-edge-cases/agents/openai.yaml +4 -0
- package/discover-edge-cases/references/architecture-edge-cases.md +41 -0
- package/discover-edge-cases/references/code-edge-cases.md +46 -0
- package/docs-to-voice/.env.example +106 -0
- package/docs-to-voice/CHANGELOG.md +71 -0
- package/docs-to-voice/LICENSE +21 -0
- package/docs-to-voice/README.md +118 -0
- package/docs-to-voice/SKILL.md +107 -0
- package/docs-to-voice/agents/openai.yaml +4 -0
- package/docs-to-voice/scripts/docs_to_voice.py +1385 -0
- package/docs-to-voice/scripts/docs_to_voice.sh +11 -0
- package/docs-to-voice/tests/test_docs_to_voice_api_max_chars.py +210 -0
- package/docs-to-voice/tests/test_docs_to_voice_sentence_timeline.py +115 -0
- package/docs-to-voice/tests/test_docs_to_voice_settings.py +43 -0
- package/docs-to-voice/tests/test_docs_to_voice_speech_rate.py +57 -0
- package/enhance-existing-features/CHANGELOG.md +35 -0
- package/enhance-existing-features/LICENSE +21 -0
- package/enhance-existing-features/README.md +54 -0
- package/enhance-existing-features/SKILL.md +120 -0
- package/enhance-existing-features/agents/openai.yaml +4 -0
- package/enhance-existing-features/references/e2e-tests.md +25 -0
- package/enhance-existing-features/references/integration-tests.md +30 -0
- package/enhance-existing-features/references/property-based-tests.md +33 -0
- package/enhance-existing-features/references/unit-tests.md +29 -0
- package/feature-propose/LICENSE +21 -0
- package/feature-propose/README.md +23 -0
- package/feature-propose/SKILL.md +107 -0
- package/feature-propose/agents/openai.yaml +4 -0
- package/feature-propose/references/enhancement-features.md +25 -0
- package/feature-propose/references/important-features.md +25 -0
- package/feature-propose/references/mvp-features.md +25 -0
- package/feature-propose/references/performance-features.md +25 -0
- package/financial-research/SKILL.md +208 -0
- package/financial-research/agents/openai.yaml +4 -0
- package/financial-research/assets/weekly_market_report_template.md +45 -0
- package/fix-github-issues/SKILL.md +98 -0
- package/fix-github-issues/agents/openai.yaml +4 -0
- package/fix-github-issues/scripts/list_issues.py +148 -0
- package/fix-github-issues/tests/test_list_issues.py +127 -0
- package/generate-spec/LICENSE +21 -0
- package/generate-spec/README.md +61 -0
- package/generate-spec/SKILL.md +96 -0
- package/generate-spec/agents/openai.yaml +4 -0
- package/generate-spec/references/templates/checklist.md +78 -0
- package/generate-spec/references/templates/spec.md +55 -0
- package/generate-spec/references/templates/tasks.md +35 -0
- package/generate-spec/scripts/create-specs +123 -0
- package/harden-app-security/CHANGELOG.md +27 -0
- package/harden-app-security/LICENSE +21 -0
- package/harden-app-security/README.md +46 -0
- package/harden-app-security/SKILL.md +127 -0
- package/harden-app-security/agents/openai.yaml +4 -0
- package/harden-app-security/references/agent-attack-catalog.md +117 -0
- package/harden-app-security/references/common-software-attack-catalog.md +168 -0
- package/harden-app-security/references/red-team-extreme-scenarios.md +81 -0
- package/harden-app-security/references/risk-checklist.md +78 -0
- package/harden-app-security/references/security-test-patterns-agent.md +101 -0
- package/harden-app-security/references/security-test-patterns-finance.md +88 -0
- package/harden-app-security/references/test-snippets.md +73 -0
- package/improve-observability/SKILL.md +114 -0
- package/improve-observability/agents/openai.yaml +4 -0
- package/learn-skill-from-conversations/CHANGELOG.md +15 -0
- package/learn-skill-from-conversations/LICENSE +22 -0
- package/learn-skill-from-conversations/README.md +47 -0
- package/learn-skill-from-conversations/SKILL.md +85 -0
- package/learn-skill-from-conversations/agents/openai.yaml +4 -0
- package/learn-skill-from-conversations/scripts/extract_recent_conversations.py +369 -0
- package/learn-skill-from-conversations/tests/test_extract_recent_conversations.py +176 -0
- package/learning-error-book/SKILL.md +112 -0
- package/learning-error-book/agents/openai.yaml +4 -0
- package/learning-error-book/assets/error_book_template.md +66 -0
- package/learning-error-book/scripts/render_markdown_to_pdf.py +367 -0
- package/lib/cli.js +338 -0
- package/lib/installer.js +225 -0
- package/maintain-project-constraints/SKILL.md +109 -0
- package/maintain-project-constraints/agents/openai.yaml +4 -0
- package/maintain-skill-catalog/README.md +18 -0
- package/maintain-skill-catalog/SKILL.md +66 -0
- package/maintain-skill-catalog/agents/openai.yaml +4 -0
- package/novel-to-short-video/CHANGELOG.md +53 -0
- package/novel-to-short-video/LICENSE +21 -0
- package/novel-to-short-video/README.md +63 -0
- package/novel-to-short-video/SKILL.md +233 -0
- package/novel-to-short-video/agents/openai.yaml +4 -0
- package/novel-to-short-video/references/plan-template.md +71 -0
- package/novel-to-short-video/references/roles-json.md +41 -0
- package/open-github-issue/LICENSE +21 -0
- package/open-github-issue/README.md +97 -0
- package/open-github-issue/SKILL.md +119 -0
- package/open-github-issue/agents/openai.yaml +4 -0
- package/open-github-issue/scripts/open_github_issue.py +380 -0
- package/open-github-issue/tests/test_open_github_issue.py +159 -0
- package/open-source-pr-workflow/CHANGELOG.md +32 -0
- package/open-source-pr-workflow/LICENSE +21 -0
- package/open-source-pr-workflow/README.md +23 -0
- package/open-source-pr-workflow/SKILL.md +123 -0
- package/open-source-pr-workflow/agents/openai.yaml +4 -0
- package/openai-text-to-image-storyboard/.env.example +10 -0
- package/openai-text-to-image-storyboard/CHANGELOG.md +49 -0
- package/openai-text-to-image-storyboard/LICENSE +21 -0
- package/openai-text-to-image-storyboard/README.md +99 -0
- package/openai-text-to-image-storyboard/SKILL.md +107 -0
- package/openai-text-to-image-storyboard/agents/openai.yaml +4 -0
- package/openai-text-to-image-storyboard/scripts/generate_storyboard_images.py +763 -0
- package/package.json +36 -0
- package/record-spending/SKILL.md +113 -0
- package/record-spending/agents/openai.yaml +4 -0
- package/record-spending/references/account-format.md +33 -0
- package/record-spending/references/workbook-layout.md +84 -0
- package/resolve-review-comments/SKILL.md +122 -0
- package/resolve-review-comments/agents/openai.yaml +4 -0
- package/resolve-review-comments/references/adoption-criteria.md +23 -0
- package/resolve-review-comments/scripts/review_threads.py +425 -0
- package/resolve-review-comments/tests/test_review_threads.py +74 -0
- package/review-change-set/LICENSE +21 -0
- package/review-change-set/README.md +55 -0
- package/review-change-set/SKILL.md +103 -0
- package/review-change-set/agents/openai.yaml +4 -0
- package/review-codebases/LICENSE +21 -0
- package/review-codebases/README.md +67 -0
- package/review-codebases/SKILL.md +109 -0
- package/review-codebases/agents/openai.yaml +4 -0
- package/scripts/install_skills.ps1 +283 -0
- package/scripts/install_skills.sh +262 -0
- package/scripts/validate_openai_agent_config.py +194 -0
- package/scripts/validate_skill_frontmatter.py +110 -0
- package/specs-to-project-docs/LICENSE +21 -0
- package/specs-to-project-docs/README.md +57 -0
- package/specs-to-project-docs/SKILL.md +111 -0
- package/specs-to-project-docs/agents/openai.yaml +4 -0
- package/specs-to-project-docs/references/templates/architecture.md +29 -0
- package/specs-to-project-docs/references/templates/configuration.md +29 -0
- package/specs-to-project-docs/references/templates/developer-guide.md +33 -0
- package/specs-to-project-docs/references/templates/docs-index.md +39 -0
- package/specs-to-project-docs/references/templates/features.md +25 -0
- package/specs-to-project-docs/references/templates/getting-started.md +38 -0
- package/specs-to-project-docs/references/templates/readme.md +49 -0
- package/systematic-debug/LICENSE +21 -0
- package/systematic-debug/README.md +81 -0
- package/systematic-debug/SKILL.md +59 -0
- package/systematic-debug/agents/openai.yaml +4 -0
- package/text-to-short-video/.env.example +36 -0
- package/text-to-short-video/LICENSE +21 -0
- package/text-to-short-video/README.md +82 -0
- package/text-to-short-video/SKILL.md +221 -0
- package/text-to-short-video/agents/openai.yaml +4 -0
- package/text-to-short-video/scripts/enforce_video_aspect_ratio.py +350 -0
- package/version-release/CHANGELOG.md +53 -0
- package/version-release/LICENSE +21 -0
- package/version-release/README.md +28 -0
- package/version-release/SKILL.md +94 -0
- package/version-release/agents/openai.yaml +4 -0
- package/version-release/references/branch-naming.md +15 -0
- package/version-release/references/changelog-writing.md +8 -0
- package/version-release/references/commit-messages.md +19 -0
- package/version-release/references/readme-writing.md +12 -0
- package/version-release/references/semantic-versioning.md +12 -0
- package/video-production/CHANGELOG.md +104 -0
- package/video-production/LICENSE +18 -0
- package/video-production/README.md +68 -0
- package/video-production/SKILL.md +213 -0
- package/video-production/agents/openai.yaml +4 -0
- package/video-production/references/plan-template.md +54 -0
- package/video-production/references/roles-json.md +41 -0
- package/weekly-financial-event-report/SKILL.md +195 -0
- package/weekly-financial-event-report/agents/openai.yaml +4 -0
- package/weekly-financial-event-report/assets/financial_event_report_template.md +53 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specs-to-project-docs
|
|
3
|
+
description: Turn a project's accumulated spec files into standardized project documentation and README content. Use when users want to consolidate `spec.md`/`tasks.md`/`checklist.md` files into maintainable docs covering installation and deployment, configuration, external service setup, architecture, feature introductions, and developer onboarding context.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Specs To Project Docs
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
|
|
10
|
+
- Required: none.
|
|
11
|
+
- Conditional: none.
|
|
12
|
+
- Optional: none.
|
|
13
|
+
- Fallback: not applicable.
|
|
14
|
+
|
|
15
|
+
## Standards
|
|
16
|
+
|
|
17
|
+
- Evidence: Treat code, config, deployment files, and current spec files as evidence sources; never guess when a detail is missing.
|
|
18
|
+
- Execution: Inventory all relevant specs first, reconcile them with the current repository, then generate or update standardized docs from the provided templates.
|
|
19
|
+
- Quality: Prefer source-of-truth behavior over stale plan text, align existing docs to the same standard structure, and call out unknowns explicitly instead of inventing missing setup details.
|
|
20
|
+
- Output: Produce a concise `README.md` plus a categorized project-doc set, then remove superseded spec files after the conversion is complete.
|
|
21
|
+
|
|
22
|
+
## Goal
|
|
23
|
+
|
|
24
|
+
Convert scattered planning artifacts into stable, standardized project documentation that helps operators and developers quickly open the exact document they need for setup, configuration, architecture, feature understanding, or development onboarding.
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### 1) Inventory documentation sources
|
|
29
|
+
|
|
30
|
+
- Find all relevant planning files such as `docs/plans/**/spec.md`, `tasks.md`, and `checklist.md`.
|
|
31
|
+
- Read existing `README*`, deployment scripts, manifests, env examples, infra files, CI configs, and representative source modules.
|
|
32
|
+
- Build a source map for setup commands, environments, external services, module boundaries, and implemented features.
|
|
33
|
+
|
|
34
|
+
### 2) Reconcile spec claims with the current repository
|
|
35
|
+
|
|
36
|
+
- Treat source priority as:
|
|
37
|
+
1. current code, config, and deployment files
|
|
38
|
+
2. current tests and automation scripts
|
|
39
|
+
3. recent specs that still match the implementation
|
|
40
|
+
4. existing docs
|
|
41
|
+
- When specs disagree with the codebase, keep the codebase truth and note the mismatch while updating docs.
|
|
42
|
+
- Merge repeated or overlapping feature descriptions into one stable capability summary.
|
|
43
|
+
|
|
44
|
+
### 3) Standardize existing project docs into categorized outputs
|
|
45
|
+
|
|
46
|
+
- If the project already has `README.md`, handbooks, setup guides, architecture docs, or runbooks, rewrite or reorganize them so they follow this skill's standardized split-document structure instead of leaving mixed formats in place.
|
|
47
|
+
- Use `references/templates/readme.md` for the concise project introduction.
|
|
48
|
+
- Use `references/templates/docs-index.md` for the project documentation index and reference list.
|
|
49
|
+
- Use the category templates to split content by topic so readers can open only what they need.
|
|
50
|
+
- Default target outputs:
|
|
51
|
+
- `README.md`
|
|
52
|
+
- `docs/README.md`
|
|
53
|
+
- `docs/getting-started.md`
|
|
54
|
+
- `docs/configuration.md`
|
|
55
|
+
- `docs/architecture.md`
|
|
56
|
+
- `docs/features.md`
|
|
57
|
+
- `docs/developer-guide.md`
|
|
58
|
+
- If the repository already uses different doc paths, preserve the established locations only when the resulting documents still match the same categorized sections and remain easy to maintain.
|
|
59
|
+
|
|
60
|
+
### 4) Fill the required documentation sections
|
|
61
|
+
|
|
62
|
+
Ensure the split project docs cover all of the following:
|
|
63
|
+
- how to install and deploy the project
|
|
64
|
+
- how to configure the project
|
|
65
|
+
- external services, required credentials, and API key acquisition tutorials when applicable
|
|
66
|
+
- project architecture and key module boundaries
|
|
67
|
+
- project feature introductions and user-facing flows
|
|
68
|
+
- project context developers should understand before making changes
|
|
69
|
+
|
|
70
|
+
### 5) Write the configuration and external-service guidance carefully
|
|
71
|
+
|
|
72
|
+
- List each env var, config file, or secret only when supported by repository evidence.
|
|
73
|
+
- For every external service, document:
|
|
74
|
+
- why the service is needed
|
|
75
|
+
- which local config or env vars are required
|
|
76
|
+
- how to create or locate the credential
|
|
77
|
+
- where to place the credential locally or in deployment
|
|
78
|
+
- any safe-development notes such as sandbox/test-mode usage
|
|
79
|
+
- If the repository does not show how to obtain a credential, say so explicitly and point to the service's official setup page rather than guessing steps.
|
|
80
|
+
|
|
81
|
+
### 6) Keep README short and the doc set navigable
|
|
82
|
+
|
|
83
|
+
- `README.md` should stay short: project intro, quick install/deploy, major features, and key doc links.
|
|
84
|
+
- `docs/README.md` should act as the reference list for the categorized docs.
|
|
85
|
+
- Each category doc should stay focused on one topic instead of acting like another monolithic handbook.
|
|
86
|
+
- Remove template placeholders and stale planning language before finishing.
|
|
87
|
+
|
|
88
|
+
### 7) Remove superseded spec files after successful conversion
|
|
89
|
+
|
|
90
|
+
- After the standardized project docs are complete and verified, delete the old source spec files that were converted.
|
|
91
|
+
- Remove the full spec directory when it only exists to hold the consumed `spec.md`, `tasks.md`, and `checklist.md` files.
|
|
92
|
+
- Do not delete any spec file that is still actively needed for unfinished implementation work or explicit archival requirements.
|
|
93
|
+
- If a repository needs historical retention, move the source specs into a clearly marked archive path instead of leaving them mixed with active docs.
|
|
94
|
+
|
|
95
|
+
## Working Rules
|
|
96
|
+
|
|
97
|
+
- Prefer the user's language unless the repository clearly uses another documentation language.
|
|
98
|
+
- Keep examples executable and commands copyable.
|
|
99
|
+
- Do not copy speculative roadmap items from specs into the main docs as if they already exist.
|
|
100
|
+
- When a section cannot be completed from evidence, keep an explicit `Unknown` or `TBD (missing repository evidence)` marker.
|
|
101
|
+
- The final repository state should not keep both standardized docs and redundant active spec files for the same completed scope.
|
|
102
|
+
|
|
103
|
+
## References
|
|
104
|
+
|
|
105
|
+
- `references/templates/readme.md`: concise project overview template.
|
|
106
|
+
- `references/templates/docs-index.md`: categorized project-doc index and reference list template.
|
|
107
|
+
- `references/templates/getting-started.md`: installation and deployment template.
|
|
108
|
+
- `references/templates/configuration.md`: configuration and external-service template.
|
|
109
|
+
- `references/templates/architecture.md`: architecture template.
|
|
110
|
+
- `references/templates/features.md`: feature guide template.
|
|
111
|
+
- `references/templates/developer-guide.md`: development onboarding template.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "specs-to-project-docs"
|
|
3
|
+
short_description: "Convert project specs into standardized categorized project docs"
|
|
4
|
+
default_prompt: "Use $specs-to-project-docs to inventory the project's spec.md/tasks.md/checklist.md files, reconcile them with the current repository, rewrite existing project docs into a standardized categorized structure when needed, generate or update a concise README plus split project docs for getting started, configuration, architecture, features, and developer guidance, maintain a docs/README.md reference list, then remove or archive superseded source specs after successful conversion."
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## 1. High-Level Structure
|
|
4
|
+
|
|
5
|
+
- Entry points: [CLI/server/app/worker]
|
|
6
|
+
- Major modules: [module names and responsibilities]
|
|
7
|
+
- Data flow summary: [request/event/job flow]
|
|
8
|
+
- Integration boundaries: [DB/API/queue/filesystem]
|
|
9
|
+
|
|
10
|
+
## 2. Directory Guide
|
|
11
|
+
|
|
12
|
+
| Path | Responsibility |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| `[path]` | [What lives here] |
|
|
15
|
+
| `[path]` | [What lives here] |
|
|
16
|
+
|
|
17
|
+
## 3. Key Flows
|
|
18
|
+
|
|
19
|
+
### [Flow Name]
|
|
20
|
+
- Trigger: [route/command/job]
|
|
21
|
+
- Main steps: [step summary]
|
|
22
|
+
- Dependencies: [internal/external]
|
|
23
|
+
- Failure boundaries: [where failures surface]
|
|
24
|
+
|
|
25
|
+
## 4. Operational Notes
|
|
26
|
+
|
|
27
|
+
- State/storage model: [DB/files/cache/queue]
|
|
28
|
+
- Concurrency or ordering concerns: [if any]
|
|
29
|
+
- Observability entrypoints: [logs/metrics/traces/dashboards]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Configuration
|
|
2
|
+
|
|
3
|
+
## 1. Environment Variables And Config Files
|
|
4
|
+
|
|
5
|
+
| Key / File | Required | Purpose | Example / Default | Evidence |
|
|
6
|
+
| --- | --- | --- | --- | --- |
|
|
7
|
+
| `[ENV_KEY]` | `[Yes/No]` | [What it controls] | [Example or default] | [File path] |
|
|
8
|
+
| `[config/file]` | `[Yes/No]` | [Why it matters] | [Example or default] | [File path] |
|
|
9
|
+
|
|
10
|
+
## 2. External Services And Credential Setup
|
|
11
|
+
|
|
12
|
+
### [Service Name]
|
|
13
|
+
|
|
14
|
+
- Purpose: [Why this service exists in the project]
|
|
15
|
+
- Required keys/config: `[ENV_KEY]`, `[CONFIG_KEY]`
|
|
16
|
+
- Official setup entry: [Link or exact console path if known]
|
|
17
|
+
- Acquisition steps:
|
|
18
|
+
1. [Create or open the relevant account/project]
|
|
19
|
+
2. [Generate/find the credential]
|
|
20
|
+
3. [Store it in the local/deployment config]
|
|
21
|
+
4. [Verify connectivity]
|
|
22
|
+
- Development notes: [sandbox/test mode, rate limit, fake data, or `Unknown`]
|
|
23
|
+
- Evidence: [file path or spec path]
|
|
24
|
+
|
|
25
|
+
## 3. Safety Notes
|
|
26
|
+
|
|
27
|
+
- Secret handling: [where secrets should live]
|
|
28
|
+
- Local overrides: [env file / config layering / secret manager]
|
|
29
|
+
- Common misconfiguration symptoms: [brief list]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Developer Guide
|
|
2
|
+
|
|
3
|
+
## 1. Domain Concepts To Know
|
|
4
|
+
|
|
5
|
+
- [Business rule, glossary term, permission model, lifecycle concept]
|
|
6
|
+
- [Business rule, glossary term, permission model, lifecycle concept]
|
|
7
|
+
|
|
8
|
+
## 2. Change Hotspots
|
|
9
|
+
|
|
10
|
+
- Critical modules: [paths or module names]
|
|
11
|
+
- External dependency touchpoints: [APIs/services/jobs]
|
|
12
|
+
- Data integrity or migration risks: [if any]
|
|
13
|
+
- Concurrency / idempotency concerns: [if any]
|
|
14
|
+
|
|
15
|
+
## 3. Testing Expectations
|
|
16
|
+
|
|
17
|
+
- Required test layers: [unit / integration / E2E / property-based]
|
|
18
|
+
- Mock/fake expectations: [where external dependencies should be isolated]
|
|
19
|
+
- High-value regression areas: [bug-prone workflows]
|
|
20
|
+
|
|
21
|
+
## 4. Debugging Entry Points
|
|
22
|
+
|
|
23
|
+
- Logs: [paths / commands / tools]
|
|
24
|
+
- Local reproduction commands: [commands]
|
|
25
|
+
- Dashboards or observability tools: [if any]
|
|
26
|
+
- Common failure signals: [errors / symptoms]
|
|
27
|
+
|
|
28
|
+
## 5. Documentation Maintenance Notes
|
|
29
|
+
|
|
30
|
+
- Specs reviewed: [list of spec directories/files]
|
|
31
|
+
- Existing docs updated: [paths]
|
|
32
|
+
- Major conflicts resolved: [spec vs code decisions]
|
|
33
|
+
- Remaining unknowns: [list or `None`]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# [Project Name] Documentation
|
|
2
|
+
|
|
3
|
+
## Start Here
|
|
4
|
+
|
|
5
|
+
- Project overview: `README.md`
|
|
6
|
+
- Setup and deployment: `docs/getting-started.md`
|
|
7
|
+
- Configuration and external services: `docs/configuration.md`
|
|
8
|
+
- Architecture: `docs/architecture.md`
|
|
9
|
+
- Features and workflows: `docs/features.md`
|
|
10
|
+
- Developer guide: `docs/developer-guide.md`
|
|
11
|
+
|
|
12
|
+
## Document Guide
|
|
13
|
+
|
|
14
|
+
### Getting Started
|
|
15
|
+
- Audience: [operators / developers / both]
|
|
16
|
+
- Covers: installation, prerequisites, local run, deployment flow
|
|
17
|
+
|
|
18
|
+
### Configuration
|
|
19
|
+
- Audience: [operators / developers / both]
|
|
20
|
+
- Covers: env vars, config files, secrets, external services, API key setup
|
|
21
|
+
|
|
22
|
+
### Architecture
|
|
23
|
+
- Audience: [developers / maintainers]
|
|
24
|
+
- Covers: system boundaries, module responsibilities, data flow, key directories
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
- Audience: [users / support / developers]
|
|
28
|
+
- Covers: major workflows, entrypoints, user value, important edge cases
|
|
29
|
+
|
|
30
|
+
### Developer Guide
|
|
31
|
+
- Audience: [developers / maintainers]
|
|
32
|
+
- Covers: domain concepts, risk hotspots, testing expectations, debugging entrypoints
|
|
33
|
+
|
|
34
|
+
## Reference List
|
|
35
|
+
|
|
36
|
+
- Source specs reviewed: [list of spec directories/files]
|
|
37
|
+
- Existing docs updated: [paths]
|
|
38
|
+
- Important code/config references: [paths]
|
|
39
|
+
- Remaining unknowns: [list or `None`]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Features
|
|
2
|
+
|
|
3
|
+
## 1. Feature Summary
|
|
4
|
+
|
|
5
|
+
- Supported user workflows: [short list]
|
|
6
|
+
- Primary entrypoints: [routes/pages/commands/jobs]
|
|
7
|
+
- Notable limitations or guardrails: [if any]
|
|
8
|
+
|
|
9
|
+
## 2. Feature Details
|
|
10
|
+
|
|
11
|
+
### [Feature or Workflow Name]
|
|
12
|
+
|
|
13
|
+
- User value: [Why it matters]
|
|
14
|
+
- Trigger or entrypoint: [route/command/page/job]
|
|
15
|
+
- Core flow: [happy path summary]
|
|
16
|
+
- Edge or failure notes: [important caveats]
|
|
17
|
+
- Evidence: [spec/code/doc path]
|
|
18
|
+
|
|
19
|
+
### [Feature or Workflow Name]
|
|
20
|
+
|
|
21
|
+
- User value: [Why it matters]
|
|
22
|
+
- Trigger or entrypoint: [route/command/page/job]
|
|
23
|
+
- Core flow: [happy path summary]
|
|
24
|
+
- Edge or failure notes: [important caveats]
|
|
25
|
+
- Evidence: [spec/code/doc path]
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
## 1. Purpose
|
|
4
|
+
|
|
5
|
+
- Project purpose: [What the project exists to do]
|
|
6
|
+
- Primary users: [Who uses it]
|
|
7
|
+
- Supported environments: [local / staging / production / other]
|
|
8
|
+
|
|
9
|
+
## 2. Prerequisites
|
|
10
|
+
|
|
11
|
+
- Runtime/tooling: [Node/Python/Docker/etc.]
|
|
12
|
+
- Accounts/services needed: [if any]
|
|
13
|
+
- Local dependencies: [database, queue, browser, etc.]
|
|
14
|
+
|
|
15
|
+
## 3. Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
[Clone / install / bootstrap commands]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 4. Local Run
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
[Run or dev server commands]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 5. Deployment
|
|
28
|
+
|
|
29
|
+
- Deployment targets: [where it deploys]
|
|
30
|
+
- Deployment command or pipeline: [command / CI job / script]
|
|
31
|
+
- Required pre-deploy checks: [tests, migrations, approvals]
|
|
32
|
+
- Rollback notes: [how rollback works or `Unknown`]
|
|
33
|
+
|
|
34
|
+
## 6. Verification
|
|
35
|
+
|
|
36
|
+
- Smoke checks: [command / URL / workflow]
|
|
37
|
+
- Expected signals: [log, page, API response, artifact]
|
|
38
|
+
- Evidence: [file path or command path]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# [Project Name]
|
|
2
|
+
|
|
3
|
+
[One-paragraph project introduction: what the project does, who it is for, and the core value it provides.]
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- [Primary feature or workflow]
|
|
8
|
+
- [Primary feature or workflow]
|
|
9
|
+
- [Primary feature or workflow]
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
[Install command or setup sequence]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Configure
|
|
20
|
+
|
|
21
|
+
- [Required env var or config file]
|
|
22
|
+
- [Required env var or config file]
|
|
23
|
+
|
|
24
|
+
### Run or Deploy
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
[Local run command or deployment command]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Documentation
|
|
31
|
+
|
|
32
|
+
- Project docs index: `docs/README.md`
|
|
33
|
+
- Setup and deployment: `docs/getting-started.md`
|
|
34
|
+
- Configuration: `docs/configuration.md`
|
|
35
|
+
- Architecture: `docs/architecture.md`
|
|
36
|
+
- Features: `docs/features.md`
|
|
37
|
+
- Developer guide: `docs/developer-guide.md`
|
|
38
|
+
|
|
39
|
+
## Main Features
|
|
40
|
+
|
|
41
|
+
### [Feature Area 1]
|
|
42
|
+
[Short explanation of the user-facing value and the main flow.]
|
|
43
|
+
|
|
44
|
+
### [Feature Area 2]
|
|
45
|
+
[Short explanation of the user-facing value and the main flow.]
|
|
46
|
+
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
- [Any important limitation, prerequisite, or safety note]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lai Tsz Kin
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Systematic Debug Skill
|
|
2
|
+
|
|
3
|
+
## Brief Introduction
|
|
4
|
+
|
|
5
|
+
An agent skill for Codex/Claude workflows that applies a test-first debugging process: understand the issue, inspect code paths, reproduce all plausible causes with tests, and fix until all related tests pass.
|
|
6
|
+
|
|
7
|
+
This skill is designed to avoid speculative fixes and ensure each bug hypothesis is validated through reproducible test evidence.
|
|
8
|
+
|
|
9
|
+
## Problems this skill solves
|
|
10
|
+
|
|
11
|
+
Use this skill when:
|
|
12
|
+
|
|
13
|
+
- An issue is reported but root cause is not obvious
|
|
14
|
+
- Multiple code paths may explain the same failure
|
|
15
|
+
- You need evidence-backed fixes with reproducible tests
|
|
16
|
+
- You want to reduce regressions from guess-based changes
|
|
17
|
+
|
|
18
|
+
## Invocation rule
|
|
19
|
+
|
|
20
|
+
This skill should be invoked by default for any program-problem request, such as:
|
|
21
|
+
|
|
22
|
+
- bug reports, regressions, or "feature not working"
|
|
23
|
+
- runtime errors, exceptions, crashes, or HTTP 4xx/5xx failures
|
|
24
|
+
- failing or flaky tests
|
|
25
|
+
- intermittent or hard-to-reproduce incorrect behavior
|
|
26
|
+
- any observed-vs-expected mismatch (for example: "it should do X but did Y")
|
|
27
|
+
|
|
28
|
+
It should also auto-invoke when mismatch evidence is detected during normal task execution (logs, test failures, runtime output), even if debugging was not explicitly requested.
|
|
29
|
+
|
|
30
|
+
## Core method
|
|
31
|
+
|
|
32
|
+
This skill follows a fixed workflow:
|
|
33
|
+
|
|
34
|
+
1. **Understand and inspect**: interpret expected vs observed behavior, inspect relevant code, and list all plausible causes.
|
|
35
|
+
2. **Reproduce with tests**: create or extend tests to reproduce each plausible cause.
|
|
36
|
+
3. **Diagnose and confirm**: use reproduction evidence to confirm the true root cause and rule out non-causes.
|
|
37
|
+
4. **Fix and validate**: apply focused fixes and iterate until all reproduction tests pass.
|
|
38
|
+
|
|
39
|
+
## Design principles
|
|
40
|
+
|
|
41
|
+
- **Evidence first**: every cause should be validated by tests.
|
|
42
|
+
- **Comprehensive hypotheses**: do not stop at the first guess.
|
|
43
|
+
- **Minimal change**: keep fixes targeted to confirmed failures.
|
|
44
|
+
- **Clear traceability**: map fixes to specific failing-then-passing tests.
|
|
45
|
+
|
|
46
|
+
## Typical deliverables
|
|
47
|
+
|
|
48
|
+
For each debugging task, provide:
|
|
49
|
+
|
|
50
|
+
- Plausible root-cause list and related code paths
|
|
51
|
+
- Reproduction tests for each plausible cause
|
|
52
|
+
- Fix summary tied to test outcomes
|
|
53
|
+
- Final confirmation that all related tests pass
|
|
54
|
+
|
|
55
|
+
## Example: one full debugging cycle
|
|
56
|
+
|
|
57
|
+
### User issue
|
|
58
|
+
|
|
59
|
+
> "Checkout occasionally fails with a 500 error when applying coupons."
|
|
60
|
+
|
|
61
|
+
### Agent execution (condensed)
|
|
62
|
+
|
|
63
|
+
1. Identify plausible causes in coupon validation, pricing calculation, and external discount service handling.
|
|
64
|
+
2. Add tests to reproduce each cause under matching edge conditions.
|
|
65
|
+
3. Implement fixes for failing cases and rerun tests.
|
|
66
|
+
4. Confirm all previously failing reproduction tests now pass.
|
|
67
|
+
|
|
68
|
+
### Expected output
|
|
69
|
+
|
|
70
|
+
- Root-cause hypothesis list with code references
|
|
71
|
+
- Reproduction tests and initial failing results
|
|
72
|
+
- Fix summary and passing test results
|
|
73
|
+
- Final validation statement
|
|
74
|
+
|
|
75
|
+
## Repository layout
|
|
76
|
+
|
|
77
|
+
- `SKILL.md`: skill definition and workflow rules
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
This project is licensed under [MIT License](LICENSE).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: systematic-debug
|
|
3
|
+
description: "Systematic debugging workflow for program issues: understand observed vs expected behavior, inspect codebase paths, reproduce all plausible causes with tests, diagnose the real root cause, and complete a validated fix. Auto-invoke whenever behavior does not match expectations (even if the user did not explicitly request debugging), including bugs, errors, crashes, regressions, flaky behavior, and failing tests."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Systematic Debug
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
|
|
10
|
+
- Required: none.
|
|
11
|
+
- Conditional: none.
|
|
12
|
+
- Optional: none.
|
|
13
|
+
- Fallback: not applicable.
|
|
14
|
+
|
|
15
|
+
## Standards
|
|
16
|
+
|
|
17
|
+
- Evidence: Gather expected versus observed behavior from code and runtime facts before deciding on a cause.
|
|
18
|
+
- Execution: Inspect the relevant paths, reproduce every plausible cause with tests, diagnose the real cause, then apply the minimal fix.
|
|
19
|
+
- Quality: Keep scope focused on the bug, prefer existing test patterns, and explicitly rule out hypotheses that could not be reproduced.
|
|
20
|
+
- Output: Deliver the plausible-cause list, reproduction tests, validated fix summary, and passing-test confirmation.
|
|
21
|
+
|
|
22
|
+
## Core Principles
|
|
23
|
+
|
|
24
|
+
- Gather facts from user reports and code behavior before changing implementation.
|
|
25
|
+
- Cover all plausible causes with reproducible tests instead of guessing a single cause.
|
|
26
|
+
- Keep fixes minimal, focused, and validated by passing tests.
|
|
27
|
+
|
|
28
|
+
## Trigger Conditions
|
|
29
|
+
|
|
30
|
+
Use this skill by default whenever the request indicates a program problem, including:
|
|
31
|
+
|
|
32
|
+
- bug, defect, regression, broken behavior
|
|
33
|
+
- error, exception, crash, 4xx/5xx failure
|
|
34
|
+
- failing/flaky tests, intermittent failures, unstable behavior
|
|
35
|
+
- "why is this not working" style troubleshooting requests
|
|
36
|
+
- explicit or implicit observed-vs-expected mismatch ("it should do X but does Y")
|
|
37
|
+
|
|
38
|
+
Also auto-invoke this skill when mismatch evidence appears during normal execution (logs, test output, runtime output), even if the original request was not phrased as a debugging task.
|
|
39
|
+
|
|
40
|
+
## Required Workflow
|
|
41
|
+
|
|
42
|
+
1. **Understand and inspect**: Parse expected vs observed behavior, explore relevant code paths, and build a list of plausible root causes.
|
|
43
|
+
2. **Reproduce with tests**: Write or extend tests that reproduce every plausible cause.
|
|
44
|
+
3. **Diagnose and confirm**: Use reproduction evidence to confirm the true root cause and explicitly rule out non-causes.
|
|
45
|
+
4. **Fix and validate**: Implement focused fixes and iterate until all reproduction tests pass.
|
|
46
|
+
|
|
47
|
+
## Implementation Guidelines
|
|
48
|
+
|
|
49
|
+
- Read related modules end-to-end before editing.
|
|
50
|
+
- Prefer existing test patterns and fixtures over creating new frameworks.
|
|
51
|
+
- Keep the scope to bug reproduction and resolution; avoid unrelated refactors.
|
|
52
|
+
- If a hypothesized cause cannot be reproduced, document why and deprioritize it explicitly.
|
|
53
|
+
|
|
54
|
+
## Deliverables
|
|
55
|
+
|
|
56
|
+
- Plausible root-cause list tied to concrete code paths
|
|
57
|
+
- Reproduction tests for each plausible cause
|
|
58
|
+
- Fix summary mapped to failing-then-passing tests
|
|
59
|
+
- Final confirmation that all related tests pass
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Systematic Debug"
|
|
3
|
+
short_description: "Diagnose bugs with reproduction tests before fixing"
|
|
4
|
+
default_prompt: "Use $systematic-debug to understand expected vs observed behavior, inspect relevant code paths, write or extend tests for every plausible cause, confirm the true root cause from reproduction evidence, apply the smallest focused fix, and validate with passing tests."
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Text to Short Video environment template
|
|
2
|
+
#
|
|
3
|
+
# Usage:
|
|
4
|
+
# 1) Copy this file to /Users/tszkinlai/.codex/skills/text-to-short-video/.env
|
|
5
|
+
# 2) Fill required keys
|
|
6
|
+
|
|
7
|
+
# ====================================
|
|
8
|
+
# API connection (required)
|
|
9
|
+
# ====================================
|
|
10
|
+
# OpenAI-compatible API base URL (must include /v1)
|
|
11
|
+
OPENAI_API_URL="https://api.openai.com/v1"
|
|
12
|
+
|
|
13
|
+
# API key for the video API
|
|
14
|
+
OPENAI_API_KEY=""
|
|
15
|
+
|
|
16
|
+
# ====================================
|
|
17
|
+
# Video generation defaults (optional)
|
|
18
|
+
# ====================================
|
|
19
|
+
# Provider model id used for /videos/generations
|
|
20
|
+
OPENAI_VIDEO_MODEL="video-model-id"
|
|
21
|
+
|
|
22
|
+
# Keep output in 30-60 seconds unless user requests otherwise
|
|
23
|
+
OPENAI_VIDEO_DURATION_SECONDS="50"
|
|
24
|
+
|
|
25
|
+
# Use either size or aspect ratio based on provider support
|
|
26
|
+
OPENAI_VIDEO_SIZE="1080x1920"
|
|
27
|
+
OPENAI_VIDEO_ASPECT_RATIO="9:16"
|
|
28
|
+
|
|
29
|
+
# Polling interval for async generation job status
|
|
30
|
+
OPENAI_VIDEO_POLL_SECONDS="5"
|
|
31
|
+
|
|
32
|
+
# ====================================
|
|
33
|
+
# Final video render size for optional post-processing
|
|
34
|
+
# ====================================
|
|
35
|
+
TEXT_TO_SHORT_VIDEO_WIDTH="1080"
|
|
36
|
+
TEXT_TO_SHORT_VIDEO_HEIGHT="1920"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 tszkinlai
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# text-to-short-video
|
|
2
|
+
|
|
3
|
+
A Codex skill that converts articles, scripts, chapters, or notes into 30-60 second short videos (API-only workflow).
|
|
4
|
+
|
|
5
|
+
This skill will:
|
|
6
|
+
|
|
7
|
+
- Extract a short-video prompt from input text (or use a user-locked prompt directly)
|
|
8
|
+
- Use `roles.json` to keep character consistency (existing roles only update `description`)
|
|
9
|
+
- Call an OpenAI-compatible video generation API directly
|
|
10
|
+
- Poll job status until completion and download MP4 output
|
|
11
|
+
- Apply optional aspect-ratio/size post-processing when needed
|
|
12
|
+
|
|
13
|
+
## Dependency skills
|
|
14
|
+
|
|
15
|
+
No mandatory dependencies.
|
|
16
|
+
|
|
17
|
+
> This skill does not use `openai-text-to-image-storyboard` or `remotion-best-practices`.
|
|
18
|
+
|
|
19
|
+
## Character consistency (`roles.json`)
|
|
20
|
+
|
|
21
|
+
- Role file path is fixed: `<project_dir>/pictures/<content_name>/roles.json`
|
|
22
|
+
- JSON schema uses a `characters` array with fields:
|
|
23
|
+
- `id`
|
|
24
|
+
- `name`
|
|
25
|
+
- `appearance`
|
|
26
|
+
- `outfit`
|
|
27
|
+
- `description`
|
|
28
|
+
- To preserve consistency: existing roles may only update `description`; do not rewrite `id/name/appearance/outfit`
|
|
29
|
+
|
|
30
|
+
## Environment setup
|
|
31
|
+
|
|
32
|
+
1. Copy env template:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cp /Users/tszkinlai/.codex/skills/text-to-short-video/.env.example \
|
|
36
|
+
/Users/tszkinlai/.codex/skills/text-to-short-video/.env
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Required values:
|
|
40
|
+
|
|
41
|
+
- `OPENAI_API_URL`
|
|
42
|
+
- `OPENAI_API_KEY`
|
|
43
|
+
|
|
44
|
+
3. Optional values:
|
|
45
|
+
|
|
46
|
+
- `OPENAI_VIDEO_MODEL`
|
|
47
|
+
- `OPENAI_VIDEO_DURATION_SECONDS`
|
|
48
|
+
- `OPENAI_VIDEO_ASPECT_RATIO`
|
|
49
|
+
- `OPENAI_VIDEO_SIZE`
|
|
50
|
+
- `OPENAI_VIDEO_POLL_SECONDS`
|
|
51
|
+
- `TEXT_TO_SHORT_VIDEO_WIDTH`
|
|
52
|
+
- `TEXT_TO_SHORT_VIDEO_HEIGHT`
|
|
53
|
+
|
|
54
|
+
## Aspect-ratio correction (optional post-processing)
|
|
55
|
+
|
|
56
|
+
If API-generated video ratio/size does not match the target, run:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
python /Users/tszkinlai/.codex/skills/text-to-short-video/scripts/enforce_video_aspect_ratio.py \
|
|
60
|
+
--input-video "<downloaded_video_path>" \
|
|
61
|
+
--output-video "<final_output_video_path>" \
|
|
62
|
+
--env-file /Users/tszkinlai/.codex/skills/text-to-short-video/.env \
|
|
63
|
+
--force
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Repository layout
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
text-to-short-video/
|
|
70
|
+
├── SKILL.md
|
|
71
|
+
├── README.md
|
|
72
|
+
├── LICENSE
|
|
73
|
+
├── .env.example
|
|
74
|
+
├── agents/
|
|
75
|
+
│ └── openai.yaml
|
|
76
|
+
└── scripts/
|
|
77
|
+
└── enforce_video_aspect_ratio.py
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
This project is licensed under [MIT License](./LICENSE).
|