rpi-kit 2.2.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.claude-plugin/marketplace.json +3 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.gemini/commands/opsx/apply.toml +149 -0
  4. package/.gemini/commands/opsx/archive.toml +154 -0
  5. package/.gemini/commands/opsx/bulk-archive.toml +239 -0
  6. package/.gemini/commands/opsx/continue.toml +111 -0
  7. package/.gemini/commands/opsx/explore.toml +170 -0
  8. package/.gemini/commands/opsx/ff.toml +94 -0
  9. package/.gemini/commands/opsx/new.toml +66 -0
  10. package/.gemini/commands/opsx/onboard.toml +547 -0
  11. package/.gemini/commands/opsx/propose.toml +103 -0
  12. package/.gemini/commands/opsx/sync.toml +131 -0
  13. package/.gemini/commands/opsx/verify.toml +161 -0
  14. package/.gemini/commands/rpi/archive.toml +140 -0
  15. package/.gemini/commands/rpi/docs-gen.toml +210 -0
  16. package/.gemini/commands/rpi/docs.toml +153 -0
  17. package/.gemini/commands/rpi/evolve.toml +411 -0
  18. package/.gemini/commands/rpi/fix.toml +290 -0
  19. package/.gemini/commands/rpi/implement.toml +272 -0
  20. package/.gemini/commands/rpi/init.toml +180 -0
  21. package/.gemini/commands/rpi/learn.toml +105 -0
  22. package/.gemini/commands/rpi/new.toml +158 -0
  23. package/.gemini/commands/rpi/onboarding.toml +236 -0
  24. package/.gemini/commands/rpi/party.toml +204 -0
  25. package/.gemini/commands/rpi/plan.toml +623 -0
  26. package/.gemini/commands/rpi/research.toml +265 -0
  27. package/.gemini/commands/rpi/review.toml +443 -0
  28. package/.gemini/commands/rpi/rpi.toml +114 -0
  29. package/.gemini/commands/rpi/simplify.toml +214 -0
  30. package/.gemini/commands/rpi/status.toml +194 -0
  31. package/.gemini/commands/rpi/update.toml +107 -0
  32. package/.gemini/skills/openspec-apply-change/SKILL.md +156 -0
  33. package/.gemini/skills/openspec-archive-change/SKILL.md +114 -0
  34. package/.gemini/skills/openspec-bulk-archive-change/SKILL.md +246 -0
  35. package/.gemini/skills/openspec-continue-change/SKILL.md +118 -0
  36. package/.gemini/skills/openspec-explore/SKILL.md +288 -0
  37. package/.gemini/skills/openspec-ff-change/SKILL.md +101 -0
  38. package/.gemini/skills/openspec-new-change/SKILL.md +74 -0
  39. package/.gemini/skills/openspec-onboard/SKILL.md +554 -0
  40. package/.gemini/skills/openspec-propose/SKILL.md +110 -0
  41. package/.gemini/skills/openspec-sync-specs/SKILL.md +138 -0
  42. package/.gemini/skills/openspec-verify-change/SKILL.md +168 -0
  43. package/CHANGELOG.md +15 -0
  44. package/README.md +6 -6
  45. package/agents/atlas.md +40 -0
  46. package/agents/clara.md +40 -0
  47. package/agents/forge.md +40 -0
  48. package/agents/hawk.md +40 -0
  49. package/agents/luna.md +40 -0
  50. package/agents/mestre.md +46 -0
  51. package/agents/nexus.md +52 -0
  52. package/agents/pixel.md +40 -0
  53. package/agents/quill.md +40 -0
  54. package/agents/razor.md +40 -0
  55. package/agents/sage.md +46 -0
  56. package/agents/scout.md +40 -0
  57. package/agents/shield.md +40 -0
  58. package/bin/cli.js +60 -18
  59. package/commands/rpi/docs.md +29 -1
  60. package/commands/rpi/fix.md +301 -0
  61. package/commands/rpi/implement.md +37 -0
  62. package/commands/rpi/plan.md +66 -1
  63. package/commands/rpi/research.md +48 -1
  64. package/commands/rpi/review.md +48 -1
  65. package/commands/rpi/rpi.md +1 -1
  66. package/commands/rpi/simplify.md +31 -1
  67. package/commands/rpi/status.md +69 -0
  68. package/marketplace.json +3 -2
  69. package/package.json +2 -1
@@ -0,0 +1,204 @@
1
+ description = "Multi-agent debate on any topic. Nexus facilitates, 3-5 agents discuss."
2
+
3
+ prompt = """
4
+ # /rpi:party — Party Mode
5
+
6
+ Multi-agent debate facilitated by Nexus. Select 3-5 agents based on the topic, let them argue their perspectives, then synthesize a recommendation with trade-offs.
7
+
8
+ ---
9
+
10
+ ## Step 1: Load config
11
+
12
+ Read `.rpi.yaml` from the project root. Extract:
13
+ - `folder` (default: `rpi/features`)
14
+ - `solutions_dir` (default: `rpi/solutions`)
15
+ - `context_file` (default: `rpi/context.md`)
16
+ - `party_default_agents` (default: `4`)
17
+
18
+ If `.rpi.yaml` doesn't exist, use defaults silently.
19
+
20
+ ## Step 2: Parse arguments
21
+
22
+ Parse `$ARGUMENTS` to extract:
23
+ - Optional `{slug}` — a feature name (first word, if it doesn't start with `"`)
24
+ - `{topic}` — the debate topic (quoted string, or everything after the slug)
25
+
26
+ If no topic is provided, ask the user with AskUserQuestion:
27
+ "What topic do you want to debate? (e.g. 'GraphQL vs REST for the API?', 'how to handle token refresh?')"
28
+
29
+ ## Step 3: Gather feature context (if slug provided)
30
+
31
+ If a feature slug was provided:
32
+ 1. Check if `rpi/features/{slug}/` exists. If not:
33
+ ```
34
+ Feature '{slug}' not found. Proceeding without feature context.
35
+ ```
36
+ Clear the slug and continue.
37
+ 2. If it exists, read available artifacts — store as `$FEATURE_CONTEXT`:
38
+ - `rpi/features/{slug}/REQUEST.md` if it exists
39
+ - `rpi/features/{slug}/research/RESEARCH.md` if it exists
40
+ - `rpi/features/{slug}/plan/PLAN.md` if it exists
41
+
42
+ Read `rpi/context.md` (project context) if it exists — store as `$PROJECT_CONTEXT`.
43
+
44
+ ## Step 4: Nexus selects agents
45
+
46
+ Use the Agent tool to launch Nexus for agent selection:
47
+
48
+ ```
49
+ You are Nexus. Analyze the following debate topic and select 3-5 agents to participate.
50
+
51
+ ## Topic
52
+ {topic}
53
+
54
+ ## Feature Context
55
+ {$FEATURE_CONTEXT or "No feature context."}
56
+
57
+ ## Project Context
58
+ {$PROJECT_CONTEXT or "No project context."}
59
+
60
+ Select agents based on the topic category:
61
+
62
+ - Technical topics (architecture, implementation, patterns, performance) → Mestre + Atlas + Scout
63
+ - Product topics (UX, requirements, scope, user experience) → Clara + Luna + Pixel
64
+ - Security topics (auth, data protection, vulnerabilities, compliance) → Shield + Hawk + Mestre
65
+ - Mixed topics (trade-offs, strategy, cross-cutting concerns) → Mestre + Clara + Atlas + Shield
66
+
67
+ You may adjust the selection if the topic warrants it. Always pick 3-5 agents. For each selected agent, provide a one-line reason why they're relevant.
68
+
69
+ Output format:
70
+ ## Selected Agents
71
+ 1. {AgentName} — {reason}
72
+ 2. {AgentName} — {reason}
73
+ ...
74
+
75
+ ## Category
76
+ {Technical | Product | Security | Mixed}
77
+ ```
78
+
79
+ Store the output as `$NEXUS_SELECTION`. Parse the selected agent names from it.
80
+
81
+ ## Step 5: Launch debate agents in parallel
82
+
83
+ Use the Agent tool to launch all selected agents simultaneously. Each agent receives this prompt (adapted to their persona):
84
+
85
+ ```
86
+ You are {AgentName}. You've been called into a Party Mode debate.
87
+
88
+ ## Topic
89
+ {topic}
90
+
91
+ ## Feature Context
92
+ {$FEATURE_CONTEXT or "No feature context."}
93
+
94
+ ## Project Context
95
+ {$PROJECT_CONTEXT or "No project context."}
96
+
97
+ Share your perspective on this topic IN CHARACTER. Be opinionated and specific:
98
+ 1. State your position clearly — what do you recommend and why?
99
+ 2. Identify trade-offs and risks from your area of expertise
100
+ 3. If you disagree with an obvious counter-argument, preemptively address it
101
+ 4. Provide concrete examples or references where possible
102
+
103
+ Keep your response focused and under 500 words.
104
+
105
+ Output format:
106
+ ## {AgentName}'s Perspective
107
+ {your position and arguments}
108
+
109
+ ### Trade-offs
110
+ - {trade-off 1}
111
+ - {trade-off 2}
112
+
113
+ ### Recommendation
114
+ {your specific recommendation in 1-2 sentences}
115
+ ```
116
+
117
+ Store each agent's output as `$AGENT_{NAME}_OUTPUT`.
118
+
119
+ ## Step 6: Nexus synthesizes debate
120
+
121
+ Launch Nexus agent to produce the final synthesis:
122
+
123
+ ```
124
+ You are Nexus. Synthesize the Party Mode debate on: {topic}
125
+
126
+ ## Agent Perspectives
127
+ {all $AGENT_{NAME}_OUTPUT concatenated}
128
+
129
+ ## Feature Context
130
+ {$FEATURE_CONTEXT or "No feature context."}
131
+
132
+ Your task:
133
+ 1. Identify points of CONSENSUS — where agents agree
134
+ 2. Identify points of DISAGREEMENT — where agents conflict
135
+ 3. For each disagreement, evaluate the strength of each position
136
+ 4. Produce a clear recommendation with trade-offs
137
+ 5. Note any open questions that the team should resolve
138
+
139
+ Output format:
140
+ # Party Mode: {topic}
141
+
142
+ ## Participants
143
+ {list of agents and their roles}
144
+
145
+ ## Consensus
146
+ {points where agents agree}
147
+
148
+ ## Disagreements
149
+ {for each: what each side argues, strength of evidence, resolution}
150
+
151
+ ## Recommendation
152
+ {clear recommendation with reasoning}
153
+
154
+ ## Trade-offs
155
+ {key trade-offs to be aware of}
156
+
157
+ ## Open Questions
158
+ {unresolved items, if any}
159
+ ```
160
+
161
+ Store the output as `$NEXUS_SYNTHESIS`.
162
+
163
+ ## Step 7: Present results
164
+
165
+ Output the full `$NEXUS_SYNTHESIS` to the user.
166
+
167
+ ## Step 8: Offer to save decision
168
+
169
+ Ask the user with AskUserQuestion:
170
+ "Save this decision to rpi/solutions/decisions/? (y/n)"
171
+
172
+ ### If yes:
173
+
174
+ 1. Derive a slug from the topic (kebab-case, max 50 chars).
175
+ 2. Ensure directory exists: `rpi/solutions/decisions/`
176
+ 3. Write to `rpi/solutions/decisions/{topic-slug}.md`:
177
+ ```markdown
178
+ # {Topic}
179
+
180
+ ## Decision
181
+ {recommendation from Nexus synthesis}
182
+
183
+ ## Context
184
+ {summary of the debate — consensus, disagreements, trade-offs}
185
+
186
+ ## Participants
187
+ {list of agents involved}
188
+
189
+ ## Date
190
+ {YYYY-MM-DD}
191
+ ```
192
+
193
+ 4. Output:
194
+ ```
195
+ Decision saved: rpi/solutions/decisions/{topic-slug}.md
196
+ ```
197
+
198
+ ### If no:
199
+
200
+ Output:
201
+ ```
202
+ Decision not saved. You can revisit this topic anytime with /rpi:party.
203
+ ```
204
+ """