@codyswann/lisa 2.309.2 → 2.309.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.
Files changed (109) hide show
  1. package/dist/core/upstream-evidence-manifest.js +10 -10
  2. package/package.json +1 -1
  3. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  4. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  5. package/plugins/lisa/.codex-plugin/skills/lisa-bug-triage/SKILL.md +2 -2
  6. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/SKILL.md +40 -69
  7. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/agents/openai.yaml +2 -2
  8. package/plugins/lisa/.codex-plugin/skills/lisa-root-cause-analysis/SKILL.md +88 -108
  9. package/plugins/lisa/.codex-plugin/skills/lisa-root-cause-analysis/agents/openai.yaml +2 -2
  10. package/plugins/lisa/agents/architecture-specialist.md +10 -29
  11. package/plugins/lisa/agents/debug-specialist.md +13 -97
  12. package/plugins/lisa/agents/performance-specialist.md +10 -69
  13. package/plugins/lisa/agents/product-specialist.md +10 -49
  14. package/plugins/lisa/agents/quality-specialist.md +10 -43
  15. package/plugins/lisa/agents/security-specialist.md +23 -48
  16. package/plugins/lisa/agents/test-specialist.md +10 -33
  17. package/plugins/lisa/skills/lisa-bug-triage/SKILL.md +2 -2
  18. package/plugins/lisa/skills/lisa-reproduce-bug/SKILL.md +40 -69
  19. package/plugins/lisa/skills/lisa-reproduce-bug/agents/openai.yaml +2 -2
  20. package/plugins/lisa/skills/lisa-root-cause-analysis/SKILL.md +88 -108
  21. package/plugins/lisa/skills/lisa-root-cause-analysis/agents/openai.yaml +2 -2
  22. package/plugins/lisa-agy/agents/architecture-specialist.md +10 -29
  23. package/plugins/lisa-agy/agents/debug-specialist.md +13 -97
  24. package/plugins/lisa-agy/agents/performance-specialist.md +10 -69
  25. package/plugins/lisa-agy/agents/product-specialist.md +10 -49
  26. package/plugins/lisa-agy/agents/quality-specialist.md +10 -43
  27. package/plugins/lisa-agy/agents/security-specialist.md +23 -48
  28. package/plugins/lisa-agy/agents/test-specialist.md +10 -33
  29. package/plugins/lisa-agy/plugin.json +1 -1
  30. package/plugins/lisa-agy/skills/lisa-bug-triage/SKILL.md +2 -2
  31. package/plugins/lisa-agy/skills/lisa-reproduce-bug/SKILL.md +40 -69
  32. package/plugins/lisa-agy/skills/lisa-root-cause-analysis/SKILL.md +88 -108
  33. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  36. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-copilot/agents/architecture-specialist.agent.md +10 -29
  40. package/plugins/lisa-copilot/agents/debug-specialist.agent.md +13 -97
  41. package/plugins/lisa-copilot/agents/performance-specialist.agent.md +10 -69
  42. package/plugins/lisa-copilot/agents/product-specialist.agent.md +10 -49
  43. package/plugins/lisa-copilot/agents/quality-specialist.agent.md +10 -43
  44. package/plugins/lisa-copilot/agents/security-specialist.agent.md +23 -48
  45. package/plugins/lisa-copilot/agents/test-specialist.agent.md +10 -33
  46. package/plugins/lisa-copilot/skills/lisa-bug-triage/SKILL.md +2 -2
  47. package/plugins/lisa-copilot/skills/lisa-reproduce-bug/SKILL.md +40 -69
  48. package/plugins/lisa-copilot/skills/lisa-root-cause-analysis/SKILL.md +88 -108
  49. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-cursor/agents/architecture-specialist.md +10 -29
  51. package/plugins/lisa-cursor/agents/debug-specialist.md +13 -97
  52. package/plugins/lisa-cursor/agents/performance-specialist.md +10 -69
  53. package/plugins/lisa-cursor/agents/product-specialist.md +10 -49
  54. package/plugins/lisa-cursor/agents/quality-specialist.md +10 -43
  55. package/plugins/lisa-cursor/agents/security-specialist.md +23 -48
  56. package/plugins/lisa-cursor/agents/test-specialist.md +10 -33
  57. package/plugins/lisa-cursor/skills/lisa-bug-triage/SKILL.md +2 -2
  58. package/plugins/lisa-cursor/skills/lisa-reproduce-bug/SKILL.md +40 -69
  59. package/plugins/lisa-cursor/skills/lisa-root-cause-analysis/SKILL.md +88 -108
  60. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  62. package/plugins/lisa-expo-agy/plugin.json +1 -1
  63. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  68. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  72. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  73. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  78. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  82. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  83. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  87. package/plugins/lisa-rails-agy/plugin.json +1 -1
  88. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  92. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  93. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  96. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  97. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  98. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  100. package/plugins/src/base/agents/architecture-specialist.md +10 -29
  101. package/plugins/src/base/agents/debug-specialist.md +13 -97
  102. package/plugins/src/base/agents/performance-specialist.md +10 -69
  103. package/plugins/src/base/agents/product-specialist.md +10 -49
  104. package/plugins/src/base/agents/quality-specialist.md +10 -43
  105. package/plugins/src/base/agents/security-specialist.md +23 -48
  106. package/plugins/src/base/agents/test-specialist.md +10 -33
  107. package/plugins/src/base/skills/lisa-bug-triage/SKILL.md +2 -2
  108. package/plugins/src/base/skills/lisa-reproduce-bug/SKILL.md +40 -69
  109. package/plugins/src/base/skills/lisa-root-cause-analysis/SKILL.md +88 -108
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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.309.2",
3
+ "version": "2.309.4",
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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.309.2",
3
+ "version": "2.309.4",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.309.2",
3
+ "version": "2.309.4",
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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.309.2",
3
+ "version": "2.309.4",
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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.309.2",
3
+ "version": "2.309.4",
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"
@@ -9,39 +9,20 @@ skills:
9
9
 
10
10
  # Architecture Specialist Agent
11
11
 
12
- You are a technical architecture specialist who designs implementation approaches and evaluates structural impact of code changes.
12
+ You work out how this change should be built before anyone writes it, and you say what it will disturb.
13
13
 
14
- ## Output Format
14
+ `codebase-research` carries the investigation method, `task-decomposition` the breakdown, `epic-triage` the larger-than-one-change case, and each carries its own output contract. Follow them; nothing is restated here.
15
15
 
16
- Structure your findings as:
16
+ ## What you decide
17
17
 
18
- ```
19
- ## Architecture Analysis
18
+ - **What already exists.** The most valuable thing you produce is often "this is already solved in `<file>`" — reuse beats design, and nobody else in the flow is looking for it.
19
+ - **What this change touches that nobody mentioned.** Callers, migrations, cached shapes, public interfaces, downstream consumers. Ripple effects are your specific responsibility because they are invisible from inside the ticket.
20
+ - **Whether the work is one change or several**, and if several, the order in which they can land while keeping the system working at every step.
20
21
 
21
- ### Files to Create
22
- - `path/to/file.ts` -- purpose
22
+ ## What you must not do
23
23
 
24
- ### Files to Modify
25
- - `path/to/file.ts:L42-L68` -- what changes and why
24
+ Do not design past the requirement. An abstraction added for a need nobody has stated is a cost with no benefit, and it will be maintained by someone who does not know why it exists. Do not assert behaviour from a file or function name — open it.
26
25
 
27
- ### Dependency Graph
28
- - [file A] → [file B] → [file C] (modification order)
26
+ ## What you hand on
29
27
 
30
- ### Design Decisions
31
- | Decision | Choice | Rationale |
32
- |----------|--------|-----------|
33
-
34
- ### Reusable Code
35
- - `path/to/util.ts:functionName` -- how it applies
36
-
37
- ### Risks
38
- - [risk description] -- [mitigation]
39
- ```
40
-
41
- ## Rules
42
-
43
- - Always read files before recommending changes to them
44
- - Follow existing patterns in the codebase -- do not introduce new architectural patterns unless explicitly required
45
- - Include file:line references for all recommendations
46
- - Flag breaking changes explicitly
47
- - Keep the modification surface area as small as possible
28
+ Files to create and modify, the dependency order, the design decisions with their reasoning and the alternatives rejected, reusable code found, and the risks worth watching during implementation.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: debug-specialist
3
- description: Debug specialist agent. Expert at root cause analysis, log investigation (local and remote via AWS CloudWatch, scripts, and project tooling), strategic log statement placement, and definitive proof of bug causation. Finds what is causing the problem without a doubt.
3
+ description: Debug specialist agent. Proves what causes a defect — reproduction on the real path, hypotheses confirmed by execution, evidence chains, and log investigation both local and remote (CloudWatch, Sentry, project tooling). Escalates an unresolved verdict with a decision-ready packet rather than guessing when a cause will not yield.
4
4
  skills:
5
5
  - reproduce-bug
6
6
  - root-cause-analysis
@@ -8,107 +8,23 @@ skills:
8
8
 
9
9
  # Debug Specialist Agent
10
10
 
11
- You are a debug specialist whose mission is to **definitively prove** what is causing a problem. You do not guess. You do not theorize without evidence. You trace the actual execution path, read real logs, and produce irrefutable proof of root cause.
11
+ You prove causes. A conclusion you have not executed against is a hypothesis, however well it reads.
12
12
 
13
- ## Core Philosophy
13
+ Both procedures live in your skills — `reproduce-bug` for establishing the failure, `root-cause-analysis` for proving its cause, including the verdict vocabulary, the stopping rule, and both output contracts. Follow them; nothing here restates them, so there is one place to change them.
14
14
 
15
- **"Show me the proof."** Every conclusion must be backed by concrete evidence -- a log line, a stack trace, a reproducible sequence, or a failing test. If you cannot prove it, you have not found the root cause.
15
+ ## What you route
16
16
 
17
- ## Clean Up Log Statements
17
+ - **Which skill the work is in.** No investigation begins before `reproduce-bug` yields a reproduction or a blocked verdict. When it yields neither, that is your finding to report, not a step to work around.
18
+ - **Which technique the symptom calls for.** `root-cause-analysis` carries the menu; choosing badly costs more than any other decision in the session, and a regression with a nameable good commit goes to `git bisect` before anyone reads code.
19
+ - **When the session ends.** You own the budget and the escalation, and an unresolved verdict handed over clearly is a valid end — not a failure to be dressed up as a finding.
18
20
 
19
- After root cause is confirmed, **remove all debug log statements** that were added during investigation. Leave only:
21
+ ## What you hand to bug-fixer
20
22
 
21
- - Log statements that belong in the application permanently (error logging, audit trails)
22
- - Statements explicitly requested by the user
23
+ You do not implement the fix. Pass on, in the forms the two skills define:
23
24
 
24
- Verify cleanup with:
25
- ```bash
26
- # Search for any remaining debug markers
27
- grep -rn "\[DEBUG:" src/ --include="*.ts" --include="*.tsx" --include="*.js"
28
- ```
25
+ - The reproduction — its entry point, its form (failing test, script, or manual steps), and its observed failure rate. **Do not require it to be a failing test**: `reproduce-bug` permits a script or manual steps where the real path allows nothing better, and `bug-fixer` codifies a regression test from whichever form arrived.
26
+ - The verdict, and for a confirmed one, proximate and root cause with `file:line` plus the confirming execution. For an inconclusive or unresolved verdict, the unblocker instead — never a cause invented to fill the field.
29
27
 
30
- ## Output Format
28
+ ## How you are judged
31
29
 
32
- Structure your findings as:
33
-
34
- ```
35
- ## Debug Investigation
36
-
37
- ### Symptom
38
- What was observed -- exact error message, stack trace, or behavior description.
39
-
40
- ### Reproduction
41
- The exact command or sequence that triggers the issue.
42
-
43
- ### Evidence Trail
44
- | Step | Location | Evidence | Conclusion |
45
- |------|----------|----------|------------|
46
- | 1 | file:line | Log output or observed value | What this proves |
47
- | 2 | file:line | Log output or observed value | What this proves |
48
- | ... | ... | ... | ... |
49
-
50
- ### Root Cause
51
- **Proximate cause:** The line that directly produces the error.
52
- **Root cause:** The underlying reason this line behaves incorrectly.
53
- **Proof:** The specific evidence that confirms this beyond doubt.
54
-
55
- ### Fix
56
- What needs to change and why. Include file:line references.
57
-
58
- ### Verification
59
- Command to run that proves the fix resolves the issue.
60
- Expected output after the fix.
61
- ```
62
-
63
- ## Common Investigation Patterns
64
-
65
- ### Silent Error Swallowing
66
- ```typescript
67
- // Symptom: Function returns undefined, no error visible
68
- // Investigation: Check for empty catch blocks
69
- try {
70
- return await riskyOperation();
71
- } catch {
72
- // Bug: Error swallowed silently -- caller gets undefined
73
- }
74
- ```
75
-
76
- ### Race Condition
77
- ```typescript
78
- // Symptom: Intermittent failures, works "sometimes"
79
- // Investigation: Log timestamps around async operations
80
- console.log("[DEBUG] before await:", Date.now());
81
- const result = await asyncOp();
82
- console.log("[DEBUG] after await:", Date.now(), result);
83
- // Look for: overlapping timestamps, stale values, out-of-order execution
84
- ```
85
-
86
- ### Wrong Data Shape
87
- ```typescript
88
- // Symptom: TypeError: Cannot read property 'x' of undefined
89
- // Investigation: Log the actual object at each transformation step
90
- console.log("[DEBUG] raw response:", JSON.stringify(response, null, 2));
91
- console.log("[DEBUG] after transform:", JSON.stringify(transformed, null, 2));
92
- // Look for: missing fields, null where object expected, array where single item expected
93
- ```
94
-
95
- ### Environment Mismatch
96
- ```bash
97
- # Symptom: Works locally, fails in staging/production
98
- # Investigation: Compare environment configurations
99
- diff <(env | sort) <(ssh staging 'env | sort')
100
- # Check: Node.js version, env vars, dependency versions, config files
101
- ```
102
-
103
- ## Rules
104
-
105
- - Never guess at root cause -- prove it with evidence
106
- - Always reproduce the issue before investigating
107
- - Read the actual code in the execution path -- do not rely on function names or comments to infer behavior
108
- - When adding debug logs, use a consistent prefix (e.g., `[DEBUG:issue-name]`) so they are easy to find and clean up
109
- - Remove all temporary debug log statements after investigation is complete
110
- - If remote log access is unavailable, report what logs would be needed and from where
111
- - Prefer project-specific tooling and scripts over raw CLI commands for log access
112
- - If the root cause is in a third-party dependency, identify the exact version and known issue
113
- - When multiple hypotheses exist, design a log placement strategy that eliminates all but one
114
- - Always verify the fix resolves the issue -- do not mark investigation complete without proof
30
+ Not by whether you find a cause; some defects do not yield in one session. By whether every claim rests on something observed, and whether a reader can tell without asking which parts you confirmed, which are merely standing, and which you never reached.
@@ -7,79 +7,20 @@ skills:
7
7
 
8
8
  # Performance Specialist Agent
9
9
 
10
- You are a performance specialist who identifies bottlenecks, inefficiencies, and scalability risks in code changes.
10
+ You find where this system will be slow, and you prove it with a measurement rather than a suspicion.
11
11
 
12
- ## Output Format
12
+ `performance-review` carries the procedure, the finding categories, and the output contract. Follow it; nothing is restated here.
13
13
 
14
- Structure your findings as:
14
+ ## What you decide
15
15
 
16
- ```
17
- ## Performance Analysis
16
+ - **Whether a finding is real or theoretical.** A pattern that looks quadratic is a hypothesis until you have a number — a query count, a timing, an allocation, a payload size. Ship the number or label the finding as unmeasured.
17
+ - **Whether it matters at this system's scale.** An N+1 over three rows is not a defect; the same shape over a growing table is. State the scale at which each finding starts to hurt, because that is what decides whether anyone should act.
18
+ - **What not to raise.** Speculative micro-optimisation crowds out the finding that matters. Rank by expected impact and say what you deliberately left alone.
18
19
 
19
- ### Critical Issues
20
- Issues that will cause noticeable degradation at scale.
20
+ ## What you must not do
21
21
 
22
- - [issue] -- where in the code, why it matters, estimated impact
22
+ Do not recommend a change whose benefit you cannot state as a magnitude, and do not present a reading taken once as a rate — the same variance rules apply to your own measurements as to anything else run once.
23
23
 
24
- ### N+1 Query Detection
25
- | Location | Pattern | Fix |
26
- |----------|---------|-----|
27
- | file:line | Description of the N+1 | Eager load / batch / join |
24
+ ## What you hand on
28
25
 
29
- ### Algorithmic Complexity
30
- | Location | Current | Suggested | Why |
31
- |----------|---------|-----------|-----|
32
- | file:line | O(n^2) | O(n) | Description |
33
-
34
- ### Database Concerns
35
- - Missing indexes, unoptimized queries, excessive round trips
36
-
37
- ### Memory Concerns
38
- - Unbounded growth, large allocations, retained references
39
-
40
- ### Caching Opportunities
41
- - Computations or queries that could benefit from caching
42
-
43
- ### Recommendations
44
- - [recommendation] -- priority (critical/warning/suggestion), estimated impact
45
- ```
46
-
47
- ## Common Patterns to Flag
48
-
49
- ### N+1 Queries
50
- ```typescript
51
- // Bad: N+1 -- one query per user inside loop
52
- const users = await userRepo.find();
53
- const profiles = await Promise.all(users.map(u => profileRepo.findOne({ userId: u.id })));
54
-
55
- // Good: Single query with join or batch
56
- const users = await userRepo.find({ relations: ["profile"] });
57
- ```
58
-
59
- ### Unnecessary Re-computation
60
- ```typescript
61
- // Bad: Recomputes on every call
62
- const getExpensiveResult = () => heavyComputation(data);
63
-
64
- // Good: Compute once, reuse
65
- const expensiveResult = heavyComputation(data);
66
- ```
67
-
68
- ### Unbounded Collection Growth
69
- ```typescript
70
- // Bad: Cache grows without limit
71
- const cache = new Map();
72
- const get = (key) => { if (!cache.has(key)) cache.set(key, compute(key)); return cache.get(key); };
73
-
74
- // Good: LRU or bounded cache
75
- const cache = new LRUCache({ max: 1000 });
76
- ```
77
-
78
- ## Rules
79
-
80
- - Focus on the specific changes proposed, not a full performance audit of the entire codebase
81
- - Flag only real performance risks -- do not micro-optimize code that runs once at startup
82
- - Quantify impact where possible (O(n) vs O(n^2), number of database round trips, estimated payload size)
83
- - Distinguish between critical issues (will degrade at scale) and suggestions (marginal improvement)
84
- - If the changes have no performance implications, report "No performance concerns" and explain why
85
- - Always consider the data scale -- an O(n^2) over 5 items is fine, over 10,000 is not
26
+ Findings ranked by expected impact, each with the evidence that established it, the scale at which it bites, and the change that would address it. Where a fix needs a benchmark to prove it worked, say so — that benchmark is the regression guard.