sinapse-ai 7.7.2 → 7.7.4
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/.claude/hooks/enforce-git-push-authority.sh +34 -2
- package/.claude/rules/safe-collaboration.md +12 -1
- package/.codex/catalog.json +157 -0
- package/.codex/command-registry.json +441 -0
- package/.codex/scripts/generate-codex-greeting.js +101 -0
- package/.codex/scripts/resolve-codex-command.js +147 -0
- package/.codex/skills/sinapse-analyst/SKILL.md +5 -4
- package/.codex/skills/sinapse-architect/SKILL.md +5 -4
- package/.codex/skills/sinapse-data-engineer/SKILL.md +5 -4
- package/.codex/skills/sinapse-dev/SKILL.md +5 -4
- package/.codex/skills/sinapse-devops/SKILL.md +5 -4
- package/.codex/skills/sinapse-orqx/SKILL.md +10 -15
- package/.codex/skills/sinapse-pm/SKILL.md +5 -4
- package/.codex/skills/sinapse-po/SKILL.md +4 -3
- package/.codex/skills/sinapse-qa/SKILL.md +12 -11
- package/.codex/skills/sinapse-sm/SKILL.md +5 -4
- package/.codex/skills/sinapse-squad-creator/SKILL.md +5 -4
- package/.codex/skills/sinapse-ux-design-expert/SKILL.md +5 -4
- package/.codex/tasks/convene-sinapse-council.md +28 -0
- package/.codex/tasks/create-sinapse-strategic-brief.md +29 -0
- package/.codex/tasks/onboard-sinapse-codex.md +34 -0
- package/.codex/tasks/plan-sinapse-initiative.md +33 -0
- package/.codex/tasks/resolve-sinapse-conflict.md +28 -0
- package/.codex/tasks/route-sinapse-request.md +33 -0
- package/.codex/tasks/status-sinapse-capabilities.md +28 -0
- package/.sinapse-ai/core-config.yaml +1 -1
- package/.sinapse-ai/data/entity-registry.yaml +903 -805
- package/.sinapse-ai/data/registry-update-log.jsonl +10 -0
- package/.sinapse-ai/infrastructure/scripts/codex-parity/catalog.js +123 -0
- package/.sinapse-ai/infrastructure/scripts/codex-skills-sync/index.js +60 -11
- package/.sinapse-ai/infrastructure/scripts/codex-skills-sync/validate.js +44 -16
- package/.sinapse-ai/infrastructure/scripts/sync-codex-local-first.js +156 -0
- package/.sinapse-ai/infrastructure/scripts/validate-codex-command-registry.js +264 -0
- package/.sinapse-ai/infrastructure/scripts/validate-codex-integration.js +15 -6
- package/.sinapse-ai/infrastructure/scripts/validate-codex-sync.js +156 -0
- package/.sinapse-ai/infrastructure/scripts/validate-parity.js +3 -1
- package/.sinapse-ai/infrastructure/scripts/validate-paths.js +8 -10
- package/.sinapse-ai/infrastructure/templates/safe-collab/README.md +52 -17
- package/.sinapse-ai/infrastructure/templates/safe-collab/apply.sh +85 -0
- package/.sinapse-ai/infrastructure/templates/safe-collab/safe-collaboration-rule.md +11 -0
- package/.sinapse-ai/install-manifest.yaml +41 -21
- package/.sinapse-ai/project-config.yaml +1 -1
- package/bin/utils/collab-start.js +267 -0
- package/bin/utils/git-branch-guard.js +76 -0
- package/bin/utils/pre-push-safety.js +110 -0
- package/bin/utils/staged-secret-scan.js +108 -0
- package/docs/ORQX-PLAN.md +3 -2
- package/docs/codex-parity-program.md +670 -0
- package/docs/codex-total-parity-orchestration-plan.md +301 -0
- package/docs/codex-workflow-task-parity.md +87 -0
- package/docs/collaboration-autonomy-plan.md +243 -0
- package/docs/guides/framework-contributor-mode.md +310 -0
- package/docs/guides/parallel-collaboration-source-of-truth.md +481 -0
- package/package.json +11 -3
- package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +2 -2
- package/scripts/ensure-manifest.js +9 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
const { spawnSync } = require('child_process');
|
|
7
|
+
|
|
8
|
+
const PROJECT_ROOT = path.resolve(__dirname, '..', '..');
|
|
9
|
+
const SHARED_GREETING_SCRIPT = path.join(
|
|
10
|
+
PROJECT_ROOT,
|
|
11
|
+
'.sinapse-ai',
|
|
12
|
+
'development',
|
|
13
|
+
'scripts',
|
|
14
|
+
'generate-greeting.js',
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
function generateFallbackGreeting(agentId) {
|
|
18
|
+
return '## Activation\n\n' +
|
|
19
|
+
`\`${agentId}\` ready\n\n` +
|
|
20
|
+
'Type `*help` to see available commands.';
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function isGenericSharedFallback(output, agentId) {
|
|
24
|
+
const normalized = String(output || '').trim();
|
|
25
|
+
if (!normalized) return true;
|
|
26
|
+
|
|
27
|
+
const genericPatterns = [
|
|
28
|
+
`\u2705 ${agentId} Agent ready\n\nType \`*help\` to see available commands.`,
|
|
29
|
+
`\u2705 Agent ${agentId} loaded`,
|
|
30
|
+
`\ud83d\udc51 ${agentId} Agent ready`,
|
|
31
|
+
];
|
|
32
|
+
const looksLikeGenericActivation = genericPatterns.some((pattern) => normalized.includes(pattern));
|
|
33
|
+
const hasHelpPrompt = normalized.includes('Type `*help` to see available commands.');
|
|
34
|
+
const hasRichCodexGreeting = normalized.includes('AI Agent Squads for Claude Code');
|
|
35
|
+
|
|
36
|
+
return (looksLikeGenericActivation && hasHelpPrompt && !hasRichCodexGreeting);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function trySharedGreeting(agentId) {
|
|
40
|
+
if (!fs.existsSync(SHARED_GREETING_SCRIPT)) return '';
|
|
41
|
+
|
|
42
|
+
const result = spawnSync(process.execPath, [SHARED_GREETING_SCRIPT, agentId], {
|
|
43
|
+
cwd: PROJECT_ROOT,
|
|
44
|
+
encoding: 'utf8',
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const output = String(result.stdout || '').trim();
|
|
48
|
+
if (!output || isGenericSharedFallback(output, agentId)) {
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return output;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function extractStaticGreeting(agentId) {
|
|
56
|
+
const agentPath = path.join(PROJECT_ROOT, '.codex', 'agents', `${agentId}.md`);
|
|
57
|
+
if (!fs.existsSync(agentPath)) return '';
|
|
58
|
+
|
|
59
|
+
const content = fs.readFileSync(agentPath, 'utf8');
|
|
60
|
+
const firstBlock = content.match(
|
|
61
|
+
/When this agent is activated, you MUST display this greeting EXACTLY as your first output[\s\S]*?```([\s\S]*?)```/i,
|
|
62
|
+
);
|
|
63
|
+
const secondBlock = content.match(/Then display:\s*```([\s\S]*?)```/i);
|
|
64
|
+
|
|
65
|
+
const parts = [];
|
|
66
|
+
if (firstBlock && firstBlock[1]) {
|
|
67
|
+
parts.push(firstBlock[1].trim());
|
|
68
|
+
}
|
|
69
|
+
if (secondBlock && secondBlock[1]) {
|
|
70
|
+
parts.push(secondBlock[1].trim());
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return parts.join('\n\n').trim();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function generateCodexGreeting(agentId) {
|
|
77
|
+
return trySharedGreeting(agentId) ||
|
|
78
|
+
extractStaticGreeting(agentId) ||
|
|
79
|
+
generateFallbackGreeting(agentId);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function main() {
|
|
83
|
+
const agentId = process.argv[2];
|
|
84
|
+
if (!agentId) {
|
|
85
|
+
console.error('Usage: node .codex/scripts/generate-codex-greeting.js <agent-id>');
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
console.log(generateCodexGreeting(agentId));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (require.main === module) {
|
|
93
|
+
main();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
module.exports = {
|
|
97
|
+
generateCodexGreeting,
|
|
98
|
+
extractStaticGreeting,
|
|
99
|
+
trySharedGreeting,
|
|
100
|
+
isGenericSharedFallback,
|
|
101
|
+
};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
|
|
7
|
+
const PROJECT_ROOT = path.resolve(__dirname, '..', '..');
|
|
8
|
+
const REGISTRY_PATH = path.join(PROJECT_ROOT, '.codex', 'command-registry.json');
|
|
9
|
+
|
|
10
|
+
function loadCommandRegistry(projectRoot = PROJECT_ROOT) {
|
|
11
|
+
const registryPath = path.join(projectRoot, '.codex', 'command-registry.json');
|
|
12
|
+
const raw = fs.readFileSync(registryPath, 'utf8');
|
|
13
|
+
return JSON.parse(raw);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function normalizeAgentInput(value) {
|
|
17
|
+
return String(value || '').trim().replace(/^@/, '').toLowerCase();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function normalizeCommandInput(value) {
|
|
21
|
+
return String(value || '').trim().replace(/^\*/, '').toLowerCase();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function resolveAgent(registry, agentInput) {
|
|
25
|
+
const normalized = normalizeAgentInput(agentInput);
|
|
26
|
+
const matches = [];
|
|
27
|
+
|
|
28
|
+
for (const [agentId, agentSpec] of Object.entries(registry.agents || {})) {
|
|
29
|
+
const aliases = [agentId, ...(agentSpec.aliases || [])]
|
|
30
|
+
.map((alias) => normalizeAgentInput(alias));
|
|
31
|
+
if (aliases.includes(normalized)) {
|
|
32
|
+
matches.push({ agentId, agentSpec });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (matches.length > 1) {
|
|
37
|
+
throw new Error(`Ambiguous Codex agent "${agentInput}"`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return matches[0] || null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function resolveCommand(agentSpec, commandInput) {
|
|
44
|
+
const normalized = normalizeCommandInput(commandInput);
|
|
45
|
+
const matches = [];
|
|
46
|
+
|
|
47
|
+
for (const [commandId, commandSpec] of Object.entries(agentSpec.commands || {})) {
|
|
48
|
+
const aliases = [commandId, ...(commandSpec.aliases || [])]
|
|
49
|
+
.map((alias) => normalizeCommandInput(alias));
|
|
50
|
+
if (aliases.includes(normalized)) {
|
|
51
|
+
matches.push({ commandId, commandSpec });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (matches.length > 1) {
|
|
56
|
+
throw new Error(`Ambiguous Codex command "${commandInput}"`);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return matches[0] || null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function resolveCodexCommand(agentInput, commandInput, projectRoot = PROJECT_ROOT) {
|
|
63
|
+
const registry = loadCommandRegistry(projectRoot);
|
|
64
|
+
const agent = resolveAgent(registry, agentInput);
|
|
65
|
+
if (!agent) {
|
|
66
|
+
throw new Error(`Unknown Codex agent "${agentInput}"`);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const command = resolveCommand(agent.agentSpec, commandInput);
|
|
70
|
+
if (!command) {
|
|
71
|
+
throw new Error(`Unknown Codex command "${commandInput}" for agent "${agent.agentId}"`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return {
|
|
75
|
+
agentId: agent.agentId,
|
|
76
|
+
skillId: agent.agentSpec.skillId,
|
|
77
|
+
commandId: command.commandId,
|
|
78
|
+
kind: command.commandSpec.kind,
|
|
79
|
+
target: command.commandSpec.target,
|
|
80
|
+
resources: command.commandSpec.resources || [],
|
|
81
|
+
sourceOfTruth: agent.agentSpec.sourceOfTruth,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function parseArgs(argv = process.argv.slice(2)) {
|
|
86
|
+
const args = argv.filter((arg) => !arg.startsWith('--'));
|
|
87
|
+
const flags = new Set(argv.filter((arg) => arg.startsWith('--')));
|
|
88
|
+
return {
|
|
89
|
+
agent: args[0],
|
|
90
|
+
command: args[1],
|
|
91
|
+
json: flags.has('--json'),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function formatHumanResult(result) {
|
|
96
|
+
const lines = [
|
|
97
|
+
`Agent: ${result.agentId}`,
|
|
98
|
+
`Skill: ${result.skillId}`,
|
|
99
|
+
`Command: ${result.commandId}`,
|
|
100
|
+
`Kind: ${result.kind}`,
|
|
101
|
+
`Target: ${result.target}`,
|
|
102
|
+
`Source: ${result.sourceOfTruth}`,
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
if (result.resources.length > 0) {
|
|
106
|
+
lines.push('Resources:');
|
|
107
|
+
lines.push(...result.resources.map((resource) => `- ${resource}`));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return lines.join('\n');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function main() {
|
|
114
|
+
const args = parseArgs();
|
|
115
|
+
if (!args.agent || !args.command) {
|
|
116
|
+
console.error('Usage: node .codex/scripts/resolve-codex-command.js <agent> <command> [--json]');
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
try {
|
|
121
|
+
const result = resolveCodexCommand(args.agent, args.command);
|
|
122
|
+
if (args.json) {
|
|
123
|
+
console.log(JSON.stringify(result, null, 2));
|
|
124
|
+
} else {
|
|
125
|
+
console.log(formatHumanResult(result));
|
|
126
|
+
}
|
|
127
|
+
} catch (error) {
|
|
128
|
+
console.error(error.message);
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (require.main === module) {
|
|
134
|
+
main();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
module.exports = {
|
|
138
|
+
REGISTRY_PATH,
|
|
139
|
+
loadCommandRegistry,
|
|
140
|
+
normalizeAgentInput,
|
|
141
|
+
normalizeCommandInput,
|
|
142
|
+
resolveAgent,
|
|
143
|
+
resolveCommand,
|
|
144
|
+
resolveCodexCommand,
|
|
145
|
+
parseArgs,
|
|
146
|
+
formatHumanResult,
|
|
147
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-analyst
|
|
3
|
-
description: Business Analyst (
|
|
3
|
+
description: Business Analyst (Scope). Use for market research, competitive analysis, user research, brainstorming session facilitation, structured ideation workshops, feasibility studies, i...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Business Analyst Activator
|
|
@@ -10,9 +10,10 @@ Use for market research, competitive analysis, user research, brainstorming sess
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/analyst.md` as source of truth (fallback: `.codex/agents/analyst.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js analyst` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-analyst <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-architect
|
|
3
|
-
description: Architect (
|
|
3
|
+
description: Architect (Stratum). Use for system architecture (fullstack, backend, frontend, infrastructure), technology stack selection (technical evaluation), API design (REST/GraphQL/tRPC...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Architect Activator
|
|
@@ -10,9 +10,10 @@ Use for system architecture (fullstack, backend, frontend, infrastructure), tech
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/architect.md` as source of truth (fallback: `.codex/agents/architect.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js architect` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-architect <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-data-engineer
|
|
3
|
-
description: Database Architect & Operations Engineer (
|
|
3
|
+
description: Database Architect & Operations Engineer (Tensor). Use for database design, schema architecture, Supabase configuration, RLS policies, migrations, query optimization, data model...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Database Architect & Operations Engineer Activator
|
|
@@ -10,9 +10,10 @@ Use for database design, schema architecture, Supabase configuration, RLS polici
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/data-engineer.md` as source of truth (fallback: `.codex/agents/data-engineer.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js data-engineer` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-data-engineer <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-dev
|
|
3
|
-
description: Full Stack Developer (
|
|
3
|
+
description: Full Stack Developer (Pixel). Use for code implementation, debugging, refactoring, and development best practices
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Full Stack Developer Activator
|
|
@@ -10,9 +10,10 @@ Use for code implementation, debugging, refactoring, and development best practi
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/developer.md` as source of truth (fallback: `.codex/agents/developer.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js dev` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-dev <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-devops
|
|
3
|
-
description: GitHub Repository Manager & DevOps Specialist (
|
|
3
|
+
description: GitHub Repository Manager & DevOps Specialist (Pipeline). Use for repository operations, version management, CI/CD, quality gates, and GitHub push operations. ONLY agent authori...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE GitHub Repository Manager & DevOps Specialist Activator
|
|
@@ -10,9 +10,10 @@ Use for repository operations, version management, CI/CD, quality gates, and Git
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/devops.md` as source of truth (fallback: `.codex/agents/devops.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js devops` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-devops <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-orqx
|
|
3
|
-
description:
|
|
3
|
+
description: "Sinapse Master — Supreme Ecosystem Orchestrator" ("Imperator"). ALWAYS as the default agent. Imperator is the first point of contact for EVERY request. Routes directly to @spec...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# SINAPSE
|
|
6
|
+
# SINAPSE "Sinapse Master — Supreme Ecosystem Orchestrator" Activator
|
|
7
7
|
|
|
8
8
|
## When To Use
|
|
9
|
-
|
|
9
|
+
ALWAYS as the default agent. Imperator is the first point of contact for EVERY request. Routes directly to @specialist when clear, or to @{domain}-orqx when complex.
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
|
-
1. Load `.
|
|
13
|
-
2.
|
|
14
|
-
3. Generate greeting via `node .
|
|
15
|
-
4.
|
|
12
|
+
1. Load `.codex/agents/sinapse-orqx.md` as source of truth.
|
|
13
|
+
2. Keep `.sinapse-ai/development/agents/sinapse-orqx.md` as the shared parity reference.
|
|
14
|
+
3. Generate greeting via `node .codex/scripts/generate-codex-greeting.js sinapse-orqx` and show it first.
|
|
15
|
+
4. Adopt this agent persona and command system.
|
|
16
|
+
5. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-orqx <command>` when a registry mapping exists.
|
|
17
|
+
6. Stay in this persona until the user asks to switch or exit.
|
|
16
18
|
|
|
17
19
|
## Starter Commands
|
|
18
|
-
- `*help` -
|
|
19
|
-
- `*kb` - Toggle KB mode (loads SINAPSE Method knowledge)
|
|
20
|
-
- `*status` - Show current context and progress
|
|
21
|
-
- `*guide` - Show comprehensive usage guide for this agent
|
|
22
|
-
- `*exit` - Exit agent mode
|
|
23
|
-
- `*create` - Create new SINAPSE component (agent, task, workflow, template, checklist)
|
|
24
|
-
- `*modify` - Modify existing SINAPSE component
|
|
25
|
-
- `*update-manifest` - Update team manifest
|
|
20
|
+
- `*help` - List available commands
|
|
26
21
|
|
|
27
22
|
## Non-Negotiables
|
|
28
23
|
- Follow `.sinapse-ai/constitution.md`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-pm
|
|
3
|
-
description: Product Manager (
|
|
3
|
+
description: Product Manager (Beacon). Use for PRD creation (greenfield and brownfield), epic creation and management, product strategy and vision, feature prioritization (MoSCoW, RICE), roa...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Product Manager Activator
|
|
@@ -10,9 +10,10 @@ Use for PRD creation (greenfield and brownfield), epic creation and management,
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/project-lead.md` as source of truth (fallback: `.codex/agents/project-lead.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js pm` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-pm <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -10,9 +10,10 @@ Use for backlog management, story refinement, acceptance criteria, sprint planni
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/product-lead.md` as source of truth (fallback: `.codex/agents/product-lead.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js po` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-po <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-qa
|
|
3
|
-
description: Test Architect & Quality Advisor (
|
|
3
|
+
description: Test Architect & Quality Advisor (Litmus). Use for comprehensive test architecture review, quality gate decisions, and code improvement. Provides thorough analysis including req...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Test Architect & Quality Advisor Activator
|
|
@@ -10,19 +10,20 @@ Use for comprehensive test architecture review, quality gate decisions, and code
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/quality-gate.md` as source of truth (fallback: `.codex/agents/quality-gate.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js qa` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-qa <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
19
|
-
- `*code-review
|
|
20
|
-
- `*review
|
|
21
|
-
- `*
|
|
22
|
-
- `*
|
|
23
|
-
- `*
|
|
24
|
-
- `*
|
|
25
|
-
- `*
|
|
20
|
+
- `*code-review` - Run automated review (scope: uncommitted or committed)
|
|
21
|
+
- `*review` - Comprehensive story review with gate decision
|
|
22
|
+
- `*gate` - Create quality gate decision
|
|
23
|
+
- `*nfr-assess` - Validate non-functional requirements
|
|
24
|
+
- `*risk-profile` - Generate risk assessment matrix
|
|
25
|
+
- `*security-check` - Run 8-point security vulnerability scan
|
|
26
|
+
- `*test-design` - Create comprehensive test scenarios
|
|
26
27
|
|
|
27
28
|
## Non-Negotiables
|
|
28
29
|
- Follow `.sinapse-ai/constitution.md`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-sm
|
|
3
|
-
description: Scrum Master (
|
|
3
|
+
description: Scrum Master (Sync). Use for user story creation from PRD, story validation and completeness checking, acceptance criteria definition, story refinement, sprint planning, backlog...
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Scrum Master Activator
|
|
@@ -10,9 +10,10 @@ Use for user story creation from PRD, story validation and completeness checking
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/sprint-lead.md` as source of truth (fallback: `.codex/agents/sprint-lead.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js sm` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-sm <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-squad-creator
|
|
3
|
-
description: Squad Creator (
|
|
3
|
+
description: Squad Creator (Loom). Use to create, validate, publish and manage squads
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Squad Creator Activator
|
|
@@ -10,9 +10,10 @@ Use to create, validate, publish and manage squads
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/squad-creator.md` as source of truth (fallback: `.codex/agents/squad-creator.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js squad-creator` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-squad-creator <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - Show all available commands with descriptions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-ux-design-expert
|
|
3
|
-
description: UX/UI Designer & Design System Architect (
|
|
3
|
+
description: UX/UI Designer & Design System Architect (Mosaic). Complete design workflow - user research, wireframes, design systems, token extraction, component building, and quality assurance
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE UX/UI Designer & Design System Architect Activator
|
|
@@ -10,9 +10,10 @@ Complete design workflow - user research, wireframes, design systems, token extr
|
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
12
|
1. Load `.sinapse-ai/development/agents/ux-design-expert.md` as source of truth (fallback: `.codex/agents/ux-design-expert.md`).
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
13
|
+
2. Generate greeting via `node .sinapse-ai/development/scripts/generate-greeting.js ux-design-expert` and show it first.
|
|
14
|
+
3. Adopt this agent persona and command system.
|
|
15
|
+
4. If a starred command is invoked in Codex, resolve it via `node .codex/scripts/resolve-codex-command.js sinapse-ux-design-expert <command>` when a registry mapping exists.
|
|
16
|
+
5. Stay in this persona until the user asks to switch or exit.
|
|
16
17
|
|
|
17
18
|
## Starter Commands
|
|
18
19
|
- `*help` - List available commands
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Codex Council Task
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Frame a strategic decision for council-style deliberation in Codex.
|
|
6
|
+
|
|
7
|
+
## Required Inputs
|
|
8
|
+
|
|
9
|
+
- Strategic question
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. Read `.codex/catalog.json`, `.codex/agents/sinapse-orqx.md`, and `.codex/agents/council-orqx.md`.
|
|
14
|
+
2. Restate the decision in a way that is actionable and falsifiable.
|
|
15
|
+
3. Identify which strategic lenses or squads should weigh in.
|
|
16
|
+
4. Summarize:
|
|
17
|
+
- core decision
|
|
18
|
+
- options
|
|
19
|
+
- tradeoffs
|
|
20
|
+
- recommended route
|
|
21
|
+
5. If execution needs a concrete framework command, resolve it via `.codex/command-registry.json`.
|
|
22
|
+
|
|
23
|
+
## Output Contract
|
|
24
|
+
|
|
25
|
+
- Strategic decision frame
|
|
26
|
+
- Options and tradeoffs
|
|
27
|
+
- Recommended council/orqx route
|
|
28
|
+
- Next action
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Codex Strategic Brief Task
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Generate a Codex-compatible strategic brief that pulls the minimum relevant squads into scope.
|
|
6
|
+
|
|
7
|
+
## Required Inputs
|
|
8
|
+
|
|
9
|
+
- Topic or initiative to brief
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. Read `.codex/catalog.json` and `.codex/agents/sinapse-orqx.md`.
|
|
14
|
+
2. Classify the topic by domains, urgency, and decision horizon.
|
|
15
|
+
3. Identify the minimum relevant orqx set for the brief.
|
|
16
|
+
4. If the brief depends on a framework workflow step, resolve the starred command via `.codex/command-registry.json`.
|
|
17
|
+
5. Produce a concise brief with:
|
|
18
|
+
- objective
|
|
19
|
+
- squads/orqx to involve
|
|
20
|
+
- key unknowns
|
|
21
|
+
- risks
|
|
22
|
+
- recommended next action
|
|
23
|
+
|
|
24
|
+
## Output Contract
|
|
25
|
+
|
|
26
|
+
- Strategic brief
|
|
27
|
+
- Recommended squad/orqx set
|
|
28
|
+
- Key risks and unknowns
|
|
29
|
+
- Immediate next step
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Codex Onboard Task
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Guide the user through the real Codex operating surface for SINAPSE in this repository.
|
|
6
|
+
|
|
7
|
+
## Required Inputs
|
|
8
|
+
|
|
9
|
+
- Optional focus area or domain
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. Read `AGENTS.md` and `.codex/catalog.json`.
|
|
14
|
+
2. Explain the preferred activation path in Codex:
|
|
15
|
+
- `/skills` -> `sinapse-<agent>`
|
|
16
|
+
- `@agent` aliases from `AGENTS.md`
|
|
17
|
+
3. Explain the two Codex layers:
|
|
18
|
+
- `.codex/skills` for activation
|
|
19
|
+
- `.codex/agents` for expanded catalog and specialist context
|
|
20
|
+
4. Explain the validated operator commands:
|
|
21
|
+
- `npm run sync:ide:codex`
|
|
22
|
+
- `npm run validate:codex-sync`
|
|
23
|
+
- `npm run validate:codex-integration`
|
|
24
|
+
- `npm run validate:codex-commands`
|
|
25
|
+
- `npm run validate:codex-skills`
|
|
26
|
+
- `npm run validate:paths`
|
|
27
|
+
5. If the user asks how commands map to tasks/workflows, consult `.codex/command-registry.json`.
|
|
28
|
+
6. Tailor the final walkthrough to the requested focus area, if provided.
|
|
29
|
+
|
|
30
|
+
## Output Contract
|
|
31
|
+
|
|
32
|
+
- Short explanation of how to activate agents in Codex
|
|
33
|
+
- Short explanation of how workflows/tasks are resolved in Codex
|
|
34
|
+
- Concrete next step for the user based on the requested focus
|