@codyswann/lisa 2.119.1 → 2.121.1
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 +18 -0
- package/dist/agy/agents-md-installer.d.ts +24 -0
- package/dist/agy/agents-md-installer.d.ts.map +1 -0
- package/dist/agy/agents-md-installer.js +126 -0
- package/dist/agy/agents-md-installer.js.map +1 -0
- package/dist/agy/mcp-installer.d.ts +102 -0
- package/dist/agy/mcp-installer.d.ts.map +1 -0
- package/dist/agy/mcp-installer.js +155 -0
- package/dist/agy/mcp-installer.js.map +1 -0
- package/dist/agy/plugin-installer.d.ts +21 -0
- package/dist/agy/plugin-installer.d.ts.map +1 -0
- package/dist/agy/plugin-installer.js +88 -0
- package/dist/agy/plugin-installer.js.map +1 -0
- package/dist/claude/claude-md-installer.d.ts +18 -0
- package/dist/claude/claude-md-installer.d.ts.map +1 -0
- package/dist/claude/claude-md-installer.js +62 -0
- package/dist/claude/claude-md-installer.js.map +1 -0
- package/dist/codex/lisa-plugin-detection.d.ts +68 -0
- package/dist/codex/lisa-plugin-detection.d.ts.map +1 -0
- package/dist/codex/lisa-plugin-detection.js +139 -0
- package/dist/codex/lisa-plugin-detection.js.map +1 -0
- package/dist/copilot/copilot-instructions-installer.d.ts +18 -0
- package/dist/copilot/copilot-instructions-installer.d.ts.map +1 -0
- package/dist/copilot/copilot-instructions-installer.js +61 -0
- package/dist/copilot/copilot-instructions-installer.js.map +1 -0
- package/dist/copilot/plugin-installer.d.ts +29 -0
- package/dist/copilot/plugin-installer.d.ts.map +1 -0
- package/dist/copilot/plugin-installer.js +144 -0
- package/dist/copilot/plugin-installer.js.map +1 -0
- package/dist/core/config.d.ts +28 -4
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +24 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/lisa.d.ts +35 -0
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +99 -2
- package/dist/core/lisa.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +2 -1
- package/plugins/lisa/hooks/hooks.json +75 -0
- package/plugins/lisa-agy/agents/architecture-specialist.md +47 -0
- package/plugins/lisa-agy/agents/bug-fixer.md +39 -0
- package/plugins/lisa-agy/agents/builder.md +40 -0
- package/plugins/lisa-agy/agents/confluence-prd-intake.md +65 -0
- package/plugins/lisa-agy/agents/debug-specialist.md +114 -0
- package/plugins/lisa-agy/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-agy/agents/github-agent.md +148 -0
- package/plugins/lisa-agy/agents/github-build-intake.md +64 -0
- package/plugins/lisa-agy/agents/github-prd-intake.md +66 -0
- package/plugins/lisa-agy/agents/jira-agent.md +129 -0
- package/plugins/lisa-agy/agents/jira-build-intake.md +64 -0
- package/plugins/lisa-agy/agents/learner.md +43 -0
- package/plugins/lisa-agy/agents/learnings-synthesizer.md +135 -0
- package/plugins/lisa-agy/agents/linear-agent.md +134 -0
- package/plugins/lisa-agy/agents/linear-build-intake.md +64 -0
- package/plugins/lisa-agy/agents/linear-prd-intake.md +66 -0
- package/plugins/lisa-agy/agents/notion-prd-intake.md +63 -0
- package/plugins/lisa-agy/agents/performance-specialist.md +85 -0
- package/plugins/lisa-agy/agents/pr-mining-specialist.md +85 -0
- package/plugins/lisa-agy/agents/product-specialist.md +63 -0
- package/plugins/lisa-agy/agents/quality-specialist.md +56 -0
- package/plugins/lisa-agy/agents/security-specialist.md +51 -0
- package/plugins/lisa-agy/agents/skill-evaluator.md +245 -0
- package/plugins/lisa-agy/agents/spec-conformance-specialist.md +49 -0
- package/plugins/lisa-agy/agents/test-specialist.md +49 -0
- package/plugins/lisa-agy/agents/tracker-mining-specialist.md +85 -0
- package/plugins/lisa-agy/agents/verification-specialist.md +135 -0
- package/plugins/lisa-agy/commands/automation-status.md +12 -0
- package/plugins/lisa-agy/commands/codify-verification.md +6 -0
- package/plugins/lisa-agy/commands/debrief/apply.md +6 -0
- package/plugins/lisa-agy/commands/debrief.md +6 -0
- package/plugins/lisa-agy/commands/doctor.md +6 -0
- package/plugins/lisa-agy/commands/fix/linter-error.md +7 -0
- package/plugins/lisa-agy/commands/git/commit.md +7 -0
- package/plugins/lisa-agy/commands/git/prune.md +6 -0
- package/plugins/lisa-agy/commands/git/submit-pr.md +7 -0
- package/plugins/lisa-agy/commands/implement.md +6 -0
- package/plugins/lisa-agy/commands/improve/code-complexity.md +6 -0
- package/plugins/lisa-agy/commands/improve/max-lines-per-function.md +7 -0
- package/plugins/lisa-agy/commands/improve/max-lines.md +7 -0
- package/plugins/lisa-agy/commands/improve/test-coverage.md +7 -0
- package/plugins/lisa-agy/commands/improve/tests.md +7 -0
- package/plugins/lisa-agy/commands/intake-explain.md +31 -0
- package/plugins/lisa-agy/commands/intake.md +6 -0
- package/plugins/lisa-agy/commands/monitor.md +6 -0
- package/plugins/lisa-agy/commands/plan.md +6 -0
- package/plugins/lisa-agy/commands/plugin-sync-explain.md +8 -0
- package/plugins/lisa-agy/commands/product-walkthrough.md +7 -0
- package/plugins/lisa-agy/commands/project-ideation.md +6 -0
- package/plugins/lisa-agy/commands/pull-request/review.md +7 -0
- package/plugins/lisa-agy/commands/queue-status.md +34 -0
- package/plugins/lisa-agy/commands/repair-intake.md +6 -0
- package/plugins/lisa-agy/commands/research.md +6 -0
- package/plugins/lisa-agy/commands/review/local.md +6 -0
- package/plugins/lisa-agy/commands/security/zap-scan.md +6 -0
- package/plugins/lisa-agy/commands/setup/atlassian.md +7 -0
- package/plugins/lisa-agy/commands/setup/confluence.md +7 -0
- package/plugins/lisa-agy/commands/setup/github.md +7 -0
- package/plugins/lisa-agy/commands/setup/jira.md +7 -0
- package/plugins/lisa-agy/commands/setup/linear.md +7 -0
- package/plugins/lisa-agy/commands/setup/notion.md +7 -0
- package/plugins/lisa-agy/commands/setup-automations.md +6 -0
- package/plugins/lisa-agy/commands/tear-down-automations.md +6 -0
- package/plugins/lisa-agy/commands/verify-prd.md +6 -0
- package/plugins/lisa-agy/commands/verify.md +6 -0
- package/plugins/lisa-agy/commands/wiki/install.md +7 -0
- package/plugins/lisa-agy/plugin.json +8 -0
- package/plugins/lisa-agy/scripts/automation-status-claude-adapter.mjs +672 -0
- package/plugins/lisa-agy/scripts/automation-status-codex-adapter.mjs +697 -0
- package/plugins/lisa-agy/scripts/automation-status-contract-drift.mjs +392 -0
- package/plugins/lisa-agy/scripts/automation-status-expected-fleet.mjs +319 -0
- package/plugins/lisa-agy/scripts/automation-status-report.mjs +170 -0
- package/plugins/lisa-agy/scripts/doctor-report.mjs +143 -0
- package/plugins/lisa-agy/scripts/plugin-sync-explain.mjs +512 -0
- package/plugins/lisa-agy/scripts/project-ideation-idempotency-harness.mjs +319 -0
- package/plugins/lisa-agy/scripts/queue-contract-resolution.mjs +453 -0
- package/plugins/lisa-agy/scripts/queue-health-classification.mjs +157 -0
- package/plugins/lisa-agy/scripts/queue-status-build-readers.mjs +509 -0
- package/plugins/lisa-agy/scripts/queue-status-prd-readers.mjs +452 -0
- package/plugins/lisa-agy/skills/acceptance-criteria/SKILL.md +71 -0
- package/plugins/lisa-agy/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-agy/skills/atlassian-access/SKILL.md +293 -0
- package/plugins/lisa-agy/skills/automation-status/SKILL.md +111 -0
- package/plugins/lisa-agy/skills/bug-triage/SKILL.md +23 -0
- package/plugins/lisa-agy/skills/codebase-research/SKILL.md +87 -0
- package/plugins/lisa-agy/skills/codify-verification/SKILL.md +152 -0
- package/plugins/lisa-agy/skills/confluence-prd-intake/SKILL.md +417 -0
- package/plugins/lisa-agy/skills/confluence-to-tracker/SKILL.md +360 -0
- package/plugins/lisa-agy/skills/confluence-write-prd/SKILL.md +109 -0
- package/plugins/lisa-agy/skills/debrief/SKILL.md +94 -0
- package/plugins/lisa-agy/skills/debrief-apply/SKILL.md +63 -0
- package/plugins/lisa-agy/skills/doctor/SKILL.md +317 -0
- package/plugins/lisa-agy/skills/epic-triage/SKILL.md +28 -0
- package/plugins/lisa-agy/skills/fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-agy/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-agy/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-agy/skills/git-submit-pr/SKILL.md +105 -0
- package/plugins/lisa-agy/skills/github-add-journey/SKILL.md +115 -0
- package/plugins/lisa-agy/skills/github-build-intake/SKILL.md +377 -0
- package/plugins/lisa-agy/skills/github-create/SKILL.md +101 -0
- package/plugins/lisa-agy/skills/github-evidence/SKILL.md +110 -0
- package/plugins/lisa-agy/skills/github-journey/SKILL.md +121 -0
- package/plugins/lisa-agy/skills/github-prd-intake/SKILL.md +432 -0
- package/plugins/lisa-agy/skills/github-project-v2/SKILL.md +227 -0
- package/plugins/lisa-agy/skills/github-read-issue/SKILL.md +248 -0
- package/plugins/lisa-agy/skills/github-sync/SKILL.md +119 -0
- package/plugins/lisa-agy/skills/github-to-tracker/SKILL.md +345 -0
- package/plugins/lisa-agy/skills/github-validate-issue/SKILL.md +331 -0
- package/plugins/lisa-agy/skills/github-verify/SKILL.md +29 -0
- package/plugins/lisa-agy/skills/github-write-issue/SKILL.md +339 -0
- package/plugins/lisa-agy/skills/github-write-prd/SKILL.md +157 -0
- package/plugins/lisa-agy/skills/implement/SKILL.md +145 -0
- package/plugins/lisa-agy/skills/improve-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-agy/skills/improve-max-lines/SKILL.md +45 -0
- package/plugins/lisa-agy/skills/improve-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-agy/skills/improve-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-agy/skills/improve-tests/SKILL.md +47 -0
- package/plugins/lisa-agy/skills/intake/SKILL.md +132 -0
- package/plugins/lisa-agy/skills/intake-explain/SKILL.md +279 -0
- package/plugins/lisa-agy/skills/jira-add-journey/SKILL.md +121 -0
- package/plugins/lisa-agy/skills/jira-build-intake/SKILL.md +286 -0
- package/plugins/lisa-agy/skills/jira-create/SKILL.md +154 -0
- package/plugins/lisa-agy/skills/jira-evidence/SKILL.md +90 -0
- package/plugins/lisa-agy/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-agy/skills/jira-journey/SKILL.md +127 -0
- package/plugins/lisa-agy/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-agy/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-agy/skills/jira-read-ticket/SKILL.md +198 -0
- package/plugins/lisa-agy/skills/jira-read-ticket/scripts/download-attachment.sh +110 -0
- package/plugins/lisa-agy/skills/jira-sync/SKILL.md +95 -0
- package/plugins/lisa-agy/skills/jira-validate-ticket/SKILL.md +318 -0
- package/plugins/lisa-agy/skills/jira-verify/SKILL.md +30 -0
- package/plugins/lisa-agy/skills/jira-write-ticket/SKILL.md +265 -0
- package/plugins/lisa-agy/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-agy/skills/linear-add-journey/SKILL.md +105 -0
- package/plugins/lisa-agy/skills/linear-build-intake/SKILL.md +283 -0
- package/plugins/lisa-agy/skills/linear-create/SKILL.md +146 -0
- package/plugins/lisa-agy/skills/linear-evidence/SKILL.md +103 -0
- package/plugins/lisa-agy/skills/linear-journey/SKILL.md +134 -0
- package/plugins/lisa-agy/skills/linear-prd-intake/SKILL.md +383 -0
- package/plugins/lisa-agy/skills/linear-read-issue/SKILL.md +200 -0
- package/plugins/lisa-agy/skills/linear-sync/SKILL.md +114 -0
- package/plugins/lisa-agy/skills/linear-to-tracker/SKILL.md +342 -0
- package/plugins/lisa-agy/skills/linear-validate-issue/SKILL.md +313 -0
- package/plugins/lisa-agy/skills/linear-verify/SKILL.md +51 -0
- package/plugins/lisa-agy/skills/linear-write-issue/SKILL.md +292 -0
- package/plugins/lisa-agy/skills/linear-write-prd/SKILL.md +96 -0
- package/plugins/lisa-agy/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-agy/skills/monitor/SKILL.md +48 -0
- package/plugins/lisa-agy/skills/nightly-add-test-coverage/SKILL.md +40 -0
- package/plugins/lisa-agy/skills/nightly-improve-tests/SKILL.md +29 -0
- package/plugins/lisa-agy/skills/nightly-lower-code-complexity/SKILL.md +28 -0
- package/plugins/lisa-agy/skills/notion-access/SKILL.md +226 -0
- package/plugins/lisa-agy/skills/notion-prd-intake/SKILL.md +360 -0
- package/plugins/lisa-agy/skills/notion-to-tracker/SKILL.md +357 -0
- package/plugins/lisa-agy/skills/notion-write-prd/SKILL.md +109 -0
- package/plugins/lisa-agy/skills/performance-review/SKILL.md +94 -0
- package/plugins/lisa-agy/skills/plan/SKILL.md +60 -0
- package/plugins/lisa-agy/skills/plugin-sync-explain/SKILL.md +53 -0
- package/plugins/lisa-agy/skills/prd-backlink/SKILL.md +265 -0
- package/plugins/lisa-agy/skills/prd-source-write/SKILL.md +101 -0
- package/plugins/lisa-agy/skills/prd-ticket-coverage/SKILL.md +170 -0
- package/plugins/lisa-agy/skills/product-walkthrough/SKILL.md +129 -0
- package/plugins/lisa-agy/skills/project-ideation/SKILL.md +315 -0
- package/plugins/lisa-agy/skills/project-ideation/examples/evidence-card-format.md +21 -0
- package/plugins/lisa-agy/skills/project-ideation/examples/host-project-only.md +22 -0
- package/plugins/lisa-agy/skills/project-ideation/examples/idempotency-verification-harness.md +57 -0
- package/plugins/lisa-agy/skills/project-ideation/examples/public-external-inspiration.md +22 -0
- package/plugins/lisa-agy/skills/project-ideation/examples/unavailable-data-rejection.md +22 -0
- package/plugins/lisa-agy/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-agy/skills/quality-review/SKILL.md +54 -0
- package/plugins/lisa-agy/skills/queue-status/SKILL.md +133 -0
- package/plugins/lisa-agy/skills/repair-intake/SKILL.md +584 -0
- package/plugins/lisa-agy/skills/reproduce-bug/SKILL.md +96 -0
- package/plugins/lisa-agy/skills/research/SKILL.md +68 -0
- package/plugins/lisa-agy/skills/review-local/SKILL.md +88 -0
- package/plugins/lisa-agy/skills/root-cause-analysis/SKILL.md +155 -0
- package/plugins/lisa-agy/skills/security-review/SKILL.md +57 -0
- package/plugins/lisa-agy/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-agy/skills/setup-atlassian/SKILL.md +347 -0
- package/plugins/lisa-agy/skills/setup-automations/SKILL.md +99 -0
- package/plugins/lisa-agy/skills/setup-confluence/SKILL.md +254 -0
- package/plugins/lisa-agy/skills/setup-github/SKILL.md +268 -0
- package/plugins/lisa-agy/skills/setup-jira/SKILL.md +198 -0
- package/plugins/lisa-agy/skills/setup-linear/SKILL.md +251 -0
- package/plugins/lisa-agy/skills/setup-notion/SKILL.md +316 -0
- package/plugins/lisa-agy/skills/spec-conformance/SKILL.md +159 -0
- package/plugins/lisa-agy/skills/task-decomposition/SKILL.md +127 -0
- package/plugins/lisa-agy/skills/task-triage/SKILL.md +23 -0
- package/plugins/lisa-agy/skills/tdd-implementation/SKILL.md +83 -0
- package/plugins/lisa-agy/skills/tear-down-automations/SKILL.md +34 -0
- package/plugins/lisa-agy/skills/test-strategy/SKILL.md +63 -0
- package/plugins/lisa-agy/skills/ticket-triage/SKILL.md +182 -0
- package/plugins/lisa-agy/skills/tracker-add-journey/SKILL.md +26 -0
- package/plugins/lisa-agy/skills/tracker-build-intake/SKILL.md +64 -0
- package/plugins/lisa-agy/skills/tracker-create/SKILL.md +26 -0
- package/plugins/lisa-agy/skills/tracker-evidence/SKILL.md +52 -0
- package/plugins/lisa-agy/skills/tracker-journey/SKILL.md +26 -0
- package/plugins/lisa-agy/skills/tracker-read/SKILL.md +27 -0
- package/plugins/lisa-agy/skills/tracker-source-artifacts/SKILL.md +107 -0
- package/plugins/lisa-agy/skills/tracker-sync/SKILL.md +51 -0
- package/plugins/lisa-agy/skills/tracker-validate/SKILL.md +36 -0
- package/plugins/lisa-agy/skills/tracker-verify/SKILL.md +27 -0
- package/plugins/lisa-agy/skills/tracker-write/SKILL.md +53 -0
- package/plugins/lisa-agy/skills/usage-accounting/SKILL.md +170 -0
- package/plugins/lisa-agy/skills/verification-lifecycle/SKILL.md +339 -0
- package/plugins/lisa-agy/skills/verify/SKILL.md +49 -0
- package/plugins/lisa-agy/skills/verify-prd/SKILL.md +392 -0
- package/plugins/lisa-agy/skills/wiki-install/SKILL.md +101 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +72 -0
- package/plugins/lisa-copilot/agents/architecture-specialist.agent.md +47 -0
- package/plugins/lisa-copilot/agents/bug-fixer.agent.md +39 -0
- package/plugins/lisa-copilot/agents/builder.agent.md +40 -0
- package/plugins/lisa-copilot/agents/confluence-prd-intake.agent.md +65 -0
- package/plugins/lisa-copilot/agents/debug-specialist.agent.md +114 -0
- package/plugins/lisa-copilot/agents/git-history-analyzer.agent.md +183 -0
- package/plugins/lisa-copilot/agents/github-agent.agent.md +148 -0
- package/plugins/lisa-copilot/agents/github-build-intake.agent.md +64 -0
- package/plugins/lisa-copilot/agents/github-prd-intake.agent.md +66 -0
- package/plugins/lisa-copilot/agents/jira-agent.agent.md +129 -0
- package/plugins/lisa-copilot/agents/jira-build-intake.agent.md +64 -0
- package/plugins/lisa-copilot/agents/learner.agent.md +43 -0
- package/plugins/lisa-copilot/agents/learnings-synthesizer.agent.md +135 -0
- package/plugins/lisa-copilot/agents/linear-agent.agent.md +134 -0
- package/plugins/lisa-copilot/agents/linear-build-intake.agent.md +64 -0
- package/plugins/lisa-copilot/agents/linear-prd-intake.agent.md +66 -0
- package/plugins/lisa-copilot/agents/notion-prd-intake.agent.md +63 -0
- package/plugins/lisa-copilot/agents/performance-specialist.agent.md +85 -0
- package/plugins/lisa-copilot/agents/pr-mining-specialist.agent.md +85 -0
- package/plugins/lisa-copilot/agents/product-specialist.agent.md +63 -0
- package/plugins/lisa-copilot/agents/quality-specialist.agent.md +56 -0
- package/plugins/lisa-copilot/agents/security-specialist.agent.md +51 -0
- package/plugins/lisa-copilot/agents/skill-evaluator.agent.md +245 -0
- package/plugins/lisa-copilot/agents/spec-conformance-specialist.agent.md +49 -0
- package/plugins/lisa-copilot/agents/test-specialist.agent.md +49 -0
- package/plugins/lisa-copilot/agents/tracker-mining-specialist.agent.md +85 -0
- package/plugins/lisa-copilot/agents/verification-specialist.agent.md +135 -0
- package/plugins/lisa-copilot/commands/automation-status.md +12 -0
- package/plugins/lisa-copilot/commands/codify-verification.md +6 -0
- package/plugins/lisa-copilot/commands/debrief/apply.md +6 -0
- package/plugins/lisa-copilot/commands/debrief.md +6 -0
- package/plugins/lisa-copilot/commands/doctor.md +6 -0
- package/plugins/lisa-copilot/commands/fix/linter-error.md +7 -0
- package/plugins/lisa-copilot/commands/git/commit.md +7 -0
- package/plugins/lisa-copilot/commands/git/prune.md +6 -0
- package/plugins/lisa-copilot/commands/git/submit-pr.md +7 -0
- package/plugins/lisa-copilot/commands/implement.md +6 -0
- package/plugins/lisa-copilot/commands/improve/code-complexity.md +6 -0
- package/plugins/lisa-copilot/commands/improve/max-lines-per-function.md +7 -0
- package/plugins/lisa-copilot/commands/improve/max-lines.md +7 -0
- package/plugins/lisa-copilot/commands/improve/test-coverage.md +7 -0
- package/plugins/lisa-copilot/commands/improve/tests.md +7 -0
- package/plugins/lisa-copilot/commands/intake-explain.md +31 -0
- package/plugins/lisa-copilot/commands/intake.md +6 -0
- package/plugins/lisa-copilot/commands/monitor.md +6 -0
- package/plugins/lisa-copilot/commands/plan.md +6 -0
- package/plugins/lisa-copilot/commands/plugin-sync-explain.md +8 -0
- package/plugins/lisa-copilot/commands/product-walkthrough.md +7 -0
- package/plugins/lisa-copilot/commands/project-ideation.md +6 -0
- package/plugins/lisa-copilot/commands/pull-request/review.md +7 -0
- package/plugins/lisa-copilot/commands/queue-status.md +34 -0
- package/plugins/lisa-copilot/commands/repair-intake.md +6 -0
- package/plugins/lisa-copilot/commands/research.md +6 -0
- package/plugins/lisa-copilot/commands/review/local.md +6 -0
- package/plugins/lisa-copilot/commands/security/zap-scan.md +6 -0
- package/plugins/lisa-copilot/commands/setup/atlassian.md +7 -0
- package/plugins/lisa-copilot/commands/setup/confluence.md +7 -0
- package/plugins/lisa-copilot/commands/setup/github.md +7 -0
- package/plugins/lisa-copilot/commands/setup/jira.md +7 -0
- package/plugins/lisa-copilot/commands/setup/linear.md +7 -0
- package/plugins/lisa-copilot/commands/setup/notion.md +7 -0
- package/plugins/lisa-copilot/commands/setup-automations.md +6 -0
- package/plugins/lisa-copilot/commands/tear-down-automations.md +6 -0
- package/plugins/lisa-copilot/commands/verify-prd.md +6 -0
- package/plugins/lisa-copilot/commands/verify.md +6 -0
- package/plugins/lisa-copilot/commands/wiki/install.md +7 -0
- package/plugins/lisa-copilot/hooks/block-no-verify.sh +37 -0
- package/plugins/lisa-copilot/hooks/inject-rules.sh +33 -0
- package/plugins/lisa-copilot/hooks/install-pkgs.sh +69 -0
- package/plugins/lisa-copilot/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-copilot/hooks/setup-jira-cli.sh +51 -0
- package/plugins/lisa-copilot/rules/eager/base-rules.md +70 -0
- package/plugins/lisa-copilot/rules/eager/coding-philosophy.md +27 -0
- package/plugins/lisa-copilot/rules/eager/config-resolution.md +28 -0
- package/plugins/lisa-copilot/rules/eager/documentation-source-paths.md +13 -0
- package/plugins/lisa-copilot/rules/eager/empirical-inquiry.md +22 -0
- package/plugins/lisa-copilot/rules/eager/intent-routing.md +18 -0
- package/plugins/lisa-copilot/rules/eager/leaf-only-lifecycle.md +39 -0
- package/plugins/lisa-copilot/rules/eager/prd-lifecycle-rollup.md +31 -0
- package/plugins/lisa-copilot/rules/eager/repo-scope-split.md +39 -0
- package/plugins/lisa-copilot/rules/eager/security-audit-handling.md +29 -0
- package/plugins/lisa-copilot/rules/eager/usage-accounting.md +28 -0
- package/plugins/lisa-copilot/rules/eager/verification.md +21 -0
- package/plugins/lisa-copilot/rules/eager/wiki-knowledge-source.md +16 -0
- package/plugins/lisa-copilot/rules/reference/base-rules.md +133 -0
- package/plugins/lisa-copilot/rules/reference/coding-philosophy.md +428 -0
- package/plugins/lisa-copilot/rules/reference/config-resolution.md +691 -0
- package/plugins/lisa-copilot/rules/reference/documentation-source-paths.md +13 -0
- package/plugins/lisa-copilot/rules/reference/empirical-inquiry.md +27 -0
- package/plugins/lisa-copilot/rules/reference/intent-routing.md +407 -0
- package/plugins/lisa-copilot/rules/reference/leaf-only-lifecycle.md +120 -0
- package/plugins/lisa-copilot/rules/reference/prd-lifecycle-rollup.md +156 -0
- package/plugins/lisa-copilot/rules/reference/repo-scope-split.md +58 -0
- package/plugins/lisa-copilot/rules/reference/security-audit-handling.md +30 -0
- package/plugins/lisa-copilot/rules/reference/usage-accounting.md +144 -0
- package/plugins/lisa-copilot/rules/reference/verification.md +124 -0
- package/plugins/lisa-copilot/rules/reference/wiki-knowledge-source.md +14 -0
- package/plugins/lisa-copilot/scripts/automation-status-claude-adapter.mjs +672 -0
- package/plugins/lisa-copilot/scripts/automation-status-codex-adapter.mjs +697 -0
- package/plugins/lisa-copilot/scripts/automation-status-contract-drift.mjs +392 -0
- package/plugins/lisa-copilot/scripts/automation-status-expected-fleet.mjs +319 -0
- package/plugins/lisa-copilot/scripts/automation-status-report.mjs +170 -0
- package/plugins/lisa-copilot/scripts/doctor-report.mjs +143 -0
- package/plugins/lisa-copilot/scripts/plugin-sync-explain.mjs +512 -0
- package/plugins/lisa-copilot/scripts/project-ideation-idempotency-harness.mjs +319 -0
- package/plugins/lisa-copilot/scripts/queue-contract-resolution.mjs +453 -0
- package/plugins/lisa-copilot/scripts/queue-health-classification.mjs +157 -0
- package/plugins/lisa-copilot/scripts/queue-status-build-readers.mjs +509 -0
- package/plugins/lisa-copilot/scripts/queue-status-prd-readers.mjs +452 -0
- package/plugins/lisa-copilot/skills/acceptance-criteria/SKILL.md +71 -0
- package/plugins/lisa-copilot/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-copilot/skills/atlassian-access/SKILL.md +293 -0
- package/plugins/lisa-copilot/skills/automation-status/SKILL.md +111 -0
- package/plugins/lisa-copilot/skills/bug-triage/SKILL.md +23 -0
- package/plugins/lisa-copilot/skills/codebase-research/SKILL.md +87 -0
- package/plugins/lisa-copilot/skills/codify-verification/SKILL.md +152 -0
- package/plugins/lisa-copilot/skills/confluence-prd-intake/SKILL.md +417 -0
- package/plugins/lisa-copilot/skills/confluence-to-tracker/SKILL.md +360 -0
- package/plugins/lisa-copilot/skills/confluence-write-prd/SKILL.md +109 -0
- package/plugins/lisa-copilot/skills/debrief/SKILL.md +94 -0
- package/plugins/lisa-copilot/skills/debrief-apply/SKILL.md +63 -0
- package/plugins/lisa-copilot/skills/doctor/SKILL.md +317 -0
- package/plugins/lisa-copilot/skills/epic-triage/SKILL.md +28 -0
- package/plugins/lisa-copilot/skills/fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-copilot/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-copilot/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-copilot/skills/git-submit-pr/SKILL.md +105 -0
- package/plugins/lisa-copilot/skills/github-add-journey/SKILL.md +115 -0
- package/plugins/lisa-copilot/skills/github-build-intake/SKILL.md +377 -0
- package/plugins/lisa-copilot/skills/github-create/SKILL.md +101 -0
- package/plugins/lisa-copilot/skills/github-evidence/SKILL.md +110 -0
- package/plugins/lisa-copilot/skills/github-journey/SKILL.md +121 -0
- package/plugins/lisa-copilot/skills/github-prd-intake/SKILL.md +432 -0
- package/plugins/lisa-copilot/skills/github-project-v2/SKILL.md +227 -0
- package/plugins/lisa-copilot/skills/github-read-issue/SKILL.md +248 -0
- package/plugins/lisa-copilot/skills/github-sync/SKILL.md +119 -0
- package/plugins/lisa-copilot/skills/github-to-tracker/SKILL.md +345 -0
- package/plugins/lisa-copilot/skills/github-validate-issue/SKILL.md +331 -0
- package/plugins/lisa-copilot/skills/github-verify/SKILL.md +29 -0
- package/plugins/lisa-copilot/skills/github-write-issue/SKILL.md +339 -0
- package/plugins/lisa-copilot/skills/github-write-prd/SKILL.md +157 -0
- package/plugins/lisa-copilot/skills/implement/SKILL.md +145 -0
- package/plugins/lisa-copilot/skills/improve-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-copilot/skills/improve-max-lines/SKILL.md +45 -0
- package/plugins/lisa-copilot/skills/improve-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-copilot/skills/improve-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-copilot/skills/improve-tests/SKILL.md +47 -0
- package/plugins/lisa-copilot/skills/intake/SKILL.md +132 -0
- package/plugins/lisa-copilot/skills/intake-explain/SKILL.md +279 -0
- package/plugins/lisa-copilot/skills/jira-add-journey/SKILL.md +121 -0
- package/plugins/lisa-copilot/skills/jira-build-intake/SKILL.md +286 -0
- package/plugins/lisa-copilot/skills/jira-create/SKILL.md +154 -0
- package/plugins/lisa-copilot/skills/jira-evidence/SKILL.md +90 -0
- package/plugins/lisa-copilot/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-copilot/skills/jira-journey/SKILL.md +127 -0
- package/plugins/lisa-copilot/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-copilot/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-copilot/skills/jira-read-ticket/SKILL.md +198 -0
- package/plugins/lisa-copilot/skills/jira-read-ticket/scripts/download-attachment.sh +110 -0
- package/plugins/lisa-copilot/skills/jira-sync/SKILL.md +95 -0
- package/plugins/lisa-copilot/skills/jira-validate-ticket/SKILL.md +318 -0
- package/plugins/lisa-copilot/skills/jira-verify/SKILL.md +30 -0
- package/plugins/lisa-copilot/skills/jira-write-ticket/SKILL.md +265 -0
- package/plugins/lisa-copilot/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-copilot/skills/linear-add-journey/SKILL.md +105 -0
- package/plugins/lisa-copilot/skills/linear-build-intake/SKILL.md +283 -0
- package/plugins/lisa-copilot/skills/linear-create/SKILL.md +146 -0
- package/plugins/lisa-copilot/skills/linear-evidence/SKILL.md +103 -0
- package/plugins/lisa-copilot/skills/linear-journey/SKILL.md +134 -0
- package/plugins/lisa-copilot/skills/linear-prd-intake/SKILL.md +383 -0
- package/plugins/lisa-copilot/skills/linear-read-issue/SKILL.md +200 -0
- package/plugins/lisa-copilot/skills/linear-sync/SKILL.md +114 -0
- package/plugins/lisa-copilot/skills/linear-to-tracker/SKILL.md +342 -0
- package/plugins/lisa-copilot/skills/linear-validate-issue/SKILL.md +313 -0
- package/plugins/lisa-copilot/skills/linear-verify/SKILL.md +51 -0
- package/plugins/lisa-copilot/skills/linear-write-issue/SKILL.md +292 -0
- package/plugins/lisa-copilot/skills/linear-write-prd/SKILL.md +96 -0
- package/plugins/lisa-copilot/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-copilot/skills/monitor/SKILL.md +48 -0
- package/plugins/lisa-copilot/skills/nightly-add-test-coverage/SKILL.md +40 -0
- package/plugins/lisa-copilot/skills/nightly-improve-tests/SKILL.md +29 -0
- package/plugins/lisa-copilot/skills/nightly-lower-code-complexity/SKILL.md +28 -0
- package/plugins/lisa-copilot/skills/notion-access/SKILL.md +226 -0
- package/plugins/lisa-copilot/skills/notion-prd-intake/SKILL.md +360 -0
- package/plugins/lisa-copilot/skills/notion-to-tracker/SKILL.md +357 -0
- package/plugins/lisa-copilot/skills/notion-write-prd/SKILL.md +109 -0
- package/plugins/lisa-copilot/skills/performance-review/SKILL.md +94 -0
- package/plugins/lisa-copilot/skills/plan/SKILL.md +60 -0
- package/plugins/lisa-copilot/skills/plugin-sync-explain/SKILL.md +53 -0
- package/plugins/lisa-copilot/skills/prd-backlink/SKILL.md +265 -0
- package/plugins/lisa-copilot/skills/prd-source-write/SKILL.md +101 -0
- package/plugins/lisa-copilot/skills/prd-ticket-coverage/SKILL.md +170 -0
- package/plugins/lisa-copilot/skills/product-walkthrough/SKILL.md +129 -0
- package/plugins/lisa-copilot/skills/project-ideation/SKILL.md +315 -0
- package/plugins/lisa-copilot/skills/project-ideation/examples/evidence-card-format.md +21 -0
- package/plugins/lisa-copilot/skills/project-ideation/examples/host-project-only.md +22 -0
- package/plugins/lisa-copilot/skills/project-ideation/examples/idempotency-verification-harness.md +57 -0
- package/plugins/lisa-copilot/skills/project-ideation/examples/public-external-inspiration.md +22 -0
- package/plugins/lisa-copilot/skills/project-ideation/examples/unavailable-data-rejection.md +22 -0
- package/plugins/lisa-copilot/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-copilot/skills/quality-review/SKILL.md +54 -0
- package/plugins/lisa-copilot/skills/queue-status/SKILL.md +133 -0
- package/plugins/lisa-copilot/skills/repair-intake/SKILL.md +584 -0
- package/plugins/lisa-copilot/skills/reproduce-bug/SKILL.md +96 -0
- package/plugins/lisa-copilot/skills/research/SKILL.md +68 -0
- package/plugins/lisa-copilot/skills/review-local/SKILL.md +88 -0
- package/plugins/lisa-copilot/skills/root-cause-analysis/SKILL.md +155 -0
- package/plugins/lisa-copilot/skills/security-review/SKILL.md +57 -0
- package/plugins/lisa-copilot/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-copilot/skills/setup-atlassian/SKILL.md +347 -0
- package/plugins/lisa-copilot/skills/setup-automations/SKILL.md +99 -0
- package/plugins/lisa-copilot/skills/setup-confluence/SKILL.md +254 -0
- package/plugins/lisa-copilot/skills/setup-github/SKILL.md +268 -0
- package/plugins/lisa-copilot/skills/setup-jira/SKILL.md +198 -0
- package/plugins/lisa-copilot/skills/setup-linear/SKILL.md +251 -0
- package/plugins/lisa-copilot/skills/setup-notion/SKILL.md +316 -0
- package/plugins/lisa-copilot/skills/spec-conformance/SKILL.md +159 -0
- package/plugins/lisa-copilot/skills/task-decomposition/SKILL.md +127 -0
- package/plugins/lisa-copilot/skills/task-triage/SKILL.md +23 -0
- package/plugins/lisa-copilot/skills/tdd-implementation/SKILL.md +83 -0
- package/plugins/lisa-copilot/skills/tear-down-automations/SKILL.md +34 -0
- package/plugins/lisa-copilot/skills/test-strategy/SKILL.md +63 -0
- package/plugins/lisa-copilot/skills/ticket-triage/SKILL.md +182 -0
- package/plugins/lisa-copilot/skills/tracker-add-journey/SKILL.md +26 -0
- package/plugins/lisa-copilot/skills/tracker-build-intake/SKILL.md +64 -0
- package/plugins/lisa-copilot/skills/tracker-create/SKILL.md +26 -0
- package/plugins/lisa-copilot/skills/tracker-evidence/SKILL.md +52 -0
- package/plugins/lisa-copilot/skills/tracker-journey/SKILL.md +26 -0
- package/plugins/lisa-copilot/skills/tracker-read/SKILL.md +27 -0
- package/plugins/lisa-copilot/skills/tracker-source-artifacts/SKILL.md +107 -0
- package/plugins/lisa-copilot/skills/tracker-sync/SKILL.md +51 -0
- package/plugins/lisa-copilot/skills/tracker-validate/SKILL.md +36 -0
- package/plugins/lisa-copilot/skills/tracker-verify/SKILL.md +27 -0
- package/plugins/lisa-copilot/skills/tracker-write/SKILL.md +53 -0
- package/plugins/lisa-copilot/skills/usage-accounting/SKILL.md +170 -0
- package/plugins/lisa-copilot/skills/verification-lifecycle/SKILL.md +339 -0
- package/plugins/lisa-copilot/skills/verify/SKILL.md +49 -0
- package/plugins/lisa-copilot/skills/verify-prd/SKILL.md +392 -0
- package/plugins/lisa-copilot/skills/wiki-install/SKILL.md +101 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +52 -0
- package/plugins/lisa-cursor/agents/architecture-specialist.md +47 -0
- package/plugins/lisa-cursor/agents/bug-fixer.md +39 -0
- package/plugins/lisa-cursor/agents/builder.md +40 -0
- package/plugins/lisa-cursor/agents/confluence-prd-intake.md +65 -0
- package/plugins/lisa-cursor/agents/debug-specialist.md +114 -0
- package/plugins/lisa-cursor/agents/git-history-analyzer.md +183 -0
- package/plugins/lisa-cursor/agents/github-agent.md +148 -0
- package/plugins/lisa-cursor/agents/github-build-intake.md +64 -0
- package/plugins/lisa-cursor/agents/github-prd-intake.md +66 -0
- package/plugins/lisa-cursor/agents/jira-agent.md +129 -0
- package/plugins/lisa-cursor/agents/jira-build-intake.md +64 -0
- package/plugins/lisa-cursor/agents/learner.md +43 -0
- package/plugins/lisa-cursor/agents/learnings-synthesizer.md +135 -0
- package/plugins/lisa-cursor/agents/linear-agent.md +134 -0
- package/plugins/lisa-cursor/agents/linear-build-intake.md +64 -0
- package/plugins/lisa-cursor/agents/linear-prd-intake.md +66 -0
- package/plugins/lisa-cursor/agents/notion-prd-intake.md +63 -0
- package/plugins/lisa-cursor/agents/performance-specialist.md +85 -0
- package/plugins/lisa-cursor/agents/pr-mining-specialist.md +85 -0
- package/plugins/lisa-cursor/agents/product-specialist.md +63 -0
- package/plugins/lisa-cursor/agents/quality-specialist.md +56 -0
- package/plugins/lisa-cursor/agents/security-specialist.md +51 -0
- package/plugins/lisa-cursor/agents/skill-evaluator.md +245 -0
- package/plugins/lisa-cursor/agents/spec-conformance-specialist.md +49 -0
- package/plugins/lisa-cursor/agents/test-specialist.md +49 -0
- package/plugins/lisa-cursor/agents/tracker-mining-specialist.md +85 -0
- package/plugins/lisa-cursor/agents/verification-specialist.md +135 -0
- package/plugins/lisa-cursor/commands/automation-status.md +12 -0
- package/plugins/lisa-cursor/commands/codify-verification.md +6 -0
- package/plugins/lisa-cursor/commands/debrief/apply.md +6 -0
- package/plugins/lisa-cursor/commands/debrief.md +6 -0
- package/plugins/lisa-cursor/commands/doctor.md +6 -0
- package/plugins/lisa-cursor/commands/fix/linter-error.md +7 -0
- package/plugins/lisa-cursor/commands/git/commit.md +7 -0
- package/plugins/lisa-cursor/commands/git/prune.md +6 -0
- package/plugins/lisa-cursor/commands/git/submit-pr.md +7 -0
- package/plugins/lisa-cursor/commands/implement.md +6 -0
- package/plugins/lisa-cursor/commands/improve/code-complexity.md +6 -0
- package/plugins/lisa-cursor/commands/improve/max-lines-per-function.md +7 -0
- package/plugins/lisa-cursor/commands/improve/max-lines.md +7 -0
- package/plugins/lisa-cursor/commands/improve/test-coverage.md +7 -0
- package/plugins/lisa-cursor/commands/improve/tests.md +7 -0
- package/plugins/lisa-cursor/commands/intake-explain.md +31 -0
- package/plugins/lisa-cursor/commands/intake.md +6 -0
- package/plugins/lisa-cursor/commands/monitor.md +6 -0
- package/plugins/lisa-cursor/commands/plan.md +6 -0
- package/plugins/lisa-cursor/commands/plugin-sync-explain.md +8 -0
- package/plugins/lisa-cursor/commands/product-walkthrough.md +7 -0
- package/plugins/lisa-cursor/commands/project-ideation.md +6 -0
- package/plugins/lisa-cursor/commands/pull-request/review.md +7 -0
- package/plugins/lisa-cursor/commands/queue-status.md +34 -0
- package/plugins/lisa-cursor/commands/repair-intake.md +6 -0
- package/plugins/lisa-cursor/commands/research.md +6 -0
- package/plugins/lisa-cursor/commands/review/local.md +6 -0
- package/plugins/lisa-cursor/commands/security/zap-scan.md +6 -0
- package/plugins/lisa-cursor/commands/setup/atlassian.md +7 -0
- package/plugins/lisa-cursor/commands/setup/confluence.md +7 -0
- package/plugins/lisa-cursor/commands/setup/github.md +7 -0
- package/plugins/lisa-cursor/commands/setup/jira.md +7 -0
- package/plugins/lisa-cursor/commands/setup/linear.md +7 -0
- package/plugins/lisa-cursor/commands/setup/notion.md +7 -0
- package/plugins/lisa-cursor/commands/setup-automations.md +6 -0
- package/plugins/lisa-cursor/commands/tear-down-automations.md +6 -0
- package/plugins/lisa-cursor/commands/verify-prd.md +6 -0
- package/plugins/lisa-cursor/commands/verify.md +6 -0
- package/plugins/lisa-cursor/commands/wiki/install.md +7 -0
- package/plugins/lisa-cursor/hooks/block-no-verify.sh +37 -0
- package/plugins/lisa-cursor/hooks/install-pkgs.sh +69 -0
- package/plugins/lisa-cursor/hooks/notify-ntfy.sh +183 -0
- package/plugins/lisa-cursor/hooks/setup-jira-cli.sh +51 -0
- package/plugins/lisa-cursor/rules/eager/base-rules.md +70 -0
- package/plugins/lisa-cursor/rules/eager/coding-philosophy.md +27 -0
- package/plugins/lisa-cursor/rules/eager/config-resolution.md +28 -0
- package/plugins/lisa-cursor/rules/eager/documentation-source-paths.md +13 -0
- package/plugins/lisa-cursor/rules/eager/empirical-inquiry.md +22 -0
- package/plugins/lisa-cursor/rules/eager/intent-routing.md +18 -0
- package/plugins/lisa-cursor/rules/eager/leaf-only-lifecycle.md +39 -0
- package/plugins/lisa-cursor/rules/eager/prd-lifecycle-rollup.md +31 -0
- package/plugins/lisa-cursor/rules/eager/repo-scope-split.md +39 -0
- package/plugins/lisa-cursor/rules/eager/security-audit-handling.md +29 -0
- package/plugins/lisa-cursor/rules/eager/usage-accounting.md +28 -0
- package/plugins/lisa-cursor/rules/eager/verification.md +21 -0
- package/plugins/lisa-cursor/rules/eager/wiki-knowledge-source.md +16 -0
- package/plugins/lisa-cursor/rules/reference/base-rules.md +133 -0
- package/plugins/lisa-cursor/rules/reference/coding-philosophy.md +428 -0
- package/plugins/lisa-cursor/rules/reference/config-resolution.md +691 -0
- package/plugins/lisa-cursor/rules/reference/documentation-source-paths.md +13 -0
- package/plugins/lisa-cursor/rules/reference/empirical-inquiry.md +27 -0
- package/plugins/lisa-cursor/rules/reference/intent-routing.md +407 -0
- package/plugins/lisa-cursor/rules/reference/leaf-only-lifecycle.md +120 -0
- package/plugins/lisa-cursor/rules/reference/prd-lifecycle-rollup.md +156 -0
- package/plugins/lisa-cursor/rules/reference/repo-scope-split.md +58 -0
- package/plugins/lisa-cursor/rules/reference/security-audit-handling.md +30 -0
- package/plugins/lisa-cursor/rules/reference/usage-accounting.md +144 -0
- package/plugins/lisa-cursor/rules/reference/verification.md +124 -0
- package/plugins/lisa-cursor/rules/reference/wiki-knowledge-source.md +14 -0
- package/plugins/lisa-cursor/scripts/automation-status-claude-adapter.mjs +672 -0
- package/plugins/lisa-cursor/scripts/automation-status-codex-adapter.mjs +697 -0
- package/plugins/lisa-cursor/scripts/automation-status-contract-drift.mjs +392 -0
- package/plugins/lisa-cursor/scripts/automation-status-expected-fleet.mjs +319 -0
- package/plugins/lisa-cursor/scripts/automation-status-report.mjs +170 -0
- package/plugins/lisa-cursor/scripts/doctor-report.mjs +143 -0
- package/plugins/lisa-cursor/scripts/plugin-sync-explain.mjs +512 -0
- package/plugins/lisa-cursor/scripts/project-ideation-idempotency-harness.mjs +319 -0
- package/plugins/lisa-cursor/scripts/queue-contract-resolution.mjs +453 -0
- package/plugins/lisa-cursor/scripts/queue-health-classification.mjs +157 -0
- package/plugins/lisa-cursor/scripts/queue-status-build-readers.mjs +509 -0
- package/plugins/lisa-cursor/scripts/queue-status-prd-readers.mjs +452 -0
- package/plugins/lisa-cursor/skills/acceptance-criteria/SKILL.md +71 -0
- package/plugins/lisa-cursor/skills/agent-design-best-practices/SKILL.md +219 -0
- package/plugins/lisa-cursor/skills/atlassian-access/SKILL.md +293 -0
- package/plugins/lisa-cursor/skills/automation-status/SKILL.md +111 -0
- package/plugins/lisa-cursor/skills/bug-triage/SKILL.md +23 -0
- package/plugins/lisa-cursor/skills/codebase-research/SKILL.md +87 -0
- package/plugins/lisa-cursor/skills/codify-verification/SKILL.md +152 -0
- package/plugins/lisa-cursor/skills/confluence-prd-intake/SKILL.md +417 -0
- package/plugins/lisa-cursor/skills/confluence-to-tracker/SKILL.md +360 -0
- package/plugins/lisa-cursor/skills/confluence-write-prd/SKILL.md +109 -0
- package/plugins/lisa-cursor/skills/debrief/SKILL.md +94 -0
- package/plugins/lisa-cursor/skills/debrief-apply/SKILL.md +63 -0
- package/plugins/lisa-cursor/skills/doctor/SKILL.md +317 -0
- package/plugins/lisa-cursor/skills/epic-triage/SKILL.md +28 -0
- package/plugins/lisa-cursor/skills/fix-linter-error/SKILL.md +45 -0
- package/plugins/lisa-cursor/skills/git-commit/SKILL.md +48 -0
- package/plugins/lisa-cursor/skills/git-prune/SKILL.md +35 -0
- package/plugins/lisa-cursor/skills/git-submit-pr/SKILL.md +105 -0
- package/plugins/lisa-cursor/skills/github-add-journey/SKILL.md +115 -0
- package/plugins/lisa-cursor/skills/github-build-intake/SKILL.md +377 -0
- package/plugins/lisa-cursor/skills/github-create/SKILL.md +101 -0
- package/plugins/lisa-cursor/skills/github-evidence/SKILL.md +110 -0
- package/plugins/lisa-cursor/skills/github-journey/SKILL.md +121 -0
- package/plugins/lisa-cursor/skills/github-prd-intake/SKILL.md +432 -0
- package/plugins/lisa-cursor/skills/github-project-v2/SKILL.md +227 -0
- package/plugins/lisa-cursor/skills/github-read-issue/SKILL.md +248 -0
- package/plugins/lisa-cursor/skills/github-sync/SKILL.md +119 -0
- package/plugins/lisa-cursor/skills/github-to-tracker/SKILL.md +345 -0
- package/plugins/lisa-cursor/skills/github-validate-issue/SKILL.md +331 -0
- package/plugins/lisa-cursor/skills/github-verify/SKILL.md +29 -0
- package/plugins/lisa-cursor/skills/github-write-issue/SKILL.md +339 -0
- package/plugins/lisa-cursor/skills/github-write-prd/SKILL.md +157 -0
- package/plugins/lisa-cursor/skills/implement/SKILL.md +145 -0
- package/plugins/lisa-cursor/skills/improve-code-complexity/SKILL.md +44 -0
- package/plugins/lisa-cursor/skills/improve-max-lines/SKILL.md +45 -0
- package/plugins/lisa-cursor/skills/improve-max-lines-per-function/SKILL.md +46 -0
- package/plugins/lisa-cursor/skills/improve-test-coverage/SKILL.md +44 -0
- package/plugins/lisa-cursor/skills/improve-tests/SKILL.md +47 -0
- package/plugins/lisa-cursor/skills/intake/SKILL.md +132 -0
- package/plugins/lisa-cursor/skills/intake-explain/SKILL.md +279 -0
- package/plugins/lisa-cursor/skills/jira-add-journey/SKILL.md +121 -0
- package/plugins/lisa-cursor/skills/jira-build-intake/SKILL.md +286 -0
- package/plugins/lisa-cursor/skills/jira-create/SKILL.md +154 -0
- package/plugins/lisa-cursor/skills/jira-evidence/SKILL.md +90 -0
- package/plugins/lisa-cursor/skills/jira-evidence/scripts/post-evidence.sh +163 -0
- package/plugins/lisa-cursor/skills/jira-journey/SKILL.md +127 -0
- package/plugins/lisa-cursor/skills/jira-journey/scripts/generate-templates.py +233 -0
- package/plugins/lisa-cursor/skills/jira-journey/scripts/parse-plan.py +368 -0
- package/plugins/lisa-cursor/skills/jira-read-ticket/SKILL.md +198 -0
- package/plugins/lisa-cursor/skills/jira-read-ticket/scripts/download-attachment.sh +110 -0
- package/plugins/lisa-cursor/skills/jira-sync/SKILL.md +95 -0
- package/plugins/lisa-cursor/skills/jira-validate-ticket/SKILL.md +318 -0
- package/plugins/lisa-cursor/skills/jira-verify/SKILL.md +30 -0
- package/plugins/lisa-cursor/skills/jira-write-ticket/SKILL.md +265 -0
- package/plugins/lisa-cursor/skills/jsdoc-best-practices/SKILL.md +432 -0
- package/plugins/lisa-cursor/skills/linear-add-journey/SKILL.md +105 -0
- package/plugins/lisa-cursor/skills/linear-build-intake/SKILL.md +283 -0
- package/plugins/lisa-cursor/skills/linear-create/SKILL.md +146 -0
- package/plugins/lisa-cursor/skills/linear-evidence/SKILL.md +103 -0
- package/plugins/lisa-cursor/skills/linear-journey/SKILL.md +134 -0
- package/plugins/lisa-cursor/skills/linear-prd-intake/SKILL.md +383 -0
- package/plugins/lisa-cursor/skills/linear-read-issue/SKILL.md +200 -0
- package/plugins/lisa-cursor/skills/linear-sync/SKILL.md +114 -0
- package/plugins/lisa-cursor/skills/linear-to-tracker/SKILL.md +342 -0
- package/plugins/lisa-cursor/skills/linear-validate-issue/SKILL.md +313 -0
- package/plugins/lisa-cursor/skills/linear-verify/SKILL.md +51 -0
- package/plugins/lisa-cursor/skills/linear-write-issue/SKILL.md +292 -0
- package/plugins/lisa-cursor/skills/linear-write-prd/SKILL.md +96 -0
- package/plugins/lisa-cursor/skills/lisa-review-implementation/SKILL.md +209 -0
- package/plugins/lisa-cursor/skills/monitor/SKILL.md +48 -0
- package/plugins/lisa-cursor/skills/nightly-add-test-coverage/SKILL.md +40 -0
- package/plugins/lisa-cursor/skills/nightly-improve-tests/SKILL.md +29 -0
- package/plugins/lisa-cursor/skills/nightly-lower-code-complexity/SKILL.md +28 -0
- package/plugins/lisa-cursor/skills/notion-access/SKILL.md +226 -0
- package/plugins/lisa-cursor/skills/notion-prd-intake/SKILL.md +360 -0
- package/plugins/lisa-cursor/skills/notion-to-tracker/SKILL.md +357 -0
- package/plugins/lisa-cursor/skills/notion-write-prd/SKILL.md +109 -0
- package/plugins/lisa-cursor/skills/performance-review/SKILL.md +94 -0
- package/plugins/lisa-cursor/skills/plan/SKILL.md +60 -0
- package/plugins/lisa-cursor/skills/plugin-sync-explain/SKILL.md +53 -0
- package/plugins/lisa-cursor/skills/prd-backlink/SKILL.md +265 -0
- package/plugins/lisa-cursor/skills/prd-source-write/SKILL.md +101 -0
- package/plugins/lisa-cursor/skills/prd-ticket-coverage/SKILL.md +170 -0
- package/plugins/lisa-cursor/skills/product-walkthrough/SKILL.md +129 -0
- package/plugins/lisa-cursor/skills/project-ideation/SKILL.md +315 -0
- package/plugins/lisa-cursor/skills/project-ideation/examples/evidence-card-format.md +21 -0
- package/plugins/lisa-cursor/skills/project-ideation/examples/host-project-only.md +22 -0
- package/plugins/lisa-cursor/skills/project-ideation/examples/idempotency-verification-harness.md +57 -0
- package/plugins/lisa-cursor/skills/project-ideation/examples/public-external-inspiration.md +22 -0
- package/plugins/lisa-cursor/skills/project-ideation/examples/unavailable-data-rejection.md +22 -0
- package/plugins/lisa-cursor/skills/pull-request-review/SKILL.md +68 -0
- package/plugins/lisa-cursor/skills/quality-review/SKILL.md +54 -0
- package/plugins/lisa-cursor/skills/queue-status/SKILL.md +133 -0
- package/plugins/lisa-cursor/skills/repair-intake/SKILL.md +584 -0
- package/plugins/lisa-cursor/skills/reproduce-bug/SKILL.md +96 -0
- package/plugins/lisa-cursor/skills/research/SKILL.md +68 -0
- package/plugins/lisa-cursor/skills/review-local/SKILL.md +88 -0
- package/plugins/lisa-cursor/skills/root-cause-analysis/SKILL.md +155 -0
- package/plugins/lisa-cursor/skills/security-review/SKILL.md +57 -0
- package/plugins/lisa-cursor/skills/security-zap-scan/SKILL.md +33 -0
- package/plugins/lisa-cursor/skills/setup-atlassian/SKILL.md +347 -0
- package/plugins/lisa-cursor/skills/setup-automations/SKILL.md +99 -0
- package/plugins/lisa-cursor/skills/setup-confluence/SKILL.md +254 -0
- package/plugins/lisa-cursor/skills/setup-github/SKILL.md +268 -0
- package/plugins/lisa-cursor/skills/setup-jira/SKILL.md +198 -0
- package/plugins/lisa-cursor/skills/setup-linear/SKILL.md +251 -0
- package/plugins/lisa-cursor/skills/setup-notion/SKILL.md +316 -0
- package/plugins/lisa-cursor/skills/spec-conformance/SKILL.md +159 -0
- package/plugins/lisa-cursor/skills/task-decomposition/SKILL.md +127 -0
- package/plugins/lisa-cursor/skills/task-triage/SKILL.md +23 -0
- package/plugins/lisa-cursor/skills/tdd-implementation/SKILL.md +83 -0
- package/plugins/lisa-cursor/skills/tear-down-automations/SKILL.md +34 -0
- package/plugins/lisa-cursor/skills/test-strategy/SKILL.md +63 -0
- package/plugins/lisa-cursor/skills/ticket-triage/SKILL.md +182 -0
- package/plugins/lisa-cursor/skills/tracker-add-journey/SKILL.md +26 -0
- package/plugins/lisa-cursor/skills/tracker-build-intake/SKILL.md +64 -0
- package/plugins/lisa-cursor/skills/tracker-create/SKILL.md +26 -0
- package/plugins/lisa-cursor/skills/tracker-evidence/SKILL.md +52 -0
- package/plugins/lisa-cursor/skills/tracker-journey/SKILL.md +26 -0
- package/plugins/lisa-cursor/skills/tracker-read/SKILL.md +27 -0
- package/plugins/lisa-cursor/skills/tracker-source-artifacts/SKILL.md +107 -0
- package/plugins/lisa-cursor/skills/tracker-sync/SKILL.md +51 -0
- package/plugins/lisa-cursor/skills/tracker-validate/SKILL.md +36 -0
- package/plugins/lisa-cursor/skills/tracker-verify/SKILL.md +27 -0
- package/plugins/lisa-cursor/skills/tracker-write/SKILL.md +53 -0
- package/plugins/lisa-cursor/skills/usage-accounting/SKILL.md +170 -0
- package/plugins/lisa-cursor/skills/verification-lifecycle/SKILL.md +339 -0
- package/plugins/lisa-cursor/skills/verify/SKILL.md +49 -0
- package/plugins/lisa-cursor/skills/verify-prd/SKILL.md +392 -0
- package/plugins/lisa-cursor/skills/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-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +2 -1
- package/plugins/lisa-harper-fabric/hooks/hooks.json +26 -0
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +2 -1
- package/plugins/lisa-nestjs/hooks/hooks.json +15 -0
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +2 -1
- package/plugins/lisa-rails/hooks/hooks.json +41 -0
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +2 -1
- package/plugins/lisa-typescript/hooks/format-on-edit.sh +5 -3
- package/plugins/lisa-typescript/hooks/hooks.json +34 -0
- package/plugins/lisa-typescript/hooks/lint-on-edit.sh +5 -2
- package/plugins/lisa-typescript/hooks/sg-scan-on-edit.sh +5 -2
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/src/typescript/hooks/format-on-edit.sh +5 -3
- package/plugins/src/typescript/hooks/lint-on-edit.sh +5 -2
- package/plugins/src/typescript/hooks/sg-scan-on-edit.sh +5 -2
- package/scripts/build-plugins.sh +24 -0
- package/scripts/generate-agy-plugin-artifacts.mjs +168 -0
- package/scripts/generate-codex-plugin-artifacts.mjs +150 -12
- package/scripts/generate-copilot-plugin-artifacts.mjs +235 -0
- package/scripts/generate-cursor-plugin-artifacts.mjs +177 -0
- package/scripts/internal-agy-skill-policy.json +3 -0
- package/scripts/internal-copilot-runtime-probe.json +13 -0
- package/scripts/internal-copilot-skill-policy.json +3 -0
- package/scripts/internal-cursor-skill-policy.json +3 -0
- package/scripts/lib/per-agent-hook-filter.mjs +249 -0
- package/scripts/probes/wave3-verification.sh +106 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-walkthrough
|
|
3
|
+
description: "Methodology for evaluating the live product via a real browser (Playwright MCP) when planning work or evaluating a PRD. Reading a PRD or a mock without seeing the current product produces tickets that misjudge the change — this skill grounds the analysis in what actually exists today. Invoke this skill from notion-to-tracker (Phase 2b live-product walkthrough), jira-create, and any PRD intake flow whose work touches existing user-facing surfaces."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read", "mcp__plugin_playwright_playwright__browser_navigate", "mcp__plugin_playwright_playwright__browser_snapshot", "mcp__plugin_playwright_playwright__browser_take_screenshot", "mcp__plugin_playwright_playwright__browser_click", "mcp__plugin_playwright_playwright__browser_type", "mcp__plugin_playwright_playwright__browser_select_option", "mcp__plugin_playwright_playwright__browser_fill_form", "mcp__plugin_playwright_playwright__browser_press_key", "mcp__plugin_playwright_playwright__browser_hover", "mcp__plugin_playwright_playwright__browser_navigate_back", "mcp__plugin_playwright_playwright__browser_resize", "mcp__plugin_playwright_playwright__browser_tabs", "mcp__plugin_playwright_playwright__browser_console_messages", "mcp__plugin_playwright_playwright__browser_network_requests", "mcp__plugin_playwright_playwright__browser_wait_for", "mcp__plugin_playwright_playwright__browser_close"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Live Product Walkthrough
|
|
8
|
+
|
|
9
|
+
Reading a PRD or a mock without seeing the current product produces tickets that misjudge the change. This skill defines how to use a real browser (via Playwright MCP) to evaluate the live product *before* planning tickets, so the work is grounded in what actually exists today.
|
|
10
|
+
|
|
11
|
+
## When to invoke
|
|
12
|
+
|
|
13
|
+
Always run a walkthrough when the work touches user-facing surfaces:
|
|
14
|
+
|
|
15
|
+
- The PRD describes a change to an existing screen, flow, or interaction
|
|
16
|
+
- The PRD adds something *next to* existing functionality (entry points, navigation, related screens)
|
|
17
|
+
- A mock or prototype implies a re-style or re-flow of something currently shipped
|
|
18
|
+
- The change is a "bug" framed as a fix to current behavior — you must see the current behavior before reasoning about the fix
|
|
19
|
+
|
|
20
|
+
Skip when the work is purely backend with no user-visible surface, type-only, doc-only, or affects a screen that does not yet exist in production / dev.
|
|
21
|
+
|
|
22
|
+
## Configuration
|
|
23
|
+
|
|
24
|
+
Required inputs (ask if not set):
|
|
25
|
+
|
|
26
|
+
| Variable | Purpose | Example |
|
|
27
|
+
|----------|---------|---------|
|
|
28
|
+
| `E2E_BASE_URL` | Frontend base URL to walk through | `https://dev.example.io/` |
|
|
29
|
+
| Sign-in account | Test user to sign in as for the affected flows | from PRD config / 1Password / env |
|
|
30
|
+
| Sign-in credentials | How to obtain (1Password item, env vars) | `E2E_TEST_PHONE`, `E2E_TEST_OTP` |
|
|
31
|
+
|
|
32
|
+
Walk through `dev` (or the env named in the PRD) — never `prod` for exploratory walkthroughs unless explicitly asked.
|
|
33
|
+
|
|
34
|
+
## Process
|
|
35
|
+
|
|
36
|
+
### 1. Plan the walkthrough
|
|
37
|
+
|
|
38
|
+
Before opening the browser, list the surfaces the change will touch:
|
|
39
|
+
|
|
40
|
+
- Which screens/routes are involved (current and new)?
|
|
41
|
+
- Which user roles need to be exercised (admin / customer / etc.)?
|
|
42
|
+
- Which states matter (signed-out, signed-in, empty, populated, error, loading)?
|
|
43
|
+
- Which viewports matter (desktop always; mobile when responsive; tablet rarely)?
|
|
44
|
+
|
|
45
|
+
Write this list down. If you can't, the PRD is too vague — note this as a coverage smell and surface it as an Open Question on the resulting ticket.
|
|
46
|
+
|
|
47
|
+
### 2. Open the browser and sign in
|
|
48
|
+
|
|
49
|
+
1. `browser_navigate` to `E2E_BASE_URL`.
|
|
50
|
+
2. `browser_resize` to the primary viewport (default desktop 1512×768).
|
|
51
|
+
3. Sign in via the test account. Use `browser_fill_form` and `browser_click`. Capture the post-login screen with `browser_snapshot` or `browser_take_screenshot`.
|
|
52
|
+
|
|
53
|
+
### 3. Walk the affected surfaces
|
|
54
|
+
|
|
55
|
+
For each surface from step 1:
|
|
56
|
+
|
|
57
|
+
1. Navigate to it. Capture a `browser_snapshot` (accessibility tree — better for reasoning) and a `browser_take_screenshot` (visual evidence).
|
|
58
|
+
2. Exercise the relevant interactions. Capture state transitions.
|
|
59
|
+
3. Capture each state that matters (empty, populated, error, loading) — explicitly trigger them where possible.
|
|
60
|
+
4. For responsive changes, `browser_resize` to the secondary viewport (mobile 375×812) and re-capture.
|
|
61
|
+
5. `browser_console_messages` and `browser_network_requests` after each interaction — surface any errors, 4xx/5xx, or unexpected calls.
|
|
62
|
+
|
|
63
|
+
### 4. Record findings
|
|
64
|
+
|
|
65
|
+
For every walkthrough, record:
|
|
66
|
+
|
|
67
|
+
- **What exists today**: a short prose description of the current flow, the components in use (if you can identify them from the DOM via `browser_snapshot`), and the states observed.
|
|
68
|
+
- **What the PRD changes**: explicit delta — added screens, removed screens, modified components, new states, removed states.
|
|
69
|
+
- **Existing-component reuse candidates**: components in the current product that could absorb the new behavior. The PRD-vs-current-product comparison drives which existing components a developer should reuse instead of building new (see `lisa:tracker-source-artifacts` §7).
|
|
70
|
+
- **Design-vs-current-product divergence**: places where the mock/prototype materially diverges from what's shipped. Each divergence is a discussion item, not an automatic "rebuild from scratch" — see `lisa:tracker-source-artifacts` §3 (mocks define visual intent, not implementation shortcut).
|
|
71
|
+
- **Coverage smells**: states the PRD doesn't address that exist today (e.g., the mock shows the empty state but ignores the populated state that has 90% of users).
|
|
72
|
+
- **Behavioral surprises**: anything that doesn't match the PRD's assumptions about current behavior — these are usually the most valuable findings, because they invalidate parts of the PRD.
|
|
73
|
+
|
|
74
|
+
### 5. Attach evidence to the originating context
|
|
75
|
+
|
|
76
|
+
Capture screenshots/snapshots in a way that the originating ticket / Notion comment / PRD review can reference them.
|
|
77
|
+
|
|
78
|
+
- For **PRD intake**: include a "Current Product" comment on the Notion PRD with the findings prose and inline screenshots of the current state alongside each affected screen mentioned in the PRD.
|
|
79
|
+
- For **ticket creation**: include the findings under `## Current Product` in the ticket description (Story or Epic). Reference the screenshots as remote links if hosted, or inline them as attachments.
|
|
80
|
+
- For **change-impact analysis**: produce a short report; the consuming skill decides where it lands.
|
|
81
|
+
|
|
82
|
+
### 6. Close the browser
|
|
83
|
+
|
|
84
|
+
`browser_close` when done. Walkthroughs are short, focused, and one-shot — do not leave a session open across phases.
|
|
85
|
+
|
|
86
|
+
## Findings format
|
|
87
|
+
|
|
88
|
+
Use this structure when emitting walkthrough findings, so consuming skills can splice them into tickets / comments unchanged. The `## Current Product` heading matches what `lisa:jira-write-ticket` Phase 4e expects to inherit — keep the heading exact.
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
## Current Product
|
|
92
|
+
|
|
93
|
+
**Environment**: <E2E_BASE_URL> as <account/role>
|
|
94
|
+
**Viewports exercised**: Desktop 1512×768, Mobile 375×812
|
|
95
|
+
|
|
96
|
+
### Surfaces walked
|
|
97
|
+
1. <route> — <one-line current behavior>
|
|
98
|
+
2. <route> — <one-line current behavior>
|
|
99
|
+
|
|
100
|
+
### What exists today
|
|
101
|
+
<2-4 sentence prose summary of the current flow and components in use>
|
|
102
|
+
|
|
103
|
+
### Delta vs. PRD
|
|
104
|
+
- ADDED: <new surface/state from PRD>
|
|
105
|
+
- MODIFIED: <existing surface, with the change>
|
|
106
|
+
- REMOVED: <existing surface PRD removes>
|
|
107
|
+
- UNCHANGED-BUT-IMPACTED: <existing surface PRD doesn't mention but will be affected>
|
|
108
|
+
|
|
109
|
+
### Existing-component reuse candidates
|
|
110
|
+
- <component or screen> — could absorb <new behavior>
|
|
111
|
+
|
|
112
|
+
### Design-vs-current-product divergence
|
|
113
|
+
- <mock or prototype reference> diverges from <current screen> in: <specific dimension>
|
|
114
|
+
- Recommendation: <reuse / new build / discussion>
|
|
115
|
+
|
|
116
|
+
### Coverage smells & behavioral surprises
|
|
117
|
+
- <smell or surprise>
|
|
118
|
+
|
|
119
|
+
### Evidence
|
|
120
|
+
- <list of screenshots/snapshots, with captions>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Rules
|
|
124
|
+
|
|
125
|
+
- Walk before you write. If the work touches existing user-facing surfaces and the walkthrough wasn't done, the resulting ticket is missing context — don't ship it.
|
|
126
|
+
- Never walk `prod` for exploratory analysis. `dev` (or the env named in the PRD) only.
|
|
127
|
+
- Treat console errors and unexpected network calls as findings — they often reveal undocumented behavior the PRD assumes is fine.
|
|
128
|
+
- Findings drive `## Open Questions` on tickets, not silent assumptions. If the current product contradicts the PRD, surface it as a BLOCKER.
|
|
129
|
+
- This skill captures observations; it does not edit JIRA or the PRD. Consuming skills decide where findings land (ticket description, Notion comment, validator input).
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-ideation
|
|
3
|
+
description: "Generate practical, verifiable product ideas for the current host project FROM EVIDENCE-DERIVED PERSONAS, then turn the selected build-ready ideas into real PRDs via lisa:research. First derives the personas the project actually serves by mining its docs, code, data model, and releases (never invented — each persona cites its evidence), then ideates per persona. Every build-ready idea must pass a practicality gate (an obtainable data/source path) and an empirical verification gate (a user-observable outcome the agent can verify). Selected ideas are handed to lisa:research, which creates each PRD in the configured source (Notion / Confluence / GitHub / Linear) — in the draft state by default, or prd-ready (auto-picked-up by lisa:intake) when prd_ready=true. Defaults to creating one PRD (the top-ranked idea); max_prds widens the batch. Invoke for 'generate feature ideas for this project', 'what should we build next for <persona>?', 'looking at <external product>, what should we add here?'. Vendor- and stack-agnostic."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read", "Glob", "Grep", "WebFetch", "WebSearch"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Ideation
|
|
8
|
+
|
|
9
|
+
Generate persona-grounded, verifiable ideas for the host project in `$ARGUMENTS` (or the current
|
|
10
|
+
working directory), then create PRDs for the selected build-ready ideas via `lisa:research`.
|
|
11
|
+
|
|
12
|
+
The value of this skill is **grounding + filtering**, not brainstorm volume. Ideas come from
|
|
13
|
+
personas the project demonstrably serves, and an idea you cannot ground in obtainable data and
|
|
14
|
+
cannot verify yourself is noise — demote it honestly.
|
|
15
|
+
|
|
16
|
+
## Parameters
|
|
17
|
+
|
|
18
|
+
- **`target`** (first positional, optional) — a target project path, or an external product/site to
|
|
19
|
+
draw inspiration from. Defaults to the current working directory.
|
|
20
|
+
- **`prd_ready=true|false`** (default **false**) — the PRD-lifecycle state for the PRDs this run
|
|
21
|
+
creates. `false` → created in the source's **draft** state for human review. `true` → created
|
|
22
|
+
**prd-ready** so the PRD side of `lisa:intake` auto-claims them. Passed straight through to
|
|
23
|
+
`lisa:research` (which maps it to `lisa:prd-source-write`'s `initial_role`) only after the PRD queue
|
|
24
|
+
pressure gate allows auto-ready writes.
|
|
25
|
+
- **`max_prds=<n>|all`** (default **1**) — how many build-ready ideas become PRDs this run. Default
|
|
26
|
+
creates **one** PRD (the single top-ranked idea), because `lisa:research` is a heavy full flow.
|
|
27
|
+
`max_prds=3` creates the top three; `max_prds=all` creates one per build-ready idea. Discovery
|
|
28
|
+
Spikes and Rejected ideas are never turned into PRDs regardless of `max_prds`.
|
|
29
|
+
- **`fixture=<path>`** (optional, verification-only) — a deterministic host-project fixture used
|
|
30
|
+
for idempotency verification. When present, read the fixture before ranking and honor its declared
|
|
31
|
+
single persona, single idea, existing-fit anchor, and expected dedupe marker. Do not use this
|
|
32
|
+
parameter for normal ideation runs.
|
|
33
|
+
|
|
34
|
+
## When to use
|
|
35
|
+
|
|
36
|
+
- "generate feature ideas for this project" / "what should this app do next?"
|
|
37
|
+
- "what should we build next for <persona / user type>?"
|
|
38
|
+
- "looking at <external product / website>, what should we add here?"
|
|
39
|
+
- "suggest practical improvements we can verify ourselves"
|
|
40
|
+
|
|
41
|
+
This skill **does** create PRDs (via `lisa:research`) for the selected ideas. It does **not** create
|
|
42
|
+
tracker tickets (that is `lisa:plan`) and does **not** change code (that is `lisa:implement`).
|
|
43
|
+
|
|
44
|
+
## Two gates every build-ready idea must pass
|
|
45
|
+
|
|
46
|
+
An idea may only become a **Practical Idea** (and thus a PRD candidate) if it passes BOTH gates.
|
|
47
|
+
Otherwise demote it.
|
|
48
|
+
|
|
49
|
+
1. **Practicality gate.** The project can plausibly implement the idea from sources that actually
|
|
50
|
+
exist: existing code, a data model, a route/command/UI surface, a public or integrated API, a
|
|
51
|
+
scrapeable public page, an existing user input, a local database, or documented integrations. Name
|
|
52
|
+
the specific source and how the data is obtained. "We could probably get the data somehow" fails.
|
|
53
|
+
2. **Empirical verification gate.** You can personally confirm the resulting behavior by using the
|
|
54
|
+
software (running the CLI, hitting the API, loading the page, querying the DB, inspecting an
|
|
55
|
+
artifact) and capture a concrete evidence artifact. "Tests could be written later" does NOT
|
|
56
|
+
satisfy this gate — quality gates are prerequisites, never proof an idea works.
|
|
57
|
+
|
|
58
|
+
Failing the practicality gate → **Rejected / Not Practical Yet** (or **Discovery Spike** if a bounded
|
|
59
|
+
probe could make it practical), naming the missing data/source/access. Failing only the verification
|
|
60
|
+
gate → **Discovery Spike** (define the missing proof), never a build-ready recommendation.
|
|
61
|
+
|
|
62
|
+
## Step 1 — Establish host-project context (always first)
|
|
63
|
+
|
|
64
|
+
Never propose ideas before you understand what exists. Inspect the host project and record:
|
|
65
|
+
|
|
66
|
+
- **Project type and package manager** — manifests (`package.json`, `pyproject.toml`, `go.mod`,
|
|
67
|
+
`Cargo.toml`, `Gemfile`, …) and any `.lisa.config.json`.
|
|
68
|
+
- **Docs and specs** — `README`, `docs/`, `wiki/`, architecture notes, ADRs, marketing/landing copy.
|
|
69
|
+
- **Current product surfaces or commands** — routes, screens, CLI subcommands, API endpoints,
|
|
70
|
+
scheduled jobs, generated artifacts.
|
|
71
|
+
- **Data model and existing user inputs** — schemas, migrations, forms, config the user supplies.
|
|
72
|
+
- **Available data sources and ingestion/scraping paths** — integrated APIs, public datasets,
|
|
73
|
+
scrapeable pages, local databases, event streams.
|
|
74
|
+
- **Existing verification tooling** — how a human currently observes the software works.
|
|
75
|
+
|
|
76
|
+
Use Lisa's existing methodology rather than inventing a parallel flow. Route each evidence source
|
|
77
|
+
through the matching established practice before any idea is promoted to **Practical Ideas**:
|
|
78
|
+
|
|
79
|
+
- **Host-code inspection** uses `/lisa:codebase-research` concepts: trace data flow from entry point
|
|
80
|
+
to output, identify modification points, map dependencies, and find reusable code or patterns.
|
|
81
|
+
- **Public, no-login comparison** uses web/browser research when those tools are available: inspect
|
|
82
|
+
the public surface, preserve source URLs, and separate observed behavior from inference.
|
|
83
|
+
- **UI-facing recommendations** use `/lisa:product-walkthrough` methodology first: inspect the
|
|
84
|
+
current product surface, note existing-component reuse candidates, capture coverage smells or
|
|
85
|
+
behavioral surprises, and only then list a UI idea as build-ready.
|
|
86
|
+
|
|
87
|
+
## Step 2 — Derive the personas (evidence-gated, never invented)
|
|
88
|
+
|
|
89
|
+
Ideation is **persona-driven**, and the personas must be gleaned from the project itself — not
|
|
90
|
+
assumed. Mine the Step 1 evidence for who the project actually serves:
|
|
91
|
+
|
|
92
|
+
- **Docs / README / release notes / CHANGELOG** — stated audiences, "for <role>" framing, who each
|
|
93
|
+
shipped feature was for.
|
|
94
|
+
- **Code** — auth roles / RBAC / permission checks, account-type or user-type enums, route guards,
|
|
95
|
+
feature flags scoped to a cohort, role-specific UI branches.
|
|
96
|
+
- **Data model** — user / role / tenant / org tables, profile fields, subscription tiers.
|
|
97
|
+
- **Tests & product walkthrough** — the real user journeys exercised.
|
|
98
|
+
- **External inspiration** (Step 3, if used) — comparable products' user segments, as inspiration
|
|
99
|
+
only.
|
|
100
|
+
|
|
101
|
+
Anti-fabrication rule (mechanical): **no evidence citation → no persona.** Generic roles
|
|
102
|
+
("admin", "analyst", "end user", "power user") are **banned unless the project has specific evidence
|
|
103
|
+
for them**. Each persona requires at least **two grounded signals** from different source classes
|
|
104
|
+
where available; if only one strong signal exists, emit a single **low-confidence "Primary
|
|
105
|
+
documented user"** persona named as such — never fabricate a full set from thin evidence.
|
|
106
|
+
|
|
107
|
+
Cap the set at **3–6 personas** (merge adjacent personas by goal/workflow; more than six is taxonomy
|
|
108
|
+
noise). Each persona records:
|
|
109
|
+
|
|
110
|
+
- `name` — concrete and project-specific.
|
|
111
|
+
- `goals` — what this persona is trying to accomplish.
|
|
112
|
+
- `pains` — current friction for this persona, grounded in observed behavior/gaps.
|
|
113
|
+
- `evidence` — the specific files / doc sections / tables / releases that justify the persona.
|
|
114
|
+
- `confidence` — high | medium | low, with the reason.
|
|
115
|
+
|
|
116
|
+
Always emit a **Personas Derived From Evidence** section, even when no PRDs are created. Spikes and
|
|
117
|
+
rejected ideas are still tagged with the persona they would serve (or `cross-persona`).
|
|
118
|
+
|
|
119
|
+
## Step 3 — Optional external / public-source inspection
|
|
120
|
+
|
|
121
|
+
Only when the user references an external product, website, public dataset, or competitor:
|
|
122
|
+
|
|
123
|
+
- Inspect **public, no-login** surfaces only. Preserve every **source URL** so informed ideas cite
|
|
124
|
+
it. The external source is **inspiration, not a domain you bake in** — keep the workflow reusable.
|
|
125
|
+
- If the runtime has no browser/web capability, mark that source **unavailable** and proceed with
|
|
126
|
+
host-project-only ideas (document the fallback rather than fabricating findings).
|
|
127
|
+
|
|
128
|
+
## Step 4 — Ideate per persona, then filter through the gates
|
|
129
|
+
|
|
130
|
+
For each derived persona, brainstorm ideas that serve that persona's goals/pains, **tag each idea
|
|
131
|
+
with the persona(s) it serves**, then run every idea through BOTH gates. For each surviving idea,
|
|
132
|
+
build a **feasibility card**:
|
|
133
|
+
|
|
134
|
+
- **Persona(s) served** — which derived persona(s), and why this matters to them.
|
|
135
|
+
- **Existing fit** — the current route / API / CLI / model / doc / surface it builds on (this is also
|
|
136
|
+
the idea's stable "existing-fit anchor" used in the dedupe key).
|
|
137
|
+
- **Data/source required** + **how it is obtained** — the concrete accessible path.
|
|
138
|
+
- **Known source limitations** — rate limits, robots/ToS, staleness, missing fields.
|
|
139
|
+
- **Smallest practical slice** — the minimal useful version.
|
|
140
|
+
- **Empirical verification steps** — what you (the agent) will do against the running software.
|
|
141
|
+
- **Evidence artifact** — the screenshot, curl/CLI output, DB row, or generated file the verifier
|
|
142
|
+
captures.
|
|
143
|
+
- **Confidence** — high | medium | low, with the reason.
|
|
144
|
+
|
|
145
|
+
## Step 5 — Rank and select the PRD creation set
|
|
146
|
+
|
|
147
|
+
Rank Practical Ideas by **persona value, feasibility, verification clarity, and project fit**. Then
|
|
148
|
+
select the creation set by `max_prds` (default **1** → the single top-ranked idea; `<n>` → top n;
|
|
149
|
+
`all` → every Practical Idea). Spikes and Rejected ideas are reported but never selected.
|
|
150
|
+
|
|
151
|
+
## Step 5.5 — Block auto-ready writes when the PRD queue has pressure
|
|
152
|
+
|
|
153
|
+
This step runs **only** when `prd_ready=true`. A draft run (`prd_ready=false`) skips this gate and
|
|
154
|
+
continues to Step 6, because draft PRDs do not create immediate PRD-intake pickup pressure.
|
|
155
|
+
|
|
156
|
+
Before invoking `lisa:research` for any selected idea, inspect the configured PRD source queue with
|
|
157
|
+
the same PRD reader contract used by `/lisa:queue-status` and evaluate it with
|
|
158
|
+
`evaluatePrdQueuePressure` from `plugins/lisa/scripts/queue-status-prd-readers.mjs` (source:
|
|
159
|
+
`plugins/src/base/scripts/queue-status-prd-readers.mjs`). Resolve the queue from `.lisa.config.json`
|
|
160
|
+
the same way `lisa:intake` resolves the PRD side, and pass the matching queue argument in the
|
|
161
|
+
blocked outcome (for example, `github intake_mode=prd`).
|
|
162
|
+
|
|
163
|
+
Queue pressure is any unresolved PRD lifecycle work that would make another auto-ready PRD compete
|
|
164
|
+
with existing intake work. Treat at least these roles as pressure when the helper reports them:
|
|
165
|
+
`prd-ready`, `prd-in-review`, `prd-blocked`, unresolved `prd-ticketed`, and source-reader failures or
|
|
166
|
+
misconfiguration snapshots. `prd-shipped` / `prd-verified` terminal history is not pressure unless the
|
|
167
|
+
reader helper explicitly reports it as unresolved.
|
|
168
|
+
|
|
169
|
+
If the helper returns `allowed: false`, stop before any `lisa:research`, `lisa:prd-source-write`, or
|
|
170
|
+
vendor PRD writer invocation. Emit **PRDs Created** as a blocked outcome, not as an empty success or a
|
|
171
|
+
silent idle run. The blocked outcome must include:
|
|
172
|
+
|
|
173
|
+
- `source` and `tracker` from `.lisa.config.json`;
|
|
174
|
+
- the decisive PRD lifecycle `role`;
|
|
175
|
+
- the blocking PRD item `ref` and `url`, when the snapshot supplies them;
|
|
176
|
+
- the smallest next action, preferring the helper's `nextStep` and otherwise using
|
|
177
|
+
`/lisa:intake <PRD queue>`;
|
|
178
|
+
- a clear statement that no research or PRD source write was invoked.
|
|
179
|
+
|
|
180
|
+
Use this output shape so recurring automations can surface a useful next step without digging through
|
|
181
|
+
debug logs:
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
## PRDs Created
|
|
185
|
+
|
|
186
|
+
Blocked: PRD queue pressure prevents auto-ready creation.
|
|
187
|
+
- source: <source>
|
|
188
|
+
- tracker: <tracker>
|
|
189
|
+
- role: <decisive role>
|
|
190
|
+
- item: <ref or "unavailable"> <url when available>
|
|
191
|
+
- next action: <helper nextStep or /lisa:intake <PRD queue>>
|
|
192
|
+
- write invoked: no
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
If the helper returns `allowed: true`, continue to Step 6 normally and keep the existing draft/ready
|
|
196
|
+
creation behavior unchanged.
|
|
197
|
+
|
|
198
|
+
## Step 6 — Create a PRD per selected idea (via lisa:research)
|
|
199
|
+
|
|
200
|
+
For each idea in the creation set, invoke `/lisa:research` with:
|
|
201
|
+
|
|
202
|
+
- the feasibility card and persona evidence as the problem statement (so the PRD inherits the
|
|
203
|
+
grounding and the empirical verification plan),
|
|
204
|
+
- `prd_ready` (this run's flag — `lisa:research` maps it to draft vs prd-ready),
|
|
205
|
+
- a stable **dedupe marker** (see below) so a re-run references the existing PRD instead of creating
|
|
206
|
+
a duplicate,
|
|
207
|
+
- a structured `ideation_ledger_payload` handoff containing the selected marker, automation id and
|
|
208
|
+
memory path when available, persona names, persona evidence references, rejected overlap
|
|
209
|
+
candidates, repo identity, `prd_ready`, selected idea title/key, and the expected empirical
|
|
210
|
+
verification artifact. This payload is the only ideation-run metadata channel between
|
|
211
|
+
`project-ideation`, `research`, `prd-source-write`, and the vendor writer; keep GitHub-specific
|
|
212
|
+
rendering out of this skill.
|
|
213
|
+
|
|
214
|
+
`lisa:research` synthesizes the PRD and creates it in the configured source via
|
|
215
|
+
`lisa:prd-source-write`. `project-ideation` never writes to the source directly — it delegates, so
|
|
216
|
+
the PRD source stays switchable per project. Capture each returned PRD ref / URL / role / outcome.
|
|
217
|
+
|
|
218
|
+
### Optional Codex automation memory
|
|
219
|
+
|
|
220
|
+
When the run has a Codex automation id or memory path, maintain a concise local advisory ledger after
|
|
221
|
+
the PRD source write returns. Resolve the memory path in this order:
|
|
222
|
+
|
|
223
|
+
1. explicit `memory_file=<path>` or `automation_memory=<path>` argument, when supplied;
|
|
224
|
+
2. `$CODEX_AUTOMATION_MEMORY`, when set;
|
|
225
|
+
3. `$CODEX_HOME/automations/<automation_id>/memory.md`, when `automation_id=<id>` or
|
|
226
|
+
`$CODEX_AUTOMATION_ID` is available.
|
|
227
|
+
|
|
228
|
+
Create the parent directory and `memory.md` if missing. Write one concise run entry keyed by the
|
|
229
|
+
dedupe marker and run timestamp. The entry must include the marker, PRD URL/ref, outcome
|
|
230
|
+
(`created | reused | updated | blocked`), lifecycle role (`draft | ready | blocked` or the returned
|
|
231
|
+
source role), and `source_agreement` (`github-source-wins`, `memory-created`, `memory-updated`, or
|
|
232
|
+
`memory-missing-runtime`). If memory says one thing but the PRD source search finds a matching open
|
|
233
|
+
PRD, GitHub/source truth wins: reuse the source PRD and update memory rather than creating a
|
|
234
|
+
duplicate. Keep memory advisory only; never use it to override lifecycle labels, source marker
|
|
235
|
+
matches, or the PRD source writer's returned role. Do not store secrets, tokens, full PRD bodies, or
|
|
236
|
+
private source excerpts in memory.
|
|
237
|
+
|
|
238
|
+
### Dedupe marker (stable, never title-based)
|
|
239
|
+
|
|
240
|
+
Each created PRD carries the marker `[lisa-project-ideation] idea=<stable-key>`. Compute
|
|
241
|
+
`<stable-key>` deterministically from: repo identity (configured repo or git remote + repo-root
|
|
242
|
+
basename) + a normalized slug of the idea name + the normalized persona key(s) + the existing-fit
|
|
243
|
+
anchor. **Do not** include rank, date, confidence, or the generated PRD title (they change across
|
|
244
|
+
runs). `lisa:prd-source-write` searches the source for an open PRD carrying this marker before
|
|
245
|
+
creating — matching by marker, never by title — so re-running ideation updates/references the
|
|
246
|
+
existing PRD rather than duplicating it.
|
|
247
|
+
|
|
248
|
+
## Step 7 — Output (no report file)
|
|
249
|
+
|
|
250
|
+
Emit two distinct in-session sections (do not write a report file):
|
|
251
|
+
|
|
252
|
+
1. **Idea report** (the audit trail):
|
|
253
|
+
```markdown
|
|
254
|
+
## Personas Derived From Evidence
|
|
255
|
+
- <name> — goals; pains; evidence (files/docs/tables/releases); confidence
|
|
256
|
+
|
|
257
|
+
## What Already Exists
|
|
258
|
+
- <current surfaces, data, commands, workflows — so duplicates aren't re-proposed>
|
|
259
|
+
|
|
260
|
+
## Practical Ideas
|
|
261
|
+
### 1. <Idea name> (persona: <persona(s)>)
|
|
262
|
+
- Persona value · Existing fit · Data/source path · Practical slice · Empirical verification ·
|
|
263
|
+
Evidence · Confidence
|
|
264
|
+
|
|
265
|
+
## Discovery Spikes
|
|
266
|
+
- <ideas needing proof of data/access/verification — name the missing proof — tagged by persona>
|
|
267
|
+
|
|
268
|
+
## Rejected / Not Practical Yet
|
|
269
|
+
- <attractive ideas rejected for missing data/access/legality/verification — name what's missing>
|
|
270
|
+
```
|
|
271
|
+
2. **PRDs Created** (the creation summary): for each selected idea — the created/reused PRD ref +
|
|
272
|
+
URL, its lifecycle role (`draft` or `ready`), its dedupe marker, and `created | reused`. List the
|
|
273
|
+
Practical Ideas that were **not** created this run and why (e.g. "below the `max_prds=1` cut").
|
|
274
|
+
|
|
275
|
+
Always include the **Personas**, **What Already Exists**, **Discovery Spikes**, and **Rejected**
|
|
276
|
+
sections (even if empty) so the user sees what was considered and filtered out.
|
|
277
|
+
|
|
278
|
+
## Out of scope (hard rules)
|
|
279
|
+
|
|
280
|
+
- **No fabricated personas.** No evidence citation → no persona; generic roles banned without
|
|
281
|
+
evidence (Step 2).
|
|
282
|
+
- **No sign-in-only ideas** unless the host project already supports sign-in *and* credentials are
|
|
283
|
+
available. **No private-data assumptions.** **No manual-data-only** requirements unless the user
|
|
284
|
+
accepts manual curation. **No paid-API / non-scrapeable-source ideas** in the build-ready list —
|
|
285
|
+
demote with the blocker named.
|
|
286
|
+
- **Tests, lint, typecheck, and build are not the empirical verification plan** — they are
|
|
287
|
+
prerequisites; verification must observe user-facing behavior.
|
|
288
|
+
- **Do not create tracker tickets or mutate the host project's code.** PRD creation (via
|
|
289
|
+
`lisa:research`) is the only write this skill performs; ticket planning (`lisa:plan`) and
|
|
290
|
+
implementation (`lisa:implement`) are separate, user-invoked flows.
|
|
291
|
+
- **Do not write PRDs to the source directly** — always go through `lisa:research` →
|
|
292
|
+
`lisa:prd-source-write` so the source stays switchable.
|
|
293
|
+
- **Do not add a new verification/browser-automation framework** when one already exists — reuse it.
|
|
294
|
+
- **Do not overfit to a source example.** Keep the workflow project-agnostic.
|
|
295
|
+
|
|
296
|
+
## Handing off
|
|
297
|
+
|
|
298
|
+
The created PRDs flow straight into the lifecycle:
|
|
299
|
+
|
|
300
|
+
- A `draft` PRD → a human reviews it, then promotes it to `ready` (or re-run with `prd_ready=true`).
|
|
301
|
+
- A `prd-ready` PRD → `/lisa:intake` (PRD side) auto-claims it → `/lisa:plan` decomposes it →
|
|
302
|
+
`/lisa:implement` builds each item → `/lisa:codify-verification` locks in the verification.
|
|
303
|
+
|
|
304
|
+
## Example outputs
|
|
305
|
+
|
|
306
|
+
Use the markdown examples in `examples/` as shape references for the idea report:
|
|
307
|
+
|
|
308
|
+
- `host-project-only.md` — ideas grounded only in the current repository.
|
|
309
|
+
- `public-external-inspiration.md` — public, no-login external sources as inspiration, not hidden
|
|
310
|
+
requirements.
|
|
311
|
+
- `unavailable-data-rejection.md` — naming missing private/paid/unavailable sources when demoting.
|
|
312
|
+
- `evidence-card-format.md` — the required evidence fields every Practical Idea card must carry.
|
|
313
|
+
- `idempotency-verification-harness.md` — deterministic fixture and script procedure proving that
|
|
314
|
+
repeated `prd_ready=true` ideation keeps the open GitHub marker count at one, including the
|
|
315
|
+
missing-memory rerun variant.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Evidence Card Formatting Example Output
|
|
2
|
+
|
|
3
|
+
## What Already Exists
|
|
4
|
+
- Lisa work items already use Validation Journey evidence markers.
|
|
5
|
+
- Skill reports can be saved as markdown artifacts and reviewed by humans.
|
|
6
|
+
|
|
7
|
+
## Practical Ideas
|
|
8
|
+
### 1. Evidence-First Idea Cards
|
|
9
|
+
- User value: A reviewer can decide whether an idea is ready without asking how it will be proven.
|
|
10
|
+
- Existing fit: Uses the project-ideation report shape and Lisa's evidence-first verification rules.
|
|
11
|
+
- Data/source path: Existing local project files plus any public URLs cited in the report.
|
|
12
|
+
- Practical slice: Require each practical idea to include `Empirical verification` and `Evidence` lines before it can remain in the practical list.
|
|
13
|
+
- Empirical verification: Render this example and confirm every practical idea card includes the two evidence fields.
|
|
14
|
+
- Evidence: Text output showing all practical cards pass the field check.
|
|
15
|
+
- Confidence: high because the check is structural and does not require external services.
|
|
16
|
+
|
|
17
|
+
## Discovery Spikes
|
|
18
|
+
- Evidence attachments inside generated reports: needs a storage and retention decision for binary artifacts.
|
|
19
|
+
|
|
20
|
+
## Rejected / Not Practical Yet
|
|
21
|
+
- Treating lint, typecheck, or unit tests as the only proof for a user-facing idea: rejected because quality gates are prerequisites, not empirical evidence artifacts.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Host Project Only Example Output
|
|
2
|
+
|
|
3
|
+
## What Already Exists
|
|
4
|
+
- CLI command registration is documented in the repository README.
|
|
5
|
+
- Skill sources live under `plugins/src/base/skills/` and are copied into the generated Lisa plugin.
|
|
6
|
+
- The project already has unit tests that verify generated plugin artifacts.
|
|
7
|
+
|
|
8
|
+
## Practical Ideas
|
|
9
|
+
### 1. Plugin Surface Drift Report
|
|
10
|
+
- User value: Maintainers can see which source skills are not represented in the generated plugin before publishing.
|
|
11
|
+
- Existing fit: Builds on the existing plugin source tree and generated plugin artifact tests.
|
|
12
|
+
- Data/source path: Local files under `plugins/src/base/skills/` and `plugins/lisa/skills/`.
|
|
13
|
+
- Practical slice: Emit a markdown report listing source-only, generated-only, and mismatched skill directories.
|
|
14
|
+
- Empirical verification: Run the report command in a clean checkout after intentionally adding one fixture-only source skill.
|
|
15
|
+
- Evidence: CLI output showing the mismatched skill and the generated markdown report path.
|
|
16
|
+
- Confidence: high because the required data is already local and deterministic.
|
|
17
|
+
|
|
18
|
+
## Discovery Spikes
|
|
19
|
+
- Skill usage frequency ranking: needs a bounded source of invocation telemetry before it can be recommended.
|
|
20
|
+
|
|
21
|
+
## Rejected / Not Practical Yet
|
|
22
|
+
- Personalized skill suggestions from private user history: rejected because the repository does not have access to private Codex usage history.
|
package/plugins/lisa-copilot/skills/project-ideation/examples/idempotency-verification-harness.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Project Ideation Idempotency Verification Harness
|
|
2
|
+
|
|
3
|
+
Use this documented harness when validating that `project-ideation prd_ready=true` reuses an
|
|
4
|
+
existing GitHub PRD by stable marker instead of creating duplicates.
|
|
5
|
+
|
|
6
|
+
## Deterministic fixture
|
|
7
|
+
|
|
8
|
+
Create an isolated fixture project with only one evidence-backed persona and one build-ready idea.
|
|
9
|
+
The fixture should make the selected marker predictable:
|
|
10
|
+
|
|
11
|
+
- Repo identity: `CodySwannGT/lisa`
|
|
12
|
+
- Persona key: `queue-automation-operators`
|
|
13
|
+
- Idea name: `Exploratory PRD run ledger`
|
|
14
|
+
- Existing-fit anchor: `plugins/src/base/skills/project-ideation/SKILL.md`
|
|
15
|
+
- Expected marker: `[lisa-project-ideation] idea=codyswanngt-lisa-exploratory-prd-run-ledger-queue-automation-operators-plugins-lisa-skills-project-ideation-skill-md`
|
|
16
|
+
|
|
17
|
+
The fixture may be a tiny directory with:
|
|
18
|
+
|
|
19
|
+
- `README.md` naming queue automation operators and their goals.
|
|
20
|
+
- `.lisa.config.json` pointing `source` and `tracker` to GitHub.
|
|
21
|
+
- `PROJECT_IDEATION_FIXTURE.md` listing the single persona, the single idea, and the expected
|
|
22
|
+
marker above.
|
|
23
|
+
|
|
24
|
+
Invoke project ideation against that fixture with `prd_ready=true max_prds=1`. The fixture is valid
|
|
25
|
+
only if the idea report selects the single expected idea and the PRD summary reports the expected
|
|
26
|
+
marker.
|
|
27
|
+
|
|
28
|
+
## Scripted verification
|
|
29
|
+
|
|
30
|
+
Run the shipped harness after choosing the deterministic command for your runtime:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
node plugins/lisa/scripts/project-ideation-idempotency-harness.mjs \
|
|
34
|
+
--repo CodySwannGT/lisa \
|
|
35
|
+
--marker "[lisa-project-ideation] idea=codyswanngt-lisa-exploratory-prd-run-ledger-queue-automation-operators-plugins-lisa-skills-project-ideation-skill-md" \
|
|
36
|
+
--command "codex exec '/lisa:project-ideation ./fixtures/project-ideation-idempotency prd_ready=true max_prds=1'" \
|
|
37
|
+
--memory-file "$CODEX_HOME/automations/<automation_id>/memory.md"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The harness performs the acceptance check in three phases:
|
|
41
|
+
|
|
42
|
+
1. Run the deterministic ideation command once, then query open GitHub issues for the marker and
|
|
43
|
+
require exactly one match.
|
|
44
|
+
2. Run the same command again, then require the open marker count to remain one.
|
|
45
|
+
3. Move the automation memory file aside, run the command again, require the marker count to remain
|
|
46
|
+
one, and require the memory file to be recreated with marker, PRD URL, outcome, lifecycle role,
|
|
47
|
+
and source agreement fields. The original memory file is restored at the end.
|
|
48
|
+
|
|
49
|
+
## Expected evidence
|
|
50
|
+
|
|
51
|
+
Capture the harness JSON output as:
|
|
52
|
+
|
|
53
|
+
- `[EVIDENCE: marker-count-one]` from the first and second marker-count checks.
|
|
54
|
+
- `[EVIDENCE: memory-recreated-after-rerun]` from the missing-memory variant.
|
|
55
|
+
|
|
56
|
+
The run passes only when all reported counts are `1`, the issue URL is the same across phases, and
|
|
57
|
+
`memoryRecreated` and `memoryFieldsRecorded` are `true` when `--memory-file` is supplied.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Public External Inspiration Example Output
|
|
2
|
+
|
|
3
|
+
## What Already Exists
|
|
4
|
+
- The host project already has a command catalog and source-authored skill files.
|
|
5
|
+
- The host project can inspect public documentation pages without sign-in.
|
|
6
|
+
- Existing verification can run through CLI commands and generated markdown artifacts.
|
|
7
|
+
|
|
8
|
+
## Practical Ideas
|
|
9
|
+
### 1. Public Pattern Checklist Import
|
|
10
|
+
- User value: Maintainers can compare their command guidance against public best-practice pages without copying private or paid content.
|
|
11
|
+
- Existing fit: Builds on the current docs and skill authoring workflow.
|
|
12
|
+
- Data/source path: A public, no-login documentation URL supplied by the user, plus local `README.md` and skill files.
|
|
13
|
+
- Practical slice: Generate a checklist of public patterns found in the external page and mark whether each is already represented locally.
|
|
14
|
+
- Empirical verification: Run the ideation workflow against a fixed public URL and inspect the generated checklist.
|
|
15
|
+
- Evidence: Generated markdown containing source URLs, matched local file paths, and unmatched public patterns.
|
|
16
|
+
- Confidence: medium because public pages can change, but the source path is accessible and citeable.
|
|
17
|
+
|
|
18
|
+
## Discovery Spikes
|
|
19
|
+
- Automated freshness checks for public pages: needs a policy for when external pages may be re-fetched and cached.
|
|
20
|
+
|
|
21
|
+
## Rejected / Not Practical Yet
|
|
22
|
+
- Importing examples from a sign-in-only competitor workspace: rejected because the data source is not publicly obtainable.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Unavailable Data Rejection Example Output
|
|
2
|
+
|
|
3
|
+
## What Already Exists
|
|
4
|
+
- The host project can read local source files, docs, scripts, and generated artifacts.
|
|
5
|
+
- The host project does not expose customer analytics, private support tickets, or paid market datasets.
|
|
6
|
+
|
|
7
|
+
## Practical Ideas
|
|
8
|
+
### 1. Local Verification Gap Finder
|
|
9
|
+
- User value: Maintainers can identify skills that describe empirical verification but do not name an evidence artifact.
|
|
10
|
+
- Existing fit: Builds on local skill markdown files and existing unit tests.
|
|
11
|
+
- Data/source path: Local `SKILL.md` files under the plugin source tree.
|
|
12
|
+
- Practical slice: Scan skill files for verification sections and report entries that mention tests but no observable artifact.
|
|
13
|
+
- Empirical verification: Run the scanner against a fixture skill with one missing evidence line.
|
|
14
|
+
- Evidence: CLI output naming the fixture skill and the missing evidence field.
|
|
15
|
+
- Confidence: high because the input is local and fully inspectable.
|
|
16
|
+
|
|
17
|
+
## Discovery Spikes
|
|
18
|
+
- Prioritize gaps by real-world usage: needs an obtainable telemetry source or a manually approved usage export before it can rank by frequency.
|
|
19
|
+
|
|
20
|
+
## Rejected / Not Practical Yet
|
|
21
|
+
- Recommend ideas from private customer support pain points: rejected because the missing source is a legitimate support-ticket export or configured support integration.
|
|
22
|
+
- Recommend ideas from paid analyst reports: rejected because the missing source is a licensed data feed available to the agent at runtime.
|