원클릭으로
revise
Persist project lessons, findings, and wrong approaches so future sessions can recall them
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Persist project lessons, findings, and wrong approaches so future sessions can recall them
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Use Asobi's persistent SQLite knowledge graph for session continuity, durable task dispatch, keyword recall, and reusable skills.
Reference for haru's preferred modern CLI tools — when and how to use eza/bat/fd/ripgrep/sd/ast-grep, xh, gh, dasel, procs, doggo, hexyl, duckdb/psql/sqlx-cli, hyperfine/oha, difftastic, typos. Invoke when a task involves searching files, editing/refactoring code, HTTP/API or GitHub calls, data/SQL work, DNS or process debugging, hex inspection, diffing, or benchmarking, and you want the idiomatic tool + flags instead of the classic Unix default.
SOC 직업 분류 기준
| name | revise |
| description | Persist project lessons, findings, and wrong approaches so future sessions can recall them |
| metadata | {"author":"haru","version":"1.0.0"} |
| user-invokable | true |
| disable-auto-invoke | true |
Persist durable lessons from the current work into the asobi graph. /asobi end records where we are (session status); /revise records what should change future behavior.
After a meaningful discovery — a workflow worth repeating, a non-obvious project fact, or (most importantly) a dead end an agent should not re-walk. Capture while context is fresh. Not for ordinary task status; that is /asobi end.
Read the user's free-form text and classify it yourself; ask only if it is too vague to preserve. Keep each lesson short and actionable — "do X because Y", not a transcript.
| Class | Means | Destination |
|---|---|---|
work-experience | how work was actually done | [project] observation |
finding | a non-obvious fact or gotcha (an architectural choice → a decision entity, see /asobi recall) | [project] observation |
wrong-approach | something tried and rejected | [project]:pitfall:<slug> entity |
command -v asobi. If absent, use the fallback files below.[project] (repo basename). Use shared XDG state unless ./asobi.toml exists; never run asobi init --local.asobi search "<topic>" --limit 10. If a matching entity exists, append seen-again YYYY-MM-DD: <evidence> rather than creating a duplicate.asobi new "[project]" "project"), then:
asobi obs "[project]" "experience YYYY-MM-DD: <lesson>" # work-experience
asobi obs "[project]" "finding YYYY-MM-DD: <lesson>" # finding
For a wrong-approach, write the pitfall entity below.A pitfall warns future agents away from a rejected path — it is not an ADR (ADRs explain chosen paths). One entity per dead end; status and title are truths so /asobi start can surface active pitfalls cheaply.
asobi new "[project]:pitfall:<slug>" "concept"
asobi truth "[project]:pitfall:<slug>" status active # active | resolved
asobi truth "[project]:pitfall:<slug>" title "<short warning>"
asobi obs "[project]:pitfall:<slug>" "tried: <approach attempted>"
asobi obs "[project]:pitfall:<slug>" "why-it-failed: <root cause / symptom>"
asobi obs "[project]:pitfall:<slug>" "do-instead: <better path, or 'open'>"
asobi obs "[project]:pitfall:<slug>" "date: YYYY-MM-DD"
When the dead end is obsolete: upsert status resolved and append obs "resolved YYYY-MM-DD: <why it no longer applies>". If the lesson belongs to an active task, link it so dispatch surfaces it — asobi link "[project]:[epic]:task-N" "[project]:pitfall:<slug>" "depends_on" (the task depends on knowing the warning). Slugs are lowercase, - inside a segment and : only between levels — e.g. harus-skills:pitfall:bump-tool-overreach.
/revise only writes; recall lives in asobi. /asobi start reports active pitfalls, and /asobi tasks dispatch queries task-relevant lessons and includes linked pitfalls. Prefer pitfall titles that read as warnings in a dispatch brief.
A /revise-only fallback — it does not relax asobi's requirement for session continuity. Append to repo-tracked files, creating each as needed with the header > Project-local fallback lessons captured when asobi was unavailable. Migrate into asobi when possible.
docs/lessons/pitfalls.md — ## YYYY-MM-DD — <slug>, then Status / Tried / Why it failed / Do insteaddocs/lessons/learnings.md — ## YYYY-MM-DD — <title>, then Type (work-experience|finding) / LessonEnd with one terse line:
Revision saved: <class> -> <destination>. # or: -> docs/lessons/<file>.md (asobi unavailable)