@codyswann/lisa 4.74.9 → 4.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +60 -0
- package/dist/core/lisa-skill-sources.d.ts +3 -3
- package/dist/core/lisa-skill-sources.d.ts.map +1 -1
- package/dist/core/lisa-skill-sources.js +3 -2
- package/dist/core/lisa-skill-sources.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +730 -5
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-cdk-devin/skills/setup-aws-accounts/SKILL.md +292 -0
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/.claude-plugin/plugin.json +8 -0
- package/plugins/lisa-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-devin/.mcp.json +8 -0
- package/plugins/lisa-devin/agents/architecture-specialist.md +32 -0
- package/plugins/lisa-devin/agents/bug-fixer.md +43 -0
- package/plugins/lisa-devin/agents/builder.md +44 -0
- package/plugins/lisa-devin/agents/confluence-prd-intake.md +65 -0
- package/plugins/lisa-devin/agents/debug-specialist.md +34 -0
- package/plugins/lisa-devin/agents/eval-specialist.md +33 -0
- package/plugins/lisa-devin/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-devin/agents/github-agent.md +155 -0
- package/plugins/lisa-devin/agents/github-build-intake.md +64 -0
- package/plugins/lisa-devin/agents/github-prd-intake.md +66 -0
- package/plugins/lisa-devin/agents/jira-agent.md +135 -0
- package/plugins/lisa-devin/agents/jira-build-intake.md +64 -0
- package/plugins/lisa-devin/agents/learner.md +85 -0
- package/plugins/lisa-devin/agents/learning-judge.md +119 -0
- package/plugins/lisa-devin/agents/learnings-synthesizer.md +155 -0
- package/plugins/lisa-devin/agents/linear-agent.md +138 -0
- package/plugins/lisa-devin/agents/linear-build-intake.md +64 -0
- package/plugins/lisa-devin/agents/linear-prd-intake.md +66 -0
- package/plugins/lisa-devin/agents/notion-prd-intake.md +63 -0
- package/plugins/lisa-devin/agents/performance-specialist.md +26 -0
- package/plugins/lisa-devin/agents/pr-mining-specialist.md +85 -0
- package/plugins/lisa-devin/agents/product-specialist.md +30 -0
- package/plugins/lisa-devin/agents/quality-specialist.md +30 -0
- package/plugins/lisa-devin/agents/security-specialist.md +43 -0
- package/plugins/lisa-devin/agents/skill-evaluator.md +205 -0
- package/plugins/lisa-devin/agents/spec-conformance-specialist.md +56 -0
- package/plugins/lisa-devin/agents/test-specialist.md +32 -0
- package/plugins/lisa-devin/agents/tracker-mining-specialist.md +85 -0
- package/plugins/lisa-devin/agents/verification-specialist.md +145 -0
- package/plugins/lisa-devin/hooks/auto-update.mjs +824 -0
- package/plugins/lisa-devin/hooks/auto-update.sh +31 -0
- package/plugins/lisa-devin/hooks/block-blind-automerge.sh +1242 -0
- package/plugins/lisa-devin/hooks/block-direct-issue-create.sh +2603 -0
- package/plugins/lisa-devin/hooks/block-host-name-leak.mjs +412 -0
- package/plugins/lisa-devin/hooks/block-host-name-leak.sh +61 -0
- package/plugins/lisa-devin/hooks/block-instruction-file-edits.sh +207 -0
- package/plugins/lisa-devin/hooks/block-managed-file-edits.sh +1175 -0
- package/plugins/lisa-devin/hooks/block-no-verify.sh +2288 -0
- package/plugins/lisa-devin/hooks/block-shell-json-parsing.sh +263 -0
- package/plugins/lisa-devin/hooks/cleanup-stale-worktrees.sh +122 -0
- package/plugins/lisa-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-devin/hooks/discharge-work-item-gates.sh +90 -0
- package/plugins/lisa-devin/hooks/enforce-verification-gate.sh +506 -0
- package/plugins/lisa-devin/hooks/enforcement-vintage-npm.mjs +320 -0
- package/plugins/lisa-devin/hooks/enforcement-vintage.mjs +472 -0
- package/plugins/lisa-devin/hooks/enforcement-vintage.sh +48 -0
- package/plugins/lisa-devin/hooks/failure-signature-index.mjs +717 -0
- package/plugins/lisa-devin/hooks/failure-signature-index.sh +26 -0
- package/plugins/lisa-devin/hooks/guard-dedupe.bash +374 -0
- package/plugins/lisa-devin/hooks/inject-resolved-config.mjs +903 -0
- package/plugins/lisa-devin/hooks/inject-resolved-config.sh +107 -0
- package/plugins/lisa-devin/hooks/inject-rules.sh +49 -0
- package/plugins/lisa-devin/hooks/install-pkgs.sh +84 -0
- package/plugins/lisa-devin/hooks/operational-hazards.mjs +736 -0
- package/plugins/lisa-devin/hooks/operational-hazards.sh +28 -0
- package/plugins/lisa-devin/hooks/parity-safety-net-heredoc.py +1004 -0
- package/plugins/lisa-devin/hooks/parity-safety-net.sh +3275 -0
- package/plugins/lisa-devin/hooks/secrets-preflight.sh +72 -0
- package/plugins/lisa-devin/hooks/setup-jira-cli.sh +205 -0
- package/plugins/lisa-devin/hooks/shell-write-nudge.sh +86 -0
- package/plugins/lisa-devin/hooks/sonar-secrets.sh +205 -0
- package/plugins/lisa-devin/hooks/threshold-ratchet-compare.mjs +518 -0
- package/plugins/lisa-devin/hooks/threshold-ratchet-families.mjs +543 -0
- package/plugins/lisa-devin/hooks/threshold-ratchet.mjs +568 -0
- package/plugins/lisa-devin/hooks/threshold-ratchet.sh +22 -0
- package/plugins/lisa-devin/hooks/withdrawn-rulings.mjs +600 -0
- package/plugins/lisa-devin/hooks/withdrawn-rulings.sh +24 -0
- package/plugins/lisa-devin/hooks/worktree-binding-guard.mjs +1383 -0
- package/plugins/lisa-devin/hooks/worktree-binding-guard.sh +79 -0
- package/plugins/lisa-devin/hooks.json +247 -0
- package/plugins/lisa-devin/rules/eager/00-rule-index.md +82 -0
- package/plugins/lisa-devin/rules/eager/base-rules.md +85 -0
- package/plugins/lisa-devin/rules/eager/coding-philosophy.md +27 -0
- package/plugins/lisa-devin/rules/eager/config-resolution.md +37 -0
- package/plugins/lisa-devin/rules/eager/do-it-now.md +11 -0
- package/plugins/lisa-devin/rules/eager/empirical-inquiry.md +24 -0
- package/plugins/lisa-devin/rules/eager/falsifiable-checks.md +48 -0
- package/plugins/lisa-devin/rules/eager/history-audit.md +27 -0
- package/plugins/lisa-devin/rules/eager/integration-access-layer.md +19 -0
- package/plugins/lisa-devin/rules/eager/intent-routing.md +18 -0
- package/plugins/lisa-devin/rules/eager/learnings-ladder.md +18 -0
- package/plugins/lisa-devin/rules/eager/local-ci-first.md +15 -0
- package/plugins/lisa-devin/rules/eager/measurement-integrity.md +18 -0
- package/plugins/lisa-devin/rules/eager/never-name-a-downstream-project.md +9 -0
- package/plugins/lisa-devin/rules/eager/not-blocked-just-waiting.md +13 -0
- package/plugins/lisa-devin/rules/eager/operational-hazards.md +50 -0
- package/plugins/lisa-devin/rules/eager/report-actionability.md +26 -0
- package/plugins/lisa-devin/rules/eager/security-audit-handling.md +40 -0
- package/plugins/lisa-devin/rules/eager/session-status-updates.md +20 -0
- package/plugins/lisa-devin/rules/eager/settled-decisions.md +75 -0
- package/plugins/lisa-devin/rules/eager/stale-state-claims.md +26 -0
- package/plugins/lisa-devin/rules/eager/tool-access-gate.md +23 -0
- package/plugins/lisa-devin/rules/eager/tracked-work.md +9 -0
- package/plugins/lisa-devin/rules/eager/upstream-to-lisa.md +14 -0
- package/plugins/lisa-devin/rules/eager/verification.md +33 -0
- package/plugins/lisa-devin/rules/eager/wiki-knowledge-source.md +13 -0
- package/plugins/lisa-devin/rules/eager/withdrawn-rulings.md +102 -0
- package/plugins/lisa-devin/rules/reference/automation-runbook-contract.md +355 -0
- package/plugins/lisa-devin/rules/reference/base-rules.md +136 -0
- package/plugins/lisa-devin/rules/reference/bdd-e2e-coverage.md +301 -0
- package/plugins/lisa-devin/rules/reference/blocker-containment.md +165 -0
- package/plugins/lisa-devin/rules/reference/claim-archaeology.md +184 -0
- package/plugins/lisa-devin/rules/reference/claim-evidence-mapping.md +362 -0
- package/plugins/lisa-devin/rules/reference/claim-time-guards.md +135 -0
- package/plugins/lisa-devin/rules/reference/coding-philosophy.md +428 -0
- package/plugins/lisa-devin/rules/reference/config-resolution.md +1225 -0
- package/plugins/lisa-devin/rules/reference/control-reachability.md +166 -0
- package/plugins/lisa-devin/rules/reference/convergent-review.md +145 -0
- package/plugins/lisa-devin/rules/reference/credential-substrate-precedence.md +249 -0
- package/plugins/lisa-devin/rules/reference/dependency-decision-records.md +177 -0
- package/plugins/lisa-devin/rules/reference/dependency-internalization-kit.md +244 -0
- package/plugins/lisa-devin/rules/reference/dependency-trust-classes.md +291 -0
- package/plugins/lisa-devin/rules/reference/deployed-state-readback.md +142 -0
- package/plugins/lisa-devin/rules/reference/derived-branch-plan.md +214 -0
- package/plugins/lisa-devin/rules/reference/design-source-of-truth.md +260 -0
- package/plugins/lisa-devin/rules/reference/design-value-binding.md +311 -0
- package/plugins/lisa-devin/rules/reference/do-it-now.md +19 -0
- package/plugins/lisa-devin/rules/reference/documentation-source-paths.md +31 -0
- package/plugins/lisa-devin/rules/reference/empirical-inquiry.md +28 -0
- package/plugins/lisa-devin/rules/reference/factory-model.md +111 -0
- package/plugins/lisa-devin/rules/reference/falsifiable-checks.md +275 -0
- package/plugins/lisa-devin/rules/reference/history-audit.md +42 -0
- package/plugins/lisa-devin/rules/reference/integration-access-layer.md +89 -0
- package/plugins/lisa-devin/rules/reference/intent-routing.md +428 -0
- package/plugins/lisa-devin/rules/reference/leaf-only-lifecycle.md +227 -0
- package/plugins/lisa-devin/rules/reference/learnings-ladder.md +41 -0
- package/plugins/lisa-devin/rules/reference/local-ci-first.md +34 -0
- package/plugins/lisa-devin/rules/reference/measurement-integrity.md +119 -0
- package/plugins/lisa-devin/rules/reference/never-name-a-downstream-project.md +37 -0
- package/plugins/lisa-devin/rules/reference/not-blocked-just-waiting.md +41 -0
- package/plugins/lisa-devin/rules/reference/observability-audit.md +146 -0
- package/plugins/lisa-devin/rules/reference/operational-hazards.md +115 -0
- package/plugins/lisa-devin/rules/reference/prd-definition-of-ready.md +118 -0
- package/plugins/lisa-devin/rules/reference/prd-lifecycle-rollup.md +192 -0
- package/plugins/lisa-devin/rules/reference/pre-flight-autofill.md +250 -0
- package/plugins/lisa-devin/rules/reference/project-learnings.md +159 -0
- package/plugins/lisa-devin/rules/reference/promotion-contract.md +148 -0
- package/plugins/lisa-devin/rules/reference/readiness-rubric.md +242 -0
- package/plugins/lisa-devin/rules/reference/ready-role-filing.md +212 -0
- package/plugins/lisa-devin/rules/reference/rejection-detection.md +308 -0
- package/plugins/lisa-devin/rules/reference/repo-scope-split.md +119 -0
- package/plugins/lisa-devin/rules/reference/report-actionability.md +61 -0
- package/plugins/lisa-devin/rules/reference/reset-seed-coverage.md +286 -0
- package/plugins/lisa-devin/rules/reference/security-audit-handling.md +55 -0
- package/plugins/lisa-devin/rules/reference/session-status-updates.md +111 -0
- package/plugins/lisa-devin/rules/reference/settled-decisions.md +39 -0
- package/plugins/lisa-devin/rules/reference/stale-state-claims.md +88 -0
- package/plugins/lisa-devin/rules/reference/tool-access-gate.md +114 -0
- package/plugins/lisa-devin/rules/reference/tracked-work.md +49 -0
- package/plugins/lisa-devin/rules/reference/upstream-to-lisa.md +26 -0
- package/plugins/lisa-devin/rules/reference/usage-accounting.md +261 -0
- package/plugins/lisa-devin/rules/reference/verification.md +278 -0
- package/plugins/lisa-devin/rules/reference/wiki-knowledge-source.md +37 -0
- package/plugins/lisa-devin/rules/reference/withdrawn-rulings.md +148 -0
- package/plugins/lisa-devin/rules/reference/work-item-definition-of-ready.md +177 -0
- package/plugins/lisa-devin/rules/reference/work-item-trailer-definition.md +129 -0
- package/plugins/lisa-devin/scripts/automation-run-record.mjs +678 -0
- package/plugins/lisa-devin/scripts/automation-status-claude-adapter.mjs +804 -0
- package/plugins/lisa-devin/scripts/automation-status-codex-adapter.mjs +1081 -0
- package/plugins/lisa-devin/scripts/automation-status-contract-drift.mjs +392 -0
- package/plugins/lisa-devin/scripts/automation-status-expected-fleet.mjs +508 -0
- package/plugins/lisa-devin/scripts/automation-status-report.mjs +200 -0
- package/plugins/lisa-devin/scripts/automation-status-run-history.mjs +216 -0
- package/plugins/lisa-devin/scripts/automation-status-unrecorded-runs.mjs +127 -0
- package/plugins/lisa-devin/scripts/blocker-edge-resolution.mjs +150 -0
- package/plugins/lisa-devin/scripts/cross-pollinate.mjs +763 -0
- package/plugins/lisa-devin/scripts/design-bindings-probe.mjs +713 -0
- package/plugins/lisa-devin/scripts/design-intake-gate.mjs +470 -0
- package/plugins/lisa-devin/scripts/design-source-gate.mjs +610 -0
- package/plugins/lisa-devin/scripts/design-variable-ids.mjs +567 -0
- package/plugins/lisa-devin/scripts/doctor-report.mjs +635 -0
- package/plugins/lisa-devin/scripts/install-remote-agent-aws.mjs +443 -0
- package/plugins/lisa-devin/scripts/intake-blocker-reprobe.mjs +1065 -0
- package/plugins/lisa-devin/scripts/intake-prework-denominator.mjs +249 -0
- package/plugins/lisa-devin/scripts/lifecycle-label-trust.mjs +593 -0
- package/plugins/lisa-devin/scripts/linear-state-write-target.mjs +362 -0
- package/plugins/lisa-devin/scripts/plugin-sync-explain.mjs +654 -0
- package/plugins/lisa-devin/scripts/pr-arming-sweep.mjs +561 -0
- package/plugins/lisa-devin/scripts/project-ideation-idempotency-harness.mjs +338 -0
- package/plugins/lisa-devin/scripts/qa-signal-lifecycle.mjs +523 -0
- package/plugins/lisa-devin/scripts/queue-contract-resolution.mjs +583 -0
- package/plugins/lisa-devin/scripts/queue-health-classification.mjs +157 -0
- package/plugins/lisa-devin/scripts/queue-status-build-readers.mjs +561 -0
- package/plugins/lisa-devin/scripts/queue-status-prd-readers.mjs +452 -0
- package/plugins/lisa-devin/scripts/remote-agent-aws-setup.sh +677 -0
- package/plugins/lisa-devin/scripts/repo-scope-vocabulary-audit.mjs +458 -0
- package/plugins/lisa-devin/scripts/resolve-lifecycle-role.mjs +347 -0
- package/plugins/lisa-devin/scripts/rollup-blocker-classification.mjs +616 -0
- package/plugins/lisa-devin/scripts/scoping-label-audit.mjs +474 -0
- package/plugins/lisa-devin/skills/lisa-acceptance-criteria/SKILL.md +73 -0
- package/plugins/lisa-devin/skills/lisa-agent-design-best-practices/SKILL.md +242 -0
- package/plugins/lisa-devin/skills/lisa-agent-ready/SKILL.md +271 -0
- package/plugins/lisa-devin/skills/lisa-analyze-claude-remote/SKILL.md +434 -0
- package/plugins/lisa-devin/skills/lisa-atlassian-access/SKILL.md +469 -0
- package/plugins/lisa-devin/skills/lisa-atlassian-access/scripts/markdown-to-adf.mjs +236 -0
- package/plugins/lisa-devin/skills/lisa-attribute-failure/SKILL.md +142 -0
- package/plugins/lisa-devin/skills/lisa-automation-status/SKILL.md +149 -0
- package/plugins/lisa-devin/skills/lisa-bug-triage/SKILL.md +23 -0
- package/plugins/lisa-devin/skills/lisa-capability-drift/SKILL.md +71 -0
- package/plugins/lisa-devin/skills/lisa-codebase-research/SKILL.md +87 -0
- package/plugins/lisa-devin/skills/lisa-codify-verification/SKILL.md +213 -0
- package/plugins/lisa-devin/skills/lisa-confluence-prd-intake/SKILL.md +417 -0
- package/plugins/lisa-devin/skills/lisa-confluence-to-tracker/SKILL.md +469 -0
- package/plugins/lisa-devin/skills/lisa-confluence-write-prd/SKILL.md +111 -0
- package/plugins/lisa-devin/skills/lisa-cross-pollinate/SKILL.md +175 -0
- package/plugins/lisa-devin/skills/lisa-debrief/SKILL.md +96 -0
- package/plugins/lisa-devin/skills/lisa-debrief-apply/SKILL.md +106 -0
- package/plugins/lisa-devin/skills/lisa-delivery-effectiveness/SKILL.md +62 -0
- package/plugins/lisa-devin/skills/lisa-design-intake/SKILL.md +198 -0
- package/plugins/lisa-devin/skills/lisa-detect-tooling/SKILL.md +110 -0
- package/plugins/lisa-devin/skills/lisa-detect-tooling/scripts/commands.mjs +479 -0
- package/plugins/lisa-devin/skills/lisa-detect-tooling/scripts/detect-tooling.mjs +658 -0
- package/plugins/lisa-devin/skills/lisa-doctor/SKILL.md +743 -0
- package/plugins/lisa-devin/skills/lisa-drive-pr-to-merge/SKILL.md +1587 -0
- package/plugins/lisa-devin/skills/lisa-epic-triage/SKILL.md +28 -0
- package/plugins/lisa-devin/skills/lisa-evaluation-suite/SKILL.md +63 -0
- package/plugins/lisa-devin/skills/lisa-exploratory-qa/SKILL.md +185 -0
- package/plugins/lisa-devin/skills/lisa-fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-devin/skills/lisa-generate-claude-remote-build-script/SKILL.md +235 -0
- package/plugins/lisa-devin/skills/lisa-git-commit/SKILL.md +53 -0
- package/plugins/lisa-devin/skills/lisa-git-prune/SKILL.md +35 -0
- package/plugins/lisa-devin/skills/lisa-git-submit-pr/SKILL.md +170 -0
- package/plugins/lisa-devin/skills/lisa-github-add-journey/SKILL.md +118 -0
- package/plugins/lisa-devin/skills/lisa-github-build-intake/SKILL.md +745 -0
- package/plugins/lisa-devin/skills/lisa-github-claim/SKILL.md +27 -0
- package/plugins/lisa-devin/skills/lisa-github-create/SKILL.md +105 -0
- package/plugins/lisa-devin/skills/lisa-github-evidence/SKILL.md +120 -0
- package/plugins/lisa-devin/skills/lisa-github-journey/SKILL.md +134 -0
- package/plugins/lisa-devin/skills/lisa-github-prd-intake/SKILL.md +424 -0
- package/plugins/lisa-devin/skills/lisa-github-project-v2/SKILL.md +227 -0
- package/plugins/lisa-devin/skills/lisa-github-read-issue/SKILL.md +305 -0
- package/plugins/lisa-devin/skills/lisa-github-sync/SKILL.md +201 -0
- package/plugins/lisa-devin/skills/lisa-github-to-tracker/SKILL.md +456 -0
- package/plugins/lisa-devin/skills/lisa-github-validate-issue/SKILL.md +598 -0
- package/plugins/lisa-devin/skills/lisa-github-verify/SKILL.md +60 -0
- package/plugins/lisa-devin/skills/lisa-github-write-issue/SKILL.md +531 -0
- package/plugins/lisa-devin/skills/lisa-github-write-prd/SKILL.md +156 -0
- package/plugins/lisa-devin/skills/lisa-health/SKILL.md +142 -0
- package/plugins/lisa-devin/skills/lisa-health-drift-cron/SKILL.md +80 -0
- package/plugins/lisa-devin/skills/lisa-implement/SKILL.md +372 -0
- package/plugins/lisa-devin/skills/lisa-improve-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-devin/skills/lisa-improve-harness/SKILL.md +487 -0
- package/plugins/lisa-devin/skills/lisa-improve-max-lines/SKILL.md +45 -0
- package/plugins/lisa-devin/skills/lisa-improve-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-devin/skills/lisa-improve-test-coverage/SKILL.md +47 -0
- package/plugins/lisa-devin/skills/lisa-improve-tests/SKILL.md +50 -0
- package/plugins/lisa-devin/skills/lisa-intake/SKILL.md +208 -0
- package/plugins/lisa-devin/skills/lisa-intake-explain/SKILL.md +279 -0
- package/plugins/lisa-devin/skills/lisa-jam-access/SKILL.md +128 -0
- package/plugins/lisa-devin/skills/lisa-jira-add-journey/SKILL.md +139 -0
- package/plugins/lisa-devin/skills/lisa-jira-build-intake/SKILL.md +556 -0
- package/plugins/lisa-devin/skills/lisa-jira-claim/SKILL.md +27 -0
- package/plugins/lisa-devin/skills/lisa-jira-create/SKILL.md +157 -0
- package/plugins/lisa-devin/skills/lisa-jira-evidence/SKILL.md +106 -0
- package/plugins/lisa-devin/skills/lisa-jira-evidence/scripts/post-evidence.sh +262 -0
- package/plugins/lisa-devin/skills/lisa-jira-journey/SKILL.md +168 -0
- package/plugins/lisa-devin/skills/lisa-jira-journey/scripts/generate-templates.py +239 -0
- package/plugins/lisa-devin/skills/lisa-jira-journey/scripts/parse-plan.py +570 -0
- package/plugins/lisa-devin/skills/lisa-jira-read-ticket/SKILL.md +199 -0
- package/plugins/lisa-devin/skills/lisa-jira-read-ticket/scripts/download-attachment.sh +211 -0
- package/plugins/lisa-devin/skills/lisa-jira-sync/SKILL.md +117 -0
- package/plugins/lisa-devin/skills/lisa-jira-validate-ticket/SKILL.md +525 -0
- package/plugins/lisa-devin/skills/lisa-jira-verify/SKILL.md +61 -0
- package/plugins/lisa-devin/skills/lisa-jira-write-ticket/SKILL.md +440 -0
- package/plugins/lisa-devin/skills/lisa-jsdoc-best-practices/SKILL.md +491 -0
- package/plugins/lisa-devin/skills/lisa-kane-browser/SKILL.md +80 -0
- package/plugins/lisa-devin/skills/lisa-learnings-audit/SKILL.md +490 -0
- package/plugins/lisa-devin/skills/lisa-linear-access/SKILL.md +483 -0
- package/plugins/lisa-devin/skills/lisa-linear-add-journey/SKILL.md +109 -0
- package/plugins/lisa-devin/skills/lisa-linear-build-intake/SKILL.md +548 -0
- package/plugins/lisa-devin/skills/lisa-linear-claim/SKILL.md +28 -0
- package/plugins/lisa-devin/skills/lisa-linear-create/SKILL.md +150 -0
- package/plugins/lisa-devin/skills/lisa-linear-evidence/SKILL.md +124 -0
- package/plugins/lisa-devin/skills/lisa-linear-journey/SKILL.md +147 -0
- package/plugins/lisa-devin/skills/lisa-linear-prd-intake/SKILL.md +411 -0
- package/plugins/lisa-devin/skills/lisa-linear-read-issue/SKILL.md +201 -0
- package/plugins/lisa-devin/skills/lisa-linear-sync/SKILL.md +164 -0
- package/plugins/lisa-devin/skills/lisa-linear-to-tracker/SKILL.md +454 -0
- package/plugins/lisa-devin/skills/lisa-linear-validate-issue/SKILL.md +504 -0
- package/plugins/lisa-devin/skills/lisa-linear-verify/SKILL.md +65 -0
- package/plugins/lisa-devin/skills/lisa-linear-write-issue/SKILL.md +448 -0
- package/plugins/lisa-devin/skills/lisa-linear-write-prd/SKILL.md +98 -0
- package/plugins/lisa-devin/skills/lisa-monitor/SKILL.md +224 -0
- package/plugins/lisa-devin/skills/lisa-nightly-add-test-coverage/SKILL.md +40 -0
- package/plugins/lisa-devin/skills/lisa-nightly-improve-tests/SKILL.md +29 -0
- package/plugins/lisa-devin/skills/lisa-nightly-lower-code-complexity/SKILL.md +42 -0
- package/plugins/lisa-devin/skills/lisa-notion-access/SKILL.md +301 -0
- package/plugins/lisa-devin/skills/lisa-notion-prd-intake/SKILL.md +360 -0
- package/plugins/lisa-devin/skills/lisa-notion-to-tracker/SKILL.md +467 -0
- package/plugins/lisa-devin/skills/lisa-notion-write-prd/SKILL.md +111 -0
- package/plugins/lisa-devin/skills/lisa-parity-code-review/SKILL.md +83 -0
- package/plugins/lisa-devin/skills/lisa-parity-code-simplifier/SKILL.md +76 -0
- package/plugins/lisa-devin/skills/lisa-parity-coderabbit/SKILL.md +87 -0
- package/plugins/lisa-devin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +375 -0
- package/plugins/lisa-devin/skills/lisa-parity-sentry-seer/SKILL.md +168 -0
- package/plugins/lisa-devin/skills/lisa-parity-skill-creator/SKILL.md +155 -0
- package/plugins/lisa-devin/skills/lisa-performance-review/SKILL.md +94 -0
- package/plugins/lisa-devin/skills/lisa-persist-learning/SKILL.md +247 -0
- package/plugins/lisa-devin/skills/lisa-plan/SKILL.md +64 -0
- package/plugins/lisa-devin/skills/lisa-plugin-sync-explain/SKILL.md +53 -0
- package/plugins/lisa-devin/skills/lisa-posthog-access/SKILL.md +140 -0
- package/plugins/lisa-devin/skills/lisa-prd-backlink/SKILL.md +274 -0
- package/plugins/lisa-devin/skills/lisa-prd-source-write/SKILL.md +104 -0
- package/plugins/lisa-devin/skills/lisa-prd-ticket-coverage/SKILL.md +187 -0
- package/plugins/lisa-devin/skills/lisa-product-walkthrough/SKILL.md +106 -0
- package/plugins/lisa-devin/skills/lisa-project-ideation/SKILL.md +417 -0
- package/plugins/lisa-devin/skills/lisa-project-ideation/examples/evidence-card-format.md +21 -0
- package/plugins/lisa-devin/skills/lisa-project-ideation/examples/host-project-only.md +22 -0
- package/plugins/lisa-devin/skills/lisa-project-ideation/examples/idempotency-verification-harness.md +57 -0
- package/plugins/lisa-devin/skills/lisa-project-ideation/examples/public-external-inspiration.md +22 -0
- package/plugins/lisa-devin/skills/lisa-project-ideation/examples/unavailable-data-rejection.md +22 -0
- package/plugins/lisa-devin/skills/lisa-pull-request-review/SKILL.md +132 -0
- package/plugins/lisa-devin/skills/lisa-quality-review/SKILL.md +63 -0
- package/plugins/lisa-devin/skills/lisa-queue-status/SKILL.md +215 -0
- package/plugins/lisa-devin/skills/lisa-remote-dispatch/SKILL.md +109 -0
- package/plugins/lisa-devin/skills/lisa-remote-dispatch/scripts/dispatch.mjs +535 -0
- package/plugins/lisa-devin/skills/lisa-repair-intake/SKILL.md +1621 -0
- package/plugins/lisa-devin/skills/lisa-reproduce-bug/SKILL.md +75 -0
- package/plugins/lisa-devin/skills/lisa-research/SKILL.md +92 -0
- package/plugins/lisa-devin/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-devin/skills/lisa-review-local/SKILL.md +141 -0
- package/plugins/lisa-devin/skills/lisa-rework-triage/SKILL.md +206 -0
- package/plugins/lisa-devin/skills/lisa-root-cause-analysis/SKILL.md +135 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/SKILL.md +430 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/aws-bootstrap.mjs +433 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/bootstrap-store.mjs +288 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/doctor-secrets.mjs +273 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/envfile.mjs +80 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/inspect-vault.mjs +142 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +1085 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/note-format.mjs +179 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/owner.mjs +96 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/preflight-secrets.mjs +342 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/prompt-secret.mjs +79 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/providers.mjs +805 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/publish-aws-bootstrap.mjs +680 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/read-secret-note.mjs +105 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/resolve-expo-token.mjs +90 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/resolve-secret.mjs +285 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/rotate-secret.mjs +297 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/routing-floor.mjs +153 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/surfaces.mjs +480 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/sync-secret-to-ci.mjs +510 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/tools-from-notes.mjs +63 -0
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/validate-config.mjs +550 -0
- package/plugins/lisa-devin/skills/lisa-security-review/SKILL.md +124 -0
- package/plugins/lisa-devin/skills/lisa-security-zap-scan/SKILL.md +53 -0
- package/plugins/lisa-devin/skills/lisa-sentry-access/SKILL.md +140 -0
- package/plugins/lisa-devin/skills/lisa-setup-atlassian/SKILL.md +407 -0
- package/plugins/lisa-devin/skills/lisa-setup-automations/SKILL.md +430 -0
- package/plugins/lisa-devin/skills/lisa-setup-automations/scripts/generate-workflow.mjs +288 -0
- package/plugins/lisa-devin/skills/lisa-setup-confluence/SKILL.md +254 -0
- package/plugins/lisa-devin/skills/lisa-setup-github/SKILL.md +319 -0
- package/plugins/lisa-devin/skills/lisa-setup-github-repo/SKILL.md +128 -0
- package/plugins/lisa-devin/skills/lisa-setup-jira/SKILL.md +198 -0
- package/plugins/lisa-devin/skills/lisa-setup-kane/SKILL.md +96 -0
- package/plugins/lisa-devin/skills/lisa-setup-linear/SKILL.md +375 -0
- package/plugins/lisa-devin/skills/lisa-setup-local-env/SKILL.md +95 -0
- package/plugins/lisa-devin/skills/lisa-setup-local-env/scripts/local-env.mjs +196 -0
- package/plugins/lisa-devin/skills/lisa-setup-notion/SKILL.md +376 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-aws/SKILL.md +149 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/SKILL.md +382 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/assets/materialized-env-authority.mjs +262 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/assets/session-start.sh +87 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/assets/setup.sh +216 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/scripts/environment.mjs +227 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/scripts/preflight-tools.mjs +378 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +1632 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/scripts/tool-floor.mjs +94 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/scripts/toolchain.mjs +448 -0
- package/plugins/lisa-devin/skills/lisa-setup-remote-env/scripts/verify-remote-env.mjs +250 -0
- package/plugins/lisa-devin/skills/lisa-setup-sonar/SKILL.md +153 -0
- package/plugins/lisa-devin/skills/lisa-setup-workstation/SKILL.md +143 -0
- package/plugins/lisa-devin/skills/lisa-setup-workstation/scripts/bounded-child.mjs +168 -0
- package/plugins/lisa-devin/skills/lisa-setup-workstation/scripts/catalogue.mjs +293 -0
- package/plugins/lisa-devin/skills/lisa-setup-workstation/scripts/cli.mjs +333 -0
- package/plugins/lisa-devin/skills/lisa-setup-workstation/scripts/workstation.mjs +511 -0
- package/plugins/lisa-devin/skills/lisa-sonarcloud-access/SKILL.md +202 -0
- package/plugins/lisa-devin/skills/lisa-spec-conformance/SKILL.md +205 -0
- package/plugins/lisa-devin/skills/lisa-starter-sync/SKILL.md +35 -0
- package/plugins/lisa-devin/skills/lisa-sync-down/SKILL.md +209 -0
- package/plugins/lisa-devin/skills/lisa-task-decomposition/SKILL.md +195 -0
- package/plugins/lisa-devin/skills/lisa-task-triage/SKILL.md +23 -0
- package/plugins/lisa-devin/skills/lisa-tdd-implementation/SKILL.md +91 -0
- package/plugins/lisa-devin/skills/lisa-tear-down-automations/SKILL.md +85 -0
- package/plugins/lisa-devin/skills/lisa-test-strategy/SKILL.md +66 -0
- package/plugins/lisa-devin/skills/lisa-ticket-triage/SKILL.md +214 -0
- package/plugins/lisa-devin/skills/lisa-track/SKILL.md +129 -0
- package/plugins/lisa-devin/skills/lisa-tracker-add-journey/SKILL.md +28 -0
- package/plugins/lisa-devin/skills/lisa-tracker-build-intake/SKILL.md +134 -0
- package/plugins/lisa-devin/skills/lisa-tracker-claim/SKILL.md +35 -0
- package/plugins/lisa-devin/skills/lisa-tracker-create/SKILL.md +28 -0
- package/plugins/lisa-devin/skills/lisa-tracker-evidence/SKILL.md +63 -0
- package/plugins/lisa-devin/skills/lisa-tracker-journey/SKILL.md +27 -0
- package/plugins/lisa-devin/skills/lisa-tracker-read/SKILL.md +28 -0
- package/plugins/lisa-devin/skills/lisa-tracker-source-artifacts/SKILL.md +111 -0
- package/plugins/lisa-devin/skills/lisa-tracker-sync/SKILL.md +150 -0
- package/plugins/lisa-devin/skills/lisa-tracker-validate/SKILL.md +37 -0
- package/plugins/lisa-devin/skills/lisa-tracker-verify/SKILL.md +29 -0
- package/plugins/lisa-devin/skills/lisa-tracker-write/SKILL.md +55 -0
- package/plugins/lisa-devin/skills/lisa-usage-accounting/SKILL.md +205 -0
- package/plugins/lisa-devin/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
- package/plugins/lisa-devin/skills/lisa-use-the-product/SKILL.md +86 -0
- package/plugins/lisa-devin/skills/lisa-validate-tracker-mapping/SKILL.md +467 -0
- package/plugins/lisa-devin/skills/lisa-verification-lifecycle/SKILL.md +384 -0
- package/plugins/lisa-devin/skills/lisa-verify/SKILL.md +55 -0
- package/plugins/lisa-devin/skills/lisa-verify-prd/SKILL.md +394 -0
- package/plugins/lisa-devin/skills/lisa-verify-workflow-change/SKILL.md +154 -0
- package/plugins/lisa-devin/skills/lisa-wiki-install/SKILL.md +101 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-expo-devin/.mcp.json +8 -0
- package/plugins/lisa-expo-devin/THIRD-PARTY-NOTICES.md +84 -0
- package/plugins/lisa-expo-devin/agents/ops-specialist.md +124 -0
- package/plugins/lisa-expo-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-expo-devin/hooks/register-maestro-mcp.sh +84 -0
- package/plugins/lisa-expo-devin/hooks.json +14 -0
- package/plugins/lisa-expo-devin/skills/add-app-clip/SKILL.md +280 -0
- package/plugins/lisa-expo-devin/skills/add-app-clip/references/native-module.md +96 -0
- package/plugins/lisa-expo-devin/skills/apollo-client/SKILL.md +238 -0
- package/plugins/lisa-expo-devin/skills/apollo-client/references/mutation-patterns.md +360 -0
- package/plugins/lisa-expo-devin/skills/atomic-design-gluestack/SKILL.md +369 -0
- package/plugins/lisa-expo-devin/skills/atomic-design-gluestack/references/atomic-levels.md +417 -0
- package/plugins/lisa-expo-devin/skills/atomic-design-gluestack/references/folder-structure.md +257 -0
- package/plugins/lisa-expo-devin/skills/atomic-design-gluestack/references/gluestack-mapping.md +233 -0
- package/plugins/lisa-expo-devin/skills/atomic-design-gluestack/scripts/test_validate_atomic_structure.py +240 -0
- package/plugins/lisa-expo-devin/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +438 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/SKILL.md +321 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/animations.md +220 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/controls.md +272 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/form-sheet.md +253 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/gradients.md +106 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/icons.md +213 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/media.md +198 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/route-structure.md +229 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/search.md +248 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/storage.md +121 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/tabs.md +433 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/visual-effects.md +197 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/webgpu-three.md +605 -0
- package/plugins/lisa-expo-devin/skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/plugins/lisa-expo-devin/skills/container-view-pattern/SKILL.md +355 -0
- package/plugins/lisa-expo-devin/skills/container-view-pattern/references/examples.md +749 -0
- package/plugins/lisa-expo-devin/skills/container-view-pattern/references/patterns.md +318 -0
- package/plugins/lisa-expo-devin/skills/container-view-pattern/scripts/create_component.py +200 -0
- package/plugins/lisa-expo-devin/skills/container-view-pattern/scripts/validate_component.py +332 -0
- package/plugins/lisa-expo-devin/skills/cross-platform-compatibility/SKILL.md +268 -0
- package/plugins/lisa-expo-devin/skills/cross-platform-compatibility/references/common-issues.md +619 -0
- package/plugins/lisa-expo-devin/skills/cross-platform-compatibility/references/file-extensions.md +340 -0
- package/plugins/lisa-expo-devin/skills/cross-platform-compatibility/references/platform-api.md +276 -0
- package/plugins/lisa-expo-devin/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +416 -0
- package/plugins/lisa-expo-devin/skills/directory-structure/SKILL.md +214 -0
- package/plugins/lisa-expo-devin/skills/directory-structure/scripts/validate_structure.py +454 -0
- package/plugins/lisa-expo-devin/skills/e2e-coverage-gaps/SKILL.md +117 -0
- package/plugins/lisa-expo-devin/skills/eas-update-insights/SKILL.md +228 -0
- package/plugins/lisa-expo-devin/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
- package/plugins/lisa-expo-devin/skills/eas-update-insights/references/update-insights-schema.md +69 -0
- package/plugins/lisa-expo-devin/skills/expo-api-routes/SKILL.md +369 -0
- package/plugins/lisa-expo-devin/skills/expo-brownfield/SKILL.md +54 -0
- package/plugins/lisa-expo-devin/skills/expo-brownfield/references/brownfield-integrated.md +526 -0
- package/plugins/lisa-expo-devin/skills/expo-brownfield/references/brownfield-isolated.md +402 -0
- package/plugins/lisa-expo-devin/skills/expo-brownfield/references/comparison.md +63 -0
- package/plugins/lisa-expo-devin/skills/expo-brownfield/references/troubleshooting.md +88 -0
- package/plugins/lisa-expo-devin/skills/expo-cicd-workflows/SKILL.md +92 -0
- package/plugins/lisa-expo-devin/skills/expo-cicd-workflows/scripts/fetch.js +113 -0
- package/plugins/lisa-expo-devin/skills/expo-cicd-workflows/scripts/package.json +11 -0
- package/plugins/lisa-expo-devin/skills/expo-cicd-workflows/scripts/validate.js +85 -0
- package/plugins/lisa-expo-devin/skills/expo-deployment/SKILL.md +193 -0
- package/plugins/lisa-expo-devin/skills/expo-deployment/references/app-store-metadata.md +479 -0
- package/plugins/lisa-expo-devin/skills/expo-deployment/references/ios-app-store.md +355 -0
- package/plugins/lisa-expo-devin/skills/expo-deployment/references/play-store.md +264 -0
- package/plugins/lisa-expo-devin/skills/expo-deployment/references/testflight.md +58 -0
- package/plugins/lisa-expo-devin/skills/expo-deployment/references/workflows.md +200 -0
- package/plugins/lisa-expo-devin/skills/expo-dev-client/SKILL.md +164 -0
- package/plugins/lisa-expo-devin/skills/expo-env-config/SKILL.md +309 -0
- package/plugins/lisa-expo-devin/skills/expo-env-config/references/validation-patterns.md +417 -0
- package/plugins/lisa-expo-devin/skills/expo-module/SKILL.md +141 -0
- package/plugins/lisa-expo-devin/skills/expo-module/references/config-plugin.md +90 -0
- package/plugins/lisa-expo-devin/skills/expo-module/references/create-expo-module.md +206 -0
- package/plugins/lisa-expo-devin/skills/expo-module/references/lifecycle.md +127 -0
- package/plugins/lisa-expo-devin/skills/expo-module/references/module-config.md +48 -0
- package/plugins/lisa-expo-devin/skills/expo-module/references/native-module.md +286 -0
- package/plugins/lisa-expo-devin/skills/expo-module/references/native-view.md +171 -0
- package/plugins/lisa-expo-devin/skills/expo-router-best-practices/SKILL.md +432 -0
- package/plugins/lisa-expo-devin/skills/expo-router-best-practices/references/official-docs.md +290 -0
- package/plugins/lisa-expo-devin/skills/expo-router-best-practices/references/static-export-verification.md +54 -0
- package/plugins/lisa-expo-devin/skills/expo-router-best-practices/scripts/generate-route.py +171 -0
- package/plugins/lisa-expo-devin/skills/expo-tailwind-setup/SKILL.md +487 -0
- package/plugins/lisa-expo-devin/skills/expo-ui-jetpack-compose/SKILL.md +40 -0
- package/plugins/lisa-expo-devin/skills/expo-ui-swift-ui/SKILL.md +39 -0
- package/plugins/lisa-expo-devin/skills/gluestack-nativewind/SKILL.md +419 -0
- package/plugins/lisa-expo-devin/skills/gluestack-nativewind/references/color-tokens.md +343 -0
- package/plugins/lisa-expo-devin/skills/gluestack-nativewind/references/component-mapping.md +307 -0
- package/plugins/lisa-expo-devin/skills/gluestack-nativewind/references/spacing-scale.md +300 -0
- package/plugins/lisa-expo-devin/skills/gluestack-nativewind/scripts/test_validate_styling.py +240 -0
- package/plugins/lisa-expo-devin/skills/gluestack-nativewind/scripts/validate_styling.py +424 -0
- package/plugins/lisa-expo-devin/skills/jira-add-journey/SKILL.md +140 -0
- package/plugins/lisa-expo-devin/skills/jira-create/SKILL.md +161 -0
- package/plugins/lisa-expo-devin/skills/jira-evidence/SKILL.md +84 -0
- package/plugins/lisa-expo-devin/skills/jira-evidence/scripts/post-evidence.sh +262 -0
- package/plugins/lisa-expo-devin/skills/jira-journey/SKILL.md +196 -0
- package/plugins/lisa-expo-devin/skills/jira-journey/scripts/generate-templates.py +281 -0
- package/plugins/lisa-expo-devin/skills/jira-journey/scripts/parse-plan.py +400 -0
- package/plugins/lisa-expo-devin/skills/jira-verify/SKILL.md +27 -0
- package/plugins/lisa-expo-devin/skills/local-state/SKILL.md +362 -0
- package/plugins/lisa-expo-devin/skills/local-state/references/async-storage.md +505 -0
- package/plugins/lisa-expo-devin/skills/local-state/references/persistence-patterns.md +711 -0
- package/plugins/lisa-expo-devin/skills/local-state/references/reactive-variables.md +446 -0
- package/plugins/lisa-expo-devin/skills/maestro-mcp-setup/SKILL.md +144 -0
- package/plugins/lisa-expo-devin/skills/native-data-fetching/SKILL.md +507 -0
- package/plugins/lisa-expo-devin/skills/native-data-fetching/references/expo-router-loaders.md +344 -0
- package/plugins/lisa-expo-devin/skills/ops-browser-uat/SKILL.md +124 -0
- package/plugins/lisa-expo-devin/skills/ops-check-logs/SKILL.md +217 -0
- package/plugins/lisa-expo-devin/skills/ops-db-ops/SKILL.md +214 -0
- package/plugins/lisa-expo-devin/skills/ops-deploy/SKILL.md +123 -0
- package/plugins/lisa-expo-devin/skills/ops-monitor-errors/SKILL.md +99 -0
- package/plugins/lisa-expo-devin/skills/ops-performance/SKILL.md +165 -0
- package/plugins/lisa-expo-devin/skills/ops-run-local/SKILL.md +169 -0
- package/plugins/lisa-expo-devin/skills/ops-verify-health/SKILL.md +101 -0
- package/plugins/lisa-expo-devin/skills/owasp-zap/SKILL.md +61 -0
- package/plugins/lisa-expo-devin/skills/play-store-access/SKILL.md +226 -0
- package/plugins/lisa-expo-devin/skills/playwright-ci-debugging/SKILL.md +140 -0
- package/plugins/lisa-expo-devin/skills/playwright-selectors/SKILL.md +496 -0
- package/plugins/lisa-expo-devin/skills/reduce-complexity/SKILL.md +251 -0
- package/plugins/lisa-expo-devin/skills/reduce-complexity/references/extraction-strategies.md +456 -0
- package/plugins/lisa-expo-devin/skills/reduce-complexity/references/refactoring-patterns.md +557 -0
- package/plugins/lisa-expo-devin/skills/testing-library/SKILL.md +314 -0
- package/plugins/lisa-expo-devin/skills/testing-library/references/async-patterns.md +420 -0
- package/plugins/lisa-expo-devin/skills/testing-library/references/expo-router-testing.md +556 -0
- package/plugins/lisa-expo-devin/skills/testing-library/references/mocking-patterns.md +612 -0
- package/plugins/lisa-expo-devin/skills/testing-library/references/query-priority.md +291 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/SKILL.md +134 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/native-tabs.md +124 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/new-architecture.md +79 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/react-19.md +79 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/react-compiler.md +59 -0
- package/plugins/lisa-expo-devin/skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
- package/plugins/lisa-expo-devin/skills/use-dom/SKILL.md +417 -0
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-harper-fabric-devin/generated-artifact-globs.txt +5 -0
- package/plugins/lisa-harper-fabric-devin/hooks/block-generated-artifact-edits.sh +141 -0
- package/plugins/lisa-harper-fabric-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-harper-fabric-devin/hooks/enforce-config-extensions.mjs +196 -0
- package/plugins/lisa-harper-fabric-devin/hooks/enforce-config-extensions.sh +46 -0
- package/plugins/lisa-harper-fabric-devin/hooks/inject-rules.sh +27 -0
- package/plugins/lisa-harper-fabric-devin/hooks.json +36 -0
- package/plugins/lisa-harper-fabric-devin/rules/eager/harper-fabric.md +31 -0
- package/plugins/lisa-harper-fabric-devin/rules/reference/harper-fabric.md +52 -0
- package/plugins/lisa-harper-fabric-devin/skills/e2e-coverage-gaps/SKILL.md +117 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-auth/SKILL.md +368 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-build-and-deploy/SKILL.md +198 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-caching/SKILL.md +265 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-component-model/SKILL.md +87 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-config-yaml/SKILL.md +283 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-operations/SKILL.md +239 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-realtime/SKILL.md +187 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-resources/SKILL.md +142 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-rest-queries/SKILL.md +403 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-schema-graphql/SKILL.md +123 -0
- package/plugins/lisa-harper-fabric-devin/skills/harper-testing/SKILL.md +254 -0
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-nestjs-devin/hooks/block-migration-edits.sh +125 -0
- package/plugins/lisa-nestjs-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-nestjs-devin/hooks/lisa-edit-gate.sh +152 -0
- package/plugins/lisa-nestjs-devin/hooks.json +15 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-graphql/SKILL.md +176 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-graphql/references/advanced-features.md +527 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-graphql/references/project-patterns.md +531 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-graphql/references/quick-start.md +257 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-graphql/references/resolvers-mutations.md +413 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-graphql/references/types-scalars.md +513 -0
- package/plugins/lisa-nestjs-devin/skills/nestjs-rules/SKILL.md +560 -0
- package/plugins/lisa-nestjs-devin/skills/typeorm-patterns/SKILL.md +275 -0
- package/plugins/lisa-nestjs-devin/skills/typeorm-patterns/references/configuration-patterns.md +487 -0
- package/plugins/lisa-nestjs-devin/skills/typeorm-patterns/references/entity-patterns.md +450 -0
- package/plugins/lisa-nestjs-devin/skills/typeorm-patterns/references/observability-patterns.md +536 -0
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +8 -0
- package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-openclaw-devin/skills/lisa-openclaw-connect-repo-topic/SKILL.md +163 -0
- package/plugins/lisa-openclaw-devin/skills/lisa-openclaw-connect-repo-topic/references/repo-topic-config.md +185 -0
- package/plugins/lisa-openclaw-devin/skills/lisa-openclaw-connect-staff/SKILL.md +175 -0
- package/plugins/lisa-openclaw-devin/skills/lisa-openclaw-connect-staff/references/platform-routing.md +123 -0
- package/plugins/lisa-openclaw-devin/skills/lisa-openclaw-connect-staff/references/prompts.md +78 -0
- package/plugins/lisa-openclaw-devin/skills/lisa-openclaw-setup/SKILL.md +141 -0
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-phaser-devin/agents/accessibility-advocate.md +55 -0
- package/plugins/lisa-phaser-devin/agents/art-director.md +90 -0
- package/plugins/lisa-phaser-devin/agents/audio-director.md +65 -0
- package/plugins/lisa-phaser-devin/agents/combat-designer.md +61 -0
- package/plugins/lisa-phaser-devin/agents/economy-designer.md +59 -0
- package/plugins/lisa-phaser-devin/agents/game-designer.md +62 -0
- package/plugins/lisa-phaser-devin/agents/game-feel-specialist.md +56 -0
- package/plugins/lisa-phaser-devin/agents/level-designer.md +59 -0
- package/plugins/lisa-phaser-devin/agents/localization-manager.md +61 -0
- package/plugins/lisa-phaser-devin/agents/marketing-strategist.md +59 -0
- package/plugins/lisa-phaser-devin/agents/monetization-designer.md +59 -0
- package/plugins/lisa-phaser-devin/agents/narrative-designer.md +56 -0
- package/plugins/lisa-phaser-devin/agents/onboarding-advocate.md +59 -0
- package/plugins/lisa-phaser-devin/agents/player-advocate.md +57 -0
- package/plugins/lisa-phaser-devin/agents/producer.md +61 -0
- package/plugins/lisa-phaser-devin/agents/product-analyst.md +62 -0
- package/plugins/lisa-phaser-devin/agents/publisher.md +59 -0
- package/plugins/lisa-phaser-devin/agents/qa-playtester.md +57 -0
- package/plugins/lisa-phaser-devin/agents/target-player.md +52 -0
- package/plugins/lisa-phaser-devin/agents/ux-ui-designer.md +60 -0
- package/plugins/lisa-phaser-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-phaser-devin/hooks/inject-rules.sh +27 -0
- package/plugins/lisa-phaser-devin/hooks.json +14 -0
- package/plugins/lisa-phaser-devin/rules/eager/phaser.md +44 -0
- package/plugins/lisa-phaser-devin/rules/reference/phaser.md +184 -0
- package/plugins/lisa-phaser-devin/skills/phaser-accessibility/SKILL.md +135 -0
- package/plugins/lisa-phaser-devin/skills/phaser-asset-pipeline/SKILL.md +222 -0
- package/plugins/lisa-phaser-devin/skills/phaser-asset-sourcing/SKILL.md +151 -0
- package/plugins/lisa-phaser-devin/skills/phaser-build-deploy/SKILL.md +153 -0
- package/plugins/lisa-phaser-devin/skills/phaser-i18n/SKILL.md +122 -0
- package/plugins/lisa-phaser-devin/skills/phaser-project-structure/SKILL.md +89 -0
- package/plugins/lisa-phaser-devin/skills/phaser-services/SKILL.md +208 -0
- package/plugins/lisa-phaser-devin/skills/phaser-testing/SKILL.md +192 -0
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-rails-devin/agents/ops-specialist.md +226 -0
- package/plugins/lisa-rails-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-rails-devin/hooks/inject-rules.sh +40 -0
- package/plugins/lisa-rails-devin/hooks/lisa-edit-gate.sh +152 -0
- package/plugins/lisa-rails-devin/hooks/rubocop-on-edit.sh +101 -0
- package/plugins/lisa-rails-devin/hooks/sg-scan-on-edit.sh +97 -0
- package/plugins/lisa-rails-devin/hooks.json +29 -0
- package/plugins/lisa-rails-devin/rules/eager/rails-conventions.md +23 -0
- package/plugins/lisa-rails-devin/rules/reference/rails-conventions.md +176 -0
- package/plugins/lisa-rails-devin/skills/action-controller-best-practices/SKILL.md +374 -0
- package/plugins/lisa-rails-devin/skills/action-view-best-practices/SKILL.md +335 -0
- package/plugins/lisa-rails-devin/skills/active-record-model-best-practices/SKILL.md +166 -0
- package/plugins/lisa-rails-devin/skills/e2e-coverage-gaps/SKILL.md +117 -0
- package/plugins/lisa-rails-devin/skills/fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-rails-devin/skills/improve-code-complexity/SKILL.md +51 -0
- package/plugins/lisa-rails-devin/skills/improve-max-lines/SKILL.md +46 -0
- package/plugins/lisa-rails-devin/skills/improve-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-rails-devin/skills/improve-test-coverage/SKILL.md +48 -0
- package/plugins/lisa-rails-devin/skills/jira-add-journey/SKILL.md +79 -0
- package/plugins/lisa-rails-devin/skills/jira-create/SKILL.md +100 -0
- package/plugins/lisa-rails-devin/skills/jira-evidence/SKILL.md +76 -0
- package/plugins/lisa-rails-devin/skills/jira-evidence/scripts/post-evidence.sh +262 -0
- package/plugins/lisa-rails-devin/skills/jira-journey/SKILL.md +65 -0
- package/plugins/lisa-rails-devin/skills/jira-verify/SKILL.md +26 -0
- package/plugins/lisa-rails-devin/skills/ops-check-logs/SKILL.md +191 -0
- package/plugins/lisa-rails-devin/skills/ops-deploy/SKILL.md +153 -0
- package/plugins/lisa-rails-devin/skills/ops-run-local/SKILL.md +169 -0
- package/plugins/lisa-rails-devin/skills/ops-verify-jobs/SKILL.md +157 -0
- package/plugins/lisa-rails-devin/skills/ops-verify-telemetry/SKILL.md +226 -0
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +11 -0
- package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-typescript-devin/hooks/block-suppress-directives.sh +141 -0
- package/plugins/lisa-typescript-devin/hooks/devin-tool-name-shim.sh +30 -0
- package/plugins/lisa-typescript-devin/hooks/format-on-edit.sh +102 -0
- package/plugins/lisa-typescript-devin/hooks/lint-on-edit.sh +117 -0
- package/plugins/lisa-typescript-devin/hooks/lisa-edit-gate.sh +152 -0
- package/plugins/lisa-typescript-devin/hooks/sg-scan-on-edit.sh +94 -0
- package/plugins/lisa-typescript-devin/hooks.json +34 -0
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +8 -0
- package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +8 -0
- package/plugins/lisa-wiki-devin/ci/lisa-wiki-validate.yml +33 -0
- package/plugins/lisa-wiki-devin/schema/lisa-wiki-config.schema.json +162 -0
- package/plugins/lisa-wiki-devin/schema/wiki-structure.schema.json +51 -0
- package/plugins/lisa-wiki-devin/scripts/_wiki-lib.mjs +204 -0
- package/plugins/lisa-wiki-devin/scripts/diff-guard.mjs +117 -0
- package/plugins/lisa-wiki-devin/scripts/ensure-gitignore.mjs +131 -0
- package/plugins/lisa-wiki-devin/scripts/ensure-wiki.mjs +268 -0
- package/plugins/lisa-wiki-devin/scripts/ingest-git.mjs +198 -0
- package/plugins/lisa-wiki-devin/scripts/ingest-memory.mjs +135 -0
- package/plugins/lisa-wiki-devin/scripts/ingest-roles.mjs +95 -0
- package/plugins/lisa-wiki-devin/scripts/ingest_slack_channel.py +361 -0
- package/plugins/lisa-wiki-devin/scripts/lib/bounded-child.mjs +159 -0
- package/plugins/lisa-wiki-devin/scripts/lint-wiki.mjs +513 -0
- package/plugins/lisa-wiki-devin/scripts/mcp-doctor.mjs +72 -0
- package/plugins/lisa-wiki-devin/scripts/render-contract.mjs +107 -0
- package/plugins/lisa-wiki-devin/scripts/rewrite-refs.mjs +144 -0
- package/plugins/lisa-wiki-devin/scripts/slack_oauth_user.py +179 -0
- package/plugins/lisa-wiki-devin/scripts/validate-config.mjs +321 -0
- package/plugins/lisa-wiki-devin/scripts/verify-migration.mjs +203 -0
- package/plugins/lisa-wiki-devin/scripts/verify-wiki-safety.mjs +126 -0
- package/plugins/lisa-wiki-devin/scripts/wiki-safety.mjs +378 -0
- package/plugins/lisa-wiki-devin/scripts/wiki-status.mjs +345 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-add-role/SKILL.md +35 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-git/SKILL.md +25 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-connector-web/SKILL.md +23 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-doctor/SKILL.md +47 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-ingest/SKILL.md +106 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-lint/SKILL.md +32 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-migrate/SKILL.md +43 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-query/SKILL.md +40 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-setup/SKILL.md +75 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-setup-automations/SKILL.md +83 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-status/SKILL.md +47 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-tear-down-automations/SKILL.md +34 -0
- package/plugins/lisa-wiki-devin/skills/lisa-wiki-usage/SKILL.md +50 -0
- package/plugins/lisa-wiki-devin/templates/agents/role-agent.claude.md +16 -0
- package/plugins/lisa-wiki-devin/templates/agents/role-agent.codex.toml +15 -0
- package/plugins/lisa-wiki-devin/templates/index.md +17 -0
- package/plugins/lisa-wiki-devin/templates/llm-wiki-contract.md +72 -0
- package/plugins/lisa-wiki-devin/templates/log.md +8 -0
- package/plugins/lisa-wiki-devin/templates/page-types/architecture.md +18 -0
- package/plugins/lisa-wiki-devin/templates/page-types/concept.md +18 -0
- package/plugins/lisa-wiki-devin/templates/page-types/decision.md +18 -0
- package/plugins/lisa-wiki-devin/templates/page-types/entity.md +19 -0
- package/plugins/lisa-wiki-devin/templates/page-types/open-question.md +18 -0
- package/plugins/lisa-wiki-devin/templates/page-types/playbook.md +18 -0
- package/plugins/lisa-wiki-devin/templates/page-types/project.md +19 -0
- package/plugins/lisa-wiki-devin/templates/page-types/requirement.md +19 -0
- package/plugins/lisa-wiki-devin/templates/page-types/staff.md +26 -0
- package/plugins/lisa-wiki-devin/templates/start-here.md +24 -0
- package/plugins/lisa-wiki-devin/templates/state-readme.md +20 -0
- package/plugins/lisa-wiki-devin/templates/wrapper-gitignore.txt +19 -0
- package/scripts/build-plugins.sh +2 -2
- package/scripts/deployed-guard-advice.mjs +1 -0
- package/scripts/generate-devin-plugin-artifacts.mjs +263 -0
- package/scripts/lib/hook-registration-audit.mjs +3 -1
- package/scripts/lib/per-agent-hook-filter.mjs +174 -5
- package/scripts/lib/plugin-rule-citations.mjs +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-add-ingest
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-add-ingest
|
|
7
|
+
|
|
8
|
+
Generate a thin, project-local front-door ingest skill so a project can extend ingestion **without
|
|
9
|
+
forking** the kernel. The front-door does only the unique part, then hands enriched parameters to
|
|
10
|
+
`/ingest`.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
1. **Interview** the project: a short name; what the source is; which `wiki/sources/<sourceSystem>/`
|
|
14
|
+
bucket and page type/frontmatter it should produce; whether it merely *enriches/classifies* an
|
|
15
|
+
input or also *fetches* from an external system; and its **side-effect class**
|
|
16
|
+
(`read-only-ingest` | `repo-write` | `external-write`).
|
|
17
|
+
2. **Generate** the front-door skill on both runtimes —
|
|
18
|
+
`.claude/skills/lisa-wiki-local-<name>/SKILL.md` and `.agents/skills/lisa-wiki-local-<name>/SKILL.md`.
|
|
19
|
+
Its body does the unique step, then **delegates to the `lisa-wiki-ingest` skill** (Claude facade
|
|
20
|
+
`/ingest`) passing the bucket/type/metadata. If it fetches, it writes only a sanitized source note
|
|
21
|
+
(+ run metadata) and lets the kernel do synthesis/index/log/verify/state/PR.
|
|
22
|
+
3. **Register** it in `wiki/lisa-wiki.config.json` under `customConnectors`
|
|
23
|
+
(`{ name, skill, sourceSystem, stateFile, sideEffects }`). `/ingest` dispatches **only** to
|
|
24
|
+
registered names — no auto-discovery.
|
|
25
|
+
|
|
26
|
+
## Rules (the front-door contract)
|
|
27
|
+
- A generated front-door writes **only** its source note + run metadata. It must not write synthesis
|
|
28
|
+
pages, `index.md`, `log.md`, or final state — the kernel does those, in order, after it returns.
|
|
29
|
+
- `external-write` front-doors require config opt-in **and** explicit per-run intent, and their PRs
|
|
30
|
+
never auto-merge.
|
|
31
|
+
- Side effects outside the declared class are a hard failure (enforced by the touched-file guard).
|
|
32
|
+
|
|
33
|
+
## Related
|
|
34
|
+
`lisa-wiki-ingest` (what it chains into), `lisa-wiki-add-role`, `lisa-wiki-doctor`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-add-role
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-add-role
|
|
7
|
+
|
|
8
|
+
Turn a role definition into two generated artifacts: a documentation page in the wiki and a runnable,
|
|
9
|
+
brain-pointed subagent on both runtimes. **Running the subagent (invocation, scheduling, Telegram /
|
|
10
|
+
agent-team routing, private notebooks) is out of scope** — this skill only creates it.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
1. **Resolve the role** from a `config.staff[]` entry (or interview to add one): `id`, `role`,
|
|
14
|
+
`expertise`, `owns` (categories / connectors / skills), `sensitivity`.
|
|
15
|
+
2. **Doc page:** generate `wiki/staff/<id>.md` describing the role, its owned domain, and who it
|
|
16
|
+
reports to. This page is wiki content and is itself ingestible (the `roles` connector).
|
|
17
|
+
3. **Subagents (dual-runtime), rendered from the role-agent templates:**
|
|
18
|
+
- Claude: `.claude/agents/<id>.md`.
|
|
19
|
+
- Codex: `.codex/agents/<id>.toml` (keys `name`, `description`, `developer_instructions`; optional
|
|
20
|
+
`model`, `model_reasoning_effort`, `sandbox_mode`).
|
|
21
|
+
4. **Brain-pointed, not baked:** the subagent's instructions say *"your domain is `wiki/<owned>/`;
|
|
22
|
+
`/query` it first, contribute via `/ingest`; stay in your lane."* It points at the live wiki so it
|
|
23
|
+
never goes stale. Only its one-line `description` is synthesized from the wiki at generation time.
|
|
24
|
+
5. **Serialize the description before rendering:** derive `roleDescriptionSerialized` with
|
|
25
|
+
`JSON.stringify(roleDescription)` or an exact equivalent that emits one JSON string literal on one
|
|
26
|
+
physical line. Substitute that serialized literal, including its surrounding quotes, directly for
|
|
27
|
+
`{{roleDescriptionSerialized}}` in both templates. Do not add another layer of quotes. This keeps
|
|
28
|
+
colon-space sequences, quotes, backslashes, and runtime newlines exact in both YAML and TOML.
|
|
29
|
+
|
|
30
|
+
## Rules
|
|
31
|
+
- v1 instructs lane-keeping but does not *enforce* per-role write isolation (deferred).
|
|
32
|
+
- Setup seeds the starter roster by delegating here per `config.staff[]` entry.
|
|
33
|
+
|
|
34
|
+
## Related
|
|
35
|
+
`lisa-wiki-setup` (seeds the roster), `lisa-wiki-add-ingest`, `lisa-wiki-onboard-me`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-confluence
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-confluence
|
|
7
|
+
|
|
8
|
+
Skill-driven connector (Atlassian MCP). Writes ONLY source notes under `wiki/sources/confluence/` and
|
|
9
|
+
emits a proposed cursor; the kernel does the rest.
|
|
10
|
+
|
|
11
|
+
## Flow
|
|
12
|
+
1. Confirm `connectors.confluence.enabled` and `sideEffects: read-only-ingest`.
|
|
13
|
+
2. **Tenant guard:** verify the Atlassian connection matches `connectors.confluence.tenantGuard`
|
|
14
|
+
(same site/cloudId discipline as jira). Abort on mismatch.
|
|
15
|
+
3. **Window:** read `wiki/state/confluence/*.json`. First run → configured window; incremental →
|
|
16
|
+
pages updated since the cursor. Scope to the configured spaces.
|
|
17
|
+
4. **Fetch (read-only)** page content + metadata via the Atlassian MCP. Never edit Confluence.
|
|
18
|
+
5. **Write source notes** under `wiki/sources/confluence/<YYYY-MM-DD>-confluence-ingest.md` with
|
|
19
|
+
frontmatter and citations (`Source: <space>/<page>`). Redact secrets; honor retention/sensitivity.
|
|
20
|
+
6. **Emit run metadata** (proposed cursor, counts) to the handoff file; return to `lisa-wiki-ingest`.
|
|
21
|
+
|
|
22
|
+
## Rules
|
|
23
|
+
- Abort on tenant mismatch; do not invent pages/decisions; weak evidence → open-questions.
|
|
24
|
+
- Disabled if the Atlassian MCP is absent (`scripts/mcp-doctor.mjs`).
|
|
25
|
+
- Writes only source notes + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-docs
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-docs
|
|
7
|
+
|
|
8
|
+
Skill-driven connector. Converts a local document to markdown using whatever converter is available,
|
|
9
|
+
writes a source note, and hands off; the kernel does the rest.
|
|
10
|
+
|
|
11
|
+
## Converters (no bundled heavy dependency)
|
|
12
|
+
- **Markdown / text**: ingest directly.
|
|
13
|
+
- **PDF**: `pdftotext` (Poppler) if available, else `pandoc`.
|
|
14
|
+
- **DOCX**: `pandoc` if available, else `textutil` (macOS).
|
|
15
|
+
If no suitable converter is installed, **skip that source and record a `docs` doctor finding** (the
|
|
16
|
+
file could not be converted) so the user can install a converter — a targeted `/ingest <file>` reports
|
|
17
|
+
the skip rather than pretending success. Missing converters are connector-specific, never a
|
|
18
|
+
plugin-install blocker.
|
|
19
|
+
|
|
20
|
+
## Flow
|
|
21
|
+
1. Confirm `connectors.docs.enabled` and `sideEffects: read-only-ingest`.
|
|
22
|
+
2. Resolve the input file; pick the converter by extension; convert to markdown (read-only).
|
|
23
|
+
3. Write a source note under `wiki/sources/docs/<YYYY-MM-DD>-<slug>.md` with frontmatter
|
|
24
|
+
(`type: source`, dates, `source_system: docs`, original filename) and the converted, reader-safe
|
|
25
|
+
text. Redact secrets; honor `sourceRetention`/`sensitivity`.
|
|
26
|
+
4. Emit run metadata (source-note path) to the handoff file; return to `lisa-wiki-ingest`.
|
|
27
|
+
|
|
28
|
+
## Rules
|
|
29
|
+
- Read-only on the source document; never modify the original.
|
|
30
|
+
- Writes only the source note + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-git
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-git
|
|
7
|
+
|
|
8
|
+
A universal, deterministic connector backed by `scripts/ingest-git.mjs`. It writes ONLY a source note
|
|
9
|
+
under `wiki/sources/git/` (or a per-project path) and emits a proposed cursor; the kernel performs
|
|
10
|
+
synthesis/index/log/verify/state/PR.
|
|
11
|
+
|
|
12
|
+
## Flow
|
|
13
|
+
1. Confirm `connectors.git` is enabled and `read-only-ingest`.
|
|
14
|
+
2. For the self repo (and each registered project under `projects/`), run:
|
|
15
|
+
```
|
|
16
|
+
node "${PLUGIN_ROOT}/scripts/ingest-git.mjs" --repo <path> --slug <name> \
|
|
17
|
+
--config wiki/lisa-wiki.config.json --source-dir wiki/sources/git \
|
|
18
|
+
--state wiki/state/git/<slug>.json --emit-meta wiki/state/handoff/git-<slug>-<runId>.json
|
|
19
|
+
```
|
|
20
|
+
3. Hand the emitted source-note paths + proposed cursor back to `lisa-wiki-ingest`.
|
|
21
|
+
|
|
22
|
+
## Rules
|
|
23
|
+
- Read-only: only `git log`/`rev-parse`/`gh pr list` against the repo; never checkout/fetch/reset/pull.
|
|
24
|
+
- In wrapper/standalone mode, the registered child repos are read-only inputs and are never staged.
|
|
25
|
+
- Writes only its source note + handoff meta; the kernel advances `wiki/state/git/<slug>.json`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-jira
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-jira
|
|
7
|
+
|
|
8
|
+
Skill-driven connector (Atlassian MCP). Writes ONLY source notes under `wiki/sources/jira/` and emits
|
|
9
|
+
a proposed cursor; the kernel does synthesis/index/log/verify/state/PR.
|
|
10
|
+
|
|
11
|
+
## Flow
|
|
12
|
+
1. Confirm `connectors.jira.enabled` and `sideEffects: read-only-ingest`.
|
|
13
|
+
2. **Tenant guard:** verify the active Atlassian connection resolves to
|
|
14
|
+
`connectors.jira.tenantGuard.site` / `cloudId`. If it resolves to a different account/tenant,
|
|
15
|
+
**abort** (do not ingest) — this is the cross-tenant contamination guard.
|
|
16
|
+
3. **Window:** read `wiki/state/jira/*.json`. First run → last 4 months (or configured window);
|
|
17
|
+
incremental → issues `updated >=` the cursor watermark. Scope to `connectors.jira.projects[]`.
|
|
18
|
+
4. **Fetch (read-only)** via the Atlassian MCP (JQL search + issue read). Never write to JIRA.
|
|
19
|
+
5. **Write source notes** under `wiki/sources/jira/<YYYY-MM-DD>-jira-ingest.md` — reader-safe, with
|
|
20
|
+
frontmatter (`type: source`, dates, `source_system: jira`) and citations (`Source: <issue key>`).
|
|
21
|
+
Redact secrets; honor `sourceRetention`/`sensitivity`.
|
|
22
|
+
6. **Emit run metadata** (proposed cursor: latest `updated` watermark, counts) to the handoff file,
|
|
23
|
+
then return to `lisa-wiki-ingest`.
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
- Abort on tenant mismatch; never invent issues/PRs/people; weak evidence → open-questions.
|
|
27
|
+
- If the Atlassian MCP is absent, the connector is disabled (see `scripts/mcp-doctor.mjs`).
|
|
28
|
+
- Writes only source notes + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-memory
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-memory
|
|
7
|
+
|
|
8
|
+
A universal connector backed by `scripts/ingest-memory.mjs`. **Project-scoped only.**
|
|
9
|
+
|
|
10
|
+
## Resolve the memory directory (then pass it explicitly)
|
|
11
|
+
- **Claude**: per-project memory at `~/.claude/projects/<encoded-project-path>/memory/` — inherently
|
|
12
|
+
project-scoped; always eligible.
|
|
13
|
+
- **Codex**: eligible ONLY if a project-scoped memory store exists (e.g. a per-project `CODEX_HOME`).
|
|
14
|
+
The global `~/.codex/memories/` and the Chronicle store are **never** ingested (the script
|
|
15
|
+
hard-refuses them).
|
|
16
|
+
|
|
17
|
+
## Flow
|
|
18
|
+
```
|
|
19
|
+
node "${PLUGIN_ROOT}/scripts/ingest-memory.mjs" --memory-dir <project-scoped-dir> \
|
|
20
|
+
--config wiki/lisa-wiki.config.json --source-dir wiki/sources/memory \
|
|
21
|
+
--state wiki/state/memory/memory.json --emit-meta wiki/state/handoff/memory-<runId>.json
|
|
22
|
+
```
|
|
23
|
+
Hand the source note + proposed cursor back to `lisa-wiki-ingest`.
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
- Secrets are redacted; sensitivity is at least `internal`.
|
|
27
|
+
- If no project-scoped memory exists, ingest nothing rather than reaching for global memory.
|
|
28
|
+
- Writes only its source note + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-notion
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-notion
|
|
7
|
+
|
|
8
|
+
Skill-driven connector (Notion MCP). Writes ONLY source notes under `wiki/sources/notion/` and emits a
|
|
9
|
+
proposed cursor; the kernel does the rest.
|
|
10
|
+
|
|
11
|
+
## Flow
|
|
12
|
+
1. Confirm `connectors.notion.enabled` and `sideEffects: read-only-ingest`.
|
|
13
|
+
2. **Tenant guard:** verify the Notion connection resolves to
|
|
14
|
+
`connectors.notion.tenantGuard.teamspace` / `teamspaceId`. Abort on a different workspace/teamspace.
|
|
15
|
+
3. **Window:** read `wiki/state/notion/*.json`. First run → configured window; incremental → pages
|
|
16
|
+
edited since the cursor.
|
|
17
|
+
4. **Fetch (read-only)** via the Notion MCP. Never edit Notion.
|
|
18
|
+
5. **Write source notes** under `wiki/sources/notion/<YYYY-MM-DD>-notion-ingest.md` with frontmatter
|
|
19
|
+
and citations (`Source: <notion page>`). Redact secrets; honor retention/sensitivity.
|
|
20
|
+
6. **Emit run metadata** (proposed cursor, counts) to the handoff file; return to `lisa-wiki-ingest`.
|
|
21
|
+
|
|
22
|
+
## Rules
|
|
23
|
+
- Abort on teamspace mismatch; do not invent pages; weak evidence → open-questions.
|
|
24
|
+
- Disabled if the Notion MCP is absent (`scripts/mcp-doctor.mjs`).
|
|
25
|
+
- Writes only source notes + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-roles
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-roles
|
|
7
|
+
|
|
8
|
+
A universal, deterministic connector backed by `scripts/ingest-roles.mjs`. It captures the roster so
|
|
9
|
+
the wiki documents its own digital staff.
|
|
10
|
+
|
|
11
|
+
## Flow
|
|
12
|
+
```
|
|
13
|
+
node "${PLUGIN_ROOT}/scripts/ingest-roles.mjs" --config wiki/lisa-wiki.config.json \
|
|
14
|
+
--wiki wiki --source-dir wiki/sources/roles \
|
|
15
|
+
--state wiki/state/roles/roles.json --emit-meta wiki/state/handoff/roles-<runId>.json
|
|
16
|
+
```
|
|
17
|
+
Hand the source note + proposed cursor back to `lisa-wiki-ingest`.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
- Reads `config.staff[]` and `wiki/staff/*.md` only; never invokes/schedules the role subagents
|
|
21
|
+
(that is out of scope — see lisa-wiki-add-role).
|
|
22
|
+
- Writes only its source note + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-slack
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-slack
|
|
7
|
+
|
|
8
|
+
The centralized Slack connector backed by `scripts/slack_oauth_user.py` (one-time OAuth) and
|
|
9
|
+
`scripts/ingest_slack_channel.py` (ingest). These are the stdlib-Python scripts previously duplicated
|
|
10
|
+
verbatim across projects, now shipped once by the plugin.
|
|
11
|
+
|
|
12
|
+
## Side effects — `external-write`
|
|
13
|
+
Slack OAuth opens a browser and writes a user-token file to a local secrets path. The slack connector
|
|
14
|
+
is therefore `external-write`: it runs ONLY with config opt-in **and** explicit per-run intent, is
|
|
15
|
+
skipped during an unattended full ingest, and its PR never auto-merges.
|
|
16
|
+
|
|
17
|
+
## Flow
|
|
18
|
+
1. One-time auth (explicit): `python3 "${PLUGIN_ROOT}/scripts/slack_oauth_user.py"` — stores a
|
|
19
|
+
`xoxp-` user token under an ignored secrets path. The token file is never committed.
|
|
20
|
+
2. Ingest: `python3 "${PLUGIN_ROOT}/scripts/ingest_slack_channel.py" --channel <id-or-name> \
|
|
21
|
+
--config wiki/lisa-wiki.config.json --emit-meta wiki/state/handoff/slack-<runId>.json` — verifies
|
|
22
|
+
the Slack tenant against config, then writes sanitized source notes under `wiki/sources/slack/`
|
|
23
|
+
(tokens/keys redacted) and emits a **proposed** cursor to the handoff file.
|
|
24
|
+
3. Hand the source notes + handoff meta back to `lisa-wiki-ingest` (the kernel advances final state
|
|
25
|
+
after verification).
|
|
26
|
+
|
|
27
|
+
## Rules
|
|
28
|
+
- Verify the Slack team/tenant matches config before ingesting.
|
|
29
|
+
- Token/OAuth artifacts stay in `.gitignore` and are never committed.
|
|
30
|
+
- Writes only Slack source notes; the kernel performs synthesis/index/log/verify/PR.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-connector-web
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-connector-web
|
|
7
|
+
|
|
8
|
+
Skill-driven connector. Fetches a public URL (WebFetch / equivalent), reduces it to a reader-safe
|
|
9
|
+
source note, and hands off; the kernel does synthesis/index/log/verify/state/PR.
|
|
10
|
+
|
|
11
|
+
## Flow
|
|
12
|
+
1. Confirm `connectors.web.enabled` and `sideEffects: read-only-ingest`.
|
|
13
|
+
2. Fetch the URL read-only (WebFetch). Do not follow suspicious cross-host redirects without care.
|
|
14
|
+
3. Write a source note under `wiki/sources/web/<YYYY-MM-DD>-<slug>.md` with frontmatter
|
|
15
|
+
(`type: source`, dates, `source_system: web`, the URL) and a faithful, reader-safe summary +
|
|
16
|
+
key excerpts. Redact secrets; honor `sourceRetention` (e.g. `external-pointer-only` keeps just the
|
|
17
|
+
URL + minimal note).
|
|
18
|
+
4. Emit run metadata (the source-note path) to the handoff file; return to `lisa-wiki-ingest`.
|
|
19
|
+
|
|
20
|
+
## Rules
|
|
21
|
+
- Read-only; never submit forms or trigger actions on the page.
|
|
22
|
+
- Do not invent content not present on the page; weak/uncertain material → open-questions.
|
|
23
|
+
- Writes only the source note + handoff meta; the kernel advances state.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-doctor
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-doctor
|
|
7
|
+
|
|
8
|
+
The post-migration / post-setup verification checklist. Orchestrates the deterministic scripts and
|
|
9
|
+
functional smoke tests, then writes `wiki/state/migration/doctor-report.json` and prints the blocking
|
|
10
|
+
items.
|
|
11
|
+
|
|
12
|
+
## Verdict
|
|
13
|
+
Each item is `PASS | WARN | FAIL | SKIP`; overall is `READY | READY_WITH_WARNINGS | NOT_READY`. In
|
|
14
|
+
hard-enforcement mode (`--migration` after phase 5) `WARN` on structure/integrity items is not
|
|
15
|
+
allowed; earlier phases allow documented legacy warnings. Build checks (group G) are Lisa/release-only
|
|
16
|
+
and `SKIP` in downstream repos.
|
|
17
|
+
|
|
18
|
+
## Checklist
|
|
19
|
+
- **A. Structure & config** (deterministic): `validate-config.mjs` + structure-manifest conformance;
|
|
20
|
+
required files present; `schemaVersion` set and rendered `kernelVersion` matches the installed
|
|
21
|
+
plugin; README mode recorded (never implicit `stub`).
|
|
22
|
+
- **B. Integrity & safety** (deterministic): `lint-wiki.mjs` + `diff-guard.mjs`; index/log coverage;
|
|
23
|
+
state-order invariant; no broken/orphan links; secret/tenant/contamination/sensitivity scans;
|
|
24
|
+
memory sources project-scoped only (no global Codex memory / Chronicle).
|
|
25
|
+
- **C. No-loss / parity**: pre/post manifest maps every legacy page/doc/command/ingest-path/role;
|
|
26
|
+
nothing dropped; docs absorption idempotent with zero dangling links; old README ingested before
|
|
27
|
+
rewrite; no leftover project-local machinery except generated overlays + role agents.
|
|
28
|
+
- **D. Runtime surfaces** (both runtimes): canonical commands resolve on Claude; `$lisa-wiki-*` on
|
|
29
|
+
Codex; each `config.staff[]` role has its doc page + both subagents; MCP doctor passes or connector
|
|
30
|
+
cleanly disabled; external-write connectors skipped unless explicit intent.
|
|
31
|
+
- **E. Functional smoke** (skill-orchestrated): targeted ingest of a small fixture exercises the full
|
|
32
|
+
ordered pipeline (in the migration branch or dry/scratch mode — **no extra PR**); `/query` returns
|
|
33
|
+
a cited answer; `/lint` clean (or expected phase warnings); `/onboard-me` completes read-mostly with
|
|
34
|
+
no PII; bare `/ingest --dry-run` lists non-external-write sources; `/doctor` rerun is idempotent.
|
|
35
|
+
- **F. Mode-specific**: embedded self-ingest at HEAD; wrapper child-docs ingested-not-moved and not
|
|
36
|
+
staged; standalone/subdir path resolution; no-PR mode does not require PR creation.
|
|
37
|
+
- **G. Git / CI / distribution** (deterministic): clean working tree (only intended changes); no
|
|
38
|
+
secrets/OAuth committed; PR/auto-merge policy honored; CI validator green if `--with-ci`; (Lisa
|
|
39
|
+
only) `bun run build:plugins` builds both artifacts and `check:plugins` passes.
|
|
40
|
+
|
|
41
|
+
## Notes
|
|
42
|
+
- Deterministic items are run by `scripts/verify-migration.mjs` (which emits the JSON report); this
|
|
43
|
+
skill adds the functional smoke tests and interprets phase-allowed warnings.
|
|
44
|
+
- Read-mostly: the smoke tests must not open an extra PR or perform external writes.
|
|
45
|
+
|
|
46
|
+
## Related
|
|
47
|
+
`lisa-wiki-migrate`, `lisa-wiki-lint`, `lisa-wiki-setup`.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-ingest
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-ingest
|
|
7
|
+
|
|
8
|
+
The single entry point for getting knowledge into the wiki. It is a **router**: it never reimplements
|
|
9
|
+
synthesis per source — it selects a connector to produce a sanitized source note, then the kernel
|
|
10
|
+
performs the shared, ordered pipeline.
|
|
11
|
+
|
|
12
|
+
## Modes
|
|
13
|
+
- **Targeted:** `/ingest <url|file|prompt>` — ingest one source. Classify the input and pick the
|
|
14
|
+
matching connector.
|
|
15
|
+
- **Full:** `/ingest` (no argument, or "do a full ingest") — iterate **every enabled connector whose
|
|
16
|
+
side-effect policy permits unattended ingest**: self + other registered projects' git/PR history,
|
|
17
|
+
project-scoped memory, roles, plus read-only registered sources (notion, jira, confluence,
|
|
18
|
+
quickbooks, …). `external-write` connectors (Slack OAuth, CRM writeback) are **skipped unless the
|
|
19
|
+
run includes explicit external-write intent**.
|
|
20
|
+
- **Dry run:** `/ingest --dry-run` — list the sources a full ingest would run; perform no writes.
|
|
21
|
+
|
|
22
|
+
## Step 0 — resolve the wiki root (once per run)
|
|
23
|
+
|
|
24
|
+
Before anything else, run the bundled resolver from the installed Lisa wiki plugin, not from the
|
|
25
|
+
consumer repository's `scripts/` directory:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
node "${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-$(npm root)/@codyswann/lisa/plugins/lisa-wiki}}}/scripts/ensure-wiki.mjs" --json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Use the returned `wikiRoot` as the base for the whole pipeline — never hardcode `wiki/`. This is
|
|
32
|
+
mode-agnostic by design:
|
|
33
|
+
|
|
34
|
+
- **Local wiki** (no `wiki.source` in `.lisa.config.json`) — resolves the in-repo wiki root instantly;
|
|
35
|
+
the branch sync below proceeds against **this** repo's remote, exactly as before.
|
|
36
|
+
- **Remote wiki** (`wiki.source.url` set) — `ensure-wiki` mirrors/refreshes the gitignored working copy
|
|
37
|
+
of the canonical wiki repo and returns its path. In this mode the "sync the branch" step below, and
|
|
38
|
+
the Commit/PR step (7), operate against the **wiki repo's own remote** (the mirror), not the host
|
|
39
|
+
project's `origin`. The host project repo is never written to.
|
|
40
|
+
|
|
41
|
+
## Before ingesting — sync the branch (once per run)
|
|
42
|
+
|
|
43
|
+
Run this **once per ingest invocation, before any source is processed** (skip for `--dry-run`, which
|
|
44
|
+
writes nothing). The point is to ingest on top of fresh state, never stale state. Operate in the wiki
|
|
45
|
+
root resolved in Step 0 — the host repo for a local wiki, the mirror for a remote one.
|
|
46
|
+
|
|
47
|
+
1. **Resolve the default remote branch** — `gh repo view --json defaultBranchRef -q .defaultBranchRef.name`,
|
|
48
|
+
or `git remote show origin | sed -n 's/.*HEAD branch: //p'`, or the `origin/HEAD` symbolic ref. If
|
|
49
|
+
the repo has no remote, note "no remote — skipping branch sync" and proceed.
|
|
50
|
+
2. **Fetch** — `git fetch <remote>` to update remote-tracking refs.
|
|
51
|
+
3. **Bring the working branch up to date with the default remote branch** so the ingest lands on
|
|
52
|
+
current state:
|
|
53
|
+
- On the default branch → fast-forward to `<remote>/<default>` (`git pull --ff-only`).
|
|
54
|
+
- On a non-default branch → merge or rebase `<remote>/<default>` in (per the project's convention)
|
|
55
|
+
so the branch is not behind the default.
|
|
56
|
+
4. If the sync cannot complete cleanly (merge conflict, diverged history, or a dirty tree that would
|
|
57
|
+
conflict), **stop and surface it** rather than ingesting on top of stale or conflicted state — the
|
|
58
|
+
human resolves and re-runs. **Never discard unrelated working-tree changes** to force a sync.
|
|
59
|
+
|
|
60
|
+
## The ordered pipeline (per source) — never reorder
|
|
61
|
+
1. **Connector** validates (tenant guard + auth), reads its state cursor (first-run vs incremental),
|
|
62
|
+
fetches read-only, and writes a sanitized **source note** under `wiki/sources/<system>/` plus run
|
|
63
|
+
metadata. A connector writes *only* its source note + metadata — never synthesis/index/log/state.
|
|
64
|
+
2. **Synthesis** (kernel): distill durable knowledge into the appropriate category pages, with
|
|
65
|
+
citations back to the source note. Weak/uncertain material → `wiki/open-questions/`, never asserted.
|
|
66
|
+
3. **Index**: update `wiki/index.md`.
|
|
67
|
+
4. **Log**: append a `wiki/log.md` entry (fixed operation vocabulary).
|
|
68
|
+
5. **Verify**: `git diff --check`, secret/tenant/contamination scans, touched-file guard.
|
|
69
|
+
6. **State**: advance the connector's `wiki/state/<system>/*.json` cursor — only now, after 1–5 pass.
|
|
70
|
+
7. **Commit/PR**: commit only the ingestion changes per `config.git` policy. If the ingest started on
|
|
71
|
+
the default branch, create a dedicated ingestion branch first — never commit ingestion straight to
|
|
72
|
+
the default. Push the branch and **open a PR targeting the default remote branch** (via the host's
|
|
73
|
+
PR mechanism — e.g. `gh pr create --base <default>`). Before enabling auto-merge, feed the safety
|
|
74
|
+
scan output into `createWikiIngestPublicationPolicy` from `scripts/wiki-safety.mjs`. Enable
|
|
75
|
+
auto-merge only when `autoMergeAllowed` is true. `external-write` runs, redacted runs, and any run
|
|
76
|
+
with sensitive findings are the exception — open the PR **without** auto-merge so a human reviews
|
|
77
|
+
them before it lands. The PR summary must include the policy's safe review summary: counts and
|
|
78
|
+
entity types only, never raw values, ranges, tokens, source snippets, or scanner output. If
|
|
79
|
+
auto-merge cannot be enabled (the host doesn't support it, branch protection forbids it, or the
|
|
80
|
+
policy requires review), leave the PR open and note that a human must merge.
|
|
81
|
+
|
|
82
|
+
## Rules
|
|
83
|
+
- **Bookend every ingest with git hygiene:** sync the branch with the default remote branch *before*
|
|
84
|
+
writing (see "Before ingesting"), and *after* a successful ingest open a PR to the default remote
|
|
85
|
+
branch with auto-merge enabled when possible — never auto-merging `external-write`/sensitive runs.
|
|
86
|
+
`--dry-run` does neither (it writes nothing).
|
|
87
|
+
- Source-note-before-synthesis; state advanced **only** after verification.
|
|
88
|
+
- Project-scoped only; memory ingestion never touches global/Codex-global stores.
|
|
89
|
+
- Respect `sourceRetention` and `sensitivity`; do not invent facts.
|
|
90
|
+
- Before advancing state or committing, run the generated-output safety gate
|
|
91
|
+
(`scripts/verify-wiki-safety.mjs`) against the wiki files/source notes produced by
|
|
92
|
+
the ingest. The default built-in scan blocks unredacted private keys, tokens, and
|
|
93
|
+
common financial/person identifiers without printing raw values. Projects may
|
|
94
|
+
select `--scanner gitleaks` for local parity with Gitleaks, and may use
|
|
95
|
+
`--scanner trufflehog` as a stricter optional verification pass when installed;
|
|
96
|
+
if a selected scanner is unavailable, keep the ingest blocked for review.
|
|
97
|
+
- Redaction and review policy is centralized in `scripts/wiki-safety.mjs`. Treat
|
|
98
|
+
`reviewRequired` or any summarized finding as a hard auto-merge stop. Use the
|
|
99
|
+
generated PR summary text as-is or preserve its shape so reviewers see entity
|
|
100
|
+
types and counts without raw sensitive values.
|
|
101
|
+
- Connector execution and the connector contract are detailed in the connector skills (M2+); this
|
|
102
|
+
router defines and enforces the ordering and side-effect rules above.
|
|
103
|
+
|
|
104
|
+
## Related
|
|
105
|
+
`lisa-wiki-add-ingest` (scaffold a custom front-door that chains here), `lisa-wiki-query`,
|
|
106
|
+
`lisa-wiki-lint`, `lisa-wiki-doctor`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-lint
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-lint
|
|
7
|
+
|
|
8
|
+
Run the wiki's integrity checks and report findings by severity. Lint is **read-only**: it diagnoses,
|
|
9
|
+
it does not repair (use `/ingest`, `/setup`, or `/migrate` to fix).
|
|
10
|
+
|
|
11
|
+
## What it checks (deterministic core via `scripts/lint-wiki.mjs`)
|
|
12
|
+
- **Frontmatter** present/valid where required (per `schema/page-frontmatter.schema.json`).
|
|
13
|
+
- **Index coverage**: every page appears in `wiki/index.md`; no index rows point at missing pages.
|
|
14
|
+
- **Log coverage**: material changes have `wiki/log.md` entries.
|
|
15
|
+
- **Links**: no broken internal links; no orphan pages (unreferenced and unlinked).
|
|
16
|
+
- **State ordering**: no state cursor advanced without its source notes + synthesis + index + log.
|
|
17
|
+
- **Structure**: files conform to `schema/wiki-structure.schema.json` (canonical locations).
|
|
18
|
+
- **Safety**: secret patterns, tenant/contamination terms, stray binaries, child-repo contents
|
|
19
|
+
staged in wrapper mode.
|
|
20
|
+
|
|
21
|
+
## What it checks (LLM-assisted)
|
|
22
|
+
- **Contradictions** between claims; **stale** claims (older than the configured staleness window);
|
|
23
|
+
**coverage gaps** vs the wiki's stated `purpose`.
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
A report grouped by severity, with each item marked `PASS | WARN | FAIL`. During phased migration,
|
|
27
|
+
legacy issues are reported as `WARN`; in hard-enforcement mode structural/integrity issues are `FAIL`.
|
|
28
|
+
Read-only: lint prints the report and does not modify the wiki (it does not write a `LINT` log entry).
|
|
29
|
+
|
|
30
|
+
## Related
|
|
31
|
+
`lisa-wiki-doctor` (broader post-migration verification that runs lint among other checks),
|
|
32
|
+
`lisa-wiki-ingest`, `lisa-wiki-setup`.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-migrate
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-migrate
|
|
7
|
+
|
|
8
|
+
Move a repo's bespoke wiki onto the kernel without breaking it or producing one giant diff. Each
|
|
9
|
+
phase is a reviewable change; nothing legacy is deleted until its replacement is parity-checked.
|
|
10
|
+
|
|
11
|
+
## Migration invariant — rename, never lose
|
|
12
|
+
Any unique command, ingest path, or role is migrated **as though created via** `/add-ingest`
|
|
13
|
+
(front-door skill) or `/add-role` (subagent); wiki-ingest aliases (`*-wiki-ingest`, custom `/ingest`
|
|
14
|
+
routers, …) are renamed to the canonical `/ingest`. **Loss of functionality or data is not
|
|
15
|
+
acceptable** — for each migrated artifact, run the old path and the new path and diff the output
|
|
16
|
+
before deleting the old one.
|
|
17
|
+
|
|
18
|
+
## Phases (per repo; one reviewable change each)
|
|
19
|
+
- **0 — Inventory.** Profile the repo: mode, root, categories, frontmatter coverage, log/index
|
|
20
|
+
format, source dirs, state files, connectors, runtime surfaces, MCP config, scripts, PR policy.
|
|
21
|
+
Write a pre/post manifest mapping every legacy page, source note, doc, command, ingest path, role.
|
|
22
|
+
- **1 — Adopt kernel (no content rewrite).** Add `wiki/lisa-wiki.config.json`, render the contract
|
|
23
|
+
snapshot, add `wiki/state/README.md`, run validators in **warning** mode.
|
|
24
|
+
- **1b — Documentation absorption & structure.** `scripts/absorb-docs.mjs` moves the host repo's own
|
|
25
|
+
docs (`docs/`, `specs/`, top-level docs) into `wiki/documentation/`, ingests them, and conforms to
|
|
26
|
+
the structure manifest; `scripts/rewrite-refs.mjs` rewrites every internal link/citation/index
|
|
27
|
+
entry (zero dangling links). Keep-in-place files stay at conventional paths. **Ask** the README
|
|
28
|
+
mode (default `rich`; `stub` only on explicit choice). Wrapper mode moves only host docs, never
|
|
29
|
+
child-project docs. Idempotent (source fingerprints); parity-checked.
|
|
30
|
+
- **2 — Runtime consolidation.** Replace duplicated local wiki skills with the plugin's; bespoke ones
|
|
31
|
+
become `/add-ingest` front-doors or `/add-role` subagents. Claude commands become facades.
|
|
32
|
+
- **3 — Connector consolidation.** Centralize shared connectors (e.g. Slack); keep org-specific ones
|
|
33
|
+
as contrib/overlay.
|
|
34
|
+
- **4 — Normalize by touch.** New/touched pages get frontmatter; new logs use the canonical table;
|
|
35
|
+
legacy stays parseable until deliberately migrated.
|
|
36
|
+
- **5 — Hard enforcement.** Flip validators to hard-fail (and enable CI) once the baseline is clean.
|
|
37
|
+
|
|
38
|
+
## Finish
|
|
39
|
+
Run `lisa-wiki-doctor --migration`. The repo is not considered migrated until the verdict is `READY`
|
|
40
|
+
(or a human-approved `READY_WITH_WARNINGS`). Roll back by reverting the migration change.
|
|
41
|
+
|
|
42
|
+
## Related
|
|
43
|
+
`lisa-wiki-doctor`, `lisa-wiki-setup`, `lisa-wiki-add-ingest`, `lisa-wiki-add-role`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-onboard-me
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-onboard-me
|
|
7
|
+
|
|
8
|
+
Bidirectional onboarding: learn who the user is *in relation to this project*, then teach them what
|
|
9
|
+
the project is and how to use the wiki. The minimal project README points here.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
1. **Interview** (brief): the user's role, goals, and what they intend to do in this project.
|
|
13
|
+
2. **Capture** to **project-scoped memory only** — Claude's per-project memory; on Codex only if a
|
|
14
|
+
project-scoped memory store exists. If none exists, keep it session-local. **Never** write the
|
|
15
|
+
capture into global memory and **never** commit PII into the wiki.
|
|
16
|
+
3. **Tour:** summarize the project from `wiki/start-here.md` + the wiki's `purpose`, show the folder
|
|
17
|
+
map (categories), and point at the key entry pages.
|
|
18
|
+
4. **Sample questions:** offer a handful of `/query` prompts tuned to the user's role to get them
|
|
19
|
+
productive immediately.
|
|
20
|
+
|
|
21
|
+
## Modes
|
|
22
|
+
- Default: **read-mostly, no PR.**
|
|
23
|
+
- `--save-memory`: persist the capture to project-scoped memory.
|
|
24
|
+
- `--write-audience-note`: write a sanitized, **non-PII** audience/role note into the wiki via the
|
|
25
|
+
normal PR flow — only when `onboarding.allowAudienceNote: true` in config.
|
|
26
|
+
|
|
27
|
+
## Rules
|
|
28
|
+
- Project-scoped only; global Codex memory and the Chronicle store are never used.
|
|
29
|
+
- Do not auto-create a staff role; offer `/add-role` only if the user is taking on a durable project
|
|
30
|
+
function (not merely onboarding).
|
|
31
|
+
|
|
32
|
+
## Related
|
|
33
|
+
`lisa-wiki-query`, `lisa-wiki-usage`, `lisa-wiki-add-role`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lisa-wiki-query
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# lisa-wiki-query
|
|
7
|
+
|
|
8
|
+
Answer from the wiki, with citations, without changing it (by default).
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
0. **Resolve the wiki root.** Run the bundled resolver from the installed Lisa wiki plugin, not from
|
|
12
|
+
the consumer repository's `scripts/` directory:
|
|
13
|
+
```bash
|
|
14
|
+
node "${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-$(npm root)/@codyswann/lisa/plugins/lisa-wiki}}}/scripts/ensure-wiki.mjs" --json
|
|
15
|
+
```
|
|
16
|
+
Use the returned `wikiRoot` as the base for every read below — never assume `wiki/`. A local wiki
|
|
17
|
+
resolves instantly (no-op); a wiki whose `.lisa.config.json` declares `wiki.source.url` is
|
|
18
|
+
mirrored and refreshed transparently first. The script is offline-tolerant (it proceeds with the
|
|
19
|
+
existing mirror and warns rather than blocking), so freshness is guaranteed here and the caller
|
|
20
|
+
never has to think about it.
|
|
21
|
+
1. Read `<wikiRoot>/index.md` to locate candidate pages; consult `<wikiRoot>/start-here.md` for orientation.
|
|
22
|
+
2. Drill into the relevant synthesis pages and their cited source notes.
|
|
23
|
+
3. Synthesize an answer. **Every claim cites its wiki page and/or source note.** If the wiki does not
|
|
24
|
+
support an answer, say so plainly rather than inventing one; suggest an `/ingest` that would fill
|
|
25
|
+
the gap. Only record the gap in `wiki/open-questions/` if the user explicitly asks (that is a
|
|
26
|
+
writeback — see step 4); never write it silently.
|
|
27
|
+
4. **Writeback (opt-in only):** if — and only if — the user explicitly asks to persist new synthesis
|
|
28
|
+
discovered during the query, route it through the ingest pipeline so provenance/index/log/state
|
|
29
|
+
stay consistent, and log it as a `QUERY` operation. Never write back silently.
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
- **Read-only by default.** No page edits, index/log changes, state advancement, or PRs unless the
|
|
33
|
+
user explicitly requests writeback.
|
|
34
|
+
- Prefer the wiki's own content over outside knowledge; distinguish wiki-sourced facts from your own
|
|
35
|
+
reasoning.
|
|
36
|
+
- Surface contradictions or stale claims you encounter as `/lint`-style findings rather than
|
|
37
|
+
silently picking one.
|
|
38
|
+
|
|
39
|
+
## Related
|
|
40
|
+
`lisa-wiki-ingest`, `lisa-wiki-lint`, `lisa-wiki-usage`.
|