@codyswann/lisa 2.37.0 → 2.38.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 (201) hide show
  1. package/package.json +1 -1
  2. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  3. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  4. package/plugins/lisa/skills/acceptance-criteria/agents/openai.yaml +4 -0
  5. package/plugins/lisa/skills/agent-design-best-practices/agents/openai.yaml +4 -0
  6. package/plugins/lisa/skills/atlassian-access/agents/openai.yaml +4 -0
  7. package/plugins/lisa/skills/bug-triage/agents/openai.yaml +4 -0
  8. package/plugins/lisa/skills/codebase-research/agents/openai.yaml +4 -0
  9. package/plugins/lisa/skills/codify-verification/agents/openai.yaml +4 -0
  10. package/plugins/lisa/skills/confluence-prd-intake/agents/openai.yaml +4 -0
  11. package/plugins/lisa/skills/confluence-to-tracker/agents/openai.yaml +4 -0
  12. package/plugins/lisa/skills/debrief/agents/openai.yaml +4 -0
  13. package/plugins/lisa/skills/debrief-apply/agents/openai.yaml +4 -0
  14. package/plugins/lisa/skills/epic-triage/agents/openai.yaml +4 -0
  15. package/plugins/lisa/skills/fix-linter-error/agents/openai.yaml +4 -0
  16. package/plugins/lisa/skills/git-commit/agents/openai.yaml +4 -0
  17. package/plugins/lisa/skills/git-prune/agents/openai.yaml +4 -0
  18. package/plugins/lisa/skills/git-submit-pr/agents/openai.yaml +4 -0
  19. package/plugins/lisa/skills/github-add-journey/agents/openai.yaml +4 -0
  20. package/plugins/lisa/skills/github-build-intake/agents/openai.yaml +4 -0
  21. package/plugins/lisa/skills/github-create/agents/openai.yaml +4 -0
  22. package/plugins/lisa/skills/github-evidence/agents/openai.yaml +4 -0
  23. package/plugins/lisa/skills/github-journey/agents/openai.yaml +4 -0
  24. package/plugins/lisa/skills/github-prd-intake/agents/openai.yaml +4 -0
  25. package/plugins/lisa/skills/github-read-issue/agents/openai.yaml +4 -0
  26. package/plugins/lisa/skills/github-sync/agents/openai.yaml +4 -0
  27. package/plugins/lisa/skills/github-to-tracker/agents/openai.yaml +4 -0
  28. package/plugins/lisa/skills/github-validate-issue/agents/openai.yaml +4 -0
  29. package/plugins/lisa/skills/github-verify/agents/openai.yaml +4 -0
  30. package/plugins/lisa/skills/github-write-issue/agents/openai.yaml +4 -0
  31. package/plugins/lisa/skills/implement/agents/openai.yaml +4 -0
  32. package/plugins/lisa/skills/improve-code-complexity/agents/openai.yaml +4 -0
  33. package/plugins/lisa/skills/improve-max-lines/agents/openai.yaml +4 -0
  34. package/plugins/lisa/skills/improve-max-lines-per-function/agents/openai.yaml +4 -0
  35. package/plugins/lisa/skills/improve-test-coverage/agents/openai.yaml +4 -0
  36. package/plugins/lisa/skills/improve-tests/agents/openai.yaml +4 -0
  37. package/plugins/lisa/skills/intake/agents/openai.yaml +4 -0
  38. package/plugins/lisa/skills/jira-add-journey/agents/openai.yaml +4 -0
  39. package/plugins/lisa/skills/jira-build-intake/agents/openai.yaml +4 -0
  40. package/plugins/lisa/skills/jira-create/agents/openai.yaml +4 -0
  41. package/plugins/lisa/skills/jira-evidence/agents/openai.yaml +4 -0
  42. package/plugins/lisa/skills/jira-journey/agents/openai.yaml +4 -0
  43. package/plugins/lisa/skills/jira-read-ticket/agents/openai.yaml +4 -0
  44. package/plugins/lisa/skills/jira-sync/agents/openai.yaml +4 -0
  45. package/plugins/lisa/skills/jira-validate-ticket/agents/openai.yaml +4 -0
  46. package/plugins/lisa/skills/jira-verify/agents/openai.yaml +4 -0
  47. package/plugins/lisa/skills/jira-write-ticket/agents/openai.yaml +4 -0
  48. package/plugins/lisa/skills/jsdoc-best-practices/agents/openai.yaml +4 -0
  49. package/plugins/lisa/skills/linear-add-journey/agents/openai.yaml +4 -0
  50. package/plugins/lisa/skills/linear-build-intake/agents/openai.yaml +4 -0
  51. package/plugins/lisa/skills/linear-create/agents/openai.yaml +4 -0
  52. package/plugins/lisa/skills/linear-evidence/agents/openai.yaml +4 -0
  53. package/plugins/lisa/skills/linear-journey/agents/openai.yaml +4 -0
  54. package/plugins/lisa/skills/linear-prd-intake/agents/openai.yaml +4 -0
  55. package/plugins/lisa/skills/linear-read-issue/agents/openai.yaml +4 -0
  56. package/plugins/lisa/skills/linear-sync/agents/openai.yaml +4 -0
  57. package/plugins/lisa/skills/linear-to-tracker/agents/openai.yaml +4 -0
  58. package/plugins/lisa/skills/linear-validate-issue/agents/openai.yaml +4 -0
  59. package/plugins/lisa/skills/linear-verify/agents/openai.yaml +4 -0
  60. package/plugins/lisa/skills/linear-write-issue/agents/openai.yaml +4 -0
  61. package/plugins/lisa/skills/lisa-review-implementation/agents/openai.yaml +4 -0
  62. package/plugins/lisa/skills/monitor/agents/openai.yaml +4 -0
  63. package/plugins/lisa/skills/nightly-add-test-coverage/agents/openai.yaml +4 -0
  64. package/plugins/lisa/skills/nightly-improve-tests/agents/openai.yaml +4 -0
  65. package/plugins/lisa/skills/nightly-lower-code-complexity/agents/openai.yaml +4 -0
  66. package/plugins/lisa/skills/notion-access/agents/openai.yaml +4 -0
  67. package/plugins/lisa/skills/notion-prd-intake/agents/openai.yaml +4 -0
  68. package/plugins/lisa/skills/notion-to-tracker/agents/openai.yaml +4 -0
  69. package/plugins/lisa/skills/performance-review/agents/openai.yaml +4 -0
  70. package/plugins/lisa/skills/plan/agents/openai.yaml +4 -0
  71. package/plugins/lisa/skills/prd-backlink/agents/openai.yaml +4 -0
  72. package/plugins/lisa/skills/prd-ticket-coverage/agents/openai.yaml +4 -0
  73. package/plugins/lisa/skills/product-walkthrough/agents/openai.yaml +4 -0
  74. package/plugins/lisa/skills/pull-request-review/agents/openai.yaml +4 -0
  75. package/plugins/lisa/skills/quality-review/agents/openai.yaml +4 -0
  76. package/plugins/lisa/skills/reproduce-bug/agents/openai.yaml +4 -0
  77. package/plugins/lisa/skills/research/agents/openai.yaml +4 -0
  78. package/plugins/lisa/skills/review-local/agents/openai.yaml +4 -0
  79. package/plugins/lisa/skills/root-cause-analysis/agents/openai.yaml +4 -0
  80. package/plugins/lisa/skills/security-review/agents/openai.yaml +4 -0
  81. package/plugins/lisa/skills/security-zap-scan/agents/openai.yaml +4 -0
  82. package/plugins/lisa/skills/setup-atlassian/agents/openai.yaml +4 -0
  83. package/plugins/lisa/skills/setup-confluence/agents/openai.yaml +4 -0
  84. package/plugins/lisa/skills/setup-github/agents/openai.yaml +4 -0
  85. package/plugins/lisa/skills/setup-jira/agents/openai.yaml +4 -0
  86. package/plugins/lisa/skills/setup-linear/agents/openai.yaml +4 -0
  87. package/plugins/lisa/skills/setup-notion/agents/openai.yaml +4 -0
  88. package/plugins/lisa/skills/spec-conformance/agents/openai.yaml +4 -0
  89. package/plugins/lisa/skills/task-decomposition/agents/openai.yaml +4 -0
  90. package/plugins/lisa/skills/task-triage/agents/openai.yaml +4 -0
  91. package/plugins/lisa/skills/tdd-implementation/agents/openai.yaml +4 -0
  92. package/plugins/lisa/skills/test-strategy/agents/openai.yaml +4 -0
  93. package/plugins/lisa/skills/ticket-triage/agents/openai.yaml +4 -0
  94. package/plugins/lisa/skills/tracker-add-journey/agents/openai.yaml +4 -0
  95. package/plugins/lisa/skills/tracker-build-intake/agents/openai.yaml +4 -0
  96. package/plugins/lisa/skills/tracker-create/agents/openai.yaml +4 -0
  97. package/plugins/lisa/skills/tracker-evidence/agents/openai.yaml +4 -0
  98. package/plugins/lisa/skills/tracker-journey/agents/openai.yaml +4 -0
  99. package/plugins/lisa/skills/tracker-read/agents/openai.yaml +4 -0
  100. package/plugins/lisa/skills/tracker-source-artifacts/agents/openai.yaml +4 -0
  101. package/plugins/lisa/skills/tracker-sync/agents/openai.yaml +4 -0
  102. package/plugins/lisa/skills/tracker-validate/agents/openai.yaml +4 -0
  103. package/plugins/lisa/skills/tracker-verify/agents/openai.yaml +4 -0
  104. package/plugins/lisa/skills/tracker-write/agents/openai.yaml +4 -0
  105. package/plugins/lisa/skills/verification-lifecycle/agents/openai.yaml +4 -0
  106. package/plugins/lisa/skills/verify/agents/openai.yaml +4 -0
  107. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  109. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  111. package/plugins/lisa-expo/skills/apollo-client/agents/openai.yaml +4 -0
  112. package/plugins/lisa-expo/skills/atomic-design-gluestack/agents/openai.yaml +4 -0
  113. package/plugins/lisa-expo/skills/container-view-pattern/agents/openai.yaml +4 -0
  114. package/plugins/lisa-expo/skills/cross-platform-compatibility/agents/openai.yaml +4 -0
  115. package/plugins/lisa-expo/skills/directory-structure/agents/openai.yaml +4 -0
  116. package/plugins/lisa-expo/skills/exploratory-qa/agents/openai.yaml +4 -0
  117. package/plugins/lisa-expo/skills/expo-env-config/agents/openai.yaml +4 -0
  118. package/plugins/lisa-expo/skills/expo-router-best-practices/agents/openai.yaml +4 -0
  119. package/plugins/lisa-expo/skills/gluestack-nativewind/agents/openai.yaml +4 -0
  120. package/plugins/lisa-expo/skills/jira-add-journey/agents/openai.yaml +4 -0
  121. package/plugins/lisa-expo/skills/jira-create/agents/openai.yaml +4 -0
  122. package/plugins/lisa-expo/skills/jira-evidence/agents/openai.yaml +4 -0
  123. package/plugins/lisa-expo/skills/jira-journey/agents/openai.yaml +4 -0
  124. package/plugins/lisa-expo/skills/jira-verify/agents/openai.yaml +4 -0
  125. package/plugins/lisa-expo/skills/local-state/agents/openai.yaml +4 -0
  126. package/plugins/lisa-expo/skills/ops-browser-uat/agents/openai.yaml +4 -0
  127. package/plugins/lisa-expo/skills/ops-check-logs/agents/openai.yaml +4 -0
  128. package/plugins/lisa-expo/skills/ops-db-ops/agents/openai.yaml +4 -0
  129. package/plugins/lisa-expo/skills/ops-deploy/agents/openai.yaml +4 -0
  130. package/plugins/lisa-expo/skills/ops-monitor-errors/agents/openai.yaml +4 -0
  131. package/plugins/lisa-expo/skills/ops-performance/agents/openai.yaml +4 -0
  132. package/plugins/lisa-expo/skills/ops-run-local/agents/openai.yaml +4 -0
  133. package/plugins/lisa-expo/skills/ops-verify-health/agents/openai.yaml +4 -0
  134. package/plugins/lisa-expo/skills/owasp-zap/agents/openai.yaml +4 -0
  135. package/plugins/lisa-expo/skills/playwright-ci-debugging/agents/openai.yaml +4 -0
  136. package/plugins/lisa-expo/skills/playwright-selectors/agents/openai.yaml +4 -0
  137. package/plugins/lisa-expo/skills/reduce-complexity/agents/openai.yaml +4 -0
  138. package/plugins/lisa-expo/skills/testing-library/agents/openai.yaml +4 -0
  139. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  140. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  141. package/plugins/lisa-harper-fabric/skills/exploratory-qa/agents/openai.yaml +4 -0
  142. package/plugins/lisa-harper-fabric/skills/harper-build-and-deploy/agents/openai.yaml +4 -0
  143. package/plugins/lisa-harper-fabric/skills/harper-component-model/agents/openai.yaml +4 -0
  144. package/plugins/lisa-harper-fabric/skills/harper-config-yaml/agents/openai.yaml +4 -0
  145. package/plugins/lisa-harper-fabric/skills/harper-resources/agents/openai.yaml +4 -0
  146. package/plugins/lisa-harper-fabric/skills/harper-schema-graphql/agents/openai.yaml +4 -0
  147. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  148. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  149. package/plugins/lisa-nestjs/skills/nestjs-graphql/agents/openai.yaml +4 -0
  150. package/plugins/lisa-nestjs/skills/nestjs-rules/agents/openai.yaml +4 -0
  151. package/plugins/lisa-nestjs/skills/typeorm-patterns/agents/openai.yaml +4 -0
  152. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  153. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  154. package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-repo-topic/agents/openai.yaml +4 -0
  155. package/plugins/lisa-openclaw/skills/lisa-openclaw-connect-staff/agents/openai.yaml +4 -0
  156. package/plugins/lisa-openclaw/skills/lisa-openclaw-setup/agents/openai.yaml +4 -0
  157. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  158. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  159. package/plugins/lisa-rails/skills/action-controller-best-practices/agents/openai.yaml +4 -0
  160. package/plugins/lisa-rails/skills/action-view-best-practices/agents/openai.yaml +4 -0
  161. package/plugins/lisa-rails/skills/active-record-model-best-practices/agents/openai.yaml +4 -0
  162. package/plugins/lisa-rails/skills/exploratory-qa/agents/openai.yaml +4 -0
  163. package/plugins/lisa-rails/skills/fix-linter-error/agents/openai.yaml +4 -0
  164. package/plugins/lisa-rails/skills/improve-code-complexity/agents/openai.yaml +4 -0
  165. package/plugins/lisa-rails/skills/improve-max-lines/agents/openai.yaml +4 -0
  166. package/plugins/lisa-rails/skills/improve-max-lines-per-function/agents/openai.yaml +4 -0
  167. package/plugins/lisa-rails/skills/improve-test-coverage/agents/openai.yaml +4 -0
  168. package/plugins/lisa-rails/skills/jira-add-journey/agents/openai.yaml +4 -0
  169. package/plugins/lisa-rails/skills/jira-create/agents/openai.yaml +4 -0
  170. package/plugins/lisa-rails/skills/jira-evidence/agents/openai.yaml +4 -0
  171. package/plugins/lisa-rails/skills/jira-journey/agents/openai.yaml +4 -0
  172. package/plugins/lisa-rails/skills/jira-verify/agents/openai.yaml +4 -0
  173. package/plugins/lisa-rails/skills/ops-check-logs/agents/openai.yaml +4 -0
  174. package/plugins/lisa-rails/skills/ops-deploy/agents/openai.yaml +4 -0
  175. package/plugins/lisa-rails/skills/ops-run-local/agents/openai.yaml +4 -0
  176. package/plugins/lisa-rails/skills/ops-verify-jobs/agents/openai.yaml +4 -0
  177. package/plugins/lisa-rails/skills/ops-verify-telemetry/agents/openai.yaml +4 -0
  178. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  179. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  180. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  181. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  182. package/plugins/lisa-wiki/skills/lisa-wiki-add-ingest/agents/openai.yaml +4 -0
  183. package/plugins/lisa-wiki/skills/lisa-wiki-add-role/agents/openai.yaml +4 -0
  184. package/plugins/lisa-wiki/skills/lisa-wiki-connector-confluence/agents/openai.yaml +4 -0
  185. package/plugins/lisa-wiki/skills/lisa-wiki-connector-docs/agents/openai.yaml +4 -0
  186. package/plugins/lisa-wiki/skills/lisa-wiki-connector-git/agents/openai.yaml +4 -0
  187. package/plugins/lisa-wiki/skills/lisa-wiki-connector-jira/agents/openai.yaml +4 -0
  188. package/plugins/lisa-wiki/skills/lisa-wiki-connector-memory/agents/openai.yaml +4 -0
  189. package/plugins/lisa-wiki/skills/lisa-wiki-connector-notion/agents/openai.yaml +4 -0
  190. package/plugins/lisa-wiki/skills/lisa-wiki-connector-roles/agents/openai.yaml +4 -0
  191. package/plugins/lisa-wiki/skills/lisa-wiki-connector-slack/agents/openai.yaml +4 -0
  192. package/plugins/lisa-wiki/skills/lisa-wiki-connector-web/agents/openai.yaml +4 -0
  193. package/plugins/lisa-wiki/skills/lisa-wiki-doctor/agents/openai.yaml +4 -0
  194. package/plugins/lisa-wiki/skills/lisa-wiki-ingest/agents/openai.yaml +4 -0
  195. package/plugins/lisa-wiki/skills/lisa-wiki-lint/agents/openai.yaml +4 -0
  196. package/plugins/lisa-wiki/skills/lisa-wiki-migrate/agents/openai.yaml +4 -0
  197. package/plugins/lisa-wiki/skills/lisa-wiki-onboard-me/agents/openai.yaml +4 -0
  198. package/plugins/lisa-wiki/skills/lisa-wiki-query/agents/openai.yaml +4 -0
  199. package/plugins/lisa-wiki/skills/lisa-wiki-setup/agents/openai.yaml +4 -0
  200. package/plugins/lisa-wiki/skills/lisa-wiki-usage/agents/openai.yaml +4 -0
  201. package/scripts/generate-codex-plugin-artifacts.mjs +79 -0
@@ -0,0 +1,4 @@
1
+ display_name: "ops-check-logs"
2
+ short_description: "Check application logs from local Docker Compose or remote AWS CloudWatch for Rails applications. Supports log tailing, filtering, and error searching."
3
+ default_prompt:
4
+ - "Use $ops-check-logs"
@@ -0,0 +1,4 @@
1
+ display_name: "ops-deploy"
2
+ short_description: "Deploy Rails applications via Kamal or CI/CD branch push to staging or production environments."
3
+ default_prompt:
4
+ - "Use $ops-deploy"
@@ -0,0 +1,4 @@
1
+ display_name: "ops-run-local"
2
+ short_description: "Manage the local Docker Compose development environment for Rails applications. Supports start, stop, restart, and status for the full stack or individual services."
3
+ default_prompt:
4
+ - "Use $ops-run-local"
@@ -0,0 +1,4 @@
1
+ display_name: "ops-verify-jobs"
2
+ short_description: "Verify Solid Queue background jobs are running in Rails applications. Check worker health, queue depth, failed jobs, recurring job execution, and retry stuck jobs."
3
+ default_prompt:
4
+ - "Use $ops-verify-jobs"
@@ -0,0 +1,4 @@
1
+ display_name: "ops-verify-telemetry"
2
+ short_description: "Verify OpenTelemetry traces are being collected and exported to AWS X-Ray for Rails applications. Check collector health, trace export, and CloudWatch metrics."
3
+ default_prompt:
4
+ - "Use $ops-verify-telemetry"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.37.0",
3
+ "version": "2.38.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint 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.37.0",
3
+ "version": "2.38.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-wiki",
3
- "version": "2.37.0",
3
+ "version": "2.38.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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.37.0",
3
+ "version": "2.38.0",
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"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-add-ingest"
2
+ short_description: "Scaffold a project-specific \"front-door\" ingest skill that does something unique (classify a source, fetch from a special system, stamp domain frontmatter) and then chains into /ingest. Use when a project needs a bespoke ingestion path that the core connectors do not cover — instead of forking the kernel. The generated skill enriches and delegates; the kernel still owns synthesis, index, log, verify, state, and PR."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-add-ingest"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-add-role"
2
+ short_description: "Scaffold a domain-expert \"digital staff\" role over the wiki — a dual-runtime subagent (Claude + Codex) plus a staff doc page — from a config.staff[] entry. Use when a project wants a role-scoped expert (e.g. Legal, Finance, Sales) whose knowledge is a slice of the wiki. The plugin only SETS UP the subagent; whether it is ever invoked, scheduled, or routed is out of scope."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-add-role"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-confluence"
2
+ short_description: "Produce sanitized Confluence source notes for lisa-wiki ingest via the Atlassian MCP. Use only when lisa-wiki-ingest routes to the confluence connector. Read-only; tenant-guarded."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-confluence"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-docs"
2
+ short_description: "Ingest a local document (PDF, DOCX, Markdown, text) into a sanitized source note for lisa-wiki ingest. Use only when lisa-wiki-ingest routes to the docs connector (a file-path input). Uses available local converters; no heavy bundled dependency."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-docs"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-git"
2
+ short_description: "Produce sanitized git/PR-history source notes for lisa-wiki ingest. Use only when lisa-wiki-ingest routes to the git connector (self repo or a registered project). Read-only — never checks out, fetches, or mutates the target repo."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-git"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-jira"
2
+ short_description: "Produce sanitized JIRA source notes for lisa-wiki ingest via the Atlassian MCP. Use only when lisa-wiki-ingest routes to the jira connector. Read-only; tenant-guarded."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-jira"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-memory"
2
+ short_description: "Ingest the agent's PROJECT-SCOPED memory into a sanitized source note. Use only when lisa-wiki-ingest routes to the memory connector. NEVER ingests global or unrelated memory — global Codex memory and the Chronicle store are refused."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-memory"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-notion"
2
+ short_description: "Produce sanitized Notion source notes for lisa-wiki ingest via the Notion MCP. Use only when lisa-wiki-ingest routes to the notion connector. Read-only; teamspace-guarded."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-notion"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-roles"
2
+ short_description: "Ingest the wiki's own digital-staff roster (config.staff[] + wiki/staff/*) into a sanitized source note. Use only when lisa-wiki-ingest routes to the roles connector. Does not run any subagent."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-roles"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-slack"
2
+ short_description: "Ingest a Slack channel into sanitized source notes via a user token. Use only when lisa-wiki-ingest routes to the slack connector AND the run carries explicit external-write intent (Slack OAuth opens a browser and stores a token file). Centralized stdlib-Python scripts; secrets are redacted."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-slack"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-connector-web"
2
+ short_description: "Ingest a public URL into a sanitized source note for lisa-wiki ingest (via WebFetch). Use only when lisa-wiki-ingest routes to the web connector (a URL input). Read-only."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-connector-web"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-doctor"
2
+ short_description: "Verify that a wiki is correctly set up and (after migration) fully functional. Runs the deterministic checks plus functional smoke tests, writes a doctor report, and returns an overall verdict. Use as the final gate of /migrate, after /setup, or anytime to confirm wiki health. A repo is not \"migrated\" until its doctor verdict is READY."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-doctor"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-ingest"
2
+ short_description: "Ingest source material into the LLM Wiki. With an argument (URL, file path, or prompt) it ingests that one source; with no argument it runs a full ingest across every enabled non-external-write source. Routes to the right connector, then runs the ordered pipeline (source note → synthesis → index → log → verify → state → commit/PR). Use whenever new knowledge should enter the wiki."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-ingest"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-lint"
2
+ short_description: "Health-check the LLM Wiki. Reports orphan pages, contradictions, stale claims, broken internal links, missing index/log coverage, structure-manifest violations, and secret/tenant leaks. Use periodically or before hardening a wiki. Read-only — it reports findings, it does not fix them."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-lint"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-migrate"
2
+ short_description: "Migrate an existing, hand-rolled wiki implementation onto the lisa-wiki kernel — phased and compatibility-first, with a strict no-loss guarantee. Use when adopting lisa-wiki in a repo that already has its own wiki/, ingest skills, docs, or roles. Renaming things into the canonical shape is fine; losing functionality or data is not. Ends by running /doctor."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-migrate"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-onboard-me"
2
+ short_description: "Onboard a user to the project via its LLM Wiki. Interviews the user about themselves in relation to the project, captures that to project-scoped memory only, then gives a guided tour of what the project is and sample questions they can ask. Use when someone is new to the project or asks to be onboarded. Read-mostly — it does not open PRs or write PII into the wiki."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-onboard-me"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-query"
2
+ short_description: "Answer a question from the LLM Wiki with citations. Reads the index, drills into relevant pages, and synthesizes a cited answer. Read-only by default; only files new synthesis back into the wiki when the user explicitly asks. Use when someone asks a question the wiki should be able to answer, or wants to explore what the wiki knows."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-query"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-setup"
2
+ short_description: "Scaffold, repair, verify, or upgrade a project's LLM Wiki from its config. Use when setting up the wiki in a new repo, fixing a broken/incomplete structure, or upgrading to a newer kernel version. Asks the wiki's purpose and README mode, renders the contract snapshot, scaffolds the canonical folders, and seeds the staff roster. Idempotent and non-destructive."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-setup"
@@ -0,0 +1,4 @@
1
+ display_name: "lisa-wiki-usage"
2
+ short_description: "Explain how to browse, query, and contribute to this project's LLM Wiki. Use when a user asks how the wiki works, where knowledge lives, how to find something, or how to add to it — the read/navigation path, not an ingestion or write workflow."
3
+ default_prompt:
4
+ - "Use $lisa-wiki-usage"
@@ -123,6 +123,84 @@ export function serializeInterfaceToYaml(iface) {
123
123
  return `${lines.join("\n")}\n`;
124
124
  }
125
125
 
126
+ /**
127
+ * Derive a Codex `interface` object from a skill's SKILL.md frontmatter.
128
+ *
129
+ * NOTE ON DERIVATION RULES: this is the minimal/placeholder derivation that the
130
+ * walk-and-emit shell (issue #547) needs to produce a valid `interface` block.
131
+ * The richer humanization/summarization rules — title-casing `display_name`,
132
+ * trimming `short_description`, and the `$<name>` starter prompt — are issue
133
+ * #548's responsibility and will refine these defaults. Until then we fall back
134
+ * to the raw frontmatter values (and the skill directory name when frontmatter
135
+ * is missing) so every skill still emits a well-formed file.
136
+ *
137
+ * @param {{ name?: string, description?: string } | null} frontmatter Parsed
138
+ * SKILL.md frontmatter (or `null` when the file has no frontmatter block).
139
+ * @param {string} skillName The skill directory name, used as a fallback.
140
+ * @returns {{ display_name: string, short_description: string, default_prompt: string[] }}
141
+ * The normalized interface object the serializer consumes. Pure.
142
+ */
143
+ export function deriveSkillInterface(frontmatter, skillName) {
144
+ const name = frontmatter?.name?.trim() || skillName;
145
+ const description = frontmatter?.description?.trim() || "";
146
+ return {
147
+ display_name: name,
148
+ short_description: description,
149
+ default_prompt: [`Use $${name}`],
150
+ };
151
+ }
152
+
153
+ /**
154
+ * Walk every `skills/<name>/SKILL.md` in a built plugin and emit a per-skill
155
+ * `skills/<name>/agents/openai.yaml` (issue #547).
156
+ *
157
+ * For each skill directory containing a SKILL.md, the frontmatter is parsed
158
+ * (#545), an interface object is derived (#548 refines the rules), and the
159
+ * deterministic serializer (#546) writes `agents/openai.yaml`, creating the
160
+ * `agents/` directory when missing. Behavior boundaries:
161
+ *
162
+ * - No-op when the plugin has no `skills/` directory.
163
+ * - Never clobber a hand-authored `agents/openai.yaml` that already exists in
164
+ * source (that is issue #550's surface — but we must not overwrite it here
165
+ * regardless).
166
+ * - The `commands/` directory is left untouched — Codex does not consume Claude
167
+ * `commands/`.
168
+ *
169
+ * @param {string} pluginDir Absolute path to a built plugin directory.
170
+ * @returns {void} Writes files as a side effect.
171
+ */
172
+ export function writeSkillAgents(pluginDir) {
173
+ const skillsDir = path.join(pluginDir, "skills");
174
+ if (!fs.existsSync(skillsDir)) {
175
+ return;
176
+ }
177
+
178
+ const entries = fs
179
+ .readdirSync(skillsDir, { withFileTypes: true })
180
+ .filter(entry => entry.isDirectory())
181
+ .map(entry => entry.name)
182
+ .sort();
183
+
184
+ for (const skillName of entries) {
185
+ const skillDir = path.join(skillsDir, skillName);
186
+ const skillMdPath = path.join(skillDir, "SKILL.md");
187
+ if (!fs.existsSync(skillMdPath)) {
188
+ continue;
189
+ }
190
+
191
+ const openaiYamlPath = path.join(skillDir, "agents", "openai.yaml");
192
+ // Don't clobber a hand-authored openai.yaml carried over from source.
193
+ if (fs.existsSync(openaiYamlPath)) {
194
+ continue;
195
+ }
196
+
197
+ const frontmatter = parseSkillFrontmatter(skillMdPath);
198
+ const iface = deriveSkillInterface(frontmatter, skillName);
199
+ fs.mkdirSync(path.dirname(openaiYamlPath), { recursive: true });
200
+ fs.writeFileSync(openaiYamlPath, serializeInterfaceToYaml(iface));
201
+ }
202
+ }
203
+
126
204
  function main() {
127
205
  const [pluginDirArg, versionArg] = process.argv.slice(2);
128
206
  if (!pluginDirArg || !versionArg) {
@@ -148,6 +226,7 @@ function main() {
148
226
  const pluginName = claudeManifest.name;
149
227
 
150
228
  writeCodexManifest(pluginDir, claudeManifest, pluginName, versionArg);
229
+ writeSkillAgents(pluginDir);
151
230
  }
152
231
 
153
232
  function writeCodexManifest(pluginDir, claudeManifest, pluginName, version) {