@ikon85/agent-workflow-kit 0.16.0 → 0.16.2
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/.agents/skills/kit-update/SKILL.md +13 -0
- package/.agents/skills/to-prd/SKILL.md +18 -0
- package/.claude/hooks/drift-guard.py +471 -10
- package/.claude/skills/kit-update/SKILL.md +13 -0
- package/.claude/skills/to-prd/SKILL.md +18 -0
- package/README.md +12 -0
- package/agent-workflow-kit.package.json +6 -6
- package/package.json +2 -1
- package/scripts/build-kit.test.mjs +30 -14
- package/scripts/test_census_backstop.py +626 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"kitVersion": "0.16.
|
|
2
|
+
"kitVersion": "0.16.2",
|
|
3
3
|
"files": [
|
|
4
4
|
{
|
|
5
5
|
"path": ".agents/skills/ask-matt/SKILL.md",
|
|
@@ -339,7 +339,7 @@
|
|
|
339
339
|
"kind": "skill",
|
|
340
340
|
"ownerSkill": "kit-update",
|
|
341
341
|
"surface": "codex",
|
|
342
|
-
"sha256": "
|
|
342
|
+
"sha256": "5b7a8c11b5852ee115fa8d3f66a3938d7b4db173a47d711da48abab635b2c261",
|
|
343
343
|
"mode": 420,
|
|
344
344
|
"origin": "kit"
|
|
345
345
|
},
|
|
@@ -717,7 +717,7 @@
|
|
|
717
717
|
"kind": "skill",
|
|
718
718
|
"ownerSkill": "to-prd",
|
|
719
719
|
"surface": "codex",
|
|
720
|
-
"sha256": "
|
|
720
|
+
"sha256": "0c7c556dfae2641a452ba5874e2e977b3e6f33d941b40be93b5009cb1d959ff8",
|
|
721
721
|
"mode": 420,
|
|
722
722
|
"origin": "kit"
|
|
723
723
|
},
|
|
@@ -857,7 +857,7 @@
|
|
|
857
857
|
{
|
|
858
858
|
"path": ".claude/hooks/drift-guard.py",
|
|
859
859
|
"kind": "hook",
|
|
860
|
-
"sha256": "
|
|
860
|
+
"sha256": "8a031ff04b7aa11ac7c4713de10634e1d1521ca9fbb82fc458a86f78f6d7d1cf",
|
|
861
861
|
"mode": 493,
|
|
862
862
|
"origin": "kit"
|
|
863
863
|
},
|
|
@@ -1321,7 +1321,7 @@
|
|
|
1321
1321
|
"kind": "skill",
|
|
1322
1322
|
"ownerSkill": "kit-update",
|
|
1323
1323
|
"surface": "claude",
|
|
1324
|
-
"sha256": "
|
|
1324
|
+
"sha256": "5b7a8c11b5852ee115fa8d3f66a3938d7b4db173a47d711da48abab635b2c261",
|
|
1325
1325
|
"mode": 420,
|
|
1326
1326
|
"origin": "kit"
|
|
1327
1327
|
},
|
|
@@ -1717,7 +1717,7 @@
|
|
|
1717
1717
|
"kind": "skill",
|
|
1718
1718
|
"ownerSkill": "to-prd",
|
|
1719
1719
|
"surface": "claude",
|
|
1720
|
-
"sha256": "
|
|
1720
|
+
"sha256": "38352d6e792114cc6c2352c34af841033ccaf06cf34e9ccab1bc76b51a0ca4a1",
|
|
1721
1721
|
"mode": 420,
|
|
1722
1722
|
"origin": "kit"
|
|
1723
1723
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikon85/agent-workflow-kit",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.2",
|
|
4
4
|
"description": "Portable AI-agent workflow skills (plan → execute → land → learn) for Claude Code & Codex — grilling, TDD, diagnosis, two-axis code review, cross-model Codex review, design & domain-modeling, plus a skill router (ask-matt). npx init/update/diff/uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
".claude/",
|
|
22
|
+
"!.claude/logs/",
|
|
22
23
|
".agents/",
|
|
23
24
|
"scripts/",
|
|
24
25
|
"docs/",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { test } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
-
import { mkdtemp, readFile, rm } from 'node:fs/promises';
|
|
3
|
+
import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
|
|
4
4
|
import { tmpdir } from 'node:os';
|
|
5
5
|
import { join, dirname } from 'node:path';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
@@ -48,19 +48,35 @@ test('current build is self-contained and never reaches into a consumer checkout
|
|
|
48
48
|
assert.doesNotMatch(source, /testreporter|tools\/agent-workflow-kit/);
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
test('npm pack keeps
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
test('npm pack keeps product files but excludes runtime residue', async () => {
|
|
52
|
+
const logsDir = join(REPO, '.claude/logs');
|
|
53
|
+
await mkdir(logsDir, { recursive: true });
|
|
54
|
+
const ownedLogDir = await mkdtemp(join(logsDir, 'pack-runtime-'));
|
|
55
|
+
const runtimeLog = join(ownedLogDir, 'drift-guard.log');
|
|
56
|
+
const sentinelLog = join(ownedLogDir, 'preexisting.log');
|
|
57
|
+
const sentinelBytes = 'preexisting runtime log bytes\n';
|
|
58
|
+
await writeFile(sentinelLog, sentinelBytes);
|
|
59
|
+
await writeFile(runtimeLog, `${new Date().toISOString()} runtime-only\n`);
|
|
60
|
+
try {
|
|
61
|
+
const output = execFileSync('npm', ['pack', '--dry-run', '--json'], {
|
|
62
|
+
cwd: REPO, encoding: 'utf8',
|
|
63
|
+
});
|
|
64
|
+
const files = JSON.parse(output)[0].files.map((file) => file.path);
|
|
65
|
+
assert.ok(files.includes('scripts/build-kit.mjs'));
|
|
66
|
+
assert.ok(files.includes('scripts/board-sync.py'));
|
|
67
|
+
assert.ok(files.includes('scripts/kit-update-pr.mjs'));
|
|
68
|
+
assert.ok(files.includes('.claude/hooks/drift-guard.py'));
|
|
69
|
+
assert.ok(files.includes('.claude/skills/tdd/SKILL.md'));
|
|
70
|
+
assert.ok(files.every((path) => !path.startsWith('.claude/logs/')));
|
|
71
|
+
assert.ok(files.every((path) => !path.includes('__pycache__') && !path.endsWith('.pyc')));
|
|
72
|
+
const pkg = JSON.parse(execFileSync('node', ['-p', 'JSON.stringify(require("./package.json"))'], {
|
|
73
|
+
cwd: REPO, encoding: 'utf8',
|
|
74
|
+
}));
|
|
75
|
+
assert.ok(pkg.files.includes('scripts/'), 'package must ship future script file types');
|
|
76
|
+
assert.equal(await readFile(sentinelLog, 'utf8'), sentinelBytes);
|
|
77
|
+
} finally {
|
|
78
|
+
await rm(ownedLogDir, { recursive: true, force: true });
|
|
79
|
+
}
|
|
64
80
|
});
|
|
65
81
|
|
|
66
82
|
test('packed scoped artifact keeps the existing npx default-bin inference', async () => {
|