Portable Scheduled Jobs¶
Narnia can export scheduled Copilot work to a versioned .narnia-schedules.json file and import it
on another computer. There is no Narnia cloud account or synchronization server: copy the package by
whatever transport you already trust.
The package contains the job definition, not the source machine's execution artifacts. The destination generates new local Narnia IDs, wrapper scripts, log folders, and Windows Task Scheduler entries.
Transfer vs. share¶
| Profile | Use it when | Source information |
|---|---|---|
| Transfer | Moving work between computers you control | Retains non-secret path hints, source task identity, and enabled state |
| Share | Sending a reusable template to another person | Removes source-local paths and source job identity |
Both profiles use the same schema and importer.
What a package contains¶
- Prompt template and description
- Daily, weekly, or monthly cadence
- Copilot allow flags and additional arguments
- Ordered plugin/repo-local skill requirements
- Path or repository bindings that must be resolved on the destination
- Source timezone
- Definition fingerprints that detect hand-edited or stale packages
What is never included¶
- Narnia
settings.db - Copilot databases or session history
- Task Scheduler XML
- Generated
run.ps1orrun.vbs - Run logs
- Credentials, tokens,
.envcontents, SMTP values, or database passwords - Plugin source, repository clones, caches, or databases
Definition transfer is not application-state transfer. A job that depends on durable checkpoints, caches, or another database may require a separate, explicit migration.
Package creation rejects definitions containing obvious credential-like literals. This check is deliberately conservative rather than a complete secret scanner, so the user must still review the result before transferring it.
Export existing Narnia jobs¶
From the Scheduled Jobs page:
- Select one or more jobs.
- Choose Export for transfer or Export share template.
- Review the downloaded JSON before sending it elsewhere.
Agents can perform the same workflow with
export_schedule_package.
Package a non-Narnia Windows task¶
Install Narnia on the source computer and use the narnia-scheduler skill:
- Discover likely Copilot tasks with its read-only
Find-CopilotScheduledTasks.ps1helper. - Select the exact task.
- Inspect its triggers/action with
Read-ExistingScheduledTask.ps1. - Read only the selected wrapper script and reconstruct an equivalent self-contained prompt.
- Build a package with
build_schedule_package.
Packaging does not register a local Narnia task or modify the original task.
Import¶
- Choose the package on the destination Scheduled Jobs page.
- Preview it.
- Map required repositories, directories, and files.
- Resolve task-name conflicts, skip jobs that should not be imported in this batch, and review timezone/dependency warnings.
- Refresh the preview until every intended job is importable.
- Import.
Every imported task is registered disabled from the beginning. Narnia never briefly registers it enabled and disables it afterward.
After import:
- Save the downloaded receipt.
- Perform a supervised dry run.
- Configure missing secrets/profiles locally.
- Explicitly enable the destination jobs.
- Only then disable the original source tasks.
Package trust¶
A package is executable intent: its prompt may instruct Copilot to edit files, call external services, or use broad tool permissions. Import only packages from a trusted source, and review the rendered prompt, allow flags, paths, and dependencies before enabling anything.
Current limitations¶
- Windows Task Scheduler remains the only registration backend.
- Plugin and arbitrary prompt dependency discovery is best-effort.
- External durable state is reported but not copied.
- Packages are not cryptographically signed.
- There is no continuous synchronization between machines.