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.
Files changed (70) hide show
  1. package/.sinapse-ai/core/atlas/render-html.js +10 -8
  2. package/.sinapse-ai/core/registry/service-registry.json +2 -32
  3. package/.sinapse-ai/data/entity-registry.yaml +440 -195
  4. package/.sinapse-ai/development/agents/analyst.md +18 -34
  5. package/.sinapse-ai/development/agents/architect.md +18 -34
  6. package/.sinapse-ai/development/agents/data-engineer.md +15 -28
  7. package/.sinapse-ai/development/agents/developer.md +0 -6
  8. package/.sinapse-ai/development/agents/devops.md +15 -28
  9. package/.sinapse-ai/development/agents/product-lead.md +18 -34
  10. package/.sinapse-ai/development/agents/project-lead.md +18 -34
  11. package/.sinapse-ai/development/agents/quality-gate.md +18 -34
  12. package/.sinapse-ai/development/agents/squad-creator.md +15 -27
  13. package/.sinapse-ai/development/agents/ux-design-expert.md +15 -27
  14. package/.sinapse-ai/development/scripts/populate-entity-registry.js +3 -0
  15. package/.sinapse-ai/development/tasks/execute-epic-plan.md +0 -4
  16. package/.sinapse-ai/development/workflows/epic-orchestration.yaml +0 -1
  17. package/.sinapse-ai/git-hooks/lib/staged-secret-scan.js +3 -1
  18. package/.sinapse-ai/install-manifest.yaml +40 -72
  19. package/.sinapse-ai/product/templates/personalized-agent-template.md +3 -5
  20. package/.sinapse-ai/workflow-intelligence/index.js +3 -21
  21. package/AGENTS.md +2 -2
  22. package/CHANGELOG.md +38 -19
  23. package/bin/commands/install.js +5 -4
  24. package/bin/lib/command-generator.js +4 -4
  25. package/bin/lib/fs-utils.js +18 -0
  26. package/bin/lib/setup-statusline.js +3 -1
  27. package/bin/modules/chrome-brain-installer.js +5 -3
  28. package/bin/modules/mcp-installer.js +3 -6
  29. package/bin/postinstall.js +2 -1
  30. package/bin/sinapse-init.js +8 -9
  31. package/bin/sinapse.js +3 -1
  32. package/bin/utils/staged-secret-scan.js +3 -1
  33. package/docs/framework/atlas/OPERATING-ATLAS.md +1 -1
  34. package/docs/framework/atlas/atlas-data.json +22 -22
  35. package/docs/framework/atlas/atlas.html +12 -10
  36. package/docs/framework/source-tree.md +1 -2
  37. package/package.json +1 -1
  38. package/packages/installer/src/config/configure-environment.js +8 -6
  39. package/packages/installer/src/installer/brownfield-upgrader.js +5 -3
  40. package/packages/installer/src/installer/file-hasher.js +29 -21
  41. package/packages/installer/src/installer/manifest-signature.js +61 -49
  42. package/packages/installer/src/installer/post-install-validator.js +24 -17
  43. package/packages/installer/src/merger/parsers/markdown-section-parser.js +3 -2
  44. package/packages/installer/src/updater/index.js +7 -1
  45. package/packages/installer/src/utils/atomic-write.js +35 -0
  46. package/packages/installer/src/wizard/index.js +5 -3
  47. package/packages/sinapse-install/src/capabilities/chrome-brain.js +5 -3
  48. package/packages/sinapse-install/src/installer.js +3 -1
  49. package/packages/sinapse-install/src/utils/atomic-write.js +67 -0
  50. package/scripts/apply-persona-disclaimer.js +2 -1
  51. package/scripts/sinapse-patch.js +2 -1
  52. package/scripts/sync-squad-yaml-components.js +2 -1
  53. package/scripts/validate-agents-md.js +2 -1
  54. package/scripts/validate-article-xi.js +10 -8
  55. package/scripts/validate-no-external-refs.js +14 -8
  56. package/squads/claude-code-mastery/agents/claude-mastery-chief.md +3 -8
  57. package/squads/claude-code-mastery/agents/config-engineer.md +5 -12
  58. package/squads/claude-code-mastery/agents/hooks-architect.md +5 -11
  59. package/squads/claude-code-mastery/agents/mcp-integrator.md +5 -12
  60. package/squads/claude-code-mastery/agents/project-integrator.md +5 -12
  61. package/squads/claude-code-mastery/agents/roadmap-sentinel.md +5 -12
  62. package/squads/claude-code-mastery/agents/skill-craftsman.md +5 -11
  63. package/squads/claude-code-mastery/agents/swarm-orqx.md +15 -28
  64. package/.sinapse-ai/core/execution/context-injector.js +0 -539
  65. package/.sinapse-ai/core/execution/parallel-executor.js +0 -301
  66. package/.sinapse-ai/core/execution/parallel-monitor.js +0 -432
  67. package/.sinapse-ai/core/execution/semantic-merge-engine.js +0 -1750
  68. package/.sinapse-ai/core/execution/wave-executor.js +0 -403
  69. package/.sinapse-ai/development/tasks/waves.md +0 -205
  70. 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
- fs.writeFileSync(yamlPath, newContent, 'utf8');
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
- fs.writeFileSync(AGENTS_MD, fixed, 'utf8');
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 { execSync } = require('child_process');
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
- function gitExec(cmd) {
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 execSync(cmd, { cwd: ROOT, stdio: ['ignore', 'pipe', 'pipe'] }).toString();
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(`git fetch origin ${baseRef} --quiet`);
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(`git diff --name-status -M ${tripleDot}`);
87
+ let raw = gitExec(['diff', '--name-status', '-M', tripleDot]);
86
88
  if (raw === null) {
87
89
  // Fallback: local base ref
88
- raw = gitExec(`git diff --name-status -M ${baseRef}...HEAD`);
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(`git log --format=%B origin/${baseRef}..HEAD`)
114
- || gitExec(`git log --format=%B ${baseRef}..HEAD`)
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
- let stat;
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
- stat = fs.statSync(absPath);
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
- content = fs.readFileSync(absPath, 'utf8');
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
48
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
49
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
48
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
48
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
48
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
49
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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 contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
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 THIS ENTIRE FILE - it contains your complete persona definition
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: If gitStatus in system prompt says "Is a git repository: false" OR git commands return "not a git repository":
23
- - For substep 2: skip the "Branch:" append
24
- - For substep 3: show "📊 **Project Status:** Greenfield project — no git repository detected" instead of git narrative
25
- - After substep 6: show "💡 **Recommended:** Run `*environment-bootstrap` to initialize git, GitHub remote, and CI/CD"
26
- - Do NOT run any git commands during activation — they will fail and produce errors
27
- 1. Show: "{icon} {persona_profile.communication.greeting_levels.archetypal}" + permission badge from current permission mode (e.g., [⚠️ Ask], [🟢 Auto], [🔍 Explore])
28
- 2. Show: "**Role:** {persona.role}"
29
- - Append: "Story: {active story from docs/stories/}" if detected + "Branch: `{branch from gitStatus}`" if not main/master
30
- 3. Show: "📊 **Project Status:**" as natural language narrative from gitStatus in system prompt:
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 (YAML with consumed != true).
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
- - IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
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 WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
51
- - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
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: