@codyswann/lisa 2.202.0 → 2.204.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/nestjs/create-only/.github/workflows/deploy.yml +69 -0
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-agent-ready/SKILL.md +123 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-agent-ready/agents/openai.yaml +4 -0
- package/plugins/lisa/commands/lisa/agent-ready.md +6 -0
- package/plugins/lisa/rules/eager/factory-model.md +4 -0
- package/plugins/lisa/rules/reference/factory-model.md +20 -0
- package/plugins/lisa/skills/lisa-agent-ready/SKILL.md +123 -0
- package/plugins/lisa/skills/lisa-agent-ready/agents/openai.yaml +4 -0
- package/plugins/lisa-agy/commands/lisa/agent-ready.md +6 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-agent-ready/SKILL.md +123 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/commands/lisa/agent-ready.md +6 -0
- package/plugins/lisa-copilot/rules/eager/factory-model.md +4 -0
- package/plugins/lisa-copilot/rules/reference/factory-model.md +20 -0
- package/plugins/lisa-copilot/skills/lisa-agent-ready/SKILL.md +123 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/commands/lisa/agent-ready.md +6 -0
- package/plugins/lisa-cursor/rules/factory-model-reference.mdc +20 -0
- package/plugins/lisa-cursor/rules/factory-model.mdc +4 -0
- package/plugins/lisa-cursor/skills/lisa-agent-ready/SKILL.md +123 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/commands/lisa/agent-ready.md +6 -0
- package/plugins/src/base/rules/eager/factory-model.md +4 -0
- package/plugins/src/base/rules/reference/factory-model.md +20 -0
- package/plugins/src/base/skills/lisa-agent-ready/SKILL.md +123 -0
- package/ui/index.html +26 -0
|
@@ -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.
|
package/ui/index.html
CHANGED
|
@@ -1399,6 +1399,20 @@
|
|
|
1399
1399
|
command: "lisa sync",
|
|
1400
1400
|
done: true,
|
|
1401
1401
|
},
|
|
1402
|
+
{
|
|
1403
|
+
label: "Make the project agent-ready (brownfield)",
|
|
1404
|
+
desc: "Builds the knowledge wiki from everything the agent can reach and writes wiki/gaps.md — the questions only a human can answer. Answer inline, re-run in a new session, repeat until zero gaps. Greenfield projects are ready by construction.",
|
|
1405
|
+
command: "/lisa:agent-ready",
|
|
1406
|
+
done: false,
|
|
1407
|
+
why: "wiki/gaps.md has 2 open gaps",
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
label: "Adopt the standards (conformance refactor)",
|
|
1411
|
+
desc: "Apply Lisa's full lint rules, guardrails, and thresholds — the project goes red by design — then agents refactor to conform without changing business logic, proven by tests and empirical verification.",
|
|
1412
|
+
command: "/lisa:improve:* · /lisa:fix:linter-error",
|
|
1413
|
+
done: false,
|
|
1414
|
+
why: "blocked by agent-ready",
|
|
1415
|
+
},
|
|
1402
1416
|
{
|
|
1403
1417
|
label: "Connect the work tracker",
|
|
1404
1418
|
desc: "Verifies the workflow status names and writes the tracker section. This project: JIRA, project ACME.",
|
|
@@ -1613,6 +1627,18 @@
|
|
|
1613
1627
|
{ t: "text", v: "After an initiative ships" },
|
|
1614
1628
|
{ t: "mono", v: "—" },
|
|
1615
1629
|
],
|
|
1630
|
+
[
|
|
1631
|
+
{ t: "mono", v: "/lisa:agent-ready" },
|
|
1632
|
+
{
|
|
1633
|
+
t: "text",
|
|
1634
|
+
v: "Brownfield onboarding: builds the knowledge wiki from every reachable source and writes the human-answerable gaps file; absorbs answers on re-runs until zero gaps remain",
|
|
1635
|
+
},
|
|
1636
|
+
{
|
|
1637
|
+
t: "text",
|
|
1638
|
+
v: "Once per brownfield adoption — re-run in a fresh session after answering gaps, until it reports agent-ready",
|
|
1639
|
+
},
|
|
1640
|
+
{ t: "mono", v: "—" },
|
|
1641
|
+
],
|
|
1616
1642
|
[
|
|
1617
1643
|
{ t: "mono", v: "/lisa:doctor" },
|
|
1618
1644
|
{
|