Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/CodySwannGT/lisa --skill lisa-agent-ready명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
any non-trivial request —…
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
SKILL.md 표시 중
| name | lisa-agent-ready |
| description | Make a brownfield project… |
| allowed-tools | ["Skill","Bash","Read","Write","Edit","Glob","Grep","WebFetch"] |
Run this skill as if the following is literally true — it is the operating premise, not a role-play flourish:
Starting tomorrow, you — the agent — maintain this project without any human input. Today is your only chance to ask questions. Use the existing connections, the git history, the tracker, the docs, and anything else you have access to, to build the initial knowledge wiki. Critically: write down every gap a human must fill in today for you to be able to operate autonomously — the questions you would otherwise have to guess at tomorrow.
Greenfield projects start agent-ready by construction. Brownfield projects carry years of tacit knowledge in heads, not files — this skill converges that knowledge into the wiki before the factories are allowed to run unattended.
A gap is something that is (a) not derivable from any source you can reach, and (b) dangerous to guess — guessing would risk business logic, product intent, money, data, security, or an irreversible external effect. Examples: "why does the billing cutoff run at 02:00 and what breaks if it moves", "which of these two payment flows is the live one", "who are the users of the admin panel and what must never change for them".
Not a gap: anything you can derive by reading harder — architecture, conventions, test behavior, deploy topology, dead code. Derive it and write it into the wiki instead. A lazy gap that a later reader could have answered from the repository is a defect of this skill's output.
Ensure the knowledge wiki exists. If the project has no wiki/, install it first (delegate to
the wiki install/setup surface — /lisa:wiki:install / lisa-wiki-setup); do not hand-roll a
wiki layout.
Inventory every configured or discoverable source, including sources whose access probe fails:
the repository and its full git history, the configured tracker and source, connected MCP
servers and access layers (observability, docs, analytics), CI history, and deployed environments
named in config. An inaccessible source is still an inventoried source; never omit it to make the
run look complete.
Create or update the durable source-status registry at wiki/state/agent-ready/sources.json. Give each
independently accessible source/scope a stable source_id and preserve one row per source across
re-runs. Use this explicit JSON shape:
{
"schema_version": 1,
"updated_at": "<ISO-8601 UTC>",
"sources": [
{
"source_id": "repository",
"scope": "local repository and full git history",
"read_only_probe": { "command": "<reader-safe probe>", "observed": "<safe result>" },
"terminal_status":
wiki/** plus
creating Lisa's own work items in the configured tracker through lisa-tracker-write — the Phase 6
readiness blockers, and nothing else. That carve-out authorizes creating a Lisa work item only; it is never license to edit,
comment on, transition, acknowledge, close, or otherwise mutate any ingested source item —
filing Lisa's own ticket and writing back to a source you ingested are different acts, and only
the first is permitted. The wiki's own git branch/PR publication flow and that single
tracker-create path are the only external mutations this skill authorizes.
If a connector cannot prove a read-only operation, do not invoke it; mark the source unavailable
and surface the access problem as a gap.wiki/ — including
source notes, synthesis, citations, the source-status registry, wiki/gaps.md, and wiki/log.md — run it
through the wiki ingestion connector's sanitizer / centralized scripts/wiki-safety.mjs policy.
Redact secrets, passwords, API keys, tokens, cookies, private keys, connection strings, OAuth/MCP
credentials and artifacts, plus the sensitive PII the policy detects (SSNs, payment-card numbers,
bank-account numbers, and routing numbers). Apply data minimization before the sanitizer: omit
or aggregate ordinary person-level user data such as names, email addresses, phone numbers,
addresses, account/session identifiers, and free-form user profiles; prefer role labels and
aggregate counts. If a required source scope contains a person-level class the configured approved
scanner cannot prove removed, do not persist that material and leave the source partial or
unavailable with an unresolved gap. Never place raw sensitive values, source excerpts containing
them, or scanner output in a wiki file, temp file, log, state field, gap entry, commit, or PR
summary.complete or , run the generated-output safety gate
() over every wiki file it affected. A failing or unavailable
required scanner blocks persistence and leaves the source or ; it is never
evidence of completion. Preserve the wiki ingestion policy that redacted or sensitive runs require
human PR review rather than auto-merge.Delegate to the wiki's ingestion surface (lisa-wiki-ingest and its connectors) across the
repository, the git history, and each connected source from the Phase 0 inventory. Bounded and
resumable — prefer several focused ingests over one unbounded crawl.
After attempting each source, update its registry row with its terminal result and only sanitized, non-sensitive evidence:
complete — the entire inventoried scope was fetched read-only, sanitized before persistence,
written as source notes/synthesis, and passed the wiki safety and ingestion verification gates.partial — some usable scope was ingested and verified, but a named portion was not covered (for
example pagination stopped, a sub-project denied access, or the run hit a bounded limit).unavailable — no usable content could be ingested because the read-only tool, connection,
permission, or source was unavailable.Evidence must name the attempted scope, the safe count/range or cursor reached, and reader-safe wiki
source-note paths. It must not contain raw credentials, PII, sensitive source snippets, or scanner
output. partial and unavailable are valid honest terminal outcomes for a run, but they are not
knowledge-readiness success.
Beyond raw ingestion, author the pages an unattended operator needs, deriving everything derivable:
architecture and domain glossary, environment/deploy topology, who the users are (personas, if
discoverable), business rules encoded in code and tests, operational runbooks (how to see logs,
how to roll back), and the project's danger zones (migrations, money paths, irreversible jobs).
Update wiki/index.md and record the run in wiki/log.md per wiki conventions.
For each gap in wiki/gaps.md a human has answered inline:
open with a follow-up question) only when the answer is contradictory or incomplete.absorbed with a pointer to the page(s) it landed in, and move it to the
resolved section of the file.Never treat your own inference as a human answer, and never resolve an open gap by guessing.
For a source-coverage gap, do not absorb the answer merely because a human described the missing
material: re-run the source read-only and move its registry row to complete, or keep a narrower
unresolved source gap linked from that row.
Regenerate the open section of wiki/gaps.md (create it on the first run). Every entry is written
for a non-technical operator — plain language, no stack traces, no repo jargon — because the
person answering may not code:
## Open gaps (answer inline under each question, then re-run /lisa:agent-ready in a new session)
### <stable-slug>
- **Question**: <one plain-language question>
- **Why it blocks autonomy**: <what an unattended agent cannot safely do without this>
- **What was searched**: <the sources consulted before declaring this a gap>
- **How to answer**: <where the answer likely lives / what format is useful>
- **Source**: <source_id from wiki/state/agent-ready/sources.json, or `derived-knowledge`>
:
: open
Order entries by autonomy impact (what would cause the worst unattended decision first). Keep the file short — a gaps file with fifty entries means Phase 2 stopped too early.
Reconcile source coverage before counting gaps. Every partial or unavailable registry row must
link, through its open_gap field, to a stable, unresolved gap entry whose Source field names that
row's source_id and explains the missing scope or access in plain language. A missing row, a
pending/invalid status, a broken gap link, or a partial/unavailable row without an unresolved gap
is itself an open blocking gap. Never mark that source gap absorbed while its registry status remains
partial or unavailable.
wiki/gaps.md, then re-runs /lisa:agent-ready in a new session (a fresh session avoids
anchoring on this run's assumptions). Commit the wiki changes through the normal wiki PR flow.complete, every row has verified sanitized evidence, and the open-gap count
is zero. If any row is missing, pending, partial, or unavailable, the zero-gap declaration is
blocked: regenerate/link the required unresolved source gap and report the project as not ready.
When the gate passes, record the verdict and date in the gaps file header and the wiki log, and
point at the next step — standards adoption.Knowledge readiness answers "does an agent know this project?" Repository readiness answers a
different question — "may an unattended fleet operate here?" — and this phase runs once Phase 5
has converged, using the readiness-rubric rule as the scoring contract. It never re-derives that
vocabulary; it consumes it.
Score the eight ownership dimensions once, from the shared assessment. Consume the RRR-3
readiness collector — run lisa doctor --readiness and read its persisted .lisa/readiness.json
(schema-versioned; verdict, blocker_count, per-dimension findings) — rather than computing a
parallel score. There is one assessment implementation, not two. Cite the readiness-rubric
slug for the eight ownership dimensions, the seven ship blockers, and the consequence-ordering
contract; do not restate or fork that vocabulary here. The evidence for dimensions 1 and 3 comes
from the danger-zone wiki pages Phase 2 already produced (migrations, money paths, irreversible
jobs) — no new discovery machinery.
Order findings by consequence and carry the five readiness fields. Present findings
highest-consequence-first, and give each finding the five fields the rubric requires on top of the
shared convergent-review shape: invariant_violated, evidence, why_proof_missed,
root_correction, and machinery_to_remove.
File each standing blocker as a tracker work item — never an in-session question. For every
standing ship blocker, create one Lisa work item through the vendor-neutral lisa-tracker-write
skill (never a vendor write skill directly), carrying the five finding fields in the body. Per the ready-role-filing rule each
create declares its readiness explicitly: pass build_ready: true when the correction is
mechanical (an omitted flag is NOT build-ready on any tracker, so the mechanical branch would
otherwise file work nothing ever claims), and pass human_gate: "<the decision only a human can make>" plus the human-needed marker when it is a genuine human decision. This is the skill's only tracker write, and it creates Lisa's own work item —
it never edits, comments on, transitions, or otherwise mutates any ingested source (see the
connected-source safety boundary above). The shipped never-ask posture is preserved: a blocker
becomes a filed ticket, never a prompt, and the session never pauses to ask a human anything,
even headless.
File idempotently. Filing must be . Before creating an item for a blocker, search the configured tracker for an for that same blocker and with it (update in place) rather than filing a second. A re-run with the same blocker standing .
Knowledge first, standards second. Once the loop reports no gaps, apply Lisa's full standards (lint rules, guardrails, thresholds) and expect the project to go red — that is the point. Agents then refactor the codebase to conform without changing business logic or functionality, via the existing improve/fix flows, proving behavior is preserved with the test suite and empirical verification. Only then should the automation fleet run unattended on a brownfield project.
wiki/gaps.md is a queue. Every absorbed answer must land in a
real wiki page with the gaps entry pointing at it.wiki/state/agent-ready/sources.json is the durable coverage record. Source access is always
read-only, all source-derived wiki content is sanitized before persistence, and no status may
claim more scope than its sanitized evidence proves.complete.wiki/index.md, and wiki/log.md — this skill
adds no parallel bookkeeping.terminal_status may be pending only while the current run is actively attempting that source.
Before Phase 5, every row must carry exactly one terminal value: complete, partial, or
unavailable. Never delete or merge away a failed row to reach readiness.
Detect a prior run: if wiki/gaps.md exists, this is an absorption run — go to Phase 3
first, then re-audit.
partialscripts/verify-wiki-safety.mjspartialunavailableAudit the headless run for zero ingested-source mutation. Because this phase introduces the
skill's first tracker write, a real headless run must be audited to prove it performed zero
ingested-source mutation: every source-side call in the run log is a read-only verb, and the only
writes are to wiki/** and the single Lisa tracker-create path. Record that audit obligation with
the run — a run that cannot show zero writes to any ingested source is not a passing run.
Keep the two readiness claims distinct. Phase 5's agent-ready for knowledge declaration is
preserved unchanged and is now explicitly separated from repository readiness. Zero open gaps means
the project is knowledge-ready; the standing blocker set governs operability. A repository can
be knowledge-ready and NOT_READY at the same time — report both, and state plainly that these
are different claims: knowing the project is not the same as being safe to operate unattended.