@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,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: version-release
|
|
3
|
+
description: "Guide the agent to prepare and publish a versioned release (version bump, changelog, tag, and push). Use only when users explicitly request version/tag/release work. If the release scope includes new completed spec files, run `specs-to-project-docs` before finalizing the release so project docs are standardized into categorized files and the old specs are removed or archived."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Version Release
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
|
|
10
|
+
- Required: none.
|
|
11
|
+
- Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting releases before metadata edits and the final commit; `specs-to-project-docs` when the release scope includes new completed spec files.
|
|
12
|
+
- Optional: none.
|
|
13
|
+
- Fallback: If a required release dependency is unavailable for a code-affecting scope, or if `specs-to-project-docs` is required for spec conversion but unavailable, stop and report the missing dependency.
|
|
14
|
+
|
|
15
|
+
## Standards
|
|
16
|
+
|
|
17
|
+
- Evidence: Inspect the active change set and the release range before touching version files, tags, or changelog entries.
|
|
18
|
+
- Execution: Use this workflow only for explicit release intent, run the required quality gates, standardize project docs into categorized files when new specs are present, then update versions, docs, commit, tag, and push.
|
|
19
|
+
- Quality: Never guess versions, align user-facing docs with actual code, and convert completed planning docs into standardized categorized project docs before the release is published.
|
|
20
|
+
- Output: Produce a versioned release commit and tag with synchronized changelog and relevant repository documentation.
|
|
21
|
+
|
|
22
|
+
## Overview
|
|
23
|
+
|
|
24
|
+
Run a standardized release workflow for versioned delivery:
|
|
25
|
+
|
|
26
|
+
- resolve release scope
|
|
27
|
+
- align project code and standardized categorized project documentation
|
|
28
|
+
- bump version files
|
|
29
|
+
- update changelog and relevant docs
|
|
30
|
+
- commit, tag, and push
|
|
31
|
+
|
|
32
|
+
## References
|
|
33
|
+
|
|
34
|
+
Load only when needed:
|
|
35
|
+
|
|
36
|
+
- `references/semantic-versioning.md`
|
|
37
|
+
- `references/commit-messages.md`
|
|
38
|
+
- `references/branch-naming.md`
|
|
39
|
+
- `references/changelog-writing.md`
|
|
40
|
+
- `references/readme-writing.md`
|
|
41
|
+
|
|
42
|
+
## Workflow
|
|
43
|
+
|
|
44
|
+
1. Inspect current changes
|
|
45
|
+
- Run `git status -sb`, `git diff --stat`, and `git diff --cached --stat`.
|
|
46
|
+
- Check staged files with `git diff --cached --name-only`.
|
|
47
|
+
2. Confirm release intent
|
|
48
|
+
- Use this skill only when the user explicitly requests version/tag/release work.
|
|
49
|
+
- If no release intent is present, use `commit-and-push` instead.
|
|
50
|
+
3. Classify changes and run dependencies when required
|
|
51
|
+
- `code-affecting`: runtime code, tests, build scripts, CI logic, or behavior-changing config.
|
|
52
|
+
- `docs-only`: documentation/content updates only.
|
|
53
|
+
- `new-specs-present`: the current change set or release range adds or updates completed planning files such as `spec.md`, `tasks.md`, `checklist.md`, or their containing plan directories.
|
|
54
|
+
- For code-affecting changes, run `review-change-set` to challenge architecture and simplification assumptions in the active change set.
|
|
55
|
+
- For code-affecting changes, run `discover-edge-cases` and resolve any confirmed findings.
|
|
56
|
+
- For code-affecting changes, ensure `harden-app-security` has been executed for the same scope as an adversarial quality gate.
|
|
57
|
+
4. Identify release range
|
|
58
|
+
- Find latest version tag with `git describe --tags --abbrev=0` (fallback to `git tag --list`).
|
|
59
|
+
- If no tags exist, use initial commit from `git rev-list --max-parents=0 HEAD`.
|
|
60
|
+
- Review `git log --oneline <range>` and `git diff --stat <range>`.
|
|
61
|
+
5. Standardize project docs when new specs are in scope
|
|
62
|
+
- Execute `specs-to-project-docs` when `new-specs-present` is true and the related implementation scope is complete enough for documentation consolidation.
|
|
63
|
+
- Let `specs-to-project-docs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
|
|
64
|
+
- Let the skill normalize any existing project docs to the same structure and remove or archive superseded source spec files.
|
|
65
|
+
- If the specs still represent active unfinished work, do not convert them yet; report that the spec files remain active and should not be deleted.
|
|
66
|
+
6. Align code and project docs
|
|
67
|
+
- Compare release range changes with user-facing docs and operational docs to ensure they match actual code behavior.
|
|
68
|
+
- Required alignment targets include project docs such as `README.md`, usage/setup docs, API docs, deployment/runbook docs, and release notes sources when present.
|
|
69
|
+
- After `specs-to-project-docs` runs, treat the categorized outputs as the canonical project-doc structure.
|
|
70
|
+
- If mismatches are found, update the relevant project docs before version bumping/tagging.
|
|
71
|
+
7. Decide version and tag format
|
|
72
|
+
- Read existing version files (for example `project.toml`, `package.json`, or repo-specific version files).
|
|
73
|
+
- Infer existing tag format (`vX.Y.Z` or `X.Y.Z`) from repository tags.
|
|
74
|
+
- If the user provides the target version, use it directly.
|
|
75
|
+
- If it is missing, ask the user for the target version or semver bump type.
|
|
76
|
+
- Provide recommendations only when explicitly requested.
|
|
77
|
+
8. Update version files
|
|
78
|
+
- Update every detected version file consistently.
|
|
79
|
+
- Preserve file formatting; change only version values.
|
|
80
|
+
9. Update release docs
|
|
81
|
+
- Update `CHANGELOG.md` with a new version entry using the selected release range.
|
|
82
|
+
- Update `README.md` only when behavior or usage changed.
|
|
83
|
+
- Update `AGENTS.md` only when agent workflow/rules changed.
|
|
84
|
+
10. Commit and tag
|
|
85
|
+
- Create a release-oriented commit message (for example `chore(release): bump version and update changelog`) when applicable.
|
|
86
|
+
- Create the version tag locally after commit.
|
|
87
|
+
11. Push
|
|
88
|
+
- Push commit(s) and the release tag to the current branch.
|
|
89
|
+
|
|
90
|
+
## Notes
|
|
91
|
+
|
|
92
|
+
- Never guess versions; always read from files and user intent.
|
|
93
|
+
- If tests are required by repository conventions, run them before commit.
|
|
94
|
+
- If a new branch is required, follow `references/branch-naming.md`.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Version Release"
|
|
3
|
+
short_description: "Prepare a versioned release with bump, changelog, tag, and push"
|
|
4
|
+
default_prompt: "Use $version-release only for explicit release/version/tag requests: inspect the release scope, and for code-affecting changes run $review-change-set, $discover-edge-cases, and $harden-app-security as quality gates, run $specs-to-project-docs when the release scope includes new completed spec files so project docs are standardized into categorized files and old specs are removed or archived, align user-facing docs with real behavior, update version files and CHANGELOG, create the release commit and tag, and push both commits and tags."
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Branch Naming Instructions
|
|
2
|
+
|
|
3
|
+
Use a short, descriptive branch name in this pattern:
|
|
4
|
+
|
|
5
|
+
- type/short-description
|
|
6
|
+
- type/issue-id-short-description (if issue ids are used)
|
|
7
|
+
|
|
8
|
+
Guidelines:
|
|
9
|
+
- Use lowercase letters and hyphens only.
|
|
10
|
+
- Align type with commit message types (feat, fix, docs, chore, refactor, test).
|
|
11
|
+
- Do not rename the current branch unless the user explicitly asks.
|
|
12
|
+
|
|
13
|
+
Examples:
|
|
14
|
+
- feat/add-rpc-timeouts
|
|
15
|
+
- fix/1234-parse-registry
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# CHANGELOG Writing
|
|
2
|
+
|
|
3
|
+
Follow the existing changelog format. If none is defined, use Keep a Changelog style.
|
|
4
|
+
|
|
5
|
+
- Add a new version heading with the release date (YYYY-MM-DD).
|
|
6
|
+
- Group entries under clear sections: Added, Changed, Fixed, Removed, Deprecated, Security.
|
|
7
|
+
- Write user-facing bullets; avoid commit hashes or internal-only details.
|
|
8
|
+
- Call out breaking changes explicitly.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Commit Message Instructions
|
|
2
|
+
|
|
3
|
+
Use a concise Conventional Commit style:
|
|
4
|
+
|
|
5
|
+
- Format: type: short subject
|
|
6
|
+
- Subject: imperative, lower case, no trailing period, <= 72 chars
|
|
7
|
+
- Scope: include only if the repo already uses it (type(scope): subject)
|
|
8
|
+
- Select `type` from the actual change intent in the staged diff (feature, bugfix, docs, etc.)
|
|
9
|
+
- Do not use version-only subjects (for example `feat: v1.2.3`)
|
|
10
|
+
- If the commit only contains release metadata, use `chore(release): ...`
|
|
11
|
+
|
|
12
|
+
Common types:
|
|
13
|
+
- feat, fix, docs, chore, refactor, test, style, perf, build, ci
|
|
14
|
+
|
|
15
|
+
Examples:
|
|
16
|
+
- feat: add rpc retry backoff
|
|
17
|
+
- fix: handle empty response payload
|
|
18
|
+
- docs: update env var table
|
|
19
|
+
- chore(release): bump version and update changelog
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# README Writing
|
|
2
|
+
|
|
3
|
+
Update README only when it contradicts the code changes.
|
|
4
|
+
|
|
5
|
+
Check and update as needed:
|
|
6
|
+
- Overview and feature list
|
|
7
|
+
- Installation and setup steps
|
|
8
|
+
- Usage examples and CLI commands
|
|
9
|
+
- Configuration or environment variables
|
|
10
|
+
- API or integration instructions
|
|
11
|
+
|
|
12
|
+
Keep edits minimal and consistent with the existing style.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Semantic Versioning
|
|
2
|
+
|
|
3
|
+
Use MAJOR.MINOR.PATCH for release versions.
|
|
4
|
+
|
|
5
|
+
- MAJOR: incompatible or breaking changes.
|
|
6
|
+
- MINOR: backward-compatible new features.
|
|
7
|
+
- PATCH: backward-compatible bug fixes.
|
|
8
|
+
|
|
9
|
+
Pre-release or build metadata (for example, 1.2.3-rc.1) is allowed only if the repo already uses it.
|
|
10
|
+
Prefer the existing tag format and prefix (v1.2.3 vs 1.2.3).
|
|
11
|
+
|
|
12
|
+
If the change type is ambiguous, choose the lower bump and ask the user to confirm.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.6.0] - 2026-02-17
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Enforce `16:9` output as the default long-video aspect ratio (default `1920x1080`).
|
|
9
|
+
- Require fresh storyboard image generation per run (no reuse of previously generated storyboard pictures).
|
|
10
|
+
- Add an audience-retention animation requirement for long-form timelines and an animation planning section in the plan template.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Remove climax-short-clip planning/output requirements and replace them with chapter-level animation planning.
|
|
14
|
+
- Update `SKILL.md`, `README.md`, `agents/openai.yaml`, and `references/plan-template.md` to match the new 16:9 + fresh-images + animation-first long-video workflow.
|
|
15
|
+
|
|
16
|
+
### Removed
|
|
17
|
+
- Remove `text-to-short-video` as a dependency from the default long-form workflow.
|
|
18
|
+
- Remove related climax-scene short-video generation and integration steps.
|
|
19
|
+
|
|
20
|
+
## [0.5.0] - 2026-02-17
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- Require integrating every climax short clip generated by `text-to-short-video` into the final long-form timeline.
|
|
24
|
+
- Add a compact plan template with four required sections: `Meta Data`, `Reference Text`, `Images Needed To Be Generated`, and `Climax Scenes Selected And Videos To Be Generated`.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
- Replace the single important-section short-clip flow with climax-scene selection for text-driven jobs.
|
|
28
|
+
- Update `SKILL.md`, `README.md`, and `agents/openai.yaml` to capture climax-scene locks, clip integration positions, and source-reference-only planning guidance.
|
|
29
|
+
|
|
30
|
+
## [0.4.0] - 2026-02-17
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
- Add long-form structure and timing-plan requirements to the plan template for 10+ minute productions.
|
|
34
|
+
- Add optional highlight-clip flow that allows `text-to-short-video` only when explicitly requested.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- Reposition the skill as a long-form video production workflow (default target: more than 10 minutes) instead of short-video-first behavior.
|
|
38
|
+
- Replace key-segment-first short pipeline rules with chaptered long-form planning, timing, and rendering guidance in `SKILL.md`, `README.md`, and `agents/openai.yaml`.
|
|
39
|
+
|
|
40
|
+
## [0.3.0] - 2026-02-17
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
- Add `text-to-short-video` as the default text-first production dependency.
|
|
44
|
+
- Require extracting the most important text segment before short-video generation unless the user locks an exact segment.
|
|
45
|
+
- Add recurring-role prompt policy: reuse existing role skeletons and create new JSON prompt entries only for undefined roles.
|
|
46
|
+
- Add `Key Segment` and `Prompt Strategy` sections to `references/plan-template.md`.
|
|
47
|
+
- Add `prompts.json` path to the output contract.
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
- Update `SKILL.md`, `README.md`, and `agents/openai.yaml` to enforce text abstraction plus role-aware prompt reuse before generation.
|
|
51
|
+
|
|
52
|
+
## [0.2.0] - 2026-02-16
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
- Require generating a pre-production plan markdown in `<project_dir>/docs/plans/` named with `<YYYY-MM-DD>-<content_name>.md`.
|
|
56
|
+
- Define mandatory plan sections for `Video Transcripts` and `Images To Generate`.
|
|
57
|
+
- Add `references/plan-template.md` as the canonical pre-generation plan template.
|
|
58
|
+
- Add square-bracketed guidance and placeholders in the template, including explicit instruction to remove them after filling.
|
|
59
|
+
- Add plan markdown path to the output contract.
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
- Enforce explicit user confirmation of the plan document before running any generation or rendering step.
|
|
63
|
+
- Require creating plan files from the reference template before generation.
|
|
64
|
+
- Require replacing and removing all square-bracket placeholder/instruction text before sending the plan for user confirmation.
|
|
65
|
+
- Update the agent default prompt and README to reflect the template-driven plan-first workflow.
|
|
66
|
+
|
|
67
|
+
## [0.1.3] - 2026-02-15
|
|
68
|
+
|
|
69
|
+
### Added
|
|
70
|
+
- Require preserving the Remotion workspace by default so users can revise and re-render later.
|
|
71
|
+
- Add Remotion workspace path to output locations and output contract.
|
|
72
|
+
|
|
73
|
+
### Changed
|
|
74
|
+
- Update agent default prompt to explicitly keep the Remotion project unless cleanup is requested.
|
|
75
|
+
|
|
76
|
+
## [0.1.2] - 2026-02-15
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
- Require subtitle color and depth to adapt to image color elements in the subtitle-safe area.
|
|
80
|
+
- Add subtitle readability verification with minimum contrast target (`4.5:1`) and fallback backing plate rule.
|
|
81
|
+
- Add `subtitle-contrast-report.json` to the output contract for traceable subtitle style decisions.
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
- Replace fixed subtitle text/stroke/shadow defaults with an adaptive color/depth strategy.
|
|
85
|
+
- Update README and agent default prompt to emphasize image-aware subtitle readability behavior.
|
|
86
|
+
|
|
87
|
+
## [0.1.1] - 2026-02-15
|
|
88
|
+
|
|
89
|
+
### Added
|
|
90
|
+
- Require explicit user confirmation before any video production starts.
|
|
91
|
+
- Define a unified subtitle style profile shared by single and multi outputs.
|
|
92
|
+
- Add subtitle segment processing rules (overlap filtering, clamping, and local time rebasing).
|
|
93
|
+
|
|
94
|
+
### Changed
|
|
95
|
+
- Enforce cue-by-cue subtitle timing in Remotion rendering.
|
|
96
|
+
- Extend output contract to include subtitle style config path and subtitle sync verification.
|
|
97
|
+
- Update README and agent default prompt to reflect subtitle style and sync requirements.
|
|
98
|
+
|
|
99
|
+
## [0.1.0] - 2026-02-15
|
|
100
|
+
|
|
101
|
+
### Added
|
|
102
|
+
- Initial `video-production` skill release.
|
|
103
|
+
- End-to-end workflow across storyboard generation, narration/subtitles, and Remotion rendering.
|
|
104
|
+
- Support for both single long video output and multi-clip segmented output.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Yamiyorunoshura
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
+
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
|
|
9
|
+
following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
12
|
+
portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
15
|
+
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
|
|
16
|
+
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
17
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
18
|
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Video Production Skill
|
|
2
|
+
|
|
3
|
+
A Codex skill for long-form video production (more than 10 minutes) that follows user instructions and invokes only the needed dependency skills.
|
|
4
|
+
|
|
5
|
+
## Capabilities
|
|
6
|
+
|
|
7
|
+
- Adapts the workflow to user-provided assets instead of forcing a fixed pipeline.
|
|
8
|
+
- Uses a long-form chaptered workflow as the default text-to-video path.
|
|
9
|
+
- Abstracts a complete long-form story arc and chapter map before generation (unless user locks a structure).
|
|
10
|
+
- Enforces final output at `16:9` (default `1920x1080`).
|
|
11
|
+
- Ensures `<project_dir>/roles/roles.json` exists first (create if missing), then reuses existing recurring-role prompts and only defines missing roles.
|
|
12
|
+
- Regenerates required storyboard images per run (no reuse of previously generated storyboard pictures).
|
|
13
|
+
- Calls voice/subtitle generation only when audio or SRT is missing.
|
|
14
|
+
- Uses Remotion best practices to compose and render final output.
|
|
15
|
+
- Requires timeline animation for long videos to improve audience retention.
|
|
16
|
+
- Asks interactive clarifying questions when key information is missing (for example subtitle style, target duration, chapter pacing, and animation style).
|
|
17
|
+
- Creates `<project_dir>/docs/long-video-plans/<YYYY-MM-DD>-<content_name>.md` from `references/plan-template.md` before generation and waits for user confirmation.
|
|
18
|
+
- Uses a compact plan template with only four sections: meta data, reference text, images needed, and animation plan.
|
|
19
|
+
- Defaults to one long-form video unless the user explicitly requests multi-episode output.
|
|
20
|
+
- Preserves the Remotion project by default for later edits.
|
|
21
|
+
- Maintains Remotion `.gitignore` (including `node_modules/` and build/cache outputs) to keep git projects clean.
|
|
22
|
+
|
|
23
|
+
## Dependency Skills
|
|
24
|
+
|
|
25
|
+
- `openai-text-to-image-storyboard`
|
|
26
|
+
- `docs-to-voice`
|
|
27
|
+
- `remotion-best-practices`
|
|
28
|
+
|
|
29
|
+
## Typical Inputs
|
|
30
|
+
|
|
31
|
+
- `project_dir`
|
|
32
|
+
- source text (or existing assets)
|
|
33
|
+
- `content_name`
|
|
34
|
+
- existing role prompt source (optional `prompts.json` or role definitions)
|
|
35
|
+
- reference text sources (path/URL + scope notes; no full text embedding in plan)
|
|
36
|
+
- target duration (10+ minutes for long-form requests)
|
|
37
|
+
- chapter pacing preference
|
|
38
|
+
- subtitle style preferences
|
|
39
|
+
- animation style preference
|
|
40
|
+
|
|
41
|
+
## Output Contract
|
|
42
|
+
|
|
43
|
+
Return absolute paths for:
|
|
44
|
+
|
|
45
|
+
- plan markdown file (`<project_dir>/docs/long-video-plans/<YYYY-MM-DD>-<content_name>.md`)
|
|
46
|
+
- roles.json file (`<project_dir>/roles/roles.json`, used for role reuse/initialization)
|
|
47
|
+
- prompts.json file (if used)
|
|
48
|
+
- storyboard directory (if used)
|
|
49
|
+
- narration audio file (if used)
|
|
50
|
+
- subtitle SRT file (if used)
|
|
51
|
+
- final rendered long-form MP4 (`16:9`, with planned animations)
|
|
52
|
+
- Remotion workspace directory
|
|
53
|
+
- Remotion `.gitignore` file path
|
|
54
|
+
|
|
55
|
+
## Files
|
|
56
|
+
|
|
57
|
+
- `SKILL.md` - workflow and execution rules
|
|
58
|
+
- `agents/openai.yaml` - display metadata and default prompt
|
|
59
|
+
- `references/plan-template.md` - pre-generation plan markdown template
|
|
60
|
+
- `references/roles-json.md` - recurring-role schema for `roles.json`
|
|
61
|
+
|
|
62
|
+
## Quick Start
|
|
63
|
+
|
|
64
|
+
In Codex, call the skill directly:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
Use $video-production to generate a long-form video based on my instructions.
|
|
68
|
+
```
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: video-production
|
|
3
|
+
description: Generate long-form videos (more than 10 minutes) by following user instructions and invoking related skills only when needed (`openai-text-to-image-storyboard`, `docs-to-voice`, `remotion-best-practices`). For text inputs, extract a complete long-form story arc, generate fresh storyboard images (no reuse of previously generated pictures), and render a 16:9 animated long-form video.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Video Production
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
|
|
10
|
+
- Required: `remotion-best-practices` for final composition and rendering.
|
|
11
|
+
- Conditional: `openai-text-to-image-storyboard` when visuals must be generated and `docs-to-voice` when narration or subtitles must be generated.
|
|
12
|
+
- Optional: none.
|
|
13
|
+
- Fallback: If a required generation or rendering dependency is unavailable for the chosen path, stop and report the blocked dependency.
|
|
14
|
+
|
|
15
|
+
## Standards
|
|
16
|
+
|
|
17
|
+
- Evidence: Follow user instructions first, collect only the inputs needed for the selected path, and clarify preference-sensitive details before generation.
|
|
18
|
+
- Execution: Create a long-video plan, wait for explicit approval, then run image generation, narration, and Remotion rendering in order.
|
|
19
|
+
- Quality: Keep output longer than 10 minutes by default, enforce `16:9`, reuse role identities correctly, and never reuse previously generated storyboard images.
|
|
20
|
+
- Output: Return absolute artifact paths, runtime and chapter summaries, animation verification, role reuse notes, and generated-image policy confirmation.
|
|
21
|
+
|
|
22
|
+
## Core Rules
|
|
23
|
+
|
|
24
|
+
1. Follow user instructions first. Use the required execution sequence below unless the user explicitly overrides it.
|
|
25
|
+
2. For text-driven requests, use a long-form pipeline by default and target final output longer than 10 minutes.
|
|
26
|
+
3. Before generation, turn source text into a coherent long-form structure (hook, chapter progression, and closing).
|
|
27
|
+
4. The final output aspect ratio must be `16:9` (default resolution: `1920x1080`).
|
|
28
|
+
5. Role prompt policy for prompt generation:
|
|
29
|
+
- always ensure `<project_dir>/roles/roles.json` exists before any prompt generation
|
|
30
|
+
- if a recurring role already has a defined prompt skeleton, reuse it without rewriting identity fields
|
|
31
|
+
- if a recurring role appears but is not defined, generate new role entries using the supported `prompts.json` schema
|
|
32
|
+
6. Call only relevant dependency skills:
|
|
33
|
+
- `openai-text-to-image-storyboard`: generate storyboard images when user did not provide usable visuals
|
|
34
|
+
- `docs-to-voice`: generate narration/timeline/SRT when user did not provide audio or subtitles
|
|
35
|
+
- `remotion-best-practices`: compose and render the final long-form output
|
|
36
|
+
7. Do not reuse previously generated storyboard pictures. Generate fresh images for each run unless the user provides external assets to use.
|
|
37
|
+
8. Long-form videos must include timeline animation to maintain audience focus (for example pan/zoom, parallax, controlled camera moves, and chapter transitions).
|
|
38
|
+
9. Before any asset generation or rendering, create a plan markdown in `<project_dir>/docs/long-video-plans/` and wait for explicit user confirmation.
|
|
39
|
+
10. Never ask the user whether to output a single video or multiple episodes.
|
|
40
|
+
- If the user explicitly asks for episodes/parts, produce multi-episode output.
|
|
41
|
+
- Otherwise default to one full long video.
|
|
42
|
+
11. Keep Remotion project files unless the user explicitly asks for cleanup.
|
|
43
|
+
12. Keep git repositories clean by ensuring Remotion dependency/build/cache artifacts are ignored.
|
|
44
|
+
|
|
45
|
+
## Required Execution Sequence
|
|
46
|
+
|
|
47
|
+
When this skill is triggered, run the production stages in this order:
|
|
48
|
+
|
|
49
|
+
1. Generate the production plan markdown and wait for explicit user confirmation before any generation.
|
|
50
|
+
2. Check whether images are needed; generate missing images with `openai-text-to-image-storyboard` (fresh generation only, no reuse of previously generated pictures).
|
|
51
|
+
3. Generate the narration/audio track with `docs-to-voice` when usable audio is not already provided.
|
|
52
|
+
4. Use `remotion-best-practices` to combine prepared assets (images, audio/subtitles, and planned animations) into the final `16:9` long-form video.
|
|
53
|
+
|
|
54
|
+
## Interactive Clarification (Required)
|
|
55
|
+
|
|
56
|
+
Before running generation commands, check whether details are sufficient. If not, ask concise targeted questions and wait for user replies.
|
|
57
|
+
Do not guess preference-sensitive options.
|
|
58
|
+
|
|
59
|
+
Prioritize asking these missing items:
|
|
60
|
+
|
|
61
|
+
- target total duration (default recommendation: 10-15 minutes when user says long video)
|
|
62
|
+
- chapter pacing (chapter count or average chapter duration)
|
|
63
|
+
- subtitle style (font, size, color, stroke/background, position, max lines)
|
|
64
|
+
- narration language/voice tone (if narration must be generated)
|
|
65
|
+
- visual style keywords (if storyboard images must be generated)
|
|
66
|
+
- animation style preference (subtle/cinematic/dynamic, transition density, motion intensity)
|
|
67
|
+
- existing role prompt source (user-provided prompt file or existing `<project_dir>/pictures/<content_name>/prompts.json`) when recurring roles are expected
|
|
68
|
+
- output location / filename rules when not obvious
|
|
69
|
+
|
|
70
|
+
Ask only the minimum set required to unblock progress.
|
|
71
|
+
|
|
72
|
+
## Inputs to Collect
|
|
73
|
+
|
|
74
|
+
Collect only what is needed for the requested job (not everything by default):
|
|
75
|
+
|
|
76
|
+
- `project_dir`
|
|
77
|
+
- `content_name`
|
|
78
|
+
- source script/text (unless the user provides complete audio + subtitles)
|
|
79
|
+
- extracted long-form story arc with chapter breakdown (unless user provides an exact chapter structure)
|
|
80
|
+
- source reference set (file paths/URLs and scope notes; do not inline full long text in plan)
|
|
81
|
+
- final transcript text used for narration/subtitles
|
|
82
|
+
- existing prompt assets (`prompts.json`, character roster, or user-defined role prompts)
|
|
83
|
+
- user-provided assets (images, audio, subtitles, branding)
|
|
84
|
+
- animation direction for chapter segments
|
|
85
|
+
- output requirements from user instructions
|
|
86
|
+
|
|
87
|
+
## Workflow
|
|
88
|
+
|
|
89
|
+
### 1) Read user intent and choose skill calls
|
|
90
|
+
|
|
91
|
+
Create a concise execution checklist:
|
|
92
|
+
|
|
93
|
+
- what the user already provided
|
|
94
|
+
- what still needs generation
|
|
95
|
+
- whether to run the long-form text path or fallback asset path
|
|
96
|
+
- which dependency skills will be called
|
|
97
|
+
- where animation beats are required in the timeline
|
|
98
|
+
- what will be skipped
|
|
99
|
+
|
|
100
|
+
### 2) Abstract long-form story arc and chapter timing (text-first path)
|
|
101
|
+
|
|
102
|
+
When the request includes source text and the user did not lock a specific structure:
|
|
103
|
+
|
|
104
|
+
- extract one self-contained long-form narrative arc suitable for a 10+ minute video
|
|
105
|
+
- split content into chapters with clear transitions and duration targets
|
|
106
|
+
- preserve original wording for key hooks and turning points whenever possible
|
|
107
|
+
- ensure narrative continuity (setup -> development -> escalation -> payoff/closing)
|
|
108
|
+
- define chapter-level animation intent to avoid long static visual stretches
|
|
109
|
+
|
|
110
|
+
If the user already provides an exact chapter structure, reuse it directly and skip abstraction for those parts.
|
|
111
|
+
|
|
112
|
+
### 3) Resolve role prompt reuse and ensure `roles.json` exists before prompt generation
|
|
113
|
+
|
|
114
|
+
Before generating or updating `prompts.json`:
|
|
115
|
+
|
|
116
|
+
1. detect recurring roles across all chapters
|
|
117
|
+
2. set target role file path:
|
|
118
|
+
- `<project_dir>/roles/roles.json`
|
|
119
|
+
3. if `roles.json` exists, read it first and reuse matching roles
|
|
120
|
+
4. if `roles.json` does not exist, create it first using `references/roles-json.md`
|
|
121
|
+
- include detected recurring roles when available
|
|
122
|
+
- if no recurring roles are detected, initialize with `{"characters": []}`
|
|
123
|
+
5. load reusable prompt sources in this order:
|
|
124
|
+
- user-provided prompt file or role definitions
|
|
125
|
+
- existing `<project_dir>/pictures/<content_name>/prompts.json` (if present)
|
|
126
|
+
6. apply role policy:
|
|
127
|
+
- defined role: reuse existing role skeleton following `references/roles-json.md`
|
|
128
|
+
- undefined role: add a new role entry following `references/roles-json.md`
|
|
129
|
+
7. choose schema:
|
|
130
|
+
- use structured format with `characters` + `scenes` when recurring roles exist
|
|
131
|
+
- use simple list format only when no recurring roles need continuity
|
|
132
|
+
|
|
133
|
+
### 4) Create production plan markdown and wait for confirmation
|
|
134
|
+
|
|
135
|
+
Before generating images/audio/subtitles/video:
|
|
136
|
+
|
|
137
|
+
- create directory `<project_dir>/docs/long-video-plans/` if missing
|
|
138
|
+
- create a plan file named `<YYYY-MM-DD>-<content_name>.md`
|
|
139
|
+
- load the reference template at `references/plan-template.md`
|
|
140
|
+
- copy the template into the plan file first, then fill it
|
|
141
|
+
- use local date for `YYYY-MM-DD`; sanitize `content_name` for filename safety
|
|
142
|
+
- keep this long-video plan location separate from short-video plans (`<project_dir>/docs/plans/`)
|
|
143
|
+
- include only these sections:
|
|
144
|
+
- `## Meta Data`
|
|
145
|
+
- `## Reference Text`
|
|
146
|
+
- `## Images Needed To Be Generated`
|
|
147
|
+
- `## Animation Plan For Audience Retention`
|
|
148
|
+
- in `Meta Data`, include compact runtime/layout/output metadata and keep aspect ratio at `16:9`
|
|
149
|
+
- in `Reference Text`, include only source references (file paths/URLs + range/scope + purpose), not full long text
|
|
150
|
+
- in `Images Needed To Be Generated`, list every image required for this run and mark all as fresh generation (no generated-image reuse)
|
|
151
|
+
- in `Animation Plan For Audience Retention`, include chapter-level animation type, transition, and focus goal
|
|
152
|
+
- replace all square-bracket placeholders with concrete content
|
|
153
|
+
- remove all square-bracket placeholder/instruction text before sharing the plan for confirmation
|
|
154
|
+
- return the absolute plan file path to the user and ask for explicit confirmation
|
|
155
|
+
- do not run generation/render commands until user confirms the plan document
|
|
156
|
+
|
|
157
|
+
### 5) Generate and integrate the long-form video in required order (default path)
|
|
158
|
+
|
|
159
|
+
After plan confirmation:
|
|
160
|
+
|
|
161
|
+
- run `openai-text-to-image-storyboard` for all approved storyboard assets that need generation in the current run
|
|
162
|
+
- generate narration/subtitles chapter-by-chapter with `docs-to-voice` when needed
|
|
163
|
+
- compose one continuous Remotion timeline with `remotion-best-practices`
|
|
164
|
+
- maintain `16:9` output
|
|
165
|
+
- apply planned animation beats across opening, middle, and closing chapters
|
|
166
|
+
- avoid long static holds by using motion or transition treatment
|
|
167
|
+
- verify total rendered runtime is longer than 10 minutes unless the user explicitly requested shorter
|
|
168
|
+
- verify animation is present in the final render and aligns with the approved plan
|
|
169
|
+
|
|
170
|
+
### 6) Keep reusable project artifacts
|
|
171
|
+
|
|
172
|
+
Default workspace:
|
|
173
|
+
|
|
174
|
+
- `<project_dir>/video/<content_name>/remotion/`
|
|
175
|
+
|
|
176
|
+
Keep Remotion sources by default unless the user explicitly requests cleanup.
|
|
177
|
+
|
|
178
|
+
Git hygiene (required):
|
|
179
|
+
|
|
180
|
+
- create or update `<project_dir>/video/<content_name>/remotion/.gitignore`
|
|
181
|
+
- do not remove user-defined ignore rules already in that file
|
|
182
|
+
- ensure it includes at least these entries:
|
|
183
|
+
- `node_modules/`
|
|
184
|
+
- `.cache/`
|
|
185
|
+
- `dist/`
|
|
186
|
+
- `build/`
|
|
187
|
+
- `out/`
|
|
188
|
+
- `.DS_Store`
|
|
189
|
+
- `*.log`
|
|
190
|
+
|
|
191
|
+
## Output Contract
|
|
192
|
+
|
|
193
|
+
Return absolute paths for produced artifacts:
|
|
194
|
+
|
|
195
|
+
- plan markdown file (`<project_dir>/docs/long-video-plans/<YYYY-MM-DD>-<content_name>.md`)
|
|
196
|
+
- `roles.json` file used for role reuse/initialization (`<project_dir>/roles/roles.json`)
|
|
197
|
+
- `prompts.json` file used for generation
|
|
198
|
+
- storyboard directory (if generated or used; generated storyboard images must be fresh for this run)
|
|
199
|
+
- narration audio file (if generated or used)
|
|
200
|
+
- subtitle SRT file (if generated or used)
|
|
201
|
+
- final long-form MP4 in `16:9` with planned animations
|
|
202
|
+
- Remotion workspace directory
|
|
203
|
+
- Remotion `.gitignore` file path
|
|
204
|
+
|
|
205
|
+
Also report:
|
|
206
|
+
|
|
207
|
+
- extracted long-form structure summary (and whether it was user-locked or agent-abstracted)
|
|
208
|
+
- chapter duration summary and total runtime
|
|
209
|
+
- animation plan summary (planned vs actual)
|
|
210
|
+
- role prompt reuse summary (reused vs newly defined roles)
|
|
211
|
+
- what assumptions were clarified through interactive questions
|
|
212
|
+
- subtitle sync verification (first/middle/last cue spot check)
|
|
213
|
+
- generated-image policy verification (fresh generation confirmed, no generated-image reuse)
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Video Production"
|
|
3
|
+
short_description: "Generate 16:9 long-form videos with plan confirmation, fresh images, and timeline animations"
|
|
4
|
+
default_prompt: "Use $video-production to produce long-form videos (more than 10 minutes) by following user instructions. For text inputs, extract a coherent long-form story arc, split it into timed chapters, and keep final output at 16:9 (default 1920x1080). Before generating or updating prompts, detect recurring roles and ensure <project_dir>/roles/roles.json exists first (create it if missing using references/roles-json.md), then reuse existing role prompt skeletons and generate new role entries only for undefined roles using the supported JSON prompt schema. Do not reuse previously generated storyboard pictures; generate fresh storyboard images for each run unless the user supplies external assets. If required details are missing, ask interactive clarifying questions first (for example target duration, chapter pacing, subtitle style, voice, animation style, or role prompt source). Before any generation starts, create a plan markdown at <project_dir>/docs/long-video-plans/<YYYY-MM-DD>-<content_name>.md from references/plan-template.md with only these sections: meta data, reference text, images needed to be generated, and animation plan for audience retention. In the reference text section, refer to source locations only and do not embed full long text. Replace all square-bracket placeholders with concrete content, remove placeholder/instruction text, and then wait for explicit user confirmation. Do not ask whether output should be single or multi-episode; infer from the user request (default to single unless episodes are explicitly requested). Use docs-to-voice when audio/subtitles are missing and remotion-best-practices for final assembly. The final render must include timeline animations to maintain audience focus. Keep the Remotion workspace and ensure its .gitignore excludes dependency/build/cache artifacts (such as node_modules/) so git repositories stay clean."
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Video Production Plan
|
|
2
|
+
|
|
3
|
+
[Instruction: Copy this template to `<project_dir>/docs/long-video-plans/<YYYY-MM-DD>-<content_name>.md` before any generation starts.]
|
|
4
|
+
[Instruction: Replace every square-bracket placeholder with real content.]
|
|
5
|
+
[Instruction: After filling, delete all square-bracket instruction/placeholder text before showing the plan to the user for confirmation.]
|
|
6
|
+
|
|
7
|
+
# [VIDEO_TITLE]
|
|
8
|
+
|
|
9
|
+
## Meta Data
|
|
10
|
+
|
|
11
|
+
[Instruction: Fill only compact metadata used for production decisions and stage sequencing.]
|
|
12
|
+
- Date: [YYYY-MM-DD]
|
|
13
|
+
- Content Name: [CONTENT_NAME]
|
|
14
|
+
- Aspect Ratio / Resolution: [16:9 / 1920x1080]
|
|
15
|
+
- Target Duration (minutes): [TARGET_DURATION_MINUTES]
|
|
16
|
+
- Output Mode: [SINGLE_OR_MULTI_EPISODE]
|
|
17
|
+
- Execution Sequence: [PLAN -> IMAGES -> AUDIO -> REMOTION]
|
|
18
|
+
- Audio Track Plan: [GENERATE_WITH_DOCS_TO_VOICE_OR_REUSE_EXISTING]
|
|
19
|
+
- Final Assembly Plan: [REMOTION_BEST_PRACTICES]
|
|
20
|
+
- Remotion Workspace: [ABSOLUTE_PATH]
|
|
21
|
+
|
|
22
|
+
## Reference Text
|
|
23
|
+
|
|
24
|
+
[Instruction: Do not paste full long text. Only reference source locations and short purpose notes because this skill targets long-form generation.]
|
|
25
|
+
1. [SOURCE_ID] - [TYPE_FILE_OR_URL] - [ABSOLUTE_PATH_OR_URL]
|
|
26
|
+
- Scope: [CHAPTER_OR_RANGE]
|
|
27
|
+
- Purpose: [HOW_THIS_SOURCE_IS_USED]
|
|
28
|
+
2. [SOURCE_ID] - [TYPE_FILE_OR_URL] - [ABSOLUTE_PATH_OR_URL]
|
|
29
|
+
- Scope: [CHAPTER_OR_RANGE]
|
|
30
|
+
- Purpose: [HOW_THIS_SOURCE_IS_USED]
|
|
31
|
+
|
|
32
|
+
## Images Needed To Be Generated
|
|
33
|
+
|
|
34
|
+
[Instruction: List only images that still need generation for this run. Do not reuse previously generated storyboard images. If none, write `None`.]
|
|
35
|
+
1. [SCENE_ID_OR_ORDER] - [IMAGE_PROMPT_OR_DESCRIPTION]
|
|
36
|
+
- Usage: [INTENDED_USAGE_IN_LONG_VIDEO]
|
|
37
|
+
- Generation Policy: [FRESH_GENERATION]
|
|
38
|
+
2. [SCENE_ID_OR_ORDER] - [IMAGE_PROMPT_OR_DESCRIPTION]
|
|
39
|
+
- Usage: [INTENDED_USAGE_IN_LONG_VIDEO]
|
|
40
|
+
- Generation Policy: [FRESH_GENERATION]
|
|
41
|
+
|
|
42
|
+
## Animation Plan For Audience Retention
|
|
43
|
+
|
|
44
|
+
[Instruction: List chapter-level animation plans used in final Remotion assembly to avoid static visuals and keep audience focus.]
|
|
45
|
+
1. [CHAPTER_ID_OR_RANGE]
|
|
46
|
+
- Animation Type: [PAN_ZOOM_OR_PARALLAX_OR_CAMERA_MOVE]
|
|
47
|
+
- Motion Notes: [HOW_MOTION_IS_APPLIED]
|
|
48
|
+
- Transition: [CUT_FADE_SLIDE_OR_OTHER]
|
|
49
|
+
- Focus Goal: [WHY_THIS_MAINTAINS_ATTENTION]
|
|
50
|
+
2. [CHAPTER_ID_OR_RANGE]
|
|
51
|
+
- Animation Type: [PAN_ZOOM_OR_PARALLAX_OR_CAMERA_MOVE]
|
|
52
|
+
- Motion Notes: [HOW_MOTION_IS_APPLIED]
|
|
53
|
+
- Transition: [CUT_FADE_SLIDE_OR_OTHER]
|
|
54
|
+
- Focus Goal: [WHY_THIS_MAINTAINS_ATTENTION]
|