Repository navigation
Description
Outcome
Pascal tells a fresh agent "Use Nicely to shrink the image ". The agent finds ncly image shrink through ncly describe or the image-shrink skill, runs a dry run, and writes a smaller copy beside the input, without its location.
The extension lives in its own public repository, pascalandy/ncly-image-shrink, created from the extension template. This Epic also proves the template on a new extension: an agent that did not read ncly-video-convert builds it, up to "Done when" in the template's AGENTS.md. Each time that the agent stops on the template, the contract, or the SDK, it opens an issue in pascalandy/nicely and links it here.
Plan: XT-107 image shrink. Milestone: XT-107 image shrink.
The chain, step by step
This table is the one place to follow the work. The agent updates it at each merge. Each pull request of this Epic says Part of pascalandy/nicely#494 and names its card.
| Step | Card | What it gives | Where | State |
|---|---|---|---|---|
| 1 | XT-107-T1 | The repository, rendered from the template of the latest release, with green checks | pascalandy/ncly-image-shrink |
done: initial push 3af2232 (no PR, new repository), checks Linux and macOS |
| 2 | XT-107-T2 | ncly image shrink <file>, built through the loop in at most 5 rounds, just finish passes |
pascalandy/ncly-image-shrink |
done: PR #1 merged at f83de69, Ready in round 4, just finish and signoff pass |
| 3 | XT-107-T3 | Release v0.1.0, installed on om1 and on the Mini | pascalandy/ncly-image-shrink |
done: tag v0.1.0 at f83de69, release receipt, om1 and Mini runs |
| 4 | UAT | "Use Nicely to shrink the image " | a separate UAT issue | todo |
Boundaries
- In scope: one command,
ncly image shrink <file>. One JPEG, PNG, or WebP in, one file out in the same format at<stem>.shrunk.<ext>. Longest side at most 2048 pixels by default, one flag for another value, never enlarged. Success means fewer bytes than the input; otherwise the command refuses and writes nothing. Orientation applied, color profile kept, location, author, camera, and capture date removed.--dry-runand--force. No key, no network, no cost - Out of scope: HEIC, batches, folders, other image jobs (crop, convert), records and progress display
Issues opened against Nicely
The agent adds one row for each stop on the template, the contract, or the SDK.
| Issue | What stopped the agent | State |
|---|---|---|
| #497 | protect hashes an unreadable input before its refusal case can run | open |
| #496 | The txtar example-fixture transport adds a newline to binary image bytes | open |
| #498 | Follow-up: the published-install gate leaves checkout independence to a manual check; both machine installs passed that check | open, nonblocking follow-up |
| #500 | D043 and release-nicely trigger a Nicely release for an extension item shipped from its own repository; D065 says it keeps its own versions | open, nonblocking follow-up |
| #501 | The transcript_cancel response assertion failed before its saved-run inspection; retain failed-state diagnostics | open, retrospective follow-up |
Done when
The UAT passes on Pascal's machine, just finish passed on the merged build, and each issue in the table above is fixed or has a decision.
by GPT-6.1-Sol via Codex
Activity