@codyswann/lisa 2.202.0 → 2.203.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +7 -0
  2. package/package.json +1 -1
  3. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  4. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  5. package/plugins/lisa/.codex-plugin/skills/lisa-agent-ready/SKILL.md +123 -0
  6. package/plugins/lisa/.codex-plugin/skills/lisa-agent-ready/agents/openai.yaml +4 -0
  7. package/plugins/lisa/commands/lisa/agent-ready.md +6 -0
  8. package/plugins/lisa/rules/eager/factory-model.md +4 -0
  9. package/plugins/lisa/rules/reference/factory-model.md +20 -0
  10. package/plugins/lisa/skills/lisa-agent-ready/SKILL.md +123 -0
  11. package/plugins/lisa/skills/lisa-agent-ready/agents/openai.yaml +4 -0
  12. package/plugins/lisa-agy/commands/lisa/agent-ready.md +6 -0
  13. package/plugins/lisa-agy/plugin.json +1 -1
  14. package/plugins/lisa-agy/skills/lisa-agent-ready/SKILL.md +123 -0
  15. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  17. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  18. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-copilot/commands/lisa/agent-ready.md +6 -0
  22. package/plugins/lisa-copilot/rules/eager/factory-model.md +4 -0
  23. package/plugins/lisa-copilot/rules/reference/factory-model.md +20 -0
  24. package/plugins/lisa-copilot/skills/lisa-agent-ready/SKILL.md +123 -0
  25. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-cursor/commands/lisa/agent-ready.md +6 -0
  27. package/plugins/lisa-cursor/rules/factory-model-reference.mdc +20 -0
  28. package/plugins/lisa-cursor/rules/factory-model.mdc +4 -0
  29. package/plugins/lisa-cursor/skills/lisa-agent-ready/SKILL.md +123 -0
  30. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  32. package/plugins/lisa-expo-agy/plugin.json +1 -1
  33. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  37. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  38. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  42. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  43. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  47. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  48. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  52. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  53. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  57. package/plugins/lisa-rails-agy/plugin.json +1 -1
  58. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  62. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  63. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  68. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/src/base/commands/lisa/agent-ready.md +6 -0
  71. package/plugins/src/base/rules/eager/factory-model.md +4 -0
  72. package/plugins/src/base/rules/reference/factory-model.md +20 -0
  73. package/plugins/src/base/skills/lisa-agent-ready/SKILL.md +123 -0
  74. package/ui/index.html +26 -0
package/README.md CHANGED
@@ -89,6 +89,13 @@ The supported stacks, setup flags, and exact invocation evolve as the project gr
89
89
  > **Prompt for your coding agent**
90
90
  > "Using this project's `lisa` CLI, show me how to (a) scaffold a new project and (b) apply Lisa to an existing one. List the project types it supports right now and the flags each command accepts — read `lisa --help` and the CLI source, don't guess."
91
91
 
92
+ ### Brownfield projects: becoming agent-ready
93
+
94
+ A greenfield project is agent-ready by construction. An existing codebase carries years of tacit knowledge in people's heads, so Lisa converges it before the factories run unattended — in two steps. **Knowledge first**: an onboarding command builds the initial knowledge wiki from everything the agent can reach and writes a gaps file containing the questions only a human can answer ("today is your only chance to ask"); humans answer inline, a fresh session re-runs it, and the loop repeats until no gaps remain. **Standards second**: apply Lisa's full rules and thresholds — the project will go red, deliberately — and let agents refactor to conform without changing behavior, proven by the test suite and empirical verification.
95
+
96
+ > **Prompt for your coding agent**
97
+ > "Is this project agent-ready? Run the agent-ready onboarding: build or update the knowledge wiki from what you can reach, show me the open gaps only I can answer, and tell me exactly what happens after I answer them."
98
+
92
99
  ## The work lifecycle
93
100
 
94
101
  Lisa organizes a piece of work as a pipeline of specialized agent roles — the factories, seen from inside. Conceptually a work item moves through five stages:
package/package.json CHANGED
@@ -95,7 +95,7 @@
95
95
  "ws": ">=8.20.1"
96
96
  },
97
97
  "name": "@codyswann/lisa",
98
- "version": "2.202.0",
98
+ "version": "2.203.0",
99
99
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
100
100
  "main": "dist/index.js",
101
101
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: lisa-agent-ready
3
+ description: "Make a brownfield project…"
4
+ allowed-tools: ["Skill", "Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch"]
5
+ ---
6
+
7
+ # Agent-Ready Onboarding: $ARGUMENTS
8
+
9
+ Run this skill as if the following is literally true — it is the operating premise, not a
10
+ role-play flourish:
11
+
12
+ > **Starting tomorrow, you — the agent — maintain this project without any human input. Today is
13
+ > your only chance to ask questions.** Use the existing connections, the git history, the tracker,
14
+ > the docs, and anything else you have access to, to build the initial knowledge wiki. Critically:
15
+ > write down every gap a human must fill in **today** for you to be able to operate autonomously —
16
+ > the questions you would otherwise have to guess at tomorrow.
17
+
18
+ Greenfield projects start agent-ready by construction. Brownfield projects carry years of tacit
19
+ knowledge in heads, not files — this skill converges that knowledge into the wiki before the
20
+ factories are allowed to run unattended.
21
+
22
+ ## What counts as a gap (the judgment rule)
23
+
24
+ A **gap** is something that is (a) not derivable from any source you can reach, and (b) dangerous
25
+ to guess — guessing would risk business logic, product intent, money, data, security, or an
26
+ irreversible external effect. Examples: "why does the billing cutoff run at 02:00 and what breaks
27
+ if it moves", "which of these two payment flows is the live one", "who are the users of the admin
28
+ panel and what must never change for them".
29
+
30
+ **Not a gap**: anything you can derive by reading harder — architecture, conventions, test
31
+ behavior, deploy topology, dead code. Derive it and write it into the wiki instead. A lazy gap
32
+ that a later reader could have answered from the repository is a defect of this skill's output.
33
+
34
+ ## Phases
35
+
36
+ ### Phase 0 — Preflight
37
+
38
+ 1. Ensure the knowledge wiki exists. If the project has no `wiki/`, install it first (delegate to
39
+ the wiki install/setup surface — `/lisa:wiki:install` / `lisa-wiki-setup`); do not hand-roll a
40
+ wiki layout.
41
+ 2. Inventory every reachable source: the repository and its full git history, the configured
42
+ `tracker` and `source`, connected MCP servers and access layers (observability, docs,
43
+ analytics), CI history, deployed environments named in config. Record the inventory in the wiki
44
+ so later runs and later agents know what was consulted.
45
+ 3. Detect a prior run: if `wiki/gaps.md` exists, this is an **absorption run** — go to Phase 3
46
+ first, then re-audit.
47
+
48
+ ### Phase 1 — Ingest
49
+
50
+ Delegate to the wiki's ingestion surface (`lisa-wiki-ingest` and its connectors) across the
51
+ repository, the git history, and each connected source from the Phase 0 inventory. Bounded and
52
+ resumable — prefer several focused ingests over one unbounded crawl.
53
+
54
+ ### Phase 2 — Deep-read for autonomy
55
+
56
+ Beyond raw ingestion, author the pages an unattended operator needs, deriving everything derivable:
57
+ architecture and domain glossary, environment/deploy topology, who the users are (personas, if
58
+ discoverable), business rules encoded in code and tests, operational runbooks (how to see logs,
59
+ how to roll back), and the project's danger zones (migrations, money paths, irreversible jobs).
60
+ Update `wiki/index.md` and record the run in `wiki/log.md` per wiki conventions.
61
+
62
+ ### Phase 3 — Absorb answered gaps (re-runs only)
63
+
64
+ For each gap in `wiki/gaps.md` a human has answered inline:
65
+
66
+ 1. Verify the answer against reachable sources where possible; ask-back in the gap entry (keep it
67
+ `open` with a follow-up question) only when the answer is contradictory or incomplete.
68
+ 2. Absorb the verified answer into the proper wiki page(s) — the wiki is the durable home, the
69
+ gaps file is a queue, not a knowledge store.
70
+ 3. Mark the entry `absorbed` with a pointer to the page(s) it landed in, and move it to the
71
+ resolved section of the file.
72
+
73
+ Never treat your own inference as a human answer, and never resolve an open gap by guessing.
74
+
75
+ ### Phase 4 — Gaps audit
76
+
77
+ Regenerate the open section of `wiki/gaps.md` (create it on the first run). Every entry is written
78
+ for a **non-technical operator** — plain language, no stack traces, no repo jargon — because the
79
+ person answering may not code:
80
+
81
+ ```markdown
82
+ ## Open gaps (answer inline under each question, then re-run /lisa:agent-ready in a new session)
83
+
84
+ ### <stable-slug>
85
+ - **Question**: <one plain-language question>
86
+ - **Why it blocks autonomy**: <what an unattended agent cannot safely do without this>
87
+ - **What was searched**: <the sources consulted before declaring this a gap>
88
+ - **How to answer**: <where the answer likely lives / what format is useful>
89
+ - **Answer**: _(human fills in)_
90
+ - **Status**: open
91
+ ```
92
+
93
+ Order entries by autonomy impact (what would cause the worst unattended decision first). Keep the
94
+ file short — a gaps file with fifty entries means Phase 2 stopped too early.
95
+
96
+ ### Phase 5 — Converge and report
97
+
98
+ - **Open gaps remain** → report the count and the top items, and instruct: a human answers inline
99
+ in `wiki/gaps.md`, then re-runs `/lisa:agent-ready` in a **new session** (a fresh session avoids
100
+ anchoring on this run's assumptions). Commit the wiki changes through the normal wiki PR flow.
101
+ - **Zero open gaps** → declare the project **agent-ready for knowledge**: record the verdict and
102
+ date in the gaps file header and the wiki log, and point at the next step — standards adoption.
103
+
104
+ ## After convergence: standards adoption
105
+
106
+ Knowledge first, standards second. Once the loop reports no gaps, apply Lisa's full standards
107
+ (lint rules, guardrails, thresholds) and expect the project to go red — that is the point. Agents
108
+ then refactor the codebase to conform **without changing business logic or functionality**, via
109
+ the existing improve/fix flows, proving behavior is preserved with the test suite and empirical
110
+ verification. Only then should the automation fleet run unattended on a brownfield project.
111
+
112
+ ## Rules
113
+
114
+ - Never invent an answer to an open gap; the entire value of the file is that its answers came
115
+ from humans.
116
+ - Gap entries are product-readable (factory-model rule: write outward for a non-technical
117
+ operator).
118
+ - Idempotent: re-runs regenerate the open section in place and never lose or reword a human's
119
+ inline answers.
120
+ - The wiki is the durable store; `wiki/gaps.md` is a queue. Every absorbed answer must land in a
121
+ real wiki page with the gaps entry pointing at it.
122
+ - Follow the wiki's own conventions for commits, `wiki/index.md`, and `wiki/log.md` — this skill
123
+ adds no parallel bookkeeping.
@@ -0,0 +1,4 @@
1
+ display_name: "Agent Ready"
2
+ short_description: "Make a brownfield project…"
3
+ default_prompt:
4
+ - "Use $lisa-agent-ready: Make a brownfield project…."
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: "Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach, write wiki/gaps.md with the questions only a human can answer, and converge over re-runs (humans answer, agents absorb) until zero gaps remain. Run before letting the automation fleet operate a brownfield project unattended."
3
+ argument-hint: "[path]"
4
+ ---
5
+
6
+ Use the /lisa-agent-ready skill to build the initial knowledge wiki from every reachable source, write the human-answerable gaps to wiki/gaps.md, absorb any answered gaps from a prior run, and report whether the project is agent-ready or how many gaps remain. $ARGUMENTS
@@ -29,6 +29,10 @@ The rules that follow from this:
29
29
  OpenCode, Antigravity, Copilot — behavior must stay in parity, and anything persisted for
30
30
  agents must be visible to all of them.
31
31
 
32
+ Brownfield on-ramp: an existing codebase becomes agent-ready **before** the fleet runs unattended
33
+ — `/lisa:agent-ready` converges human knowledge into the wiki (gaps loop until none remain), then
34
+ standards adoption refactors to conformance without behavior change.
35
+
32
36
  End state: end users have zero direct contact with coding agents — they interact with the tracker,
33
37
  the PRD source, and the shipped software.
34
38
 
@@ -71,6 +71,26 @@ Inside a flow, never pause to ask a human whether to proceed — the invocation
71
71
  Headless discipline follows: no interactive prompts, idempotent re-runs, clean exits on empty
72
72
  queues, and loud, specific failures when something is genuinely blocking.
73
73
 
74
+ ## The brownfield on-ramp
75
+
76
+ Greenfield projects are agent-ready by construction. A brownfield project must earn readiness in
77
+ two ordered steps before the automation fleet runs unattended:
78
+
79
+ 1. **Knowledge convergence** (`/lisa:agent-ready`): build the initial knowledge wiki from every
80
+ reachable source — repository, git history, tracker, connected systems — under the operating
81
+ premise *"starting tomorrow, you maintain this project without human input; today is your only
82
+ chance to ask questions."* Everything derivable is derived and written into the wiki; what only
83
+ a human can answer becomes a product-readable entry in `wiki/gaps.md`. Humans answer inline, a
84
+ **fresh session** re-runs the skill, verified answers are absorbed into wiki pages, and the loop
85
+ repeats until a run reports zero open gaps.
86
+ 2. **Standards adoption**: apply Lisa's full lint rules, guardrails, and thresholds — the project
87
+ goes red by design — then refactor to conformance **without changing business logic or
88
+ functionality**, via the improve/fix flows, with behavior preservation proven by tests and
89
+ empirical verification.
90
+
91
+ Knowledge before standards: an agent refactoring a codebase it does not yet understand is exactly
92
+ the unattended guessing the gates exist to prevent.
93
+
74
94
  ## Quality and parity
75
95
 
76
96
  Everything else Lisa installs — skills, hooks, quality checks, guardrails, CI gates, rulesets —
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: lisa-agent-ready
3
+ description: "Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach (repository, git history, connected trackers, docs, observability), then write wiki/gaps.md — the questions only a human can answer before agents can operate the project autonomously. Iterative convergence: humans answer the gaps inline, a fresh session re-runs the skill, verified answers are absorbed into wiki pages, and the loop repeats until a run reports zero open gaps and declares the project agent-ready. This is the knowledge half of brownfield onboarding; standards adoption (applying Lisa's lint rules, guardrails, and thresholds, then refactoring to conform without changing behavior) follows it."
4
+ allowed-tools: ["Skill", "Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch"]
5
+ ---
6
+
7
+ # Agent-Ready Onboarding: $ARGUMENTS
8
+
9
+ Run this skill as if the following is literally true — it is the operating premise, not a
10
+ role-play flourish:
11
+
12
+ > **Starting tomorrow, you — the agent — maintain this project without any human input. Today is
13
+ > your only chance to ask questions.** Use the existing connections, the git history, the tracker,
14
+ > the docs, and anything else you have access to, to build the initial knowledge wiki. Critically:
15
+ > write down every gap a human must fill in **today** for you to be able to operate autonomously —
16
+ > the questions you would otherwise have to guess at tomorrow.
17
+
18
+ Greenfield projects start agent-ready by construction. Brownfield projects carry years of tacit
19
+ knowledge in heads, not files — this skill converges that knowledge into the wiki before the
20
+ factories are allowed to run unattended.
21
+
22
+ ## What counts as a gap (the judgment rule)
23
+
24
+ A **gap** is something that is (a) not derivable from any source you can reach, and (b) dangerous
25
+ to guess — guessing would risk business logic, product intent, money, data, security, or an
26
+ irreversible external effect. Examples: "why does the billing cutoff run at 02:00 and what breaks
27
+ if it moves", "which of these two payment flows is the live one", "who are the users of the admin
28
+ panel and what must never change for them".
29
+
30
+ **Not a gap**: anything you can derive by reading harder — architecture, conventions, test
31
+ behavior, deploy topology, dead code. Derive it and write it into the wiki instead. A lazy gap
32
+ that a later reader could have answered from the repository is a defect of this skill's output.
33
+
34
+ ## Phases
35
+
36
+ ### Phase 0 — Preflight
37
+
38
+ 1. Ensure the knowledge wiki exists. If the project has no `wiki/`, install it first (delegate to
39
+ the wiki install/setup surface — `/lisa:wiki:install` / `lisa-wiki-setup`); do not hand-roll a
40
+ wiki layout.
41
+ 2. Inventory every reachable source: the repository and its full git history, the configured
42
+ `tracker` and `source`, connected MCP servers and access layers (observability, docs,
43
+ analytics), CI history, deployed environments named in config. Record the inventory in the wiki
44
+ so later runs and later agents know what was consulted.
45
+ 3. Detect a prior run: if `wiki/gaps.md` exists, this is an **absorption run** — go to Phase 3
46
+ first, then re-audit.
47
+
48
+ ### Phase 1 — Ingest
49
+
50
+ Delegate to the wiki's ingestion surface (`lisa-wiki-ingest` and its connectors) across the
51
+ repository, the git history, and each connected source from the Phase 0 inventory. Bounded and
52
+ resumable — prefer several focused ingests over one unbounded crawl.
53
+
54
+ ### Phase 2 — Deep-read for autonomy
55
+
56
+ Beyond raw ingestion, author the pages an unattended operator needs, deriving everything derivable:
57
+ architecture and domain glossary, environment/deploy topology, who the users are (personas, if
58
+ discoverable), business rules encoded in code and tests, operational runbooks (how to see logs,
59
+ how to roll back), and the project's danger zones (migrations, money paths, irreversible jobs).
60
+ Update `wiki/index.md` and record the run in `wiki/log.md` per wiki conventions.
61
+
62
+ ### Phase 3 — Absorb answered gaps (re-runs only)
63
+
64
+ For each gap in `wiki/gaps.md` a human has answered inline:
65
+
66
+ 1. Verify the answer against reachable sources where possible; ask-back in the gap entry (keep it
67
+ `open` with a follow-up question) only when the answer is contradictory or incomplete.
68
+ 2. Absorb the verified answer into the proper wiki page(s) — the wiki is the durable home, the
69
+ gaps file is a queue, not a knowledge store.
70
+ 3. Mark the entry `absorbed` with a pointer to the page(s) it landed in, and move it to the
71
+ resolved section of the file.
72
+
73
+ Never treat your own inference as a human answer, and never resolve an open gap by guessing.
74
+
75
+ ### Phase 4 — Gaps audit
76
+
77
+ Regenerate the open section of `wiki/gaps.md` (create it on the first run). Every entry is written
78
+ for a **non-technical operator** — plain language, no stack traces, no repo jargon — because the
79
+ person answering may not code:
80
+
81
+ ```markdown
82
+ ## Open gaps (answer inline under each question, then re-run /lisa:agent-ready in a new session)
83
+
84
+ ### <stable-slug>
85
+ - **Question**: <one plain-language question>
86
+ - **Why it blocks autonomy**: <what an unattended agent cannot safely do without this>
87
+ - **What was searched**: <the sources consulted before declaring this a gap>
88
+ - **How to answer**: <where the answer likely lives / what format is useful>
89
+ - **Answer**: _(human fills in)_
90
+ - **Status**: open
91
+ ```
92
+
93
+ Order entries by autonomy impact (what would cause the worst unattended decision first). Keep the
94
+ file short — a gaps file with fifty entries means Phase 2 stopped too early.
95
+
96
+ ### Phase 5 — Converge and report
97
+
98
+ - **Open gaps remain** → report the count and the top items, and instruct: a human answers inline
99
+ in `wiki/gaps.md`, then re-runs `/lisa:agent-ready` in a **new session** (a fresh session avoids
100
+ anchoring on this run's assumptions). Commit the wiki changes through the normal wiki PR flow.
101
+ - **Zero open gaps** → declare the project **agent-ready for knowledge**: record the verdict and
102
+ date in the gaps file header and the wiki log, and point at the next step — standards adoption.
103
+
104
+ ## After convergence: standards adoption
105
+
106
+ Knowledge first, standards second. Once the loop reports no gaps, apply Lisa's full standards
107
+ (lint rules, guardrails, thresholds) and expect the project to go red — that is the point. Agents
108
+ then refactor the codebase to conform **without changing business logic or functionality**, via
109
+ the existing improve/fix flows, proving behavior is preserved with the test suite and empirical
110
+ verification. Only then should the automation fleet run unattended on a brownfield project.
111
+
112
+ ## Rules
113
+
114
+ - Never invent an answer to an open gap; the entire value of the file is that its answers came
115
+ from humans.
116
+ - Gap entries are product-readable (factory-model rule: write outward for a non-technical
117
+ operator).
118
+ - Idempotent: re-runs regenerate the open section in place and never lose or reword a human's
119
+ inline answers.
120
+ - The wiki is the durable store; `wiki/gaps.md` is a queue. Every absorbed answer must land in a
121
+ real wiki page with the gaps entry pointing at it.
122
+ - Follow the wiki's own conventions for commits, `wiki/index.md`, and `wiki/log.md` — this skill
123
+ adds no parallel bookkeeping.
@@ -0,0 +1,4 @@
1
+ display_name: "Agent Ready"
2
+ short_description: "Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach (repository, git history…"
3
+ default_prompt:
4
+ - "Use $lisa-agent-ready: Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach (repository, git history…."
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: "Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach, write wiki/gaps.md with the questions only a human can answer, and converge over re-runs (humans answer, agents absorb) until zero gaps remain. Run before letting the automation fleet operate a brownfield project unattended."
3
+ argument-hint: "[path]"
4
+ ---
5
+
6
+ Use the /lisa-agent-ready skill to build the initial knowledge wiki from every reachable source, write the human-answerable gaps to wiki/gaps.md, absorb any answered gaps from a prior run, and report whether the project is agent-ready or how many gaps remain. $ARGUMENTS
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: lisa-agent-ready
3
+ description: "Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach (repository, git history, connected trackers, docs, observability), then write wiki/gaps.md — the questions only a human can answer before agents can operate the project autonomously. Iterative convergence: humans answer the gaps inline, a fresh session re-runs the skill, verified answers are absorbed into wiki pages, and the loop repeats until a run reports zero open gaps and declares the project agent-ready. This is the knowledge half of brownfield onboarding; standards adoption (applying Lisa's lint rules, guardrails, and thresholds, then refactoring to conform without changing behavior) follows it."
4
+ allowed-tools: ["Skill", "Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch"]
5
+ ---
6
+
7
+ # Agent-Ready Onboarding: $ARGUMENTS
8
+
9
+ Run this skill as if the following is literally true — it is the operating premise, not a
10
+ role-play flourish:
11
+
12
+ > **Starting tomorrow, you — the agent — maintain this project without any human input. Today is
13
+ > your only chance to ask questions.** Use the existing connections, the git history, the tracker,
14
+ > the docs, and anything else you have access to, to build the initial knowledge wiki. Critically:
15
+ > write down every gap a human must fill in **today** for you to be able to operate autonomously —
16
+ > the questions you would otherwise have to guess at tomorrow.
17
+
18
+ Greenfield projects start agent-ready by construction. Brownfield projects carry years of tacit
19
+ knowledge in heads, not files — this skill converges that knowledge into the wiki before the
20
+ factories are allowed to run unattended.
21
+
22
+ ## What counts as a gap (the judgment rule)
23
+
24
+ A **gap** is something that is (a) not derivable from any source you can reach, and (b) dangerous
25
+ to guess — guessing would risk business logic, product intent, money, data, security, or an
26
+ irreversible external effect. Examples: "why does the billing cutoff run at 02:00 and what breaks
27
+ if it moves", "which of these two payment flows is the live one", "who are the users of the admin
28
+ panel and what must never change for them".
29
+
30
+ **Not a gap**: anything you can derive by reading harder — architecture, conventions, test
31
+ behavior, deploy topology, dead code. Derive it and write it into the wiki instead. A lazy gap
32
+ that a later reader could have answered from the repository is a defect of this skill's output.
33
+
34
+ ## Phases
35
+
36
+ ### Phase 0 — Preflight
37
+
38
+ 1. Ensure the knowledge wiki exists. If the project has no `wiki/`, install it first (delegate to
39
+ the wiki install/setup surface — `/lisa:wiki:install` / `lisa-wiki-setup`); do not hand-roll a
40
+ wiki layout.
41
+ 2. Inventory every reachable source: the repository and its full git history, the configured
42
+ `tracker` and `source`, connected MCP servers and access layers (observability, docs,
43
+ analytics), CI history, deployed environments named in config. Record the inventory in the wiki
44
+ so later runs and later agents know what was consulted.
45
+ 3. Detect a prior run: if `wiki/gaps.md` exists, this is an **absorption run** — go to Phase 3
46
+ first, then re-audit.
47
+
48
+ ### Phase 1 — Ingest
49
+
50
+ Delegate to the wiki's ingestion surface (`lisa-wiki-ingest` and its connectors) across the
51
+ repository, the git history, and each connected source from the Phase 0 inventory. Bounded and
52
+ resumable — prefer several focused ingests over one unbounded crawl.
53
+
54
+ ### Phase 2 — Deep-read for autonomy
55
+
56
+ Beyond raw ingestion, author the pages an unattended operator needs, deriving everything derivable:
57
+ architecture and domain glossary, environment/deploy topology, who the users are (personas, if
58
+ discoverable), business rules encoded in code and tests, operational runbooks (how to see logs,
59
+ how to roll back), and the project's danger zones (migrations, money paths, irreversible jobs).
60
+ Update `wiki/index.md` and record the run in `wiki/log.md` per wiki conventions.
61
+
62
+ ### Phase 3 — Absorb answered gaps (re-runs only)
63
+
64
+ For each gap in `wiki/gaps.md` a human has answered inline:
65
+
66
+ 1. Verify the answer against reachable sources where possible; ask-back in the gap entry (keep it
67
+ `open` with a follow-up question) only when the answer is contradictory or incomplete.
68
+ 2. Absorb the verified answer into the proper wiki page(s) — the wiki is the durable home, the
69
+ gaps file is a queue, not a knowledge store.
70
+ 3. Mark the entry `absorbed` with a pointer to the page(s) it landed in, and move it to the
71
+ resolved section of the file.
72
+
73
+ Never treat your own inference as a human answer, and never resolve an open gap by guessing.
74
+
75
+ ### Phase 4 — Gaps audit
76
+
77
+ Regenerate the open section of `wiki/gaps.md` (create it on the first run). Every entry is written
78
+ for a **non-technical operator** — plain language, no stack traces, no repo jargon — because the
79
+ person answering may not code:
80
+
81
+ ```markdown
82
+ ## Open gaps (answer inline under each question, then re-run /lisa:agent-ready in a new session)
83
+
84
+ ### <stable-slug>
85
+ - **Question**: <one plain-language question>
86
+ - **Why it blocks autonomy**: <what an unattended agent cannot safely do without this>
87
+ - **What was searched**: <the sources consulted before declaring this a gap>
88
+ - **How to answer**: <where the answer likely lives / what format is useful>
89
+ - **Answer**: _(human fills in)_
90
+ - **Status**: open
91
+ ```
92
+
93
+ Order entries by autonomy impact (what would cause the worst unattended decision first). Keep the
94
+ file short — a gaps file with fifty entries means Phase 2 stopped too early.
95
+
96
+ ### Phase 5 — Converge and report
97
+
98
+ - **Open gaps remain** → report the count and the top items, and instruct: a human answers inline
99
+ in `wiki/gaps.md`, then re-runs `/lisa:agent-ready` in a **new session** (a fresh session avoids
100
+ anchoring on this run's assumptions). Commit the wiki changes through the normal wiki PR flow.
101
+ - **Zero open gaps** → declare the project **agent-ready for knowledge**: record the verdict and
102
+ date in the gaps file header and the wiki log, and point at the next step — standards adoption.
103
+
104
+ ## After convergence: standards adoption
105
+
106
+ Knowledge first, standards second. Once the loop reports no gaps, apply Lisa's full standards
107
+ (lint rules, guardrails, thresholds) and expect the project to go red — that is the point. Agents
108
+ then refactor the codebase to conform **without changing business logic or functionality**, via
109
+ the existing improve/fix flows, proving behavior is preserved with the test suite and empirical
110
+ verification. Only then should the automation fleet run unattended on a brownfield project.
111
+
112
+ ## Rules
113
+
114
+ - Never invent an answer to an open gap; the entire value of the file is that its answers came
115
+ from humans.
116
+ - Gap entries are product-readable (factory-model rule: write outward for a non-technical
117
+ operator).
118
+ - Idempotent: re-runs regenerate the open section in place and never lose or reword a human's
119
+ inline answers.
120
+ - The wiki is the durable store; `wiki/gaps.md` is a queue. Every absorbed answer must land in a
121
+ real wiki page with the gaps entry pointing at it.
122
+ - Follow the wiki's own conventions for commits, `wiki/index.md`, and `wiki/log.md` — this skill
123
+ adds no parallel bookkeeping.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.202.0",
3
+ "version": "2.203.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -0,0 +1,6 @@
1
+ ---
2
+ description: "Make a brownfield project agent-ready: build the initial knowledge wiki from everything the agent can reach, write wiki/gaps.md with the questions only a human can answer, and converge over re-runs (humans answer, agents absorb) until zero gaps remain. Run before letting the automation fleet operate a brownfield project unattended."
3
+ argument-hint: "[path]"
4
+ ---
5
+
6
+ Use the /lisa-agent-ready skill to build the initial knowledge wiki from every reachable source, write the human-answerable gaps to wiki/gaps.md, absorb any answered gaps from a prior run, and report whether the project is agent-ready or how many gaps remain. $ARGUMENTS
@@ -29,6 +29,10 @@ The rules that follow from this:
29
29
  OpenCode, Antigravity, Copilot — behavior must stay in parity, and anything persisted for
30
30
  agents must be visible to all of them.
31
31
 
32
+ Brownfield on-ramp: an existing codebase becomes agent-ready **before** the fleet runs unattended
33
+ — `/lisa:agent-ready` converges human knowledge into the wiki (gaps loop until none remain), then
34
+ standards adoption refactors to conformance without behavior change.
35
+
32
36
  End state: end users have zero direct contact with coding agents — they interact with the tracker,
33
37
  the PRD source, and the shipped software.
34
38
 
@@ -71,6 +71,26 @@ Inside a flow, never pause to ask a human whether to proceed — the invocation
71
71
  Headless discipline follows: no interactive prompts, idempotent re-runs, clean exits on empty
72
72
  queues, and loud, specific failures when something is genuinely blocking.
73
73
 
74
+ ## The brownfield on-ramp
75
+
76
+ Greenfield projects are agent-ready by construction. A brownfield project must earn readiness in
77
+ two ordered steps before the automation fleet runs unattended:
78
+
79
+ 1. **Knowledge convergence** (`/lisa:agent-ready`): build the initial knowledge wiki from every
80
+ reachable source — repository, git history, tracker, connected systems — under the operating
81
+ premise *"starting tomorrow, you maintain this project without human input; today is your only
82
+ chance to ask questions."* Everything derivable is derived and written into the wiki; what only
83
+ a human can answer becomes a product-readable entry in `wiki/gaps.md`. Humans answer inline, a
84
+ **fresh session** re-runs the skill, verified answers are absorbed into wiki pages, and the loop
85
+ repeats until a run reports zero open gaps.
86
+ 2. **Standards adoption**: apply Lisa's full lint rules, guardrails, and thresholds — the project
87
+ goes red by design — then refactor to conformance **without changing business logic or
88
+ functionality**, via the improve/fix flows, with behavior preservation proven by tests and
89
+ empirical verification.
90
+
91
+ Knowledge before standards: an agent refactoring a codebase it does not yet understand is exactly
92
+ the unattended guessing the gates exist to prevent.
93
+
74
94
  ## Quality and parity
75
95
 
76
96
  Everything else Lisa installs — skills, hooks, quality checks, guardrails, CI gates, rulesets —