Repository navigation
feat: add devup-retro command to turn session follow-ups into improvement prompts - #126
Open
devfive-relay-c70423[bot] wants to merge 1 commit into
Open
devfive-relay-c70423[bot] wants to merge 1 commit into
devfive-relay-c70423[bot] wants to merge 1 commit into
Conversation
…ment prompts A session retrospective for work done with devup-mcp: review the follow-up prompts the user had to write, confirm the list with the user, then print ready-to-paste improvement prompts per devup-mcp surface. - skills/devup-retro: own skill, installed with the others (Claude Code /devup-retro), plus an OpenCode command generated from the skill body - MCP prompt devup-retro (scope, language) for workspaces without the skill - devup_skills action retro: read-only build identity, this process's call log with timestamps, surface list and .feedback folder state - commands.rs: /devup command code generalised to a COMMANDS table - error_envelopes.rs: error helpers moved to keep files under 1000 lines Co-Authored-By: Claude Fable 5.2 <[email protected]>
owjs3901
marked this pull request as ready for review
November 10, 2026 10:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
/devup-retro: one command to type when a piece of devup-mcp work is finished. The agent reviews the conversation from the first devup-mcp call to now, extracts every follow-up prompt the user had to write to correct or complete the result, and turns them into ready-to-paste improvement prompts for devup-mcp development. The goal is that the same follow-up never has to be written twice.Three phases, never merged:
codegen,export-output,validation-rule,runtime-audit,skill-guidance,bootstrap-instructions,project-plan-intake, orout-of-scope:devup-ui|app|figma-data. Items with no user-prompt evidence are excluded. Items already fixed are markedfixed-in-installed/fixed-not-installed/already-recorded, orunverifiedwhen release notes cannot be read.OK / Edit items / Drop items / Cancel. Nothing is written and no prompt is printed beforeOK..feedback/folder and the user chose to save, records are added in that folder's existing format, numbering and index.How it ships
Investigated first: devup-mcp had no MCP prompts.
/devupreaches clients as an embeddedownskill thatdevup_skills installwrites into the workspace skill root (Claude Code offers a project skill as a slash command of the same name), plus a command file for OpenCode.devup-retrouses the same path, and adds a prompt so it works without an install./devup-retro [scope or notes]afterdevup_skills install(.claude/skills/devup-retro/SKILL.md). Without the install: the MCP prompt,/mcp__<server name>__devup-retro/devup-retro:.opencode/command/devup-retro.md, generated from the skill body at install so the two cannot drift.agents/skillsruntimesdevup_skillssays so instead of guessing a pathprompts/list->devup-retro(argumentsscope,language, both optional);devup://skill/devup-retro; listed indevup_skills statusServer support (minimal, read-only)
devup_skillsgets a third action,retro. It writes nothing and returns:server: installed version / commit / buildId (same identity every response carries)callLog: the devup-mcp calls this server process served, oldest first: tool, action, outputs, a short target (frameIds=...), UTC time, duration, ok. Bounded to 200. It keeps names and times only, never argument contents or results, and it says in the response that a reconnect empties it, so a short log is not read as "nothing was called"surfaces,phases: the same list the skill's table has (a test holds them together)feedback: whether.feedback/exists, its index file,nextNumber/nextFilePrefix, the files to read first, and each record's title and status linereleases: where release notes live and the installed tag, with the rule that an unreadable changelog meansunverified, never a guessed "fixed"The MCP
promptscapability is now advertised with one prompt.Name
devup-retro, defined once: theretro_name!macro incrates/devup-mcp/src/server/skills/commands.rs. The embedded path, the command, the OpenCode file, the prompt and the tool report all derive from it. A rename is that literal,git mv skills/devup-retro skills/<new>, and the name in the skill frontmatter and itsmanifest.jsonentry (plus bytes/sha256);the_retro_name_is_spelled_in_one_placefails until they agree. Alternatives considered:devup-review-next,devup-confirm. The tool action staysretroeither way.Other changes
skills/commands.rs: the/devupcommand code moved out ofinstallation.rsand generalised to aCOMMANDStable./devupbehaviour andcommand_stateoutput are unchanged;installnow reports both commands undercommandsfor OpenCode.mod_parts/error_envelopes.rs:to_mcp_errorandstructured_tool_errormoved out ofexploration_and_responses.rs, unchanged, to keep that file under 1000 lines after the prompt handlers were added (914 now).devup://guide/usageinstead.Tests
Local (Windows), all green:
cargo test --workspace --all-features --no-fail-fast: 2300 passed, 0 failed, 2 ignoredcargo insta test --workspace --all-features --check: 2300 passed, no snapshots to reviewcargo clippy --locked --workspace --all-targets --all-features -- -D warnings: clean;cargo fmt --all -- --check: cleannode --test ...(CI set): 82 pass, 1 skipped;python packaging/test_release.py: 15 OKNew tests (10):
skills/retro_tests.rs(8): the name is spelled in one place; the skill states review -> confirm -> prompts with its honesty rules (doc contract); skill table and tool surfaces are identical; prompt arguments and body; call log ordering, bounding and that it keeps no argument contents; UTC timestamps;.feedback/numbering read without writing; command install per runtime (OpenCode file generated / alreadyPresent / leftAlone, Claude Code via skill, Codex unsupported)tests/retro_command.rs(2, real stdio process):promptscapability,prompts/listhasdevup-retrowith optionalscope/language,prompts/getreturns the three phases, unknown prompt is an error;devup_skills retroreturns identity, logged calls (including a refused one asok: false), feedback state, and leaves.feedback/untouched; install flips the command to installedskills_install.rsown-skill list; manifest well-formedness covers the new entry (bytes/sha256)Sample run (synthetic, modelled on the Prime animation follow-up)
Open items
🤖 Generated with Claude Code
Submitted via Devfive hub. Employee: ; device:
3099154426bffbeef8b62999b80bb038