sinapse-ai 1.20.0 → 1.20.1
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/.sinapse-ai/core/atlas/render-html.js +10 -8
- package/.sinapse-ai/core/registry/service-registry.json +2 -32
- package/.sinapse-ai/data/entity-registry.yaml +440 -195
- package/.sinapse-ai/development/agents/analyst.md +18 -34
- package/.sinapse-ai/development/agents/architect.md +18 -34
- package/.sinapse-ai/development/agents/data-engineer.md +15 -28
- package/.sinapse-ai/development/agents/developer.md +0 -6
- package/.sinapse-ai/development/agents/devops.md +15 -28
- package/.sinapse-ai/development/agents/product-lead.md +18 -34
- package/.sinapse-ai/development/agents/project-lead.md +18 -34
- package/.sinapse-ai/development/agents/quality-gate.md +18 -34
- package/.sinapse-ai/development/agents/squad-creator.md +15 -27
- package/.sinapse-ai/development/agents/ux-design-expert.md +15 -27
- package/.sinapse-ai/development/scripts/populate-entity-registry.js +3 -0
- package/.sinapse-ai/development/tasks/execute-epic-plan.md +0 -4
- package/.sinapse-ai/development/workflows/epic-orchestration.yaml +0 -1
- package/.sinapse-ai/git-hooks/lib/staged-secret-scan.js +3 -1
- package/.sinapse-ai/install-manifest.yaml +40 -72
- package/.sinapse-ai/product/templates/personalized-agent-template.md +3 -5
- package/.sinapse-ai/workflow-intelligence/index.js +3 -21
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +38 -19
- package/bin/commands/install.js +5 -4
- package/bin/lib/command-generator.js +4 -4
- package/bin/lib/fs-utils.js +18 -0
- package/bin/lib/setup-statusline.js +3 -1
- package/bin/modules/chrome-brain-installer.js +5 -3
- package/bin/modules/mcp-installer.js +3 -6
- package/bin/postinstall.js +2 -1
- package/bin/sinapse-init.js +8 -9
- package/bin/sinapse.js +3 -1
- package/bin/utils/staged-secret-scan.js +3 -1
- package/docs/framework/atlas/OPERATING-ATLAS.md +1 -1
- package/docs/framework/atlas/atlas-data.json +22 -22
- package/docs/framework/atlas/atlas.html +12 -10
- package/docs/framework/source-tree.md +1 -2
- package/package.json +1 -1
- package/packages/installer/src/config/configure-environment.js +8 -6
- package/packages/installer/src/installer/brownfield-upgrader.js +5 -3
- package/packages/installer/src/installer/file-hasher.js +29 -21
- package/packages/installer/src/installer/manifest-signature.js +61 -49
- package/packages/installer/src/installer/post-install-validator.js +24 -17
- package/packages/installer/src/merger/parsers/markdown-section-parser.js +3 -2
- package/packages/installer/src/updater/index.js +7 -1
- package/packages/installer/src/utils/atomic-write.js +35 -0
- package/packages/installer/src/wizard/index.js +5 -3
- package/packages/sinapse-install/src/capabilities/chrome-brain.js +5 -3
- package/packages/sinapse-install/src/installer.js +3 -1
- package/packages/sinapse-install/src/utils/atomic-write.js +67 -0
- package/scripts/apply-persona-disclaimer.js +2 -1
- package/scripts/sinapse-patch.js +2 -1
- package/scripts/sync-squad-yaml-components.js +2 -1
- package/scripts/validate-agents-md.js +2 -1
- package/scripts/validate-article-xi.js +10 -8
- package/scripts/validate-no-external-refs.js +14 -8
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +3 -8
- package/squads/claude-code-mastery/agents/config-engineer.md +5 -12
- package/squads/claude-code-mastery/agents/hooks-architect.md +5 -11
- package/squads/claude-code-mastery/agents/mcp-integrator.md +5 -12
- package/squads/claude-code-mastery/agents/project-integrator.md +5 -12
- package/squads/claude-code-mastery/agents/roadmap-sentinel.md +5 -12
- package/squads/claude-code-mastery/agents/skill-craftsman.md +5 -11
- package/squads/claude-code-mastery/agents/swarm-orqx.md +15 -28
- package/.sinapse-ai/core/execution/context-injector.js +0 -539
- package/.sinapse-ai/core/execution/parallel-executor.js +0 -301
- package/.sinapse-ai/core/execution/parallel-monitor.js +0 -432
- package/.sinapse-ai/core/execution/semantic-merge-engine.js +0 -1750
- package/.sinapse-ai/core/execution/wave-executor.js +0 -403
- package/.sinapse-ai/development/tasks/waves.md +0 -205
- package/.sinapse-ai/workflow-intelligence/engine/wave-analyzer.js +0 -692
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
const fs = require('fs');
|
|
35
35
|
const path = require('path');
|
|
36
|
+
const { atomicWriteSync } = require('../.sinapse-ai/core/synapse/utils/atomic-write');
|
|
36
37
|
|
|
37
38
|
const ROOT = path.resolve(__dirname, '..');
|
|
38
39
|
const SQUADS_DIR = path.join(ROOT, 'squads');
|
|
@@ -168,7 +169,7 @@ function processSquad(squadName) {
|
|
|
168
169
|
}
|
|
169
170
|
const block = buildComponentsBlock(agents);
|
|
170
171
|
const newContent = content.trimEnd() + '\n' + block;
|
|
171
|
-
|
|
172
|
+
atomicWriteSync(yamlPath, newContent, 'utf8');
|
|
172
173
|
return { squadName, status: 'updated', changes: agents.length };
|
|
173
174
|
}
|
|
174
175
|
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
const fs = require('fs');
|
|
29
29
|
const path = require('path');
|
|
30
|
+
const { atomicWriteSync } = require('../.sinapse-ai/core/synapse/utils/atomic-write');
|
|
30
31
|
const { execSync } = require('child_process');
|
|
31
32
|
|
|
32
33
|
const ROOT = path.resolve(__dirname, '..');
|
|
@@ -113,7 +114,7 @@ function main() {
|
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
if (FIX) {
|
|
116
|
-
|
|
117
|
+
atomicWriteSync(AGENTS_MD, fixed, 'utf8');
|
|
117
118
|
console.log('AGENTS.md count(s) rewritten to match disk:');
|
|
118
119
|
for (const mm of mismatches) console.log(` - ${mm}`);
|
|
119
120
|
process.exit(0);
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
'use strict';
|
|
32
32
|
|
|
33
33
|
const path = require('path');
|
|
34
|
-
const {
|
|
34
|
+
const { execFileSync } = require('child_process');
|
|
35
35
|
|
|
36
36
|
const ROOT = path.resolve(__dirname, '..');
|
|
37
37
|
|
|
@@ -61,9 +61,11 @@ function getBaseRef(args) {
|
|
|
61
61
|
return 'main';
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
// SECURITY: args go straight to git without a shell — baseRef comes from CLI
|
|
65
|
+
// or GITHUB_BASE_REF and must never be interpolated into a shell string.
|
|
66
|
+
function gitExec(args) {
|
|
65
67
|
try {
|
|
66
|
-
return
|
|
68
|
+
return execFileSync('git', args, { cwd: ROOT, stdio: ['ignore', 'pipe', 'pipe'] }).toString();
|
|
67
69
|
} catch (_err) {
|
|
68
70
|
return null;
|
|
69
71
|
}
|
|
@@ -78,14 +80,14 @@ function gitExec(cmd) {
|
|
|
78
80
|
*/
|
|
79
81
|
function diffAgainstBase(baseRef) {
|
|
80
82
|
// Try fetching first (CI may need it). Silent if it fails.
|
|
81
|
-
gitExec(
|
|
83
|
+
gitExec(['fetch', 'origin', baseRef, '--quiet']);
|
|
82
84
|
|
|
83
85
|
// Use raw diff with --name-status -M (rename detection).
|
|
84
86
|
const tripleDot = `origin/${baseRef}...HEAD`;
|
|
85
|
-
let raw = gitExec(
|
|
87
|
+
let raw = gitExec(['diff', '--name-status', '-M', tripleDot]);
|
|
86
88
|
if (raw === null) {
|
|
87
89
|
// Fallback: local base ref
|
|
88
|
-
raw = gitExec(
|
|
90
|
+
raw = gitExec(['diff', '--name-status', '-M', `${baseRef}...HEAD`]);
|
|
89
91
|
}
|
|
90
92
|
if (raw === null) {
|
|
91
93
|
return { error: `nao foi possivel comparar com ${baseRef}`, deletions: [], renames: [] };
|
|
@@ -110,8 +112,8 @@ function diffAgainstBase(baseRef) {
|
|
|
110
112
|
|
|
111
113
|
function getOverrideText(baseRef) {
|
|
112
114
|
// Aggregate commit messages between base..HEAD + PR body.
|
|
113
|
-
const commitMsgs = gitExec(
|
|
114
|
-
|| gitExec(
|
|
115
|
+
const commitMsgs = gitExec(['log', '--format=%B', `origin/${baseRef}..HEAD`])
|
|
116
|
+
|| gitExec(['log', '--format=%B', `${baseRef}..HEAD`])
|
|
115
117
|
|| '';
|
|
116
118
|
const prBody = process.env.GITHUB_PR_BODY || '';
|
|
117
119
|
const forcedOverride = process.env.ARTICLE_XI_OVERRIDE || '';
|
|
@@ -240,21 +240,27 @@ function isBinaryFile(absPath) {
|
|
|
240
240
|
function scanFile(rootDir, relPath) {
|
|
241
241
|
if (isAllowListed(relPath)) return [];
|
|
242
242
|
const absPath = path.join(rootDir, relPath);
|
|
243
|
-
|
|
243
|
+
|
|
244
|
+
// Size cap and read share one fd, so the scanned bytes are the sized bytes.
|
|
245
|
+
let content;
|
|
246
|
+
let fd;
|
|
244
247
|
try {
|
|
245
|
-
|
|
248
|
+
fd = fs.openSync(absPath, 'r');
|
|
246
249
|
} catch {
|
|
247
250
|
return [];
|
|
248
251
|
}
|
|
249
|
-
if (!stat.isFile()) return [];
|
|
250
|
-
if (stat.size > MAX_SCAN_BYTES) return [];
|
|
251
|
-
if (isBinaryFile(absPath)) return [];
|
|
252
|
-
|
|
253
|
-
let content;
|
|
254
252
|
try {
|
|
255
|
-
|
|
253
|
+
const stat = fs.fstatSync(fd);
|
|
254
|
+
if (!stat.isFile()) return [];
|
|
255
|
+
if (stat.size > MAX_SCAN_BYTES) return [];
|
|
256
|
+
if (isBinaryFile(absPath)) return [];
|
|
257
|
+
const buf = Buffer.alloc(stat.size);
|
|
258
|
+
fs.readSync(fd, buf, 0, stat.size, 0);
|
|
259
|
+
content = buf.toString('utf8');
|
|
256
260
|
} catch {
|
|
257
261
|
return [];
|
|
262
|
+
} finally {
|
|
263
|
+
fs.closeSync(fd);
|
|
258
264
|
}
|
|
259
265
|
|
|
260
266
|
const lines = content.split(/\r?\n/);
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# claude-mastery-chief
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -14,7 +12,7 @@ IDE-FILE-RESOLUTION:
|
|
|
14
12
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
15
13
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly. Route to specialist agents when domain-specific expertise is needed. ALWAYS ask for clarification if no clear match.
|
|
16
14
|
activation-instructions:
|
|
17
|
-
- STEP 1: Read
|
|
15
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
18
16
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
19
17
|
- STEP 3: |
|
|
20
18
|
Display greeting using native context (zero JS execution):
|
|
@@ -32,10 +30,7 @@ activation-instructions:
|
|
|
32
30
|
7. Show: "{persona_profile.communication.signature_closing}"
|
|
33
31
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
34
32
|
- STEP 5: HALT and await user input
|
|
35
|
-
-
|
|
36
|
-
- DO NOT: Load any other agent files during activation
|
|
37
|
-
- ONLY load dependency files when user selects them for execution
|
|
38
|
-
- STAY IN CHARACTER!
|
|
33
|
+
- Do not improvise beyond what is specified. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
39
34
|
- CRITICAL: On activation, ONLY greet user and then HALT
|
|
40
35
|
|
|
41
36
|
agent:
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# config-engineer
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,7 +13,7 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "audit my settings"->*audit-settings, "set up permissions"->*permission-strategy, "configure sandbox"->*sandbox-setup), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
@@ -40,15 +38,10 @@ activation-instructions:
|
|
|
40
38
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js config-engineer
|
|
41
39
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
42
40
|
- STEP 5: HALT and await user input
|
|
43
|
-
-
|
|
44
|
-
- DO NOT: Load any other agent files during activation
|
|
45
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
41
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
46
42
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
47
|
-
- CRITICAL
|
|
48
|
-
-
|
|
49
|
-
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
|
50
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
51
|
-
- STAY IN CHARACTER!
|
|
43
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
44
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
52
45
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
53
46
|
agent:
|
|
54
47
|
name: Sigil
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# hooks-architect
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,7 +13,7 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "create a hook"->"*create-hook", "audit my hooks"->"*audit-hooks", "show hook patterns"->"*hook-patterns"), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
@@ -40,15 +38,11 @@ activation-instructions:
|
|
|
40
38
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js hooks-architect
|
|
41
39
|
- STEP 4: Greeting already rendered inline in STEP 3 -- proceed to STEP 5
|
|
42
40
|
- STEP 5: HALT and await user input
|
|
43
|
-
-
|
|
44
|
-
- DO NOT: Load any other agent files during activation
|
|
45
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
41
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
46
42
|
- EXCEPTION: STEP 5.5 may read `.sinapse/handoffs/` and `.sinapse-ai/data/workflow-chains.yaml` during activation
|
|
47
43
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
48
|
-
- CRITICAL
|
|
49
|
-
-
|
|
50
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list
|
|
51
|
-
- STAY IN CHARACTER!
|
|
44
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
45
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
52
46
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
53
47
|
agent:
|
|
54
48
|
name: Latch
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# mcp-integrator
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,7 +13,7 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "add a server"->*add-server, "what mcps do I have"->*audit-mcp, "find tools"->*discover-servers), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
@@ -40,15 +38,10 @@ activation-instructions:
|
|
|
40
38
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js mcp-integrator
|
|
41
39
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
42
40
|
- STEP 5: HALT and await user input
|
|
43
|
-
-
|
|
44
|
-
- DO NOT: Load any other agent files during activation
|
|
45
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
41
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
46
42
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
47
|
-
- CRITICAL
|
|
48
|
-
-
|
|
49
|
-
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
|
50
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
51
|
-
- STAY IN CHARACTER!
|
|
43
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
44
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
52
45
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
53
46
|
agent:
|
|
54
47
|
name: Piper
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# project-integrator
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,7 +13,7 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "setup my project"->*integrate-project, "check my setup"->*audit-integration, "add CI"->*ci-cd-setup, "brownfield"->*brownfield-setup), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
@@ -40,15 +38,10 @@ activation-instructions:
|
|
|
40
38
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js project-integrator
|
|
41
39
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
42
40
|
- STEP 5: HALT and await user input
|
|
43
|
-
-
|
|
44
|
-
- DO NOT: Load any other agent files during activation
|
|
45
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
41
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
46
42
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
47
|
-
- CRITICAL
|
|
48
|
-
-
|
|
49
|
-
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
|
50
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
51
|
-
- STAY IN CHARACTER!
|
|
43
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
44
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
52
45
|
- When setting up projects, always start by understanding the complete picture -- project type, team size, existing tooling, repository structure, and development workflow -- before making any changes.
|
|
53
46
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
54
47
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# roadmap-sentinel
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,7 +13,7 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "what's new in claude code"->*check-updates, "should we adopt agent teams"->*feature-radar, "help me upgrade"->*migration-guide, "plan this feature"->*plan-first), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
@@ -40,15 +38,10 @@ activation-instructions:
|
|
|
40
38
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js roadmap-sentinel
|
|
41
39
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
42
40
|
- STEP 5: HALT and await user input
|
|
43
|
-
-
|
|
44
|
-
- DO NOT: Load any other agent files during activation
|
|
45
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
41
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
46
42
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
47
|
-
- CRITICAL
|
|
48
|
-
-
|
|
49
|
-
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
|
50
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
51
|
-
- STAY IN CHARACTER!
|
|
43
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
44
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
52
45
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
53
46
|
agent:
|
|
54
47
|
name: Vigil
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# skill-craftsman
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,7 +13,7 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "make a skill"->*create-skill, "audit my skills"->*audit-skills, "build a plugin"->*create-plugin, "optimize my context"->*context-strategy), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
@@ -40,15 +38,11 @@ activation-instructions:
|
|
|
40
38
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js skill-craftsman
|
|
41
39
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
42
40
|
- STEP 5: HALT and await user input
|
|
43
|
-
-
|
|
44
|
-
- DO NOT: Load any other agent files during activation
|
|
45
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
41
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
46
42
|
- EXCEPTION: STEP 5.5 may read `.sinapse/handoffs/` and `.sinapse-ai/data/workflow-chains.yaml` during activation
|
|
47
43
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
48
|
-
- CRITICAL
|
|
49
|
-
-
|
|
50
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list
|
|
51
|
-
- STAY IN CHARACTER!
|
|
44
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
45
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
52
46
|
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
53
47
|
agent:
|
|
54
48
|
name: Anvil
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# swarm-orqx
|
|
2
2
|
|
|
3
|
-
ACTIVATION-NOTICE: This file
|
|
4
|
-
|
|
5
|
-
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
|
3
|
+
ACTIVATION-NOTICE: This file is your complete agent definition — read it in full before acting. No external agent files are needed.
|
|
6
4
|
|
|
7
5
|
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
|
8
6
|
|
|
@@ -15,27 +13,21 @@ IDE-FILE-RESOLUTION:
|
|
|
15
13
|
- IMPORTANT: Only load these files when user requests specific command execution
|
|
16
14
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "spawn a team"→*create-team, "run parallel"→*parallel-tasks, "set up agents"→*create-agent), ALWAYS ask for clarification if no clear match.
|
|
17
15
|
activation-instructions:
|
|
18
|
-
- STEP 1: Read
|
|
16
|
+
- STEP 1: Read this entire file - it contains your complete persona definition
|
|
19
17
|
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
|
20
18
|
- STEP 3: |
|
|
21
19
|
Display greeting using native context (zero JS execution):
|
|
22
|
-
0. GREENFIELD GUARD:
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
1. Show: "{icon} {persona_profile.communication.greeting_levels.archetypal}" +
|
|
28
|
-
2. Show: "**Role:** {persona.role}"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- Branch name, modified file count, current story reference, last commit message
|
|
32
|
-
4. Show: "**Available Commands:**" — list commands from the 'commands' section above that have 'key' in their visibility array
|
|
20
|
+
0. GREENFIELD GUARD: if gitStatus reports no git repository (or git commands fail as "not a git repository"):
|
|
21
|
+
- skip the "Branch:" append and the git-status narrative
|
|
22
|
+
- show "📊 **Project Status:** Greenfield project — no git repository detected" instead
|
|
23
|
+
- after the commands list, show "💡 **Recommended:** Run `*environment-bootstrap` to initialize git, GitHub remote, and CI/CD"
|
|
24
|
+
- do NOT run git commands during activation — they will fail
|
|
25
|
+
1. Show: "{icon} {persona_profile.communication.greeting_levels.archetypal}" + current permission badge (e.g., [⚠️ Ask], [🟢 Auto], [🔍 Explore])
|
|
26
|
+
2. Show: "**Role:** {persona.role}" — append active story (docs/stories/) and branch (if not main/master) when detected
|
|
27
|
+
3. Show: "📊 **Project Status:**" as a natural-language narrative from gitStatus (branch, modified files, active story, last commit)
|
|
28
|
+
4. Show: "**Available Commands:**" — commands from the 'commands' section whose visibility includes 'key'
|
|
33
29
|
5. Show: "Type `*guide` for comprehensive usage instructions."
|
|
34
|
-
5.5. Check `.sinapse/handoffs/` for most recent unconsumed handoff artifact (
|
|
35
|
-
If found: read `from_agent` and `last_command` from artifact, look up position in `.sinapse-ai/data/workflow-chains.yaml` matching from_agent + last_command, and show: "💡 **Suggested:** `*{next_command} {args}`"
|
|
36
|
-
If chain has multiple valid next steps, also show: "Also: `*{alt1}`, `*{alt2}`"
|
|
37
|
-
If no artifact or no match found: skip this step silently.
|
|
38
|
-
After STEP 4 displays successfully, mark artifact as consumed: true.
|
|
30
|
+
5.5. Check `.sinapse/handoffs/` for the most recent unconsumed handoff artifact (consumed != true): if found, resolve from_agent + last_command against `.sinapse-ai/data/workflow-chains.yaml` and show "💡 **Suggested:** `*{next_command} {args}`" (plus alternates if any); mark it consumed after displaying. Skip silently if none found.
|
|
39
31
|
6. Show: "{persona_profile.communication.signature_closing}"
|
|
40
32
|
# FALLBACK: If native greeting fails, run: node .sinapse-ai/development/scripts/unified-activation-pipeline.js swarm-orqx
|
|
41
33
|
- STEP 4: Display the greeting assembled in STEP 3
|
|
@@ -43,15 +35,10 @@ activation-instructions:
|
|
|
43
35
|
Briefing-on-activation check (this agent is an ORCHESTRATOR):
|
|
44
36
|
- If user provided briefing/context with the activation → proceed IMMEDIATELY to orchestration flow: absorb → diagnose → plan with phases + agents + handoffs → execute (YOLO). NEVER ask "do you want me to plan?".
|
|
45
37
|
- If bare activation only → await briefing. On receipt, apply same flow automatically.
|
|
46
|
-
-
|
|
47
|
-
- DO NOT: Load any other agent files during activation
|
|
48
|
-
- ONLY load dependency files when user selects them for execution via command or request of a task
|
|
38
|
+
- Do not improvise beyond what greeting_levels and Quick Commands specify. Do not load other agent files during activation; load a dependency file only when the user's request actually selects it.
|
|
49
39
|
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
|
50
|
-
- CRITICAL
|
|
51
|
-
-
|
|
52
|
-
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
|
|
53
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
54
|
-
- STAY IN CHARACTER!
|
|
40
|
+
- CRITICAL: task/checklist instructions from dependencies are executable workflows, not reference material — follow them exactly as written, including elicit=true steps (user interaction is mandatory there, never skipped for efficiency)
|
|
41
|
+
- When listing tasks/templates or presenting options, always show a numbered list so the user can pick by number
|
|
55
42
|
- CRITICAL: On activation, execute STEPS 3-5 above (greeting, introduction, project status, quick commands), then HALT to await user requested assistance or given commands. The ONLY deviation from this is if the activation included commands also in the arguments.
|
|
56
43
|
|
|
57
44
|
agent:
|