@jstn-sdk/rcs 0.1.7 → 0.1.8
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.
- package/README.md +64 -1
- package/dist/agents/definitions.d.ts +6 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +14 -0
- package/dist/agents/definitions.js.map +1 -1
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +6 -2
- package/dist/config/generator.js.map +1 -1
- package/dist/config/models.d.ts +37 -0
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +121 -3
- package/dist/config/models.js.map +1 -1
- package/dist/config/roblox-reference-mcp.d.ts +16 -0
- package/dist/config/roblox-reference-mcp.d.ts.map +1 -0
- package/dist/config/roblox-reference-mcp.js +37 -0
- package/dist/config/roblox-reference-mcp.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/platform-targets/reader.d.ts +3 -0
- package/dist/platform-targets/reader.d.ts.map +1 -0
- package/dist/platform-targets/reader.js +31 -0
- package/dist/platform-targets/reader.js.map +1 -0
- package/dist/platform-targets/schema.d.ts +22 -0
- package/dist/platform-targets/schema.d.ts.map +1 -0
- package/dist/platform-targets/schema.js +88 -0
- package/dist/platform-targets/schema.js.map +1 -0
- package/dist/scripts/publish-github-package.d.ts +3 -0
- package/dist/scripts/publish-github-package.d.ts.map +1 -0
- package/dist/scripts/publish-github-package.js +74 -0
- package/dist/scripts/publish-github-package.js.map +1 -0
- package/docs/agents.html +1 -0
- package/docs/index.html +13 -0
- package/docs/plugin-bundle-ssot.md +2 -0
- package/docs/readme/README.de.md +27 -0
- package/docs/readme/README.el.md +27 -0
- package/docs/readme/README.es.md +27 -0
- package/docs/readme/README.fr.md +27 -0
- package/docs/readme/README.it.md +27 -0
- package/docs/readme/README.ja.md +27 -0
- package/docs/readme/README.ko.md +27 -0
- package/docs/readme/README.md +2 -1
- package/docs/readme/README.pl.md +27 -0
- package/docs/readme/README.pt.md +27 -0
- package/docs/readme/README.ru.md +27 -0
- package/docs/readme/README.tr.md +27 -0
- package/docs/readme/README.uk.md +27 -0
- package/docs/readme/README.vi.md +27 -0
- package/docs/readme/README.zh-TW.md +27 -0
- package/docs/readme/README.zh.md +27 -0
- package/docs/reference/agentic-platform-compatibility.md +147 -0
- package/docs/reference/llm-provider-abstraction.md +88 -0
- package/docs/reference/multi-agent-compatibility-architecture.md +120 -0
- package/docs/reference/rcs-config-schema-routing.md +3 -0
- package/docs/reference/roblox-mcp-reference-layer.md +75 -0
- package/docs/reference/roblox-pre-action-protocol.md +15 -3
- package/docs/release-notes-v0.1.8.md +24 -0
- package/docs/wiki/Contributing.md +45 -0
- package/docs/wiki/Good-First-Issues.md +44 -0
- package/docs/wiki/Home.md +35 -0
- package/docs/wiki/Release-Playbook.md +57 -0
- package/docs/wiki/Roadmap.md +90 -0
- package/package.json +1 -1
- package/plugins/roblox-ai-os-creator-skills/.codex-plugin/plugin.json +1 -1
- package/plugins/roblox-ai-os-creator-skills/docs/reference/roblox-pre-action-protocol.md +15 -3
- package/plugins/roblox-ai-os-creator-skills/skills/ai-slop-cleaner/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/analyze/SKILL.md +6 -9
- package/plugins/roblox-ai-os-creator-skills/skills/ask-claude/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/ask-gemini/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/autoforge/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/autopilot/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/autoresearch/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/blueprint/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/blueprint-loop/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/blueprint-psych/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/blueprint-retention/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/blueprint-social/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/brief/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/brief-audience/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/brief-motivation/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/cancel/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/code-review/SKILL.md +6 -9
- package/plugins/roblox-ai-os-creator-skills/skills/configure-notifications/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/crew/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/deep-interview/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/doctor/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-community/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-daily-loop/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-event-loop/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-fomo/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-mastery/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-progression/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-reward-loop/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/forge-status/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/help/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/hud/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/note/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/pipeline/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/plan/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/rcs-setup/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/security-review/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/skill/SKILL.md +38 -40
- package/plugins/roblox-ai-os-creator-skills/skills/team/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/trace/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/ultraqa/SKILL.md +7 -10
- package/plugins/roblox-ai-os-creator-skills/skills/ultrawork/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/visual-forge/SKILL.md +1 -4
- package/plugins/roblox-ai-os-creator-skills/skills/visual-verdict/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/wiki/SKILL.md +0 -3
- package/plugins/roblox-ai-os-creator-skills/skills/worker/SKILL.md +1 -4
- package/skills/ai-slop-cleaner/SKILL.md +0 -3
- package/skills/analyze/SKILL.md +6 -9
- package/skills/ask-claude/SKILL.md +0 -3
- package/skills/ask-gemini/SKILL.md +0 -3
- package/skills/autoforge/SKILL.md +0 -3
- package/skills/autopilot/SKILL.md +0 -3
- package/skills/autoresearch/SKILL.md +0 -3
- package/skills/blueprint/SKILL.md +0 -3
- package/skills/blueprint-loop/SKILL.md +0 -3
- package/skills/blueprint-psych/SKILL.md +0 -3
- package/skills/blueprint-retention/SKILL.md +0 -3
- package/skills/blueprint-social/SKILL.md +0 -3
- package/skills/brief/SKILL.md +0 -3
- package/skills/brief-audience/SKILL.md +0 -3
- package/skills/brief-motivation/SKILL.md +0 -3
- package/skills/build-fix/SKILL.md +2 -4
- package/skills/cancel/SKILL.md +0 -3
- package/skills/code-review/SKILL.md +6 -9
- package/skills/configure-notifications/SKILL.md +0 -3
- package/skills/crew/SKILL.md +0 -3
- package/skills/deep-interview/SKILL.md +0 -3
- package/skills/deepsearch/SKILL.md +0 -3
- package/skills/doctor/SKILL.md +0 -3
- package/skills/ecomode/SKILL.md +0 -3
- package/skills/forge/SKILL.md +0 -3
- package/skills/forge-community/SKILL.md +0 -3
- package/skills/forge-daily-loop/SKILL.md +0 -3
- package/skills/forge-event-loop/SKILL.md +0 -3
- package/skills/forge-fomo/SKILL.md +0 -3
- package/skills/forge-init/SKILL.md +0 -3
- package/skills/forge-mastery/SKILL.md +0 -3
- package/skills/forge-progression/SKILL.md +0 -3
- package/skills/forge-reward-loop/SKILL.md +0 -3
- package/skills/forge-status/SKILL.md +0 -3
- package/skills/git-master/SKILL.md +0 -3
- package/skills/help/SKILL.md +0 -3
- package/skills/hud/SKILL.md +0 -3
- package/skills/note/SKILL.md +0 -3
- package/skills/pipeline/SKILL.md +0 -3
- package/skills/plan/SKILL.md +0 -3
- package/skills/rcs-setup/SKILL.md +0 -3
- package/skills/review/SKILL.md +0 -3
- package/skills/security-review/SKILL.md +0 -3
- package/skills/skill/SKILL.md +38 -40
- package/skills/swarm/SKILL.md +1 -4
- package/skills/tdd/SKILL.md +0 -3
- package/skills/team/SKILL.md +0 -3
- package/skills/trace/SKILL.md +0 -3
- package/skills/ultraqa/SKILL.md +7 -10
- package/skills/ultrawork/SKILL.md +0 -3
- package/skills/visual-forge/SKILL.md +1 -4
- package/skills/visual-verdict/SKILL.md +0 -3
- package/skills/web-clone/SKILL.md +0 -3
- package/skills/wiki/SKILL.md +0 -3
- package/skills/worker/SKILL.md +1 -4
- package/src/scripts/publish-github-package.ts +94 -0
- package/templates/roblox/llm-provider-routing.json +42 -0
- package/templates/roblox/reference-sources.md +33 -0
package/skills/hud/SKILL.md
CHANGED
|
@@ -100,6 +100,3 @@ If the TUI statusline is not showing:
|
|
|
100
100
|
If `rcs hud` shows "No active modes":
|
|
101
101
|
- This is expected when no workflows are running
|
|
102
102
|
- Start a workflow (forge, autopilot, etc.) and check again
|
|
103
|
-
surface-class: "operator"
|
|
104
|
-
domain: "creator-runtime"
|
|
105
|
-
audience: "operator"
|
package/skills/note/SKILL.md
CHANGED
|
@@ -64,6 +64,3 @@ Notepad content is automatically loaded on session start:
|
|
|
64
64
|
- Working Memory: Loaded if recent entries exist
|
|
65
65
|
|
|
66
66
|
This helps survive conversation compaction without losing critical context.
|
|
67
|
-
surface-class: "operator"
|
|
68
|
-
domain: "creator-runtime"
|
|
69
|
-
audience: "operator"
|
package/skills/pipeline/SKILL.md
CHANGED
|
@@ -88,6 +88,3 @@ const result = await runPipeline(config);
|
|
|
88
88
|
- **team**: Pipeline delegates execution to team mode (Codex CLI workers)
|
|
89
89
|
- **forge**: Pipeline delegates verification to forge (configurable iterations)
|
|
90
90
|
- **blueprint**: Pipeline's first stage runs consensus planning
|
|
91
|
-
surface-class: "operator"
|
|
92
|
-
domain: "creator-runtime"
|
|
93
|
-
audience: "operator"
|
package/skills/plan/SKILL.md
CHANGED
|
@@ -279,6 +279,3 @@ Before asking any interview question, classify it:
|
|
|
279
279
|
|
|
280
280
|
The separate `/planner` and `/review` skills have been merged into `$plan`. Consensus planning remains available through `$plan --consensus`, while `$blueprint` is the canonical creator-facing planning workflow when you want the full Roblox-native design lane.
|
|
281
281
|
</Advanced>
|
|
282
|
-
surface-class: "operator"
|
|
283
|
-
domain: "creator-runtime"
|
|
284
|
-
audience: "operator"
|
|
@@ -137,6 +137,3 @@ node bin/rcs.js doctor
|
|
|
137
137
|
|
|
138
138
|
- If AGENTS.md was not overwritten during `--force`, stop active RCS session and rerun setup.
|
|
139
139
|
- If AGENTS.md was not merged during `--merge-agents`, stop active RCS session and rerun setup.
|
|
140
|
-
surface-class: "operator"
|
|
141
|
-
domain: "creator-runtime"
|
|
142
|
-
audience: "operator"
|
package/skills/review/SKILL.md
CHANGED
|
@@ -179,6 +179,3 @@ OVERALL: [POSTURE] — ship / fix-first / block live
|
|
|
179
179
|
**Good:** The user says `continue` after you already listed the next remote to trace; keep tracing until the chain is complete.
|
|
180
180
|
|
|
181
181
|
**Bad:** The user says `continue` and you restart from “what is Roblox” instead of finishing the active exploit hypothesis.
|
|
182
|
-
surface-class: "operator"
|
|
183
|
-
domain: "creator-runtime"
|
|
184
|
-
audience: "operator"
|
package/skills/skill/SKILL.md
CHANGED
|
@@ -11,6 +11,7 @@ artifact-type: "skill"
|
|
|
11
11
|
# Skill Management CLI
|
|
12
12
|
|
|
13
13
|
Meta-skill for managing Roblox Creator Skills workflow skills via CLI-like commands.
|
|
14
|
+
Default examples should stay grounded in Roblox creator workflows rather than generic software helpers.
|
|
14
15
|
|
|
15
16
|
## Subcommands
|
|
16
17
|
|
|
@@ -28,13 +29,13 @@ Show all local skills organized by scope.
|
|
|
28
29
|
USER SKILLS (~/.codex/skills/):
|
|
29
30
|
| Name | Triggers | Quality | Usage | Scope |
|
|
30
31
|
|-------------------|--------------------|---------|-------|-------|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
32
|
+
| remote-audit | remote, payload | 95% | 42 | user |
|
|
33
|
+
| gui-state-check | gui, hud, state | 88% | 23 | user |
|
|
33
34
|
|
|
34
35
|
PROJECT SKILLS (.codex/skills/):
|
|
35
36
|
| Name | Triggers | Quality | Usage | Scope |
|
|
36
37
|
|-------------------|--------------------|---------|-------|---------|
|
|
37
|
-
|
|
|
38
|
+
| datastore-guard | datastore, profile | 92% | 15 | project |
|
|
38
39
|
```
|
|
39
40
|
|
|
40
41
|
**Fallback:** If quality/usage stats not available, show "N/A"
|
|
@@ -101,16 +102,16 @@ argument-hint: "<args>"
|
|
|
101
102
|
|
|
102
103
|
**Example:**
|
|
103
104
|
```
|
|
104
|
-
User: /skill add
|
|
105
|
-
Assistant: Creating new skill '
|
|
105
|
+
User: /skill add remote-audit-helper
|
|
106
|
+
Assistant: Creating new skill 'remote-audit-helper'...
|
|
106
107
|
|
|
107
|
-
Description:
|
|
108
|
-
Triggers (comma-separated):
|
|
109
|
-
Argument hint (optional): <
|
|
108
|
+
Description: Audit RemoteEvent payload validation and server authority checks
|
|
109
|
+
Triggers (comma-separated): remote, payload, validation
|
|
110
|
+
Argument hint (optional): <remote-name> [surface]
|
|
110
111
|
Scope (user/project): user
|
|
111
112
|
|
|
112
|
-
✓ Created skill at ~/.codex/skills/
|
|
113
|
-
→ Edit with: /skill edit
|
|
113
|
+
✓ Created skill at ~/.codex/skills/remote-audit-helper/SKILL.md
|
|
114
|
+
→ Edit with: /skill edit remote-audit-helper
|
|
114
115
|
```
|
|
115
116
|
|
|
116
117
|
---
|
|
@@ -136,15 +137,15 @@ Remove a skill by name.
|
|
|
136
137
|
|
|
137
138
|
**Example:**
|
|
138
139
|
```
|
|
139
|
-
User: /skill remove old-
|
|
140
|
-
Assistant: Found skill 'old-
|
|
141
|
-
Description: Legacy
|
|
140
|
+
User: /skill remove old-trade-audit
|
|
141
|
+
Assistant: Found skill 'old-trade-audit' in user scope:
|
|
142
|
+
Description: Legacy trading remote audit helper
|
|
142
143
|
Scope: user (~/.codex/skills/)
|
|
143
144
|
|
|
144
|
-
Delete 'old-
|
|
145
|
+
Delete 'old-trade-audit' skill? (yes/no)
|
|
145
146
|
|
|
146
147
|
User: yes
|
|
147
|
-
Assistant: ✓ Removed skill 'old-
|
|
148
|
+
Assistant: ✓ Removed skill 'old-trade-audit' from user scope
|
|
148
149
|
```
|
|
149
150
|
|
|
150
151
|
---
|
|
@@ -158,10 +159,10 @@ Edit an existing skill interactively.
|
|
|
158
159
|
2. **Read current content** via Read tool
|
|
159
160
|
3. **Display current values:**
|
|
160
161
|
```
|
|
161
|
-
Current skill '
|
|
162
|
-
- Description:
|
|
163
|
-
- Triggers:
|
|
164
|
-
- Argument hint: <
|
|
162
|
+
Current skill 'remote-audit-helper':
|
|
163
|
+
- Description: Audit RemoteEvent payload validation and server authority checks
|
|
164
|
+
- Triggers: remote, payload, validation
|
|
165
|
+
- Argument hint: <remote-name> [surface]
|
|
165
166
|
- Scope: user
|
|
166
167
|
```
|
|
167
168
|
4. **Ask what to change:**
|
|
@@ -180,19 +181,19 @@ Edit an existing skill interactively.
|
|
|
180
181
|
|
|
181
182
|
**Example:**
|
|
182
183
|
```
|
|
183
|
-
User: /skill edit
|
|
184
|
-
Assistant: Current skill '
|
|
185
|
-
- Description:
|
|
186
|
-
- Triggers:
|
|
187
|
-
- Argument hint: <
|
|
184
|
+
User: /skill edit remote-audit-helper
|
|
185
|
+
Assistant: Current skill 'remote-audit-helper':
|
|
186
|
+
- Description: Audit RemoteEvent payload validation and server authority checks
|
|
187
|
+
- Triggers: remote, payload, validation
|
|
188
|
+
- Argument hint: <remote-name> [surface]
|
|
188
189
|
|
|
189
190
|
What would you like to edit? (description/triggers/argument-hint/content/rename/cancel)
|
|
190
191
|
|
|
191
192
|
User: triggers
|
|
192
|
-
Assistant: Current triggers:
|
|
193
|
-
New triggers (comma-separated):
|
|
193
|
+
Assistant: Current triggers: remote, payload, validation
|
|
194
|
+
New triggers (comma-separated): remote, payload, validation, server-authority
|
|
194
195
|
|
|
195
|
-
✓ Updated triggers for '
|
|
196
|
+
✓ Updated triggers for 'remote-audit-helper'
|
|
196
197
|
```
|
|
197
198
|
|
|
198
199
|
---
|
|
@@ -211,19 +212,19 @@ Search skills by content, triggers, name, or description.
|
|
|
211
212
|
3. **Display matches** with context:
|
|
212
213
|
|
|
213
214
|
```
|
|
214
|
-
Found 3 skills matching "
|
|
215
|
+
Found 3 skills matching "remote payload":
|
|
215
216
|
|
|
216
|
-
1.
|
|
217
|
-
Description:
|
|
218
|
-
Match: "
|
|
217
|
+
1. remote-audit (user)
|
|
218
|
+
Description: Review RemoteEvent / RemoteFunction payload contracts
|
|
219
|
+
Match: "remote payload validation"
|
|
219
220
|
|
|
220
|
-
2.
|
|
221
|
-
Description:
|
|
222
|
-
Match: "
|
|
221
|
+
2. trade-safety (user)
|
|
222
|
+
Description: Trading safety checks for inventory mutation
|
|
223
|
+
Match: "payload ownership and duplicate-request validation"
|
|
223
224
|
|
|
224
|
-
3.
|
|
225
|
-
Description:
|
|
226
|
-
Match: "
|
|
225
|
+
3. datastore-guard (project)
|
|
226
|
+
Description: Profile and save-path safety helpers
|
|
227
|
+
Match: "remote requests that mutate persistent state"
|
|
227
228
|
```
|
|
228
229
|
|
|
229
230
|
**Ranking:** Prioritize matches in name/triggers over content matches
|
|
@@ -837,6 +838,3 @@ What would you like to do?
|
|
|
837
838
|
- `/skill stats` - Show usage statistics across all skills
|
|
838
839
|
- `/skill validate` - Check all skills for format errors
|
|
839
840
|
- `/skill template <type>` - Create from predefined templates
|
|
840
|
-
surface-class: "operator"
|
|
841
|
-
domain: "creator-runtime"
|
|
842
|
-
audience: "operator"
|
package/skills/swarm/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ artifact-type: "skill"
|
|
|
9
9
|
|
|
10
10
|
# Swarm (Compatibility Facade)
|
|
11
11
|
|
|
12
|
-
Swarm is a compatibility alias for the `/team` skill.
|
|
12
|
+
Swarm is a historical compatibility alias for the `/team` skill. Active creator language should prefer `$crew` or `$team`; all swarm invocations are routed to the Team skill's staged pipeline.
|
|
13
13
|
|
|
14
14
|
## Usage
|
|
15
15
|
|
|
@@ -27,6 +27,3 @@ This skill is identical to `/team`. Invoke the Team skill with the same argument
|
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Follow the Team skill's full documentation for staged pipeline, agent routing, and coordination semantics.
|
|
30
|
-
surface-class: "historical"
|
|
31
|
-
domain: "creator-runtime"
|
|
32
|
-
audience: "internal"
|
package/skills/tdd/SKILL.md
CHANGED
|
@@ -108,6 +108,3 @@ Use `mcp__x__ask_codex` with `agent_role: "tdd-guide"`.
|
|
|
108
108
|
If ToolSearch finds no MCP tools, fall back to the `test-engineer` agent.
|
|
109
109
|
|
|
110
110
|
**Remember:** The discipline IS the value. Shortcuts destroy the benefit.
|
|
111
|
-
surface-class: "operator"
|
|
112
|
-
domain: "creator-runtime"
|
|
113
|
-
audience: "operator"
|
package/skills/team/SKILL.md
CHANGED
|
@@ -511,6 +511,3 @@ Two cleanup paths exist and must not be confused:
|
|
|
511
511
|
**Good:** The user changes only the output shape or downstream delivery step (for example `make a PR`). Preserve earlier non-conflicting workflow constraints and apply the update locally.
|
|
512
512
|
|
|
513
513
|
**Bad:** The user says `continue`, and the workflow restarts discovery or stops before the missing verification/evidence is gathered.
|
|
514
|
-
surface-class: "operator"
|
|
515
|
-
domain: "creator-runtime"
|
|
516
|
-
audience: "operator"
|
package/skills/trace/SKILL.md
CHANGED
|
@@ -35,6 +35,3 @@ Present the timeline first, then the summary. Highlight:
|
|
|
35
35
|
- **Mode transitions** (how execution modes changed)
|
|
36
36
|
- **Bottlenecks** (slow tools or agents)
|
|
37
37
|
- **Flow patterns** (keyword -> skill -> agent chains)
|
|
38
|
-
surface-class: "operator"
|
|
39
|
-
domain: "creator-runtime"
|
|
40
|
-
audience: "operator"
|
package/skills/ultraqa/SKILL.md
CHANGED
|
@@ -9,9 +9,9 @@ artifact-type: "skill"
|
|
|
9
9
|
|
|
10
10
|
# UltraQA Skill
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Use `$ultraqa` when you need a strict QA loop for Roblox Studio, Luau, creator-runtime, or plugin changes and the first verification pass is not enough.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
This skill is strongest when the work needs repeatable test -> diagnose -> fix -> retest cycling until the changed behavior is actually proven.
|
|
15
15
|
|
|
16
16
|
## GPT-5.5 Guidance Alignment
|
|
17
17
|
|
|
@@ -30,7 +30,7 @@ Parse the goal from arguments. Supported formats:
|
|
|
30
30
|
| `/ultraqa --tests` | tests | All test suites pass |
|
|
31
31
|
| `/ultraqa --build` | build | Build succeeds with exit 0 |
|
|
32
32
|
| `/ultraqa --lint` | lint | No lint errors |
|
|
33
|
-
| `/ultraqa --typecheck` | typecheck | No TypeScript errors |
|
|
33
|
+
| `/ultraqa --typecheck` | typecheck | No TypeScript errors in the RCS runtime/tooling layer |
|
|
34
34
|
| `/ultraqa --custom "pattern"` | custom | Custom success pattern in output |
|
|
35
35
|
|
|
36
36
|
If no structured goal provided, interpret the argument as a custom goal.
|
|
@@ -49,7 +49,7 @@ If no structured goal provided, interpret the argument as a custom goal.
|
|
|
49
49
|
```
|
|
50
50
|
delegate(role="test-engineer", tier="STANDARD", task="TEST:
|
|
51
51
|
Goal: [describe what to verify]
|
|
52
|
-
|
|
52
|
+
Surface: [Roblox Studio, Luau module, plugin widget, or RCS runtime]
|
|
53
53
|
Test cases: [specific scenarios to verify]")
|
|
54
54
|
```
|
|
55
55
|
|
|
@@ -89,11 +89,11 @@ If no structured goal provided, interpret the argument as a custom goal.
|
|
|
89
89
|
Output progress each cycle:
|
|
90
90
|
```
|
|
91
91
|
[ULTRAQA Cycle 1/5] Running tests...
|
|
92
|
-
[ULTRAQA Cycle 1/5] FAILED - 3
|
|
92
|
+
[ULTRAQA Cycle 1/5] FAILED - 3 checks failing
|
|
93
93
|
[ULTRAQA Cycle 1/5] Architect diagnosing...
|
|
94
|
-
[ULTRAQA Cycle 1/5] Fixing:
|
|
94
|
+
[ULTRAQA Cycle 1/5] Fixing: TradeRequest.server.luau validation path or matching runtime harness
|
|
95
95
|
[ULTRAQA Cycle 2/5] Running tests...
|
|
96
|
-
[ULTRAQA Cycle 2/5] PASSED -
|
|
96
|
+
[ULTRAQA Cycle 2/5] PASSED - verification target is green
|
|
97
97
|
[ULTRAQA COMPLETE] Goal met after 2 cycles
|
|
98
98
|
```
|
|
99
99
|
|
|
@@ -145,6 +145,3 @@ Use MCP state cleanup rather than deleting files directly.
|
|
|
145
145
|
---
|
|
146
146
|
|
|
147
147
|
Begin ULTRAQA cycling now. Parse the goal and start cycle 1.
|
|
148
|
-
surface-class: "operator"
|
|
149
|
-
domain: "creator-runtime"
|
|
150
|
-
audience: "operator"
|
|
@@ -177,6 +177,3 @@ ecomode (token efficiency)
|
|
|
177
177
|
|
|
178
178
|
Ultrawork is the parallelism and execution-discipline layer. Forge adds persistence, architect verification, deslop, and retry-until-done behavior. Autoforge adds the broader autonomous lifecycle pipeline. Ecomode adjusts ultrawork's model routing to favor cheaper models.
|
|
179
179
|
</Advanced>
|
|
180
|
-
surface-class: "operator"
|
|
181
|
-
domain: "creator-runtime"
|
|
182
|
-
audience: "operator"
|
|
@@ -9,7 +9,7 @@ artifact-type: "skill"
|
|
|
9
9
|
|
|
10
10
|
# Visual Forge Skill
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Visual Forge is the visual-delivery lane for Roblox creator UI, HUD, and plugin work. `$forge` remains the persistent implementation owner when the work turns into a code-bearing completion loop.
|
|
13
13
|
|
|
14
14
|
Use this skill when the user wants Codex to build or restyle Roblox creator UI through a compatibility visual-delivery loop: an approved generated reference, static reference, or captured inspiration baseline becomes the target, Forge implements, and Visual Verdict drives measured iteration rather than subjective description alone.
|
|
15
15
|
|
|
@@ -157,6 +157,3 @@ Do not make major design pivots unless explicitly requested."
|
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
Task: {{ARGUMENTS}}
|
|
160
|
-
surface-class: "operator"
|
|
161
|
-
domain: "creator-runtime"
|
|
162
|
-
audience: "operator"
|
|
@@ -26,6 +26,3 @@ If this skill is selected by older routing, stop the standalone web-clone pipeli
|
|
|
26
26
|
## Rationale
|
|
27
27
|
|
|
28
28
|
The URL extraction, visual iteration, and implementation verification responsibilities are now part of Visual Forge's broader visual-delivery workflow. Keeping a second standalone cloning skill would split guidance and make verification behavior drift.
|
|
29
|
-
surface-class: "historical"
|
|
30
|
-
domain: "creator-runtime"
|
|
31
|
-
audience: "internal"
|
package/skills/wiki/SKILL.md
CHANGED
|
@@ -59,6 +59,3 @@ At session end, discoveries can be captured as `session-log-*` pages. Configure
|
|
|
59
59
|
## Hard Constraints
|
|
60
60
|
- No vector embeddings — query uses keyword + tag matching only
|
|
61
61
|
- Wiki files remain local project state under `.rcs/wiki/`
|
|
62
|
-
surface-class: "operator"
|
|
63
|
-
domain: "creator-runtime"
|
|
64
|
-
audience: "operator"
|
package/skills/worker/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ artifact-type: "skill"
|
|
|
9
9
|
|
|
10
10
|
# Worker Skill
|
|
11
11
|
|
|
12
|
-
>
|
|
12
|
+
> Internal worker-runtime surface. Active creator language should prefer `crew` / coordinated execution terminology. This file exists so tmux-managed crew panes follow one strict protocol.
|
|
13
13
|
|
|
14
14
|
This skill is for a Codex session that was started as a coordinated crew worker pane under `rcs team` / `$team`.
|
|
15
15
|
|
|
@@ -110,6 +110,3 @@ Crew worker sessions should treat team state + CLI interop as the source of trut
|
|
|
110
110
|
## Shutdown
|
|
111
111
|
|
|
112
112
|
If the crew lead sends a shutdown request, follow the shutdown inbox instructions exactly, write your shutdown ack file, then exit the Codex session.
|
|
113
|
-
surface-class: "internal"
|
|
114
|
-
domain: "creator-runtime"
|
|
115
|
-
audience: "internal"
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { basename, join } from 'node:path';
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
5
|
+
|
|
6
|
+
interface PackageJson {
|
|
7
|
+
name?: string;
|
|
8
|
+
version?: string;
|
|
9
|
+
publishConfig?: Record<string, unknown>;
|
|
10
|
+
repository?: string | { url?: string; [key: string]: unknown };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface PackageLockJson {
|
|
14
|
+
name?: string;
|
|
15
|
+
version?: string;
|
|
16
|
+
packages?: Record<string, { name?: string; version?: string; [key: string]: unknown }>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function normalizeScopeOwner(owner: string): string {
|
|
20
|
+
return owner.trim().toLowerCase();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function resolveRepositoryUrl(pkg: PackageJson): string {
|
|
24
|
+
if (typeof pkg.repository === 'string') return pkg.repository;
|
|
25
|
+
if (pkg.repository && typeof pkg.repository === 'object' && typeof pkg.repository.url === 'string') {
|
|
26
|
+
return pkg.repository.url;
|
|
27
|
+
}
|
|
28
|
+
throw new Error('github_packages_publish_requires_repository_url');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function resolveGitHubOwner(pkg: PackageJson): string {
|
|
32
|
+
const repositoryUrl = resolveRepositoryUrl(pkg);
|
|
33
|
+
const match = repositoryUrl.match(/github\.com[:/](.+?)\/(.+?)(?:\.git)?$/i);
|
|
34
|
+
if (!match?.[1]) {
|
|
35
|
+
throw new Error(`unable_to_resolve_github_owner_from_repository:${repositoryUrl}`);
|
|
36
|
+
}
|
|
37
|
+
return normalizeScopeOwner(match[1]);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function resolvePackageBaseName(pkg: PackageJson): string {
|
|
41
|
+
const name = (pkg.name ?? '').trim();
|
|
42
|
+
if (!name) throw new Error('github_packages_publish_requires_package_name');
|
|
43
|
+
const last = name.split('/').at(-1);
|
|
44
|
+
if (!last) throw new Error('github_packages_publish_requires_package_name');
|
|
45
|
+
return last;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function buildGitHubPackagesName(pkg: PackageJson): string {
|
|
49
|
+
return `@${resolveGitHubOwner(pkg)}/${resolvePackageBaseName(pkg)}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function main(): void {
|
|
53
|
+
const root = process.cwd();
|
|
54
|
+
const dryRun = process.argv.includes('--dry-run');
|
|
55
|
+
const packagePath = join(root, 'package.json');
|
|
56
|
+
const lockPath = join(root, 'package-lock.json');
|
|
57
|
+
|
|
58
|
+
const originalPackage = readFileSync(packagePath, 'utf8');
|
|
59
|
+
const originalLock = readFileSync(lockPath, 'utf8');
|
|
60
|
+
|
|
61
|
+
const pkg = JSON.parse(originalPackage) as PackageJson;
|
|
62
|
+
const lock = JSON.parse(originalLock) as PackageLockJson;
|
|
63
|
+
const githubPackageName = buildGitHubPackagesName(pkg);
|
|
64
|
+
|
|
65
|
+
pkg.name = githubPackageName;
|
|
66
|
+
pkg.publishConfig = {
|
|
67
|
+
...(pkg.publishConfig ?? {}),
|
|
68
|
+
registry: 'https://npm.pkg.github.com',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
lock.name = githubPackageName;
|
|
72
|
+
if (lock.packages?.['']) {
|
|
73
|
+
lock.packages[''].name = githubPackageName;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
writeFileSync(packagePath, `${JSON.stringify(pkg, null, 2)}\n`);
|
|
77
|
+
writeFileSync(lockPath, `${JSON.stringify(lock, null, 2)}\n`);
|
|
78
|
+
|
|
79
|
+
try {
|
|
80
|
+
const args = ['publish', ...(dryRun ? ['--dry-run'] : [])];
|
|
81
|
+
const result = spawnSync('npm', args, {
|
|
82
|
+
cwd: root,
|
|
83
|
+
stdio: 'inherit',
|
|
84
|
+
env: process.env,
|
|
85
|
+
});
|
|
86
|
+
if (result.error) throw result.error;
|
|
87
|
+
process.exit(result.status ?? 1);
|
|
88
|
+
} finally {
|
|
89
|
+
writeFileSync(packagePath, originalPackage);
|
|
90
|
+
writeFileSync(lockPath, originalLock);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
main();
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"providers": {
|
|
3
|
+
"openrouter": {
|
|
4
|
+
"base_url": "https://openrouter.ai/api/v1",
|
|
5
|
+
"api_format": "openai-compatible",
|
|
6
|
+
"env_key": "OPENROUTER_API_KEY",
|
|
7
|
+
"capabilities": [
|
|
8
|
+
"chat",
|
|
9
|
+
"reasoning"
|
|
10
|
+
],
|
|
11
|
+
"label": "OpenRouter"
|
|
12
|
+
},
|
|
13
|
+
"anthropic_proxy": {
|
|
14
|
+
"base_url": "https://proxy.example.com/anthropic",
|
|
15
|
+
"api_format": "anthropic",
|
|
16
|
+
"env_key": "ANTHROPIC_PROXY_KEY",
|
|
17
|
+
"capabilities": [
|
|
18
|
+
"chat",
|
|
19
|
+
"long-context"
|
|
20
|
+
],
|
|
21
|
+
"label": "Anthropic Proxy"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"routing": {
|
|
25
|
+
"default_provider": "openrouter",
|
|
26
|
+
"mode_providers": {
|
|
27
|
+
"forge": "openrouter",
|
|
28
|
+
"team": "anthropic_proxy"
|
|
29
|
+
},
|
|
30
|
+
"fallback_providers": [
|
|
31
|
+
"openrouter"
|
|
32
|
+
],
|
|
33
|
+
"mode_fallback_providers": {
|
|
34
|
+
"forge": [
|
|
35
|
+
"openrouter",
|
|
36
|
+
"anthropic_proxy"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"hot_swap": true,
|
|
40
|
+
"failover": true
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Roblox Reference Sources
|
|
2
|
+
|
|
3
|
+
Use this inventory when a Roblox task needs external grounding before implementation.
|
|
4
|
+
|
|
5
|
+
## Official platform truth
|
|
6
|
+
|
|
7
|
+
- `https://github.com/Roblox/creator-docs`
|
|
8
|
+
- `https://gitmcp.io/Roblox/creator-docs`
|
|
9
|
+
|
|
10
|
+
## Roblox implementation guidance
|
|
11
|
+
|
|
12
|
+
- `https://github.com/sentinelcore/roblox-skills`
|
|
13
|
+
- `https://gitmcp.io/sentinelcore/roblox-skills`
|
|
14
|
+
- `https://github.com/greedychipmunk/agent-skills/tree/main/roblox-game-developer`
|
|
15
|
+
- `https://github.com/omer-metin/skills-for-antigravity/tree/main/skills/roblox-development`
|
|
16
|
+
- `https://github.com/dig1t/skills`
|
|
17
|
+
- `https://github.com/Corecii/Devprod`
|
|
18
|
+
- `https://gitmcp.io/Corecii/Devprod`
|
|
19
|
+
|
|
20
|
+
## Raw script / corpus support
|
|
21
|
+
|
|
22
|
+
- `https://github.com/retpirato/Roblox-Scripts`
|
|
23
|
+
- `https://gitmcp.io/retpirato/Roblox-Scripts`
|
|
24
|
+
- `https://gitmcp.io/frosteen/Roblox_LUA_Weapon_Scripts`
|
|
25
|
+
- `https://gitmcp.io/uhub/awesome-lua`
|
|
26
|
+
- `https://gitmcp.io/LewisJEllis/awesome-lua`
|
|
27
|
+
- `https://gitmcp.io/forhappy/awesome-lua`
|
|
28
|
+
- `http://lua-users.org/wiki/SampleCode`
|
|
29
|
+
|
|
30
|
+
Rules:
|
|
31
|
+
- official docs define correctness
|
|
32
|
+
- skill repos improve implementation awareness
|
|
33
|
+
- corpora are not trusted production code
|