Core Discipline
- Save milestone outputs as files.
- After saving, read back to verify the file exists and is non-empty.
- Only deliver verified paths to the user.
- Keep historical versions; do not silently overwrite final drafts.
- Follow the current project's file types, directories, and naming rules.
Determine the output root directory
Choose in the following order:
- A path explicitly specified by the user.
- An existing content directory in the project description.
- Under the current workspace
self-media/。
When a directory does not exist, only create the directories needed for the current delivery. Do not scatter files in the project root directory.
When to Save
Save:
- The first complete draft for a platform.
- A complete multi-platform collection.
- Storyboards, spoken scripts, subtitles, or shooting plans.
- A final draft confirmed by the user.
- Publishing packages and data retrospectives.
- Content the user explicitly asks to save.
Do not save separately:
- A few candidate titles.
- Single-sentence action or tag adjustments.
- Chat fragments that have not yet formed a complete output.
Version Rules
- Record the stages of draft, revised draft, final draft, and published version.
- File names follow the project's existing conventions. If there is no convention, use
YYYY-MM-DD-{platform}-{slug}-vN.md。 - New milestones increment the version number. Only overwrite when the user explicitly requests it.
- Record the task, platform, original draft, final draft, assets, status, links, and retrospective in the content registry.
You may use content-registry-template.md。
Delivery Check
Fully read delivery-checklists.md, and check the title, body, summary, cover, asset order, tags, commercial disclosure, and publishing fields by platform.
After saving, perform:
- Read back the file.
- Confirm the size is greater than 0.
- Check the file name, version, and directory.
- Check that asset paths in the text exist.
- Report verified paths and degraded items.
User Communication
Use natural expressions:
- "Saved as a file," not "written to disk."
- "Added to the works library," not "registered in the index."
- "This is version 2," without exposing internal stage fields.
- "Assets needed for publishing," without stacking internal delivery terminology.
Output
Return: finished product path, version, included content, verification results, missing items, and the single next action.