reviewflow 3.42.1 → 3.43.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/CHANGELOG.md +14 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.d.ts.map +1 -1
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js +8 -4
- package/dist/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.js.map +1 -1
- package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.d.ts +11 -3
- package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.d.ts.map +1 -1
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.d.ts +4 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.d.ts.map +1 -1
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.d.ts +8 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.d.ts.map +1 -1
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.js +6 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.js.map +1 -1
- package/dist/modules/setup-wizard/entities/setupState/setupState.guard.d.ts +4 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.guard.d.ts.map +1 -1
- package/dist/modules/setup-wizard/entities/setupState/setupState.schema.d.ts +4 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.schema.d.ts.map +1 -1
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.d.ts.map +1 -1
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js +10 -2
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js.map +1 -1
- package/dist/modules/setup-wizard/services/agentPresetCatalog.d.ts +4 -2
- package/dist/modules/setup-wizard/services/agentPresetCatalog.d.ts.map +1 -1
- package/dist/modules/setup-wizard/services/agentPresetCatalog.js +28 -29
- package/dist/modules/setup-wizard/services/agentPresetCatalog.js.map +1 -1
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.d.ts.map +1 -1
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.js +5 -4
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.js.map +1 -1
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.d.ts.map +1 -1
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.js +22 -6
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.js.map +1 -1
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.d.ts.map +1 -1
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.js +9 -1
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.js.map +1 -1
- package/dist/tests/units/dashboard/dashboardLoadingRace.test.d.ts +9 -0
- package/dist/tests/units/dashboard/dashboardLoadingRace.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/dashboardLoadingRace.test.js +59 -0
- package/dist/tests/units/dashboard/dashboardLoadingRace.test.js.map +1 -0
- package/dist/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.js +15 -0
- package/dist/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.js.map +1 -1
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.js +29 -12
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.js.map +1 -1
- package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.js +24 -9
- package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.js.map +1 -1
- package/package.json +1 -1
- package/templates/en/followup-advanced/README.md +51 -0
- package/templates/en/followup-advanced/SKILL.md +389 -0
- package/templates/en/review-advanced/README.md +71 -0
- package/templates/en/review-advanced/SKILL.md +421 -0
- package/templates/fr/followup-advanced/README.md +41 -0
- package/templates/fr/followup-advanced/SKILL.md +389 -0
- package/templates/fr/review-advanced/README.md +62 -0
- package/templates/fr/review-advanced/SKILL.md +421 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regression test for issue #339 — Priority Lanes and Completed Reviews stuck
|
|
3
|
+
* on "Loading..." forever.
|
|
4
|
+
*
|
|
5
|
+
* Structural assertions on src/dashboard/index.html via raw-string + regex,
|
|
6
|
+
* matching the precedent of dashboardLayout.test.ts (no jsdom dependency).
|
|
7
|
+
*/
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { dirname, join } from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
import { beforeAll, describe, expect, it } from 'vitest';
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
const PROJECT_ROOT = join(__dirname, '..', '..', '..', '..');
|
|
15
|
+
const INDEX_HTML_PATH = join(PROJECT_ROOT, 'src', 'dashboard', 'index.html');
|
|
16
|
+
function extractFunctionBody(source, functionName) {
|
|
17
|
+
const signatureIndex = source.indexOf(`function ${functionName}(`);
|
|
18
|
+
if (signatureIndex === -1)
|
|
19
|
+
return '';
|
|
20
|
+
const firstBraceIndex = source.indexOf('{', signatureIndex);
|
|
21
|
+
if (firstBraceIndex === -1)
|
|
22
|
+
return '';
|
|
23
|
+
let depth = 1;
|
|
24
|
+
let cursor = firstBraceIndex + 1;
|
|
25
|
+
while (depth > 0 && cursor < source.length) {
|
|
26
|
+
const char = source[cursor];
|
|
27
|
+
if (char === '{')
|
|
28
|
+
depth += 1;
|
|
29
|
+
if (char === '}')
|
|
30
|
+
depth -= 1;
|
|
31
|
+
cursor += 1;
|
|
32
|
+
}
|
|
33
|
+
return source.substring(signatureIndex, cursor);
|
|
34
|
+
}
|
|
35
|
+
describe('Issue #339 — dashboard loading state race', () => {
|
|
36
|
+
let indexHtml;
|
|
37
|
+
beforeAll(() => {
|
|
38
|
+
indexHtml = readFileSync(INDEX_HTML_PATH, 'utf-8');
|
|
39
|
+
});
|
|
40
|
+
it('fetchMrTracking renders after clearing the mrTracking loading flag, not before', () => {
|
|
41
|
+
const functionBody = extractFunctionBody(indexHtml, 'fetchMrTracking');
|
|
42
|
+
expect(functionBody).not.toBe('');
|
|
43
|
+
const clearFlagIndex = functionBody.lastIndexOf("setLoadingFlag('mrTracking', false)");
|
|
44
|
+
const renderCallIndex = functionBody.lastIndexOf('updateMrTrackingUI()');
|
|
45
|
+
expect(clearFlagIndex).toBeGreaterThan(-1);
|
|
46
|
+
expect(renderCallIndex).toBeGreaterThan(-1);
|
|
47
|
+
expect(renderCallIndex).toBeGreaterThan(clearFlagIndex);
|
|
48
|
+
});
|
|
49
|
+
it('fetchReviewFiles renders after clearing the reviewFiles loading flag, not before', () => {
|
|
50
|
+
const functionBody = extractFunctionBody(indexHtml, 'fetchReviewFiles');
|
|
51
|
+
expect(functionBody).not.toBe('');
|
|
52
|
+
const clearFlagIndex = functionBody.indexOf("setLoadingFlag('reviewFiles', false)");
|
|
53
|
+
const renderCallIndex = functionBody.lastIndexOf('updateReviewFilesUI()');
|
|
54
|
+
expect(clearFlagIndex).toBeGreaterThan(-1);
|
|
55
|
+
expect(renderCallIndex).toBeGreaterThan(-1);
|
|
56
|
+
expect(renderCallIndex).toBeGreaterThan(clearFlagIndex);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=dashboardLoadingRace.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboardLoadingRace.test.js","sourceRoot":"","sources":["../../../../src/tests/units/dashboard/dashboardLoadingRace.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,21 @@ describe('ClaudeSessionCliGateway.dispatch', () => {
|
|
|
58
58
|
// which contradicts auto and triggers the disclaimer requirement.
|
|
59
59
|
expect(calls[0]?.args).not.toContain('--dangerously-skip-permissions');
|
|
60
60
|
});
|
|
61
|
+
it('extracts the session id when the CLI wraps it in ANSI colour codes despite piped stdout', async () => {
|
|
62
|
+
const { runner } = createRunner([
|
|
63
|
+
{
|
|
64
|
+
stdout: 'backgrounded · [36mb252a492[39m\n[2m claude agents list sessions[22m\n[2m claude attach b252a492 open in this terminal[22m\n[2m claude logs b252a492 show recent output[22m\n[2m claude stop b252a492 stop this session[22m',
|
|
65
|
+
stderr: '',
|
|
66
|
+
exitCode: 0,
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
const gateway = new ClaudeSessionCliGateway(runner);
|
|
70
|
+
const result = await gateway.dispatch(baseDispatchInput);
|
|
71
|
+
expect(result.status).toBe('dispatched');
|
|
72
|
+
if (result.status === 'dispatched') {
|
|
73
|
+
expect(result.sessionId).toBe('b252a492');
|
|
74
|
+
}
|
|
75
|
+
});
|
|
61
76
|
it('returns "rate-limited" when stderr matches a rate-limit pattern', async () => {
|
|
62
77
|
const { runner } = createRunner([
|
|
63
78
|
{ stdout: '', stderr: 'HTTP 429 Too Many Requests', exitCode: 1 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeSession.cli.gateway.test.js","sourceRoot":"","sources":["../../../../../../../src/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claudeSession.cli.gateway.test.js","sourceRoot":"","sources":["../../../../../../../src/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,14 @@ import { tmpdir } from 'node:os';
|
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
5
5
|
import { ProjectConfigFileSystemGateway } from '../../../../../../modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js';
|
|
6
|
+
const BASE_CONFIG = {
|
|
7
|
+
github: true,
|
|
8
|
+
gitlab: false,
|
|
9
|
+
defaultModel: 'sonnet',
|
|
10
|
+
reviewSkill: 'review-code',
|
|
11
|
+
reviewFollowupSkill: 'review-followup',
|
|
12
|
+
language: 'en',
|
|
13
|
+
};
|
|
6
14
|
describe('ProjectConfigFileSystemGateway', () => {
|
|
7
15
|
let rootDir;
|
|
8
16
|
beforeEach(() => {
|
|
@@ -17,31 +25,40 @@ describe('ProjectConfigFileSystemGateway', () => {
|
|
|
17
25
|
});
|
|
18
26
|
it('writes config under .claude/reviews/config.json', () => {
|
|
19
27
|
const gateway = new ProjectConfigFileSystemGateway();
|
|
20
|
-
gateway.write(rootDir, {
|
|
28
|
+
gateway.write(rootDir, {
|
|
29
|
+
...BASE_CONFIG,
|
|
30
|
+
agents: [{ name: 'clean-architecture', displayName: 'Clean Archi' }],
|
|
31
|
+
});
|
|
21
32
|
expect(existsSync(join(rootDir, '.claude', 'reviews', 'config.json'))).toBe(true);
|
|
22
33
|
});
|
|
23
34
|
it('reads back what it wrote', () => {
|
|
24
35
|
const gateway = new ProjectConfigFileSystemGateway();
|
|
25
|
-
|
|
26
|
-
|
|
36
|
+
const config = {
|
|
37
|
+
...BASE_CONFIG,
|
|
38
|
+
gitlab: false,
|
|
27
39
|
language: 'fr',
|
|
28
|
-
agents: [
|
|
29
|
-
|
|
40
|
+
agents: [
|
|
41
|
+
{ name: 'testing', displayName: 'Testing' },
|
|
42
|
+
{ name: 'security', displayName: 'Security' },
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
gateway.write(rootDir, config);
|
|
30
46
|
const reloaded = gateway.read(rootDir);
|
|
31
|
-
expect(reloaded).toEqual(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
47
|
+
expect(reloaded).toEqual(config);
|
|
48
|
+
});
|
|
49
|
+
it('reads back a config with no agents field (falls back to engine defaults)', () => {
|
|
50
|
+
const gateway = new ProjectConfigFileSystemGateway();
|
|
51
|
+
gateway.write(rootDir, BASE_CONFIG);
|
|
52
|
+
expect(gateway.read(rootDir)).toEqual(BASE_CONFIG);
|
|
36
53
|
});
|
|
37
54
|
it('creates a .bak file when backup is requested on existing config', () => {
|
|
38
55
|
const gateway = new ProjectConfigFileSystemGateway();
|
|
39
|
-
gateway.write(rootDir,
|
|
56
|
+
gateway.write(rootDir, BASE_CONFIG);
|
|
40
57
|
const backupPath = gateway.backup(rootDir);
|
|
41
58
|
expect(backupPath).not.toBeNull();
|
|
42
59
|
if (backupPath) {
|
|
43
60
|
expect(existsSync(backupPath)).toBe(true);
|
|
44
|
-
expect(readFileSync(backupPath, 'utf-8')).toContain('"
|
|
61
|
+
expect(readFileSync(backupPath, 'utf-8')).toContain('"reviewSkill"');
|
|
45
62
|
}
|
|
46
63
|
});
|
|
47
64
|
it('returns null from backup when config is absent', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectConfig.fileSystem.gateway.test.js","sourceRoot":"","sources":["../../../../../../../src/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wFAAwF,CAAC;AAExI,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,OAAe,CAAC;IAEpB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,IAAI,8BAA8B,EAAE,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,IAAI,8BAA8B,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"projectConfig.fileSystem.gateway.test.js","sourceRoot":"","sources":["../../../../../../../src/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { getAgentsForPreset, getFullAgentCatalog, } from '../../../../../modules/setup-wizard/services/agentPresetCatalog.js';
|
|
2
|
+
import { getAgentsForPreset, getFullAgentCatalog, buildCustomAgents, } from '../../../../../modules/setup-wizard/services/agentPresetCatalog.js';
|
|
3
|
+
function names(agents) {
|
|
4
|
+
return agents.map((agent) => agent.name);
|
|
5
|
+
}
|
|
3
6
|
describe('agentPresetCatalog', () => {
|
|
4
|
-
it('returns specific agents for the backend preset', () => {
|
|
5
|
-
const agents = getAgentsForPreset('backend');
|
|
6
|
-
expect(agents).toContain('architecture');
|
|
7
|
+
it('returns specific agents for the backend preset, including pipeline stages', () => {
|
|
8
|
+
const agents = names(getAgentsForPreset('backend'));
|
|
9
|
+
expect(agents).toContain('clean-architecture');
|
|
7
10
|
expect(agents).toContain('solid');
|
|
8
11
|
expect(agents).toContain('testing');
|
|
12
|
+
expect(agents).toContain('threads');
|
|
13
|
+
expect(agents).toContain('report');
|
|
9
14
|
});
|
|
10
15
|
it('returns react-best-practices in the frontend preset', () => {
|
|
11
|
-
expect(getAgentsForPreset('frontend')).toContain('react-best-practices');
|
|
16
|
+
expect(names(getAgentsForPreset('frontend'))).toContain('react-best-practices');
|
|
12
17
|
});
|
|
13
18
|
it('returns an empty list for the basic preset', () => {
|
|
14
19
|
expect(getAgentsForPreset('basic')).toEqual([]);
|
|
@@ -16,16 +21,26 @@ describe('agentPresetCatalog', () => {
|
|
|
16
21
|
it('returns an empty list for the custom preset (user picks manually)', () => {
|
|
17
22
|
expect(getAgentsForPreset('custom')).toEqual([]);
|
|
18
23
|
});
|
|
19
|
-
it('returns a deduplicated agent catalog', () => {
|
|
24
|
+
it('returns a deduplicated agent catalog, excluding pipeline-internal stages', () => {
|
|
20
25
|
const catalog = getFullAgentCatalog();
|
|
21
26
|
expect(catalog.length).toBeGreaterThan(0);
|
|
22
|
-
expect(new Set(catalog).size).toBe(catalog.length);
|
|
27
|
+
expect(new Set(names(catalog)).size).toBe(catalog.length);
|
|
28
|
+
expect(names(catalog)).not.toContain('threads');
|
|
29
|
+
expect(names(catalog)).not.toContain('report');
|
|
23
30
|
});
|
|
24
31
|
it('returns a defensive copy that callers can mutate without affecting the source', () => {
|
|
25
32
|
const a = getFullAgentCatalog();
|
|
26
|
-
a.push('mutation');
|
|
33
|
+
a.push({ name: 'mutation', displayName: 'Mutation' });
|
|
27
34
|
const b = getFullAgentCatalog();
|
|
28
|
-
expect(b).not.toContain('mutation');
|
|
35
|
+
expect(names(b)).not.toContain('mutation');
|
|
36
|
+
});
|
|
37
|
+
it('resolves selected catalog names to agent definitions and appends pipeline stages', () => {
|
|
38
|
+
const agents = buildCustomAgents(['solid', 'security']);
|
|
39
|
+
expect(names(agents)).toEqual(expect.arrayContaining(['solid', 'security', 'threads', 'report']));
|
|
40
|
+
});
|
|
41
|
+
it('ignores unknown agent names and de-duplicates the result', () => {
|
|
42
|
+
const agents = buildCustomAgents(['solid', 'solid', 'not-a-real-agent']);
|
|
43
|
+
expect(names(agents)).toEqual(['solid', 'threads', 'report']);
|
|
29
44
|
});
|
|
30
45
|
});
|
|
31
46
|
//# sourceMappingURL=agentPresetCatalog.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentPresetCatalog.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"agentPresetCatalog.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# followup-advanced
|
|
2
|
+
|
|
3
|
+
A follow-up review skill that never trusts a commit message — it always re-reads the actual code before resolving a thread. Matching counterpart to `review-advanced`.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This template provides:
|
|
8
|
+
- The same context-file protocol as `followup-basic`
|
|
9
|
+
- A hard rule: a commit message is a claim, never evidence — every thread is verified against the current code at its file:line
|
|
10
|
+
- New issues found during follow-up cite a real source, same format as `review-advanced`
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
1. Copy this folder to your project:
|
|
15
|
+
```bash
|
|
16
|
+
cp -r templates/en/followup-advanced .claude/skills/my-followup
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
2. Rename the skill in `SKILL.md` frontmatter
|
|
20
|
+
|
|
21
|
+
3. Configure it as the follow-up skill in `.claude/reviews/config.json`:
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"reviewSkill": "my-review",
|
|
25
|
+
"reviewFollowupSkill": "my-followup"
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Why It Never Trusts the Commit Message
|
|
30
|
+
|
|
31
|
+
A commit message ("fix: null check added") is an author's claim, not proof the code changed as described. Messages can be wrong, incomplete, or copy-pasted from an unrelated commit. This template mandates re-reading the current code at the exact file:line of every previous thread before marking it resolved. If the code can't be read for a thread, the thread stays open — resolving on assumption is never allowed.
|
|
32
|
+
|
|
33
|
+
## Matching review-advanced
|
|
34
|
+
|
|
35
|
+
Use this template alongside [review-advanced](../review-advanced/) if you want the initial review and its follow-up to share the same citation requirement for any new issue raised.
|
|
36
|
+
|
|
37
|
+
## Markers Used
|
|
38
|
+
|
|
39
|
+
| Marker | Purpose |
|
|
40
|
+
|--------|---------|
|
|
41
|
+
| `[PHASE:...]` | Track review phase |
|
|
42
|
+
| `[PROGRESS:...:started/completed]` | Track context, verification, scan, threads, report |
|
|
43
|
+
| `[THREAD_REPLY:...]` / `[THREAD_RESOLVE:...]` | Thread management (or via context-file actions) |
|
|
44
|
+
| `[POST_COMMENT:...]` | Post final report |
|
|
45
|
+
| `[REVIEW_STATS:...]` | Report statistics |
|
|
46
|
+
|
|
47
|
+
## See Also
|
|
48
|
+
|
|
49
|
+
- [review-advanced](../review-advanced/) — Matching initial review template with the same citation format
|
|
50
|
+
- [followup-basic](../followup-basic/) — Lighter follow-up template without the code-verification rule
|
|
51
|
+
- [Review Skills Guide](../../../docs/guide/review-skills.md)
|