@orchestrator-claude/definitions 3.33.0 → 3.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/agents/adversarial-reviewer.md +2 -2
- package/agents/azure-devops-engineer.md +9 -1
- package/agents/cicd-platform-engineer.md +477 -0
- package/agents/ciclo-engineer.md +267 -0
- package/agents/debug-sidecar.md +5 -0
- package/agents/doc-sidecar.md +5 -0
- package/agents/frontend-engineer.md +173 -0
- package/agents/implementer.md +39 -23
- package/agents/methodology-researcher.md +2 -1
- package/agents/operational-artifact-builder.md +2 -1
- package/agents/orchestrator.md +54 -72
- package/agents/planner.md +2 -2
- package/agents/presentation-engineer.md +1 -1
- package/agents/python-data-engineer.md +214 -0
- package/agents/reviewer.md +16 -8
- package/agents/specifier.md +1 -1
- package/agents/task-generator.md +1 -1
- package/agents/test-sidecar.md +14 -3
- package/dist/install/DevCheckoutDetector.d.ts +30 -13
- package/dist/install/DevCheckoutDetector.d.ts.map +1 -1
- package/dist/install/DevCheckoutDetector.js +33 -16
- package/dist/install/DevCheckoutDetector.js.map +1 -1
- package/hooks/agent-git-guard.mjs +118 -0
- package/hooks/agent-git-guard.ts +166 -0
- package/hooks/hooks.json +78 -0
- package/hooks/playwright-output-guard.mjs +136 -0
- package/hooks/playwright-output-guard.ts +130 -0
- package/hooks/pre-agent-dispatch.mjs +346 -0
- package/hooks/pre-agent-dispatch.ts +287 -0
- package/hooks/session-start.mjs +8 -36
- package/hooks/session-start.ts +15 -72
- package/hooks/subagent-stop.mjs +0 -18
- package/hooks/subagent-stop.ts +29 -13
- package/hooks/verification-before-completion.mjs +105 -0
- package/hooks/verification-before-completion.ts +97 -0
- package/hooks-settings-template.json +19 -4
- package/manifest.json +125 -29
- package/package.json +1 -1
- package/personas/INDEX.md +46 -0
- package/skills/artifact-generator/SKILL.md +1 -1
- package/skills/artifact-production/SKILL.md +28 -0
- package/skills/backlog-synthesis/SKILL.md +8 -3
- package/skills/checkpoint-protocol/SKILL.md +7 -0
- package/skills/ciclo-lane-dispatch/SKILL.md +158 -0
- package/skills/infographic-engine/SKILL.md +116 -0
- package/skills/orchestrator/SKILL.md +95 -7
- package/skills/persona-library/SKILL.md +1 -1
- package/skills/project-conventions/SKILL.md +53 -30
- package/skills/project-management-enterprise/SKILL.md +1 -1
- package/skills/python-data-engineering/SKILL.md +792 -0
- package/skills/release/SKILL.md +29 -18
- package/skills/release/release.sh +65 -4
- package/skills/storybook-validated-loop/SKILL.md +110 -0
- package/skills/tdd-discipline/SKILL.md +16 -0
- package/skills/workflow-coordination/SKILL.md +117 -16
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { createRequire as __createRequireShim } from 'node:module'; const require = __createRequireShim(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// hooks/lib/api-client.ts
|
|
4
|
+
import { readFileSync, writeFileSync, mkdirSync, statSync, unlinkSync, readdirSync } from "node:fs";
|
|
5
|
+
import { join, dirname } from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
var __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
var __dirname = dirname(__filename);
|
|
9
|
+
var PROJECT_ROOT = join(__dirname, "..", "..", "..");
|
|
10
|
+
var STATE_DIR = join(PROJECT_ROOT, ".orchestrator", ".state");
|
|
11
|
+
var JWT_CACHE = join(STATE_DIR, "jwt-token");
|
|
12
|
+
var DEBUG_LOG = join(STATE_DIR, "hook-debug.log");
|
|
13
|
+
mkdirSync(STATE_DIR, { recursive: true });
|
|
14
|
+
var API_URL = process.env.ORCHESTRATOR_API_URL || "http://localhost:3001";
|
|
15
|
+
var AUTH_EMAIL = process.env.ORCHESTRATOR_ADMIN_EMAIL || process.env.ORCHESTRATOR_AUTH_EMAIL || "system@orchestrator.local";
|
|
16
|
+
var AUTH_PASSWORD = process.env.ORCHESTRATOR_ADMIN_PASSWORD || process.env.ORCHESTRATOR_AUTH_PASSWORD || "system123";
|
|
17
|
+
var PROJECT_ID = process.env.ORCHESTRATOR_PROJECT_ID || "";
|
|
18
|
+
function log(prefix, msg) {
|
|
19
|
+
const ts = (/* @__PURE__ */ new Date()).toISOString().replace(/\.\d+Z$/, "Z");
|
|
20
|
+
try {
|
|
21
|
+
const line = `[${ts}] ${prefix}: ${msg}
|
|
22
|
+
`;
|
|
23
|
+
writeFileSync(DEBUG_LOG, line, { flag: "a" });
|
|
24
|
+
} catch {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
var LAST_COMPLETED_FILE = join(STATE_DIR, "last-completed-workflow.json");
|
|
28
|
+
var LAST_COMPLETED_TTL_MS = 60 * 60 * 1e3;
|
|
29
|
+
var INVOCATIONS_DIR = join(STATE_DIR, "invocations");
|
|
30
|
+
var INVOCATION_STATE_TTL_MS = 4 * 60 * 60 * 1e3;
|
|
31
|
+
var DISPATCH_INTENT_DIR = join(STATE_DIR, "dispatch-intent");
|
|
32
|
+
async function readStdin() {
|
|
33
|
+
const chunks = [];
|
|
34
|
+
for await (const chunk of process.stdin) {
|
|
35
|
+
chunks.push(chunk);
|
|
36
|
+
}
|
|
37
|
+
const raw = Buffer.concat(chunks).toString("utf-8").trim();
|
|
38
|
+
if (!raw) return {};
|
|
39
|
+
try {
|
|
40
|
+
return JSON.parse(raw);
|
|
41
|
+
} catch {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function getField(obj, path) {
|
|
46
|
+
const parts = path.split(".");
|
|
47
|
+
let current = obj;
|
|
48
|
+
for (const part of parts) {
|
|
49
|
+
if (current == null || typeof current !== "object") return "";
|
|
50
|
+
current = current[part];
|
|
51
|
+
}
|
|
52
|
+
return current != null ? String(current) : "";
|
|
53
|
+
}
|
|
54
|
+
function outputPreToolUse(opts) {
|
|
55
|
+
const output = {
|
|
56
|
+
hookSpecificOutput: {
|
|
57
|
+
hookEventName: "PreToolUse",
|
|
58
|
+
permissionDecision: opts.decision,
|
|
59
|
+
...opts.reason && { permissionDecisionReason: opts.reason },
|
|
60
|
+
...opts.context && { additionalContext: opts.context }
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
console.log(JSON.stringify(output));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// hooks/verification-before-completion.ts
|
|
67
|
+
var HOOK = "VERIFICATION-REMINDER";
|
|
68
|
+
var defaultDeps = {
|
|
69
|
+
readStdin,
|
|
70
|
+
output: outputPreToolUse,
|
|
71
|
+
log
|
|
72
|
+
};
|
|
73
|
+
function commandMatchesGitOp(command) {
|
|
74
|
+
return /git\s+(commit|push)/.test(command);
|
|
75
|
+
}
|
|
76
|
+
async function mainWithDeps(deps) {
|
|
77
|
+
const { readStdin: readStdin2, output, log: log2 } = deps;
|
|
78
|
+
const stdin = await readStdin2();
|
|
79
|
+
const command = getField(stdin, "tool_input.command") || getField(stdin, "command") || "";
|
|
80
|
+
if (!commandMatchesGitOp(command)) {
|
|
81
|
+
log2(HOOK, `PASS (no git op): ${command.slice(0, 60)}`);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
log2(HOOK, `REMIND git op detected: ${command.slice(0, 80)}`);
|
|
85
|
+
output({
|
|
86
|
+
decision: "allow",
|
|
87
|
+
context: [
|
|
88
|
+
"[VERIFICATION-REMINDER] You are about to run a git commit/push.",
|
|
89
|
+
"Before proceeding, confirm:",
|
|
90
|
+
" 1. Tests pass \u2014 run the test command and paste the output.",
|
|
91
|
+
" 2. Lint clean \u2014 run the lint command and confirm 0 errors.",
|
|
92
|
+
" 3. Build succeeds \u2014 run the build command and confirm exit 0.",
|
|
93
|
+
" 4. All acceptance criteria have matching test evidence.",
|
|
94
|
+
"Evidence before claims. No shortcuts for verification."
|
|
95
|
+
].join("\n")
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async function main() {
|
|
99
|
+
await mainWithDeps(defaultDeps);
|
|
100
|
+
}
|
|
101
|
+
main().catch(() => process.exit(0));
|
|
102
|
+
export {
|
|
103
|
+
commandMatchesGitOp,
|
|
104
|
+
mainWithDeps
|
|
105
|
+
};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verification-before-completion.ts — PreToolUse[Bash] hook
|
|
3
|
+
*
|
|
4
|
+
* Injects a verification reminder when the model is about to run
|
|
5
|
+
* `git commit` or `git push`. Does NOT block — only adds context.
|
|
6
|
+
*
|
|
7
|
+
* Principle: Evidence before claims, always.
|
|
8
|
+
* Source: verification-before-completion skill (superpowers 5.0.7)
|
|
9
|
+
*
|
|
10
|
+
* Flow:
|
|
11
|
+
* 1. readStdin() → extract bash command
|
|
12
|
+
* 2. commandMatchesGitOp() → check for commit/push
|
|
13
|
+
* 3. If match → output allow + context reminder
|
|
14
|
+
* 4. If no match → silent pass-through (no output)
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { log, readStdin, getField, outputPreToolUse } from './lib/api-client.js';
|
|
18
|
+
|
|
19
|
+
const HOOK = 'VERIFICATION-REMINDER';
|
|
20
|
+
|
|
21
|
+
// ─────────────────────────────────────────────────────────────
|
|
22
|
+
// Dependency injection interface (enables testing without IO)
|
|
23
|
+
// ─────────────────────────────────────────────────────────────
|
|
24
|
+
|
|
25
|
+
export interface HookDeps {
|
|
26
|
+
readStdin: () => Promise<Record<string, unknown>>;
|
|
27
|
+
output: (opts: { decision: 'allow' | 'deny'; reason?: string; context?: string }) => void;
|
|
28
|
+
log: (prefix: string, msg: string) => void;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const defaultDeps: HookDeps = {
|
|
32
|
+
readStdin,
|
|
33
|
+
output: outputPreToolUse,
|
|
34
|
+
log,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// ─────────────────────────────────────────────────────────────
|
|
38
|
+
// Pure helpers (exported for testing)
|
|
39
|
+
// ─────────────────────────────────────────────────────────────
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Returns true when the bash command string contains a git commit or git push
|
|
43
|
+
* operation. Handles common variations: `git commit`, `git push`, multi-command
|
|
44
|
+
* pipelines (`&&`, `;`), and quoted forms.
|
|
45
|
+
*/
|
|
46
|
+
export function commandMatchesGitOp(command: string): boolean {
|
|
47
|
+
return /git\s+(commit|push)/.test(command);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// ─────────────────────────────────────────────────────────────
|
|
51
|
+
// Core logic (exported for testing)
|
|
52
|
+
// ─────────────────────────────────────────────────────────────
|
|
53
|
+
|
|
54
|
+
export async function mainWithDeps(deps: HookDeps): Promise<void> {
|
|
55
|
+
const { readStdin, output, log } = deps;
|
|
56
|
+
|
|
57
|
+
const stdin = await readStdin();
|
|
58
|
+
|
|
59
|
+
// Extract the bash command from the tool input envelope
|
|
60
|
+
const command =
|
|
61
|
+
(getField(stdin, 'tool_input.command') as string | undefined) ||
|
|
62
|
+
(getField(stdin, 'command') as string | undefined) ||
|
|
63
|
+
'';
|
|
64
|
+
|
|
65
|
+
if (!commandMatchesGitOp(command)) {
|
|
66
|
+
// Silent pass-through — not a git commit/push, nothing to do
|
|
67
|
+
log(HOOK, `PASS (no git op): ${command.slice(0, 60)}`);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
log(HOOK, `REMIND git op detected: ${command.slice(0, 80)}`);
|
|
72
|
+
|
|
73
|
+
// Allow the command but inject a verification reminder as context.
|
|
74
|
+
// This hook NEVER blocks — it only nudges the model to verify first.
|
|
75
|
+
output({
|
|
76
|
+
decision: 'allow',
|
|
77
|
+
context: [
|
|
78
|
+
'[VERIFICATION-REMINDER] You are about to run a git commit/push.',
|
|
79
|
+
'Before proceeding, confirm:',
|
|
80
|
+
' 1. Tests pass — run the test command and paste the output.',
|
|
81
|
+
' 2. Lint clean — run the lint command and confirm 0 errors.',
|
|
82
|
+
' 3. Build succeeds — run the build command and confirm exit 0.',
|
|
83
|
+
' 4. All acceptance criteria have matching test evidence.',
|
|
84
|
+
'Evidence before claims. No shortcuts for verification.',
|
|
85
|
+
].join('\n'),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// ─────────────────────────────────────────────────────────────
|
|
90
|
+
// Entry point (production use)
|
|
91
|
+
// ─────────────────────────────────────────────────────────────
|
|
92
|
+
|
|
93
|
+
async function main(): Promise<void> {
|
|
94
|
+
await mainWithDeps(defaultDeps);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
main().catch(() => process.exit(0));
|
|
@@ -17,23 +17,38 @@
|
|
|
17
17
|
],
|
|
18
18
|
"PreToolUse": [
|
|
19
19
|
{
|
|
20
|
-
"matcher": "
|
|
20
|
+
"matcher": "mcp__(plugin_orchestrator_)?orchestrator-tools__advancePhase",
|
|
21
21
|
"hooks": [{ "type": "command", "command": "hooks/gate-guardian.mjs", "timeout": 15000 }]
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"matcher": "Write|Edit",
|
|
25
25
|
"hooks": [{ "type": "command", "command": "hooks/workflow-guard.mjs", "timeout": 10000 }]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"matcher": "Bash",
|
|
29
|
+
"hooks": [
|
|
30
|
+
{ "type": "command", "command": "hooks/verification-before-completion.mjs", "timeout": 5000 },
|
|
31
|
+
{ "type": "command", "command": "hooks/agent-git-guard.mjs", "timeout": 5000 }
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"matcher": "Agent",
|
|
36
|
+
"hooks": [{ "type": "command", "command": "hooks/pre-agent-dispatch.mjs", "timeout": 5000 }]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"matcher": "mcp__plugin_playwright_playwright__browser_take_screenshot|mcp__plugin_playwright_playwright__browser_pdf_save",
|
|
40
|
+
"hooks": [{ "type": "command", "command": "hooks/playwright-output-guard.mjs", "timeout": 5000 }]
|
|
26
41
|
}
|
|
27
42
|
],
|
|
28
43
|
"SubagentStart": [
|
|
29
44
|
{
|
|
30
|
-
"matcher": "implementer|specifier|planner|task-generator|reviewer|researcher",
|
|
45
|
+
"matcher": "(orchestrator:)?(implementer|specifier|planner|task-generator|reviewer|researcher)",
|
|
31
46
|
"hooks": [{ "type": "command", "command": "hooks/subagent-start.mjs", "timeout": 10000 }]
|
|
32
47
|
}
|
|
33
48
|
],
|
|
34
49
|
"SubagentStop": [
|
|
35
50
|
{
|
|
36
|
-
"matcher": "implementer|specifier|planner|task-generator|reviewer|researcher",
|
|
51
|
+
"matcher": "(orchestrator:)?(implementer|specifier|planner|task-generator|reviewer|researcher)",
|
|
37
52
|
"hooks": [{ "type": "command", "command": "hooks/subagent-stop.mjs", "timeout": 30000 }]
|
|
38
53
|
}
|
|
39
54
|
],
|
|
@@ -49,7 +64,7 @@
|
|
|
49
64
|
"hooks": [{ "type": "command", "command": "hooks/mailbox-listener.mjs", "timeout": 5000 }]
|
|
50
65
|
},
|
|
51
66
|
{
|
|
52
|
-
"matcher": "
|
|
67
|
+
"matcher": "mcp__(plugin_orchestrator_)?orchestrator-tools__advancePhase",
|
|
53
68
|
"hooks": [{ "type": "command", "command": "hooks/post-implement.mjs", "timeout": 15000 }]
|
|
54
69
|
}
|
|
55
70
|
],
|
package/manifest.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "orchestrator-definitions/v1",
|
|
3
3
|
"namespace": "orchestrator",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"generatedAt": "2026-07-
|
|
4
|
+
"version": "3.35.0",
|
|
5
|
+
"generatedAt": "2026-07-27T20:50:12.058Z",
|
|
6
6
|
"definitions": {
|
|
7
7
|
"agents": [
|
|
8
8
|
{
|
|
9
9
|
"slug": "adversarial-reviewer",
|
|
10
10
|
"file": "agents/adversarial-reviewer.md",
|
|
11
11
|
"version": "1.0.0",
|
|
12
|
-
"checksum": "sha256:
|
|
12
|
+
"checksum": "sha256:415cfdd33d71b388a3a6eaf2a05e3d986ae7d04596a3219b6938a3b5a0308b6f",
|
|
13
13
|
"supersedes": null,
|
|
14
14
|
"metadata": {}
|
|
15
15
|
},
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"slug": "azure-devops-engineer",
|
|
26
26
|
"file": "agents/azure-devops-engineer.md",
|
|
27
27
|
"version": "1.0.0",
|
|
28
|
-
"checksum": "sha256:
|
|
28
|
+
"checksum": "sha256:18befb94cf8c49a45d41269ea15e443e2201f163a76d2ca4d3d479eac12a3368",
|
|
29
29
|
"supersedes": null,
|
|
30
30
|
"metadata": {}
|
|
31
31
|
},
|
|
@@ -37,6 +37,22 @@
|
|
|
37
37
|
"supersedes": null,
|
|
38
38
|
"metadata": {}
|
|
39
39
|
},
|
|
40
|
+
{
|
|
41
|
+
"slug": "cicd-platform-engineer",
|
|
42
|
+
"file": "agents/cicd-platform-engineer.md",
|
|
43
|
+
"version": "1.0.0",
|
|
44
|
+
"checksum": "sha256:01dc1c3f15fc905c7ecc65c6c29a3ca908e29a8f418febf3b5d34cbcf3a711e9",
|
|
45
|
+
"supersedes": null,
|
|
46
|
+
"metadata": {}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"slug": "ciclo-engineer",
|
|
50
|
+
"file": "agents/ciclo-engineer.md",
|
|
51
|
+
"version": "1.0.0",
|
|
52
|
+
"checksum": "sha256:f370f35c80527b16658984e9da65cb58ec4bec74d5647eb6102a4e2f78871a0a",
|
|
53
|
+
"supersedes": null,
|
|
54
|
+
"metadata": {}
|
|
55
|
+
},
|
|
40
56
|
{
|
|
41
57
|
"slug": "code-archaeologist",
|
|
42
58
|
"file": "agents/code-archaeologist.md",
|
|
@@ -49,7 +65,7 @@
|
|
|
49
65
|
"slug": "debug-sidecar",
|
|
50
66
|
"file": "agents/debug-sidecar.md",
|
|
51
67
|
"version": "1.0.0",
|
|
52
|
-
"checksum": "sha256:
|
|
68
|
+
"checksum": "sha256:0f0d2b6fa6f161e4378fadf048fa5b9c9a131d33e6d5f859671c221b5ae244bf",
|
|
53
69
|
"supersedes": null,
|
|
54
70
|
"metadata": {}
|
|
55
71
|
},
|
|
@@ -57,7 +73,7 @@
|
|
|
57
73
|
"slug": "doc-sidecar",
|
|
58
74
|
"file": "agents/doc-sidecar.md",
|
|
59
75
|
"version": "1.0.0",
|
|
60
|
-
"checksum": "sha256:
|
|
76
|
+
"checksum": "sha256:fb199f4faa59ba28f40cb7057b5b063b49c454b48c92ad63a41596f48fcbc99c",
|
|
61
77
|
"supersedes": null,
|
|
62
78
|
"metadata": {}
|
|
63
79
|
},
|
|
@@ -69,11 +85,19 @@
|
|
|
69
85
|
"supersedes": null,
|
|
70
86
|
"metadata": {}
|
|
71
87
|
},
|
|
88
|
+
{
|
|
89
|
+
"slug": "frontend-engineer",
|
|
90
|
+
"file": "agents/frontend-engineer.md",
|
|
91
|
+
"version": "1.0.0",
|
|
92
|
+
"checksum": "sha256:e8db8ab9d4b652c00a1aae41f8d7a528047482ac838239972f537f31a9fe740f",
|
|
93
|
+
"supersedes": null,
|
|
94
|
+
"metadata": {}
|
|
95
|
+
},
|
|
72
96
|
{
|
|
73
97
|
"slug": "implementer",
|
|
74
98
|
"file": "agents/implementer.md",
|
|
75
99
|
"version": "1.0.0",
|
|
76
|
-
"checksum": "sha256:
|
|
100
|
+
"checksum": "sha256:3d7ddb5a3be0f55055a51c2a0dde03cd4cde38b084a06090e507f4c548eaa9f1",
|
|
77
101
|
"supersedes": null,
|
|
78
102
|
"metadata": {}
|
|
79
103
|
},
|
|
@@ -97,7 +121,7 @@
|
|
|
97
121
|
"slug": "methodology-researcher",
|
|
98
122
|
"file": "agents/methodology-researcher.md",
|
|
99
123
|
"version": "1.0.0",
|
|
100
|
-
"checksum": "sha256:
|
|
124
|
+
"checksum": "sha256:c6776cc9bd3205b3fcb643a37db21782f8ea026c215def9a1413311c6eec1ba1",
|
|
101
125
|
"supersedes": null,
|
|
102
126
|
"metadata": {}
|
|
103
127
|
},
|
|
@@ -105,7 +129,7 @@
|
|
|
105
129
|
"slug": "operational-artifact-builder",
|
|
106
130
|
"file": "agents/operational-artifact-builder.md",
|
|
107
131
|
"version": "1.0.0",
|
|
108
|
-
"checksum": "sha256:
|
|
132
|
+
"checksum": "sha256:81ec44ca7eec9abe190614ffec24c2aeb461b643b9ebb11762c8d30b1bf7f282",
|
|
109
133
|
"supersedes": null,
|
|
110
134
|
"metadata": {}
|
|
111
135
|
},
|
|
@@ -113,7 +137,7 @@
|
|
|
113
137
|
"slug": "orchestrator",
|
|
114
138
|
"file": "agents/orchestrator.md",
|
|
115
139
|
"version": "1.0.0",
|
|
116
|
-
"checksum": "sha256:
|
|
140
|
+
"checksum": "sha256:4b7c8555d9fc7f50bb4c39f014bebc18ca1b1fd013517442816e289adce4ac92",
|
|
117
141
|
"supersedes": null,
|
|
118
142
|
"metadata": {}
|
|
119
143
|
},
|
|
@@ -121,7 +145,7 @@
|
|
|
121
145
|
"slug": "planner",
|
|
122
146
|
"file": "agents/planner.md",
|
|
123
147
|
"version": "1.0.0",
|
|
124
|
-
"checksum": "sha256:
|
|
148
|
+
"checksum": "sha256:e7b9879ba51fcb721364883c699d89d9b2c400ac65ffb116a17415c28b07c378",
|
|
125
149
|
"supersedes": null,
|
|
126
150
|
"metadata": {}
|
|
127
151
|
},
|
|
@@ -129,7 +153,15 @@
|
|
|
129
153
|
"slug": "presentation-engineer",
|
|
130
154
|
"file": "agents/presentation-engineer.md",
|
|
131
155
|
"version": "1.0.0",
|
|
132
|
-
"checksum": "sha256:
|
|
156
|
+
"checksum": "sha256:7a2f387f756fa314b51a386fa26e32ba7f9c2d38ee3a39a79e693a7c650ee093",
|
|
157
|
+
"supersedes": null,
|
|
158
|
+
"metadata": {}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"slug": "python-data-engineer",
|
|
162
|
+
"file": "agents/python-data-engineer.md",
|
|
163
|
+
"version": "1.0.0",
|
|
164
|
+
"checksum": "sha256:9569c039469baffd0e1a9173d93b156652781ab201e8f9c9dd13fed0e945eabe",
|
|
133
165
|
"supersedes": null,
|
|
134
166
|
"metadata": {}
|
|
135
167
|
},
|
|
@@ -145,7 +177,7 @@
|
|
|
145
177
|
"slug": "reviewer",
|
|
146
178
|
"file": "agents/reviewer.md",
|
|
147
179
|
"version": "1.0.0",
|
|
148
|
-
"checksum": "sha256:
|
|
180
|
+
"checksum": "sha256:0e359fe1019dd70f565c1cd446f5bf6edfb95b421ccf8a89da1c17e0b22aa5f7",
|
|
149
181
|
"supersedes": null,
|
|
150
182
|
"metadata": {}
|
|
151
183
|
},
|
|
@@ -161,7 +193,7 @@
|
|
|
161
193
|
"slug": "specifier",
|
|
162
194
|
"file": "agents/specifier.md",
|
|
163
195
|
"version": "1.0.0",
|
|
164
|
-
"checksum": "sha256:
|
|
196
|
+
"checksum": "sha256:bdb559898180543129a9bf12c7871e266232d13d2299828ceee3e1b22606968d",
|
|
165
197
|
"supersedes": null,
|
|
166
198
|
"metadata": {}
|
|
167
199
|
},
|
|
@@ -169,7 +201,7 @@
|
|
|
169
201
|
"slug": "task-generator",
|
|
170
202
|
"file": "agents/task-generator.md",
|
|
171
203
|
"version": "1.0.0",
|
|
172
|
-
"checksum": "sha256:
|
|
204
|
+
"checksum": "sha256:638ee5e2d1b294ea49978eb7fb7807076981ee084996aa584c341814121fa3d1",
|
|
173
205
|
"supersedes": null,
|
|
174
206
|
"metadata": {}
|
|
175
207
|
},
|
|
@@ -177,7 +209,7 @@
|
|
|
177
209
|
"slug": "test-sidecar",
|
|
178
210
|
"file": "agents/test-sidecar.md",
|
|
179
211
|
"version": "1.0.0",
|
|
180
|
-
"checksum": "sha256:
|
|
212
|
+
"checksum": "sha256:e4a83768419cd9c82b837321ddff16c512f37350f33f91d493e3c263eb8c1c76",
|
|
181
213
|
"supersedes": null,
|
|
182
214
|
"metadata": {}
|
|
183
215
|
}
|
|
@@ -187,7 +219,7 @@
|
|
|
187
219
|
"slug": "artifact-generator",
|
|
188
220
|
"file": "skills/artifact-generator/SKILL.md",
|
|
189
221
|
"version": "1.0.0",
|
|
190
|
-
"checksum": "sha256:
|
|
222
|
+
"checksum": "sha256:f8e1404fc3e3df135db5f2132428c5cdee73eb9f05b8946c4802aae382449623",
|
|
191
223
|
"supersedes": null,
|
|
192
224
|
"metadata": {}
|
|
193
225
|
},
|
|
@@ -195,7 +227,7 @@
|
|
|
195
227
|
"slug": "artifact-production",
|
|
196
228
|
"file": "skills/artifact-production/SKILL.md",
|
|
197
229
|
"version": "1.0.0",
|
|
198
|
-
"checksum": "sha256:
|
|
230
|
+
"checksum": "sha256:ad3a02fb51ecf4f7b92b760793ad1886f9ad1caece89d9317db514fd1464a2ad",
|
|
199
231
|
"supersedes": null,
|
|
200
232
|
"metadata": {}
|
|
201
233
|
},
|
|
@@ -211,7 +243,7 @@
|
|
|
211
243
|
"slug": "backlog-synthesis",
|
|
212
244
|
"file": "skills/backlog-synthesis/SKILL.md",
|
|
213
245
|
"version": "1.0.0",
|
|
214
|
-
"checksum": "sha256:
|
|
246
|
+
"checksum": "sha256:ea51acf9fc7b834102d55e01c07f0f15d283ce29cb1d9812ad3d8df683b9c217",
|
|
215
247
|
"supersedes": null,
|
|
216
248
|
"metadata": {}
|
|
217
249
|
},
|
|
@@ -243,7 +275,15 @@
|
|
|
243
275
|
"slug": "checkpoint-protocol",
|
|
244
276
|
"file": "skills/checkpoint-protocol/SKILL.md",
|
|
245
277
|
"version": "1.0.0",
|
|
246
|
-
"checksum": "sha256:
|
|
278
|
+
"checksum": "sha256:eede6949734042e3ae8182066b9ec9051b77570597b1d1e488ebcca10699d857",
|
|
279
|
+
"supersedes": null,
|
|
280
|
+
"metadata": {}
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"slug": "ciclo-lane-dispatch",
|
|
284
|
+
"file": "skills/ciclo-lane-dispatch/SKILL.md",
|
|
285
|
+
"version": "1.0.0",
|
|
286
|
+
"checksum": "sha256:6dfb9a1687c7bc265016b3497609a3e1955af1edd13cbc846158fc30819a3d02",
|
|
247
287
|
"supersedes": null,
|
|
248
288
|
"metadata": {}
|
|
249
289
|
},
|
|
@@ -279,6 +319,14 @@
|
|
|
279
319
|
"supersedes": null,
|
|
280
320
|
"metadata": {}
|
|
281
321
|
},
|
|
322
|
+
{
|
|
323
|
+
"slug": "infographic-engine",
|
|
324
|
+
"file": "skills/infographic-engine/SKILL.md",
|
|
325
|
+
"version": "1.0.0",
|
|
326
|
+
"checksum": "sha256:bef38ea0b805ea83a8695b9f75aa43aceb57bda0dfbd86c184a44cfe40331843",
|
|
327
|
+
"supersedes": null,
|
|
328
|
+
"metadata": {}
|
|
329
|
+
},
|
|
282
330
|
{
|
|
283
331
|
"slug": "kb-api-pattern",
|
|
284
332
|
"file": "skills/kb-api-pattern/SKILL.md",
|
|
@@ -299,7 +347,7 @@
|
|
|
299
347
|
"slug": "orchestrator",
|
|
300
348
|
"file": "skills/orchestrator/SKILL.md",
|
|
301
349
|
"version": "1.0.0",
|
|
302
|
-
"checksum": "sha256:
|
|
350
|
+
"checksum": "sha256:6ddb60e928016c0f11b32f6ec48558618eb6bb70a42eea74a29f1fc562dfc2ab",
|
|
303
351
|
"supersedes": null,
|
|
304
352
|
"metadata": {}
|
|
305
353
|
},
|
|
@@ -307,7 +355,7 @@
|
|
|
307
355
|
"slug": "persona-library",
|
|
308
356
|
"file": "skills/persona-library/SKILL.md",
|
|
309
357
|
"version": "1.0.0",
|
|
310
|
-
"checksum": "sha256:
|
|
358
|
+
"checksum": "sha256:53fab5fa499920034eabfab3791d7afa3741835d83d49e89d22d6374d0169fe9",
|
|
311
359
|
"supersedes": null,
|
|
312
360
|
"metadata": {}
|
|
313
361
|
},
|
|
@@ -323,7 +371,7 @@
|
|
|
323
371
|
"slug": "project-conventions",
|
|
324
372
|
"file": "skills/project-conventions/SKILL.md",
|
|
325
373
|
"version": "1.0.0",
|
|
326
|
-
"checksum": "sha256:
|
|
374
|
+
"checksum": "sha256:578d8651ea3829ba646966caf5e073bbd8082eb155f401dc0eb435561dc4fdc0",
|
|
327
375
|
"supersedes": null,
|
|
328
376
|
"metadata": {}
|
|
329
377
|
},
|
|
@@ -331,7 +379,15 @@
|
|
|
331
379
|
"slug": "project-management-enterprise",
|
|
332
380
|
"file": "skills/project-management-enterprise/SKILL.md",
|
|
333
381
|
"version": "1.0.0",
|
|
334
|
-
"checksum": "sha256:
|
|
382
|
+
"checksum": "sha256:97eab34f80e4713c0a492ddf8b2287329f2242090d23669315f805eef8d7de69",
|
|
383
|
+
"supersedes": null,
|
|
384
|
+
"metadata": {}
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"slug": "python-data-engineering",
|
|
388
|
+
"file": "skills/python-data-engineering/SKILL.md",
|
|
389
|
+
"version": "1.0.0",
|
|
390
|
+
"checksum": "sha256:b9cd6fd5c57b3413c8ef79bcae286b4027ae5e42c496c7d7491e25cf101e16cf",
|
|
335
391
|
"supersedes": null,
|
|
336
392
|
"metadata": {}
|
|
337
393
|
},
|
|
@@ -347,7 +403,7 @@
|
|
|
347
403
|
"slug": "release",
|
|
348
404
|
"file": "skills/release/SKILL.md",
|
|
349
405
|
"version": "1.0.0",
|
|
350
|
-
"checksum": "sha256:
|
|
406
|
+
"checksum": "sha256:1fbd6150309bcc9c13d1af0538e283343728a5b33645dd70a7e056bae7c66d6c",
|
|
351
407
|
"supersedes": null,
|
|
352
408
|
"metadata": {}
|
|
353
409
|
},
|
|
@@ -375,6 +431,14 @@
|
|
|
375
431
|
"supersedes": null,
|
|
376
432
|
"metadata": {}
|
|
377
433
|
},
|
|
434
|
+
{
|
|
435
|
+
"slug": "storybook-validated-loop",
|
|
436
|
+
"file": "skills/storybook-validated-loop/SKILL.md",
|
|
437
|
+
"version": "1.0.0",
|
|
438
|
+
"checksum": "sha256:3dbf5af6d1d995d6783c91b6f09dd91d3d2be88e688119013d90eecbeeb8a175",
|
|
439
|
+
"supersedes": null,
|
|
440
|
+
"metadata": {}
|
|
441
|
+
},
|
|
378
442
|
{
|
|
379
443
|
"slug": "systematic-debugging",
|
|
380
444
|
"file": "skills/systematic-debugging/SKILL.md",
|
|
@@ -387,7 +451,7 @@
|
|
|
387
451
|
"slug": "tdd-discipline",
|
|
388
452
|
"file": "skills/tdd-discipline/SKILL.md",
|
|
389
453
|
"version": "1.0.0",
|
|
390
|
-
"checksum": "sha256:
|
|
454
|
+
"checksum": "sha256:79539476d733c5b456b922108d153cb85f2949ca55770db59005b63b40fa8b21",
|
|
391
455
|
"supersedes": null,
|
|
392
456
|
"metadata": {}
|
|
393
457
|
},
|
|
@@ -395,7 +459,7 @@
|
|
|
395
459
|
"slug": "workflow-coordination",
|
|
396
460
|
"file": "skills/workflow-coordination/SKILL.md",
|
|
397
461
|
"version": "1.0.0",
|
|
398
|
-
"checksum": "sha256:
|
|
462
|
+
"checksum": "sha256:bde4601fc20c17662ba1eb794884811885d07aa93feb66a922a3443023a77e7d",
|
|
399
463
|
"supersedes": null,
|
|
400
464
|
"metadata": {}
|
|
401
465
|
},
|
|
@@ -409,6 +473,14 @@
|
|
|
409
473
|
}
|
|
410
474
|
],
|
|
411
475
|
"hooks": [
|
|
476
|
+
{
|
|
477
|
+
"slug": "agent-git-guard",
|
|
478
|
+
"file": "hooks/agent-git-guard.mjs",
|
|
479
|
+
"version": "1.0.0",
|
|
480
|
+
"checksum": "sha256:b40c4bbeed6c1b8ceaa4df98a2f359b844aea2154e143e91093394569e0f62ff",
|
|
481
|
+
"supersedes": null,
|
|
482
|
+
"metadata": {}
|
|
483
|
+
},
|
|
412
484
|
{
|
|
413
485
|
"slug": "dangling-guard",
|
|
414
486
|
"file": "hooks/dangling-guard.mjs",
|
|
@@ -433,6 +505,14 @@
|
|
|
433
505
|
"supersedes": null,
|
|
434
506
|
"metadata": {}
|
|
435
507
|
},
|
|
508
|
+
{
|
|
509
|
+
"slug": "playwright-output-guard",
|
|
510
|
+
"file": "hooks/playwright-output-guard.mjs",
|
|
511
|
+
"version": "1.0.0",
|
|
512
|
+
"checksum": "sha256:cfc5807a23a0e89a703e09e91bb4c817cc61a6965235191f079bdeb42368e5cf",
|
|
513
|
+
"supersedes": null,
|
|
514
|
+
"metadata": {}
|
|
515
|
+
},
|
|
436
516
|
{
|
|
437
517
|
"slug": "post-compact",
|
|
438
518
|
"file": "hooks/post-compact.mjs",
|
|
@@ -449,11 +529,19 @@
|
|
|
449
529
|
"supersedes": null,
|
|
450
530
|
"metadata": {}
|
|
451
531
|
},
|
|
532
|
+
{
|
|
533
|
+
"slug": "pre-agent-dispatch",
|
|
534
|
+
"file": "hooks/pre-agent-dispatch.mjs",
|
|
535
|
+
"version": "1.0.0",
|
|
536
|
+
"checksum": "sha256:2f9e62ecfed182281dfe0aefa9fc4801d1b3aea9226a7d8f0bc52db6ed93326b",
|
|
537
|
+
"supersedes": null,
|
|
538
|
+
"metadata": {}
|
|
539
|
+
},
|
|
452
540
|
{
|
|
453
541
|
"slug": "session-start",
|
|
454
542
|
"file": "hooks/session-start.mjs",
|
|
455
543
|
"version": "1.0.0",
|
|
456
|
-
"checksum": "sha256:
|
|
544
|
+
"checksum": "sha256:a79a85062149f217483f971f0deb05759179c458b1d819901f357650dedbc67d",
|
|
457
545
|
"supersedes": null,
|
|
458
546
|
"metadata": {}
|
|
459
547
|
},
|
|
@@ -477,7 +565,7 @@
|
|
|
477
565
|
"slug": "subagent-stop",
|
|
478
566
|
"file": "hooks/subagent-stop.mjs",
|
|
479
567
|
"version": "1.0.0",
|
|
480
|
-
"checksum": "sha256:
|
|
568
|
+
"checksum": "sha256:b16c6215a41b9a3bc1be745980f46d1933fa06d8b21998b193278fec99868755",
|
|
481
569
|
"supersedes": null,
|
|
482
570
|
"metadata": {}
|
|
483
571
|
},
|
|
@@ -489,6 +577,14 @@
|
|
|
489
577
|
"supersedes": null,
|
|
490
578
|
"metadata": {}
|
|
491
579
|
},
|
|
580
|
+
{
|
|
581
|
+
"slug": "verification-before-completion",
|
|
582
|
+
"file": "hooks/verification-before-completion.mjs",
|
|
583
|
+
"version": "1.0.0",
|
|
584
|
+
"checksum": "sha256:349c03c12d939575d10f46af9d3e1c073b438860303e751d0d96fc51ab1cd924",
|
|
585
|
+
"supersedes": null,
|
|
586
|
+
"metadata": {}
|
|
587
|
+
},
|
|
492
588
|
{
|
|
493
589
|
"slug": "workflow-guard",
|
|
494
590
|
"file": "hooks/workflow-guard.mjs",
|
package/package.json
CHANGED