From rp1-dev
Processes Arcade user feedback: reads open annotations and file edits via rp1 tools, classifies by artifact (requirements.md, design.md, code files), sorts by dependency order, routes to feature-editor agent or applies fixes.
npx claudepluginhub rp1-run/rp1 --plugin rp1-devThis skill uses the workspace's default tool permissions.
Process user feedback from the Arcade: annotations and direct file edits. Follow the loop below exactly, then return control to the calling gate.
Establishes Arc's skill routing, instruction priority, bootstrap rules, and runtime path resolution. Use when starting conversations or routing to matching Arc workflows.
Orchestrates end-to-end feature workflow from requirements gathering through design, tasks, build, verification, and archiving using sub-agents. Invoke via /build for automated feature development.
Processes external code review feedback from LLMs, humans, or CI tools by verifying claims with tools, evaluating via decision matrix, and executing implement/reject/defer with tracked disposition.
Share bugs, ideas, or general feedback.
Process user feedback from the Arcade: annotations and direct file edits. Follow the loop below exactly, then return control to the calling gate.
Fetch all open feedback for the current run:
rp1 agent-tools feedback read --run-id {RUN_ID} --status open
Parse the JSON response. It contains:
annotations[]: Open annotations with id, docId, artifactPath, content, anchor, status, author, replies, createdAt.edits[]: Pending file edits with docId, artifactPath, patch (unified diff).summary: Counts of totalAnnotations, totalEdits, and byArtifactType breakdown.If both totalAnnotations and totalEdits are zero: No pending feedback. Return to the calling gate immediately. Do not produce any output about the feedback check.
Classify each feedback item by the artifact it targets:
| Artifact Pattern | Classification | Routing |
|---|---|---|
requirements.md | Requirements feedback | Spawn feature-editor agent |
design.md, design-decisions.md | Design feedback | Spawn feature-editor agent |
Code files (.ts, .tsx, .js, .jsx, .py, .rs, etc.) | Code feedback | Apply fix directly |
| Other files or unanchored annotations | General feedback | Incorporate into context, acknowledge |
For annotations: classify based on artifactPath. If artifactPath is null (unanchored), classify as General.
For edits: classify based on artifactPath in the edit record.
Process feedback in this strict order:
Within each category, process annotations before edits.
Route to the feature-editor agent with the annotation content as the edit description:
Task tool: subagent_type: rp1-dev:feature-editor prompt: FEATURE_ID: {FEATURE_ID} EDIT_DESCRIPTION: {annotation content from the feedback item}
After the agent completes, resolve the annotation with a reply describing what changed:
rp1 agent-tools feedback resolve {annotation_id} --reply "Updated {artifact}: {brief description of change}"
When the user directly edited a requirements or design file:
Read the patch from the edit record to understand what the user changed.
Accept the edit to clear the baseline:
rp1 agent-tools feedback accept-edit {doc_id}
If the edit to an upstream artifact (requirements) may affect downstream artifacts (design, code), route a cascading update through feature-editor:
Task tool: subagent_type: rp1-dev:feature-editor prompt: FEATURE_ID: {FEATURE_ID} EDIT_DESCRIPTION: "User directly edited {artifactPath}. Changes: {summary of patch}. Propagate to downstream artifacts."
Apply the fix directly based on the annotation content and anchor location:
rp1 agent-tools feedback resolve {annotation_id} --reply "Applied fix in {file}: {brief description}"
When the user directly edited a code file:
rp1 agent-tools feedback accept-edit {doc_id}
For unanchored or non-artifact-specific annotations:
rp1 agent-tools feedback reply {annotation_id} --content "Acknowledged: {brief description of how feedback will be incorporated}"
If the read returns zero annotations and zero edits, return to the calling gate immediately without any output.
If an annotation is unclear or you cannot determine the intended action:
rp1 agent-tools feedback reply {annotation_id} --content "Could you clarify what change you'd like here? I see {what you observe} but I'm unsure whether you want {option A} or {option B}."
If feedback contradicts an existing artifact or another feedback item:
rp1 agent-tools feedback reply {annotation_id} --content "This conflicts with {artifact/other feedback}: {brief explanation of conflict}. Leaving open for your guidance."
If an annotation references an artifact that no longer exists or is not part of the current feature:
rp1 agent-tools feedback reply {annotation_id} --content "The referenced artifact {path} is not part of the current feature scope. No action taken."
After processing all items from the initial read, re-read feedback to check if the user added more while you were processing:
rp1 agent-tools feedback read --run-id {RUN_ID} --status open
If new feedback exists, repeat from Section 2. If no new feedback, proceed to Section 7.
Limit re-reads to 3 rounds to prevent infinite loops. After 3 rounds, return to the gate regardless.
All feedback processed. Return control to the calling workflow gate. The gate will re-present its original options to the user.