@codyswann/lisa 2.276.0 → 2.277.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.
Files changed (60) hide show
  1. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  2. package/dist/core/upstream-evidence-manifest.js +2 -1
  3. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  4. package/package.json +1 -1
  5. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  6. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  7. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/SKILL.md +30 -0
  8. package/plugins/lisa/skills/lisa-setup-automations/SKILL.md +30 -0
  9. package/plugins/lisa-agy/plugin.json +1 -1
  10. package/plugins/lisa-agy/skills/lisa-setup-automations/SKILL.md +30 -0
  11. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  12. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  13. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  14. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-copilot/skills/lisa-setup-automations/SKILL.md +30 -0
  18. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa-cursor/skills/lisa-setup-automations/SKILL.md +30 -0
  20. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  22. package/plugins/lisa-expo-agy/plugin.json +1 -1
  23. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  27. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  28. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  32. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  33. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  37. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  38. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  42. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  43. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  47. package/plugins/lisa-rails-agy/plugin.json +1 -1
  48. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  52. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  53. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  57. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  58. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  60. package/plugins/src/base/skills/lisa-setup-automations/SKILL.md +30 -0
package/package.json CHANGED
@@ -112,7 +112,7 @@
112
112
  "brace-expansion": ">=5.0.6"
113
113
  },
114
114
  "name": "@codyswann/lisa",
115
- "version": "2.276.0",
115
+ "version": "2.277.0",
116
116
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
117
117
  "main": "dist/index.js",
118
118
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -49,6 +49,36 @@ without a human between the loops and the pipeline. Pass `false` explicitly to o
49
49
  human triage. The two auto-start flags affect **only** the two exploratory automations; the intake
50
50
  gates' adversarial validation remains the quality control either way.
51
51
 
52
+ ## Repository-readiness advisory
53
+
54
+ Before creating or updating registrations, locate the standing repository-readiness report through
55
+ RRR-3's canonical `resolveReadinessReportPath` contract (currently `.lisa/readiness.json` under the
56
+ resolved project root). This consumes the shared report; it never creates a second readiness
57
+ assessment. Read the report exactly once. Do not re-run `lisa doctor --readiness`, because doing so
58
+ would execute journeys and replace the standing evidence the operator is about to act on.
59
+
60
+ A report is usable for this advisory only when all of these are true:
61
+
62
+ - the file parses to a JSON object whose `schema_version` is `1` and whose `verdict` is `NOT_READY`;
63
+ - `blocker_count` is a positive integer and the `blockers` array length exactly equals
64
+ `blocker_count`;
65
+ - each blocker has a unique `id` in the closed set B1 through B7 (duplicate blocker ids make the
66
+ report internally inconsistent, and uniqueness caps the count at seven) and a non-empty
67
+ operator-facing `label`; and
68
+ - `narrowed_claim` is a non-empty string.
69
+
70
+ For one usable report, emit exactly one warning naming the blocker count, each blocker's `id` and
71
+ `label`, and the narrowed claim. For example: "Repository readiness warning — 3 standing ship
72
+ blockers: B2 Release path bypasses validation; B4 Failing loop has no recovery; B7 Operability
73
+ cannot be proved. Narrowed claim: ready for supervised changes only." This is a warning only:
74
+ setup continues, and no registration or runbook step is skipped because blockers stand.
75
+
76
+ Treat a missing or unreadable file, invalid JSON, unsupported schema, or internally inconsistent
77
+ report as unavailable: emit no readiness warning and no error, then continue setup normally. Do not
78
+ invent an artifact freshness, age, or TTL rule; the persisted contract defines no such field. This
79
+ advisory is never a precondition and follows the same never-block-always-degrade posture as runbook
80
+ scaffolding below.
81
+
52
82
  ## The automations to create
53
83
 
54
84
  Each automation runs **one cycle** of a Lisa command and respects that command's confirmation policy
@@ -49,6 +49,36 @@ without a human between the loops and the pipeline. Pass `false` explicitly to o
49
49
  human triage. The two auto-start flags affect **only** the two exploratory automations; the intake
50
50
  gates' adversarial validation remains the quality control either way.
51
51
 
52
+ ## Repository-readiness advisory
53
+
54
+ Before creating or updating registrations, locate the standing repository-readiness report through
55
+ RRR-3's canonical `resolveReadinessReportPath` contract (currently `.lisa/readiness.json` under the
56
+ resolved project root). This consumes the shared report; it never creates a second readiness
57
+ assessment. Read the report exactly once. Do not re-run `lisa doctor --readiness`, because doing so
58
+ would execute journeys and replace the standing evidence the operator is about to act on.
59
+
60
+ A report is usable for this advisory only when all of these are true:
61
+
62
+ - the file parses to a JSON object whose `schema_version` is `1` and whose `verdict` is `NOT_READY`;
63
+ - `blocker_count` is a positive integer and the `blockers` array length exactly equals
64
+ `blocker_count`;
65
+ - each blocker has a unique `id` in the closed set B1 through B7 (duplicate blocker ids make the
66
+ report internally inconsistent, and uniqueness caps the count at seven) and a non-empty
67
+ operator-facing `label`; and
68
+ - `narrowed_claim` is a non-empty string.
69
+
70
+ For one usable report, emit exactly one warning naming the blocker count, each blocker's `id` and
71
+ `label`, and the narrowed claim. For example: "Repository readiness warning — 3 standing ship
72
+ blockers: B2 Release path bypasses validation; B4 Failing loop has no recovery; B7 Operability
73
+ cannot be proved. Narrowed claim: ready for supervised changes only." This is a warning only:
74
+ setup continues, and no registration or runbook step is skipped because blockers stand.
75
+
76
+ Treat a missing or unreadable file, invalid JSON, unsupported schema, or internally inconsistent
77
+ report as unavailable: emit no readiness warning and no error, then continue setup normally. Do not
78
+ invent an artifact freshness, age, or TTL rule; the persisted contract defines no such field. This
79
+ advisory is never a precondition and follows the same never-block-always-degrade posture as runbook
80
+ scaffolding below.
81
+
52
82
  ## The automations to create
53
83
 
54
84
  Each automation runs **one cycle** of a Lisa command and respects that command's confirmation policy
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -49,6 +49,36 @@ without a human between the loops and the pipeline. Pass `false` explicitly to o
49
49
  human triage. The two auto-start flags affect **only** the two exploratory automations; the intake
50
50
  gates' adversarial validation remains the quality control either way.
51
51
 
52
+ ## Repository-readiness advisory
53
+
54
+ Before creating or updating registrations, locate the standing repository-readiness report through
55
+ RRR-3's canonical `resolveReadinessReportPath` contract (currently `.lisa/readiness.json` under the
56
+ resolved project root). This consumes the shared report; it never creates a second readiness
57
+ assessment. Read the report exactly once. Do not re-run `lisa doctor --readiness`, because doing so
58
+ would execute journeys and replace the standing evidence the operator is about to act on.
59
+
60
+ A report is usable for this advisory only when all of these are true:
61
+
62
+ - the file parses to a JSON object whose `schema_version` is `1` and whose `verdict` is `NOT_READY`;
63
+ - `blocker_count` is a positive integer and the `blockers` array length exactly equals
64
+ `blocker_count`;
65
+ - each blocker has a unique `id` in the closed set B1 through B7 (duplicate blocker ids make the
66
+ report internally inconsistent, and uniqueness caps the count at seven) and a non-empty
67
+ operator-facing `label`; and
68
+ - `narrowed_claim` is a non-empty string.
69
+
70
+ For one usable report, emit exactly one warning naming the blocker count, each blocker's `id` and
71
+ `label`, and the narrowed claim. For example: "Repository readiness warning — 3 standing ship
72
+ blockers: B2 Release path bypasses validation; B4 Failing loop has no recovery; B7 Operability
73
+ cannot be proved. Narrowed claim: ready for supervised changes only." This is a warning only:
74
+ setup continues, and no registration or runbook step is skipped because blockers stand.
75
+
76
+ Treat a missing or unreadable file, invalid JSON, unsupported schema, or internally inconsistent
77
+ report as unavailable: emit no readiness warning and no error, then continue setup normally. Do not
78
+ invent an artifact freshness, age, or TTL rule; the persisted contract defines no such field. This
79
+ advisory is never a precondition and follows the same never-block-always-degrade posture as runbook
80
+ scaffolding below.
81
+
52
82
  ## The automations to create
53
83
 
54
84
  Each automation runs **one cycle** of a Lisa command and respects that command's confirmation policy
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -49,6 +49,36 @@ without a human between the loops and the pipeline. Pass `false` explicitly to o
49
49
  human triage. The two auto-start flags affect **only** the two exploratory automations; the intake
50
50
  gates' adversarial validation remains the quality control either way.
51
51
 
52
+ ## Repository-readiness advisory
53
+
54
+ Before creating or updating registrations, locate the standing repository-readiness report through
55
+ RRR-3's canonical `resolveReadinessReportPath` contract (currently `.lisa/readiness.json` under the
56
+ resolved project root). This consumes the shared report; it never creates a second readiness
57
+ assessment. Read the report exactly once. Do not re-run `lisa doctor --readiness`, because doing so
58
+ would execute journeys and replace the standing evidence the operator is about to act on.
59
+
60
+ A report is usable for this advisory only when all of these are true:
61
+
62
+ - the file parses to a JSON object whose `schema_version` is `1` and whose `verdict` is `NOT_READY`;
63
+ - `blocker_count` is a positive integer and the `blockers` array length exactly equals
64
+ `blocker_count`;
65
+ - each blocker has a unique `id` in the closed set B1 through B7 (duplicate blocker ids make the
66
+ report internally inconsistent, and uniqueness caps the count at seven) and a non-empty
67
+ operator-facing `label`; and
68
+ - `narrowed_claim` is a non-empty string.
69
+
70
+ For one usable report, emit exactly one warning naming the blocker count, each blocker's `id` and
71
+ `label`, and the narrowed claim. For example: "Repository readiness warning — 3 standing ship
72
+ blockers: B2 Release path bypasses validation; B4 Failing loop has no recovery; B7 Operability
73
+ cannot be proved. Narrowed claim: ready for supervised changes only." This is a warning only:
74
+ setup continues, and no registration or runbook step is skipped because blockers stand.
75
+
76
+ Treat a missing or unreadable file, invalid JSON, unsupported schema, or internally inconsistent
77
+ report as unavailable: emit no readiness warning and no error, then continue setup normally. Do not
78
+ invent an artifact freshness, age, or TTL rule; the persisted contract defines no such field. This
79
+ advisory is never a precondition and follows the same never-block-always-degrade posture as runbook
80
+ scaffolding below.
81
+
52
82
  ## The automations to create
53
83
 
54
84
  Each automation runs **one cycle** of a Lisa command and respects that command's confirmation policy
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -49,6 +49,36 @@ without a human between the loops and the pipeline. Pass `false` explicitly to o
49
49
  human triage. The two auto-start flags affect **only** the two exploratory automations; the intake
50
50
  gates' adversarial validation remains the quality control either way.
51
51
 
52
+ ## Repository-readiness advisory
53
+
54
+ Before creating or updating registrations, locate the standing repository-readiness report through
55
+ RRR-3's canonical `resolveReadinessReportPath` contract (currently `.lisa/readiness.json` under the
56
+ resolved project root). This consumes the shared report; it never creates a second readiness
57
+ assessment. Read the report exactly once. Do not re-run `lisa doctor --readiness`, because doing so
58
+ would execute journeys and replace the standing evidence the operator is about to act on.
59
+
60
+ A report is usable for this advisory only when all of these are true:
61
+
62
+ - the file parses to a JSON object whose `schema_version` is `1` and whose `verdict` is `NOT_READY`;
63
+ - `blocker_count` is a positive integer and the `blockers` array length exactly equals
64
+ `blocker_count`;
65
+ - each blocker has a unique `id` in the closed set B1 through B7 (duplicate blocker ids make the
66
+ report internally inconsistent, and uniqueness caps the count at seven) and a non-empty
67
+ operator-facing `label`; and
68
+ - `narrowed_claim` is a non-empty string.
69
+
70
+ For one usable report, emit exactly one warning naming the blocker count, each blocker's `id` and
71
+ `label`, and the narrowed claim. For example: "Repository readiness warning — 3 standing ship
72
+ blockers: B2 Release path bypasses validation; B4 Failing loop has no recovery; B7 Operability
73
+ cannot be proved. Narrowed claim: ready for supervised changes only." This is a warning only:
74
+ setup continues, and no registration or runbook step is skipped because blockers stand.
75
+
76
+ Treat a missing or unreadable file, invalid JSON, unsupported schema, or internally inconsistent
77
+ report as unavailable: emit no readiness warning and no error, then continue setup normally. Do not
78
+ invent an artifact freshness, age, or TTL rule; the persisted contract defines no such field. This
79
+ advisory is never a precondition and follows the same never-block-always-degrade posture as runbook
80
+ scaffolding below.
81
+
52
82
  ## The automations to create
53
83
 
54
84
  Each automation runs **one cycle** of a Lisa command and respects that command's confirmation policy
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.276.0",
3
+ "version": "2.277.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"