specrails-core 4.4.0 → 4.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.
- package/package.json +1 -1
- package/templates/agents/sr-architect.md +9 -4
- package/templates/agents/sr-backend-developer.md +9 -4
- package/templates/agents/sr-backend-reviewer.md +9 -4
- package/templates/agents/sr-developer.md +10 -4
- package/templates/agents/sr-doc-sync.md +9 -4
- package/templates/agents/sr-frontend-developer.md +9 -4
- package/templates/agents/sr-frontend-reviewer.md +9 -4
- package/templates/agents/sr-merge-resolver.md +9 -4
- package/templates/agents/sr-performance-reviewer.md +9 -4
- package/templates/agents/sr-reviewer.md +9 -4
- package/templates/agents/sr-security-reviewer.md +9 -4
- package/templates/agents/sr-test-writer.md +9 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specrails-core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"description": "AI agent workflow system for Claude Code — installs 12 specialized agents, orchestration commands, and persona-driven product discovery into any repository",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -218,10 +218,15 @@ Guidelines:
|
|
|
218
218
|
|
|
219
219
|
Your MEMORY.md is currently empty. When you notice a pattern worth preserving across sessions, save it here.
|
|
220
220
|
|
|
221
|
-
## Tool Selection —
|
|
221
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
222
222
|
|
|
223
|
-
|
|
223
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
228
|
+
|
|
229
|
+
**Quick decision check at every code-related tool call**:
|
|
230
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
231
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
232
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -53,10 +53,15 @@ Guidelines:
|
|
|
53
53
|
|
|
54
54
|
Your MEMORY.md is currently empty.
|
|
55
55
|
|
|
56
|
-
## Tool Selection —
|
|
56
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
63
|
+
|
|
64
|
+
**Quick decision check at every code-related tool call**:
|
|
65
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
66
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
67
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -138,10 +138,15 @@ What to save:
|
|
|
138
138
|
|
|
139
139
|
Your MEMORY.md is currently empty.
|
|
140
140
|
|
|
141
|
-
## Tool Selection —
|
|
141
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
148
|
+
|
|
149
|
+
**Quick decision check at every code-related tool call**:
|
|
150
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
151
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
152
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -49,19 +49,25 @@ When an OpenSpec change is being applied, you:
|
|
|
49
49
|
4. **Implement the changes** with surgical precision across all affected layers
|
|
50
50
|
5. **Ensure consistency** with the existing codebase style, patterns, and architecture
|
|
51
51
|
|
|
52
|
-
## Tool Selection —
|
|
52
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
59
|
+
|
|
60
|
+
**Quick decision check at every code-related tool call**:
|
|
61
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
62
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
63
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
59
64
|
|
|
60
65
|
## Workflow Protocol — Strict TDD
|
|
61
66
|
|
|
62
67
|
You MUST follow Test-Driven Development. This is non-negotiable. The cycle is: **Red → Green → Refactor**. Never write production code without a failing test first.
|
|
63
68
|
|
|
64
69
|
### Phase 1: Understand
|
|
70
|
+
- **First, scan the project's `CLAUDE.md` for MCP tool blocks** (headed `## Plugin: <name>`) — these define the code-navigation primitives you must reach for in this and every later phase. See "Tool Selection — MCP-First" above. Internalise the available tools BEFORE you start reading files.
|
|
65
71
|
- Read the OpenSpec change spec thoroughly
|
|
66
72
|
- Read referenced base specs
|
|
67
73
|
- Read layer-specific CLAUDE.md files ({{LAYER_CLAUDE_MD_PATHS}})
|
|
@@ -233,10 +233,15 @@ What to save:
|
|
|
233
233
|
|
|
234
234
|
Your MEMORY.md is currently empty.
|
|
235
235
|
|
|
236
|
-
## Tool Selection —
|
|
236
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
237
237
|
|
|
238
|
-
|
|
238
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
239
239
|
|
|
240
|
-
|
|
240
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
243
|
+
|
|
244
|
+
**Quick decision check at every code-related tool call**:
|
|
245
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
246
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
247
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -47,10 +47,15 @@ Guidelines:
|
|
|
47
47
|
|
|
48
48
|
Your MEMORY.md is currently empty.
|
|
49
49
|
|
|
50
|
-
## Tool Selection —
|
|
50
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
57
|
+
|
|
58
|
+
**Quick decision check at every code-related tool call**:
|
|
59
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
60
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
61
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -131,10 +131,15 @@ What to save:
|
|
|
131
131
|
|
|
132
132
|
Your MEMORY.md is currently empty.
|
|
133
133
|
|
|
134
|
-
## Tool Selection —
|
|
134
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
141
|
+
|
|
142
|
+
**Quick decision check at every code-related tool call**:
|
|
143
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
144
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
145
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -181,10 +181,15 @@ MERGE_RESOLUTION_STATUS: UNRESOLVED
|
|
|
181
181
|
- **Always** write the report even if all statuses are LOW_CONFIDENCE.
|
|
182
182
|
- If a file has 0 conflict markers: log it as `NO_CONFLICTS` and skip (do not rewrite the file).
|
|
183
183
|
|
|
184
|
-
## Tool Selection —
|
|
184
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
185
185
|
|
|
186
|
-
|
|
186
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
187
187
|
|
|
188
|
-
|
|
188
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
189
189
|
|
|
190
|
-
|
|
190
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
191
|
+
|
|
192
|
+
**Quick decision check at every code-related tool call**:
|
|
193
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
194
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
195
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -172,10 +172,15 @@ PERF_STATUS: NO_PERF_IMPACT
|
|
|
172
172
|
- **Never skip performance-sensitive files** — if in doubt, benchmark it
|
|
173
173
|
- **Always update history** after a successful benchmark run
|
|
174
174
|
|
|
175
|
-
## Tool Selection —
|
|
175
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
182
|
+
|
|
183
|
+
**Quick decision check at every code-related tool call**:
|
|
184
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
185
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
186
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -304,10 +304,15 @@ What to save:
|
|
|
304
304
|
|
|
305
305
|
Your MEMORY.md is currently empty.
|
|
306
306
|
|
|
307
|
-
## Tool Selection —
|
|
307
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
308
308
|
|
|
309
|
-
|
|
309
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
312
312
|
|
|
313
|
-
|
|
313
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
314
|
+
|
|
315
|
+
**Quick decision check at every code-related tool call**:
|
|
316
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
317
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
318
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -177,10 +177,15 @@ What to save:
|
|
|
177
177
|
|
|
178
178
|
Your MEMORY.md is currently empty.
|
|
179
179
|
|
|
180
|
-
## Tool Selection —
|
|
180
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
185
185
|
|
|
186
|
-
|
|
186
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
187
|
+
|
|
188
|
+
**Quick decision check at every code-related tool call**:
|
|
189
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
190
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
191
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|
|
@@ -162,10 +162,15 @@ What to save:
|
|
|
162
162
|
|
|
163
163
|
Your MEMORY.md is currently empty.
|
|
164
164
|
|
|
165
|
-
## Tool Selection —
|
|
165
|
+
## Tool Selection — MCP-First for Codebase Tasks
|
|
166
166
|
|
|
167
|
-
|
|
167
|
+
**Mandatory step BEFORE any code-navigation tool call**: scan the project's `CLAUDE.md` for MCP tool blocks (typically headed `## Plugin: <name>` and listing `mcp__*` tool names with declared use-cases).
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
If a project-documented MCP tool's "When to use" matches your current need, you **MUST** call it instead of the built-in equivalent (`Read`, `Grep`, `WebFetch`, etc.). Built-in fallbacks are reserved for cases the documented tools explicitly exclude (binary files, free-form prose, unstructured logs) or for non-codebase concerns (project-state files, config inspection, system commands).
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
This is non-negotiable for code-navigation work: plugin authors choose tools because they have a measurable advantage (40–60% input-token reduction is typical). Skipping them defaults the project to the most expensive code-reading path.
|
|
172
|
+
|
|
173
|
+
**Quick decision check at every code-related tool call**:
|
|
174
|
+
- Is this a symbol/reference/definition lookup? → MCP tool, not `Grep`/`Read`.
|
|
175
|
+
- Am I about to read a file just to edit one function? → MCP tool, not `Read` + `Edit`.
|
|
176
|
+
- No documented MCP tool fits the current need? → built-in, document why in your reasoning.
|