plugins/dev/skills/arcade-collab/SKILL.md
Structured guidance for agents to read, classify, and act on user feedback (annotations and direct file edits) from the Arcade.
npx skillsauth add rp1-run/rp1 arcade-collabInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
{% dispatch_agent "rp1-dev:feature-editor" %} FEATURE_ID: {FEATURE_ID} EDIT_DESCRIPTION: {annotation content from the feedback item} KB_ROOT: {kbRoot} WORK_ROOT: {workRoot} {% enddispatch_agent %}
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:
{% dispatch_agent "rp1-dev:feature-editor" %} FEATURE_ID: {FEATURE_ID} EDIT_DESCRIPTION: "User directly edited {artifactPath}. Changes: {summary of patch}. Propagate to downstream artifacts." KB_ROOT: {kbRoot} WORK_ROOT: {workRoot} {% enddispatch_agent %}
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.
data-ai
Capture session context as a structured, frontmatter-rich markdown note under .rp1/work/notes/ with auto-maintained index and log.
tools
Plan and execute splitting a large PR or branch into a reviewable stacked PR sequence.
development
Write maximally terse agent prompts from scratch. Use when creating new agent specs, command prompts, or instruction sets. Teaches structure-first composition with compression-by-default patterns. Extended with constitutional governance, epistemic stance selection, and a six-stage prompt pipeline.
development
Interactive speedrun loop for small, low-risk changes. Delegates each request to a general sub-agent. Redirects larger work to /build-fast or /build.