atris 3.58.7 → 3.58.8

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 (67) hide show
  1. package/GETTING_STARTED.md +2 -2
  2. package/PERSONA.md +11 -11
  3. package/README.md +1 -1
  4. package/atris/GEMINI.md +7 -6
  5. package/atris/PERSONA.md +4 -4
  6. package/atris/features/README.md +77 -6
  7. package/atris/skills/README.md +44 -15
  8. package/atris/skills/aeo/SKILL.md +10 -10
  9. package/atris/skills/atris/SKILL.md +1 -1
  10. package/atris/skills/engines/SKILL.md +42 -50
  11. package/atris/skills/meta/SKILL.md +4 -4
  12. package/bin/atris.js +5 -6
  13. package/commands/aeo.js +9 -12
  14. package/commands/analytics.js +8 -11
  15. package/commands/autopilot.js +4 -3
  16. package/commands/avail.js +1 -1
  17. package/commands/brain.js +3 -1
  18. package/commands/business.js +13 -8
  19. package/commands/close.js +2 -1
  20. package/commands/computer.js +15 -10
  21. package/commands/context-sync.js +3 -3
  22. package/commands/doc-health.js +50 -2
  23. package/commands/experiments.js +13 -4
  24. package/commands/improve.js +1 -1
  25. package/commands/integrations.js +2 -5
  26. package/commands/learn.js +1 -1
  27. package/commands/member.js +174 -47
  28. package/commands/mission.js +57 -11
  29. package/commands/pack.js +2 -2
  30. package/commands/probe.js +11 -5
  31. package/commands/pull.js +1 -1
  32. package/commands/push.js +1 -1
  33. package/commands/rainmaker.js +3 -16
  34. package/commands/spaceship.js +1 -1
  35. package/commands/stream.js +27 -2
  36. package/commands/study.js +15 -9
  37. package/commands/sync.js +1 -1
  38. package/commands/task.js +13 -2
  39. package/commands/workflow.js +6 -1
  40. package/lib/codex-flight.js +28 -5
  41. package/lib/fleet.js +4 -1
  42. package/lib/improve-vitals-html.js +3 -2
  43. package/lib/lesson-contradiction.js +2 -2
  44. package/lib/map-refs.js +183 -0
  45. package/lib/mission-room.js +4 -4
  46. package/lib/noninteractive.js +15 -4
  47. package/lib/policy-lessons.js +1 -1
  48. package/lib/receipt-block.js +137 -28
  49. package/lib/runner-command.js +1 -1
  50. package/lib/scorecard.js +4 -4
  51. package/lib/sleep-sync.js +11 -0
  52. package/lib/state-detection.js +28 -9
  53. package/lib/task-db.js +3 -2
  54. package/lib/todo-fallback.js +1 -1
  55. package/lib/wish-delegate.js +19 -5
  56. package/mcp/atris-mcp/index.mjs +77 -24
  57. package/package.json +2 -5
  58. package/scripts/det/det.js +2 -2
  59. package/scripts/det/pr-description.js +2 -2
  60. package/scripts/det/test.js +2 -2
  61. package/utils/api.js +1 -1
  62. package/utils/auth.js +17 -7
  63. package/utils/backend-root.js +31 -0
  64. package/utils/config.js +5 -4
  65. package/utils/owner-identity.js +61 -0
  66. package/atris/policies/LESSONS.md +0 -13
  67. package/atris/skills/autopilot/atris-autopilot.md +0 -71
@@ -1,6 +1,6 @@
1
1
  # Getting Started with Atris
2
2
 
3
- Atris turns any folder into a workspace that gets better over time. Integrates with any agent.
3
+ Atris turns any folder into a workspace that gets better over time. It works with any coding agent.
4
4
 
5
5
  ## Install
6
6
 
@@ -71,7 +71,7 @@ In your coding agent, say `/endgame` or describe where you want to end up. The s
71
71
  atris autopilot --auto --iterations=5
72
72
  ```
73
73
 
74
- Or in your coding agent, say `/loop` to schedule it to run every ~15 minutes.
74
+ Or in your coding agent, say `/loop` to schedule it every 13 minutes.
75
75
 
76
76
  The loop runs until the goal is done, then picks the next one from scorecards + inbox.
77
77
 
package/PERSONA.md CHANGED
@@ -1,4 +1,4 @@
1
- # PERSONA.md — Atris Agent Personality
1
+ # PERSONA.md: Atris Agent Personality
2
2
 
3
3
  This defines how Atris agents communicate, decide, and work.
4
4
 
@@ -28,21 +28,17 @@ This defines how Atris agents communicate, decide, and work.
28
28
 
29
29
  ## Core Workflow
30
30
 
31
- **Read before you act.** Before planning or building, read the relevant files. Understand the current state. Your first action in any new area is always reconnaissance — not execution.
31
+ **Read before you act.** Before planning or building, read the relevant files. Understand the current state. Your first action in any new area is always reconnaissance, not execution.
32
32
 
33
- **Always ask for intent.** Clarify before acting.
33
+ **Ask for intent when it's fuzzy or the blast radius is real.** A vague brief gets 2-3 named interpretations with a recommendation, not open questions. Small, reversible, clearly-scoped work: act, then report. Standing autonomy (autoland, push-asap) means asking permission for routine work is a failure smell, not politeness.
34
34
 
35
- **Use ASCII visualization to confirm understanding:**
35
+ **Use ASCII visualization to confirm understanding when a plan is worth confirming:**
36
36
  - **UI elements:** Show design using ASCII
37
37
  - **Backend:** Use arrows, diagrams, logic gates
38
38
  - **Databases:** Tables and graphs showing relationships
39
39
  - **Other cases:** Use best judgment
40
40
 
41
- **Always confirm understanding in ASCII visualization layer for planning.**
42
-
43
- Then go 3-4 sentences one by one through each task.
44
-
45
- Once every task is confirmed, create a plan.
41
+ A one-file fix needs no diagram; a new surface or cross-system change does.
46
42
 
47
43
  **If a task is too big, break it down.** One job per task. If you can't describe "done" in one sentence, decompose it. Small precise tasks compound into big results.
48
44
 
@@ -56,9 +52,13 @@ We can always add layer by layer.
56
52
 
57
53
  ## Communication Style
58
54
 
59
- **3-4 sentences max.** No verbose explanations. Get to the point.
55
+ **Talk like a person.** Every message the operator reads: plain words, what happened and what it means for them, cause and effect. Not the machinery.
56
+
57
+ **No codes in the message body.** No task ids, branch names, commit hashes, PR numbers, or system nouns (worktree, verifier, projection, tick). If the reader needs a command, ONE copyable line at the end. Insider terms get defined in the same breath or cut.
58
+
59
+ **Lead with the outcome.** Complete sentences, one or two per paragraph, blank line between. No headers, bullet stacks, or tables in chat replies. Detail lives in files; offer "want the detail?" instead of dumping it.
60
60
 
61
- Direct and casual tone. No corporate speak.
61
+ **The test before sending:** read it fried at 2am. If decoding takes work, rewrite it.
62
62
 
63
63
  If something is slop, call it out. Optimize ruthlessly.
64
64
 
package/README.md CHANGED
@@ -260,7 +260,7 @@ atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed
260
260
  - `atris codex-goal` is the read-only bridge for native Codex `/goal`: `status` inspects the live goal database, while the legacy `reset` command now refuses every mutation. Active tasks continue in place; completed tasks retain their final goal, and new work or recurring monitors use a new dedicated Codex task.
261
261
  - `atris task` keeps durable local task state and append-only events for agents; `atris/TODO.md` is just a regenerated readable board. Run the loop with `atris task new`, `delegate "..." --to <owner>`, `next`, `say`, and `ready <id> --proof "..."`; human approval is `atris task accept <id>` (moves to Done, awards Career XP) or `revise <id> --note "..."`. Final task transitions also append the general daily log and, when a real `atris/team/<member>/MEMBER.md` matches the task owner, that member's daily log. Add `--json` for headless agents, `atris task serve` for the local board, and `atris task show <ref>` / `events --all` for the full ledger. Commands accept semantic refs (`OBL-18`), full IDs, or any unique prefix. In cloud business workspaces, Supabase `tasks` is the source of truth and Swarlo the live claim layer.
262
262
  - `atris mission` is the durable autonomy layer: start with an owner, verifier, runner, and stop condition; record bounded work with `mission tick`; close with `mission complete` only after proof. Runners include `manual`, `claude`, `atris2`, and `codex_goal`.
263
- - `atris pulse` is the OS-cron heartbeat for overnight self-improvement. Use `atris pulse status`, `tick`, `run`, `install --cadence "<cron>" --days 7 --verify "npm test" --model claude-opus-4-8`, and `uninstall`.
263
+ - `atris pulse` is the OS-cron heartbeat for overnight self-improvement. Use `atris pulse status`, `tick`, `run`, `install --cadence "<cron>" --days 7 --verify "npm test" --model claude-opus-5-5`, and `uninstall`.
264
264
  - `atris experiments` runs small test packs in `atris/experiments/`
265
265
  - `atris pull` and `atris push` sync cloud workspaces and journals
266
266
  - `atris live` keeps a business brain fresh by checking/fixing the workspace, pushing local state, pulling cloud state, and pushing again after local changes go quiet
package/atris/GEMINI.md CHANGED
@@ -1,8 +1,8 @@
1
- # GEMINI.md — Atris Project Instructions
1
+ # GEMINI.md: Atris Project Instructions
2
2
 
3
3
  You are running inside **Atris**, an AI workspace operating system.
4
4
 
5
- ## FIRST MESSAGE — Boot Sequence
5
+ ## FIRST MESSAGE: Boot Sequence
6
6
 
7
7
  **Before your first response, run this command and display its full output:**
8
8
 
@@ -27,10 +27,11 @@ This is the Atris boot sequence. Show the output to the user, then respond natur
27
27
 
28
28
  ## Core Files
29
29
 
30
- - `atris/MAP.md` — navigation (use file:line references)
31
- - `atris/TODO.md` — current work queue (target state = 0)
32
- - `atris/logs/YYYY/YYYY-MM-DD.md` — journal (Inbox + Completed)
33
- - `atris/atris.md` — protocol/spec
30
+ - `atris/MAP.md`: navigation (use file:line references)
31
+ - `atris task` - the source of truth for work: current tasks, claims, dialogue, and proof
32
+ - `atris/TODO.md`: rendered/legacy task view only
33
+ - `atris/logs/YYYY/YYYY-MM-DD.md`: journal (Inbox + Completed)
34
+ - `atris/atris.md`: protocol/spec
34
35
 
35
36
  ## Default Loop
36
37
 
package/atris/PERSONA.md CHANGED
@@ -6,7 +6,7 @@ This defines how Atris agents communicate, decide, and work.
6
6
 
7
7
  ## MAPFIRST (Non-Negotiable)
8
8
 
9
- **Before searching for ANYTHING in the codebase:**
9
+ **Before searching for anything in the codebase:**
10
10
 
11
11
  ```
12
12
  1. READ atris/MAP.md first
@@ -20,7 +20,7 @@ This defines how Atris agents communicate, decide, and work.
20
20
  **Violations:**
21
21
  - ❌ Running grep/ripgrep before checking MAP.md
22
22
  - ❌ Searching multiple files when MAP.md has the answer
23
- - ❌ Finding something via grep and NOT updating MAP.md
23
+ - ❌ Finding something via grep and not updating MAP.md
24
24
 
25
25
  **MAP.md is truth. Check it first. Always.**
26
26
 
@@ -86,7 +86,7 @@ Delete when done. Clean workspace = clear mind.
86
86
 
87
87
  ## Collaboration
88
88
 
89
- **Trust the system.** MAP.md is truth. TODO.md is current work (formerly `TODO.md`).
89
+ **Trust the system.** MAP.md is truth. `atris task` is the source of truth for work; `TODO.md` is the rendered view.
90
90
 
91
91
  Navigator finds, executor builds, validator verifies. Stay in your lane.
92
92
 
@@ -112,7 +112,7 @@ Mistakes are fine if you learn and fix quickly.
112
112
 
113
113
  ❌ Make assumptions without checking MAP.md
114
114
 
115
- ❌ Leave TODOs scattered in code (put them in TODO.md)
115
+ ❌ Leave TODOs scattered in code (put them in `atris task`)
116
116
 
117
117
  ❌ Overthink simple problems
118
118
 
@@ -13,7 +13,8 @@ atris/features/
13
13
  ├── _templates/ # Templates for new features
14
14
  │ ├── idea.md.template # Problem, solution, visualization
15
15
  │ ├── build.md.template # Step-by-step build instructions
16
- │ └── validate.md.template # Proof it works (or didn't)
16
+ │ ├── validate.md.template # Proof it works (or didn't)
17
+ │ └── changelog.md.template # Release notes entry
17
18
  ├── feature-name-1/
18
19
  │ ├── idea.md # Why we're building this
19
20
  │ ├── build.md # How to build it
@@ -49,7 +50,7 @@ cp atris/features/_templates/validate.md.template atris/features/your-feature-na
49
50
  # Fill in the templates
50
51
  # Edit idea.md (problem, solution, visualization)
51
52
  # Edit build.md (step-by-step implementation)
52
- # Edit validate.md (proof it works — filled by validator)
53
+ # Edit validate.md (proof it works, filled by validator)
53
54
  ```
54
55
 
55
56
  ---
@@ -68,7 +69,7 @@ cp atris/features/_templates/validate.md.template atris/features/your-feature-na
68
69
  3. Updates status as work progresses
69
70
 
70
71
  **Validator Agent (validate.md):**
71
- 1. Fills in `validate.md` — runs every check, records pass/fail
72
+ 1. Fills in `validate.md`: runs every check, records pass/fail
72
73
  2. If all pass → status "complete", lessons learned to journal
73
74
  3. If any fail → status stays "in-progress", lessons learned to journal
74
75
  4. Updates MAP.md if needed
@@ -118,7 +119,7 @@ Local-first project wiki with cloud opt-in
118
119
  - **Completed:** 2026-04-07
119
120
 
120
121
  #### self-improving-loop
121
- Make Atris recursive — validate.md lessons feed back into the next idea.md
122
+ Make Atris recursive: validate.md lessons feed back into the next idea.md
122
123
  - **Files:** atris/lessons.md (new), atris.md, atris/team/navigator/MEMBER.md, atris/team/validator/MEMBER.md, atris/MAP.md
123
124
  - **Status:** complete
124
125
  - **Keywords:** recursion, lessons, feedback-loop, self-improving, lessons.md
@@ -133,7 +134,7 @@ Connect lessons.md and validate.md to every CLI command and doc that references
133
134
  - **What:** 8 surgical edits to wire lessons.md and validate.md into init, plan, review, status, docs, and spec
134
135
  - **Completed:** 2026-02-09
135
136
 
136
- #### brainstorm — v2.0.0
137
+ #### brainstorm: v2.0.0
137
138
  Conversational exploration mode for uncertain ideas
138
139
  - **Files:** bin/atris.js, atris/atris.md, atris/PERSONA.md, GETTING_STARTED.md, README.md, atris/MAP.md
139
140
  - **Status:** complete
@@ -142,7 +143,7 @@ Conversational exploration mode for uncertain ideas
142
143
  - **Why:** Users need supportive thinking partner when uncertain about requirements
143
144
  - **Completed:** 2025-11-11 (shipped in v2.0.0)
144
145
 
145
- #### cli-ux-simplification — v2.0.0
146
+ #### cli-ux-simplification: v2.0.0
146
147
  Simplified CLI surface around the core workflow and aligned internal artifacts.
147
148
  - **Files:** bin/atris.js, commands/init.js, commands/workflow.js, commands/status.js, commands/brainstorm.js, lib/state-detection.js, atris.md, atris/atris.md, GETTING_STARTED.md, atris/GETTING_STARTED.md, AGENT.md, CLAUDE.md, atris/PERSONA.md, PERSONA.md
148
149
  - **Status:** complete
@@ -151,6 +152,76 @@ Simplified CLI surface around the core workflow and aligned internal artifacts.
151
152
  - **Why:** Makes it easier for humans and agents to understand and consistently use the CLI without memorizing many commands.
152
153
  - **Completed:** 2025-11-16
153
154
 
155
+ #### cloud-sync-simplicity
156
+ Make cloud sync's safe path the default: per-conflict review, orphan cleanup, scoped push
157
+ - **Files:** commands/business-sync.js, commands/cloud.js, commands/push.js, commands/sync.js
158
+ - **Status:** complete
159
+ - **Keywords:** sync, cloud, conflicts, orphans, push
160
+ - **What:** `atris sync --review` picks local/cloud/merge per conflicting file (`commands/business-sync.js:355`), `atris cloud clean` previews and deletes cloud orphans (`commands/cloud.js:22`), and push leads with the safe path on drift (`commands/push.js:349`)
161
+
162
+ #### codex-goal-replacement
163
+ Bridge Atris mission selection into the Codex visible goal
164
+ - **Files:** commands/codex-goal.js, commands/mission.js, bin/atris.js
165
+ - **Status:** complete
166
+ - **Keywords:** codex, goal, mission, bridge
167
+ - **What:** `atris codex-goal` writes `.atris/state/codex_goal.json` (schema `atris.codex_goal.v1`) so the Codex runtime can mirror `goal.visible_goal` into the native goal UI
168
+
169
+ #### company-brain-sync
170
+ Sync the atris/ brain surface of a business workspace instead of raw file mirroring
171
+ - **Files:** lib/company-brain-sync.js, commands/business-sync.js, commands/sync.js
172
+ - **Status:** complete
173
+ - **Keywords:** sync, business, company-brain, workspace
174
+ - **What:** `atris sync --status` renders business, brain file count, conflict packets, and watcher heartbeat without credentials
175
+
176
+ #### pack-recovery
177
+ Recover recorded pack file work after an interrupted run
178
+ - **Files:** commands/pack.js
179
+ - **Status:** complete
180
+ - **Keywords:** pack, recover, recovery, protected-files
181
+ - **What:** `atris pack run --recover <receipt.json>` marks completed files protected and continues the run (`commands/pack.js:166`, `:2536`)
182
+
183
+ #### plan-review-by-validator
184
+ Validator gate between plan and do so half-specified plans never execute
185
+ - **Files:** commands/autopilot.js, test/autopilot-plan-review.test.js
186
+ - **Status:** complete
187
+ - **Keywords:** plan, review, validator, signoff
188
+ - **What:** the validator reads each plan fresh and returns a machine-parseable SIGNOFF/REJECT verdict before execution (`commands/autopilot.js:1249-1510`)
189
+
190
+ #### self-driving-mission
191
+ Give Atris a destination once; it owns route, staffing, recovery, and the arrival receipt
192
+ - **Files:** commands/mission.js, lib/runner-command.js, lib/fleet.js
193
+ - **Status:** complete
194
+ - **Keywords:** mission, self-driving, route, engine, autoland
195
+ - **What:** `atris mission run` drives a durable objective with `--due`, `--max-ticks`, and `--complete-on-pass` (`commands/mission.js:581-641`)
196
+
197
+ #### spaceship
198
+ Bounded, self-reporting overnight runner
199
+ - **Files:** commands/spaceship.js, scripts/spaceship.sh
200
+ - **Status:** complete
201
+ - **Keywords:** spaceship, overnight, runner, supervised-loop
202
+ - **What:** `atris spaceship` wraps the supervised loop script that survives bad ticks and reports each state change
203
+
204
+ #### team-member-standard
205
+ MEMBER.md directory format for team members
206
+ - **Files:** atris/team/*/MEMBER.md
207
+ - **Status:** complete
208
+ - **Keywords:** member, MEMBER.md, team, standard
209
+ - **What:** every team member lives in `atris/team/<name>/MEMBER.md`; init and sync ship them into user projects (`commands/sync.js:526-531`)
210
+
211
+ #### verify-falsifiability
212
+ The Verify field must be a real rubric that fails before work and passes after
213
+ - **Files:** commands/verify.js, commands/autopilot.js
214
+ - **Status:** complete
215
+ - **Keywords:** verify, falsifiable, rubric, reward
216
+ - **What:** `atris verify` runs the task's rubric against the tree; a rubric that already passes halts the tick instead of counting a fake success
217
+
218
+ ---
219
+
220
+ ### Parked Features
221
+
222
+ #### customer-skill-zones
223
+ - **Status:** parked, partially shipped; private publish parked per `atris/features/customer-skill-zones/idea.md`
224
+
154
225
  ---
155
226
 
156
227
  ## Guidelines
@@ -6,8 +6,8 @@ Agent-agnostic skills. Works with Claude, Cursor, Codex, any LLM agent.
6
6
 
7
7
  Every process = **Skill + Policy**
8
8
 
9
- - `skills/[name]/SKILL.md` — How to DO (process)
10
- - `policies/[name].md` — How to REVIEW (validation)
9
+ - `skills/[name]/SKILL.md`: How to DO (process)
10
+ - `policies/[name].md`: How to REVIEW (validation)
11
11
 
12
12
  ## Integration
13
13
 
@@ -25,19 +25,46 @@ cp -r atris/skills/[name] ~/.codex/skills/
25
25
 
26
26
  | Skill | Description | Policy |
27
27
  |-------|-------------|--------|
28
- | atris | Workflow enforcement + plan/do/review | `policies/ANTISLOP.md` |
29
- | autopilot | PRD-driven autonomous execution | — |
30
- | autoresearch | Bounded keep/revert experiment loops via `atris/experiments/` | — |
31
- | backend | Backend architecture anti-patterns | `policies/atris-backend.md` |
28
+ | aeo | Content engineered to get cited by ChatGPT, Claude, and Gemini | - |
29
+ | apps | View, manage, and trigger Atris apps | - |
30
+ | atris | Workspace navigation, tasks, MAP.md, where-is-X questions | `policies/ANTISLOP.md` |
31
+ | atris-feedback | Submit, list, resolve, close, or delete customer feedback | - |
32
+ | autopilot | Run one autonomous plan/do/review tick | - |
33
+ | autoresearch | Keep/revert experiment loop for experiment packs | - |
34
+ | backend | Backend architecture policy | `policies/atris-backend.md` |
35
+ | blocks | Author Atris block documents: docs, decks, reports | - |
36
+ | calendar | Google Calendar via AtrisOS API | - |
37
+ | copy-editor | Detects and fixes AI writing patterns | - |
38
+ | create-app | Build and deploy an Atris app from a description | - |
39
+ | create-member | Create and manage MEMBER.md team members | - |
32
40
  | design | Frontend aesthetics policy | `policies/atris-design.md` |
33
- | calendar | Google Calendar integration via AtrisOS | — |
34
- | drive | Google Drive + Sheets integration via AtrisOS | — |
35
- | email-agent | Gmail integration via AtrisOS | — |
36
- | memory | Context and memory management | — |
37
- | meta | Metacognition for agents | `policies/LESSONS.md` |
41
+ | drive | Google Drive, Docs, and Sheets via AtrisOS API | - |
42
+ | email-agent | Gmail via AtrisOS API | - |
43
+ | endgame | Pick the next horizon and write the reverse path as tasks | - |
44
+ | engines | Dispatch work to an installed terminal agent or engine profile | - |
45
+ | fable-method | Working method for daily-driver models | - |
46
+ | flow | All-day operating partner: identity, goals, live status | - |
47
+ | github | GitHub via AtrisOS API | - |
48
+ | imessage | Inspect and send local macOS iMessage | - |
49
+ | improve | One verified, scored improvement tick with a receipt | - |
50
+ | launch | Write a release post for Twitter and LinkedIn | - |
51
+ | loop | Schedule the recurring autopilot heartbeat | - |
52
+ | magic-inbox | Autonomous inbox triage, drafts, and archive | - |
53
+ | memory | Search and reason over journal history | - |
54
+ | meta | Metacognition for agents | `atris/lessons.md` |
55
+ | notion | Notion via AtrisOS API | - |
56
+ | ramp | Ramp card and spend management | - |
57
+ | render-cli | Render.com CLI inspect, auth, and deploys | - |
58
+ | research-search | Research sweep across arxiv, semantic scholar, github, web | - |
59
+ | skill-improver | Audit and improve skills against the Anthropic guide | - |
60
+ | slack | Slack via AtrisOS API | - |
61
+ | slides | Google Slides via AtrisOS API | - |
62
+ | tidy | Workspace maintenance: stale docs, broken refs, abandoned tasks | - |
63
+ | wake | Wake a member and run one closed-loop tick | - |
64
+ | wiki | Local-first project wiki: ingest, query, lint | - |
38
65
  | writing | Essay process with gates | `policies/writing.md` |
39
- | copy-editor | Detects and fixes AI writing patterns | - |
40
- | skill-improver | Audit and improve skills against Anthropic guide | — |
66
+ | x-search | X/Twitter search via xAI Grok API | - |
67
+ | youtube | YouTube discovery, notes, and learning | - |
41
68
 
42
69
  ## ClawHub (External Distribution)
43
70
 
@@ -45,8 +72,10 @@ Skills we publish to OpenClaw's ClawHub marketplace. These have YAML frontmatter
45
72
 
46
73
  | Skill | Description | Status |
47
74
  |-------|-------------|--------|
48
- | clawhub/atris | Codebase intelligence — MAP.md navigation for any agent | Ready to publish |
49
- | clawhub/philosophy-of-work | Agent onboarding — philosophy, 60s start, proof contract | Ready to publish |
75
+ | clawhub/atris | Codebase intelligence: MAP.md navigation for any agent | Ready to publish |
76
+ | clawhub/chief-of-staff | Daily briefing agent that learns your patterns | Ready to publish |
77
+ | clawhub/member-runtime | Load and run MEMBER.md team members | Ready to publish |
78
+ | clawhub/philosophy-of-work | Agent onboarding: philosophy, 60s start, proof contract | Ready to publish |
50
79
 
51
80
  ```bash
52
81
  # Publish to ClawHub
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: aeo
3
- description: "AI Engine Optimization — write content engineered to get cited by ChatGPT, Claude, and Gemini. Not SEO. Triggers on: aeo, AI engine, llm citation, get cited, write for ai."
3
+ description: "AI Engine Optimization: write content engineered to get cited by ChatGPT, Claude, and Gemini. Not SEO. Triggers on: aeo, AI engine, llm citation, get cited, write for ai."
4
4
  when_to_use: "Use when the user wants content that ranks in AI answers (not Google SERP). Examples: 'write an AEO page', 'get ExampleCo cited by ChatGPT', 'aeo for our pricing page', 'make this quotable by LLMs'."
5
5
  version: 0.1.0
6
6
  allowed-tools: Read, Write, Edit, Glob, Grep, Bash
@@ -10,7 +10,7 @@ tags:
10
10
  - marketing
11
11
  ---
12
12
 
13
- # AEO — AI Engine Optimization
13
+ # AEO: AI Engine Optimization
14
14
 
15
15
  Write content that LLMs cite when a human asks them a question. Different objective than SEO, different rules than craft writing.
16
16
 
@@ -48,7 +48,7 @@ Entity graph lives in the **customer's EC2 workspace** (not agent_files, not DB)
48
48
  1. **Front-load the claim.** LLMs quote sentence 1 of a paragraph. No throat-clearing.
49
49
  2. **Name entities explicitly.** "ExampleCo" not "a leading freight platform." Entity density is how LLMs disambiguate and cite.
50
50
  3. **Canonical definition.** One sentence owns `X is Y that does Z` for the category. Make it liftable.
51
- 4. **Q&A scaffolding.** H2s in question form: "What is X?" "How does X work?" — matches the prompts LLMs actually get.
51
+ 4. **Q&A scaffolding.** H2s in question form: "What is X?" "How does X work?", matching the prompts LLMs actually get.
52
52
  5. **Declarative stats with sources.** "$2.3B market (McKinsey 2025)" beats "a growing market." Citable atoms.
53
53
  6. **Comparison tables.** LLMs love structured data. Build one per category claim.
54
54
  7. **Fresh dates visible.** "Updated 2026-04-17" at top. LLMs weight recency.
@@ -62,11 +62,11 @@ Entity graph lives in the **customer's EC2 workspace** (not agent_files, not DB)
62
62
  READ entity graph → DRAFT → SELF-SCORE → WRITE to workspace → (phase 2: AUDIT)
63
63
  ```
64
64
 
65
- 1. **READ** — Pull `entities.md`, `definitions.md`, `stats.md` from customer workspace. If missing, create skeleton files first.
66
- 2. **DRAFT** — Generate article applying all 10 rules. Topic + target queries + entity context → article.
67
- 3. **SELF-SCORE** — Append a `## AEO Self-Check` section: each rule scored pass/fail with evidence.
68
- 4. **WRITE** — Save to `/workspace/atris/aeo/drafts/<slug>.md`.
69
- 5. **AUDIT** (phase 2) — Run target queries against 4 LLMs, measure whether article is cited, write results to `/workspace/atris/aeo/audits/<slug>-<date>.md`.
65
+ 1. **READ**: Pull `entities.md`, `definitions.md`, `stats.md` from customer workspace. If missing, create skeleton files first.
66
+ 2. **DRAFT**: Generate article applying all 10 rules. Topic + target queries + entity context → article.
67
+ 3. **SELF-SCORE**: Append a `## AEO Self-Check` section: each rule scored pass/fail with evidence.
68
+ 4. **WRITE**: Save to `/workspace/atris/aeo/drafts/<slug>.md`.
69
+ 5. **AUDIT** (phase 2): Run target queries against 4 LLMs, measure whether article is cited, write results to `/workspace/atris/aeo/audits/<slug>-<date>.md`.
70
70
 
71
71
  ## Entity graph layout (in customer workspace)
72
72
 
@@ -90,7 +90,7 @@ atris write aeo "<topic>" --workspace <name>
90
90
  atris aeo init --workspace <name>
91
91
 
92
92
  # View current drafts
93
- atris ls workspace/atris/aeo/drafts --workspace <name>
93
+ ls workspace/atris/aeo/drafts
94
94
  ```
95
95
 
96
96
  ## Credits
@@ -107,7 +107,7 @@ atris ls workspace/atris/aeo/drafts --workspace <name>
107
107
  - Self-score section is mandatory in every draft.
108
108
  - Never hedge in the body. Hedging kills citation rate.
109
109
  - Never fabricate stats. If a stat is uncited, flag it in self-check.
110
- - Entity graph skeleton auto-creates if missing — never fail on first run.
110
+ - Entity graph skeleton auto-creates if missing. Never fail on first run.
111
111
 
112
112
  ## Related
113
113
 
@@ -29,7 +29,7 @@ Commands: plan → do → review
29
29
 
30
30
  Key behaviors:
31
31
  - Mission-shaped intent wins: run `atris mission run ...` before normal task selection when the user invokes it or asks for a loop.
32
- - Read PERSONA.md (3-4 sentences, ASCII visuals)
32
+ - Read PERSONA.md (MAP.md first, plain words, lead with the outcome)
33
33
  - Check MAP.md for file:line refs
34
34
  - Use `atris task` for claims, proof, ready, and accept
35
35
  - Give every task a plain first layer: what changes, why it matters, and what
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: engines
3
3
  description: "Dispatch work to an installed terminal agent or named Atris engine profile. Supports Atris Fast, Claude, Codex, Cursor, Fable, Composer, Haiku, Devin, Grok, Antigravity (agy), and opencode. Triggers on: use codex, use cursor, use devin, use grok, use agy, use antigravity, use gemini, gemini session, use fable, use claude, use opencode, use atris, engine, dispatch to, worker agent, second opinion build."
4
- version: 1.5.2
4
+ version: 1.7.0
5
5
  tags:
6
6
  - engines
7
7
  - claude
@@ -20,7 +20,7 @@ tags:
20
20
  - orchestration
21
21
  ---
22
22
 
23
- # Engines — interchangeable terminal workers
23
+ # Engines: interchangeable terminal workers
24
24
 
25
25
  One contract, eleven live profiles. The orchestrator writes a bounded task prompt, dispatches it to an engine, then **independently verifies, lands, and pushes** the result. Engines never self-certify.
26
26
 
@@ -59,54 +59,46 @@ substitute raw Claude or another engine and call the result FABLE.
59
59
 
60
60
  Raw spawns are not the default because they skip Atris receipts, watch, and coaching.
61
61
 
62
- | Engine | Command | Notes |
63
- |--------|---------|-------|
64
- | Atris Fast | `atris chat --print "<prompt>"` (equivalently `ax --fast --print`) | Local tool runtime over the api.atris.ai fast lane. Best for bounded lookups and small verified edits. |
65
- | Claude | `claude -p "<prompt>"` | Uses the local Claude configuration. Add `--model opus` for maximum-depth review or `--model sonnet` for speed. |
66
- | Codex | `codex exec --dangerously-bypass-approvals-and-sandbox -o <result-file> "<prompt>"` (run from the target repo/worktree; read-only research: `--sandbox read-only`) | Headless, exits when done — run it as a tracked background Bash task like the other engines and completion auto-wakes the session. Final answer lands in the `-o` file. Verified live 2026-08-11. Outside a git repo add `--skip-git-repo-check` or it exits 1. ONE-SHOT SESSIONS (`claude -p` workers): run codex in the FOREGROUND and wait — a one-shot session never wakes again, so backgrounding strands the result (observed 2026-08-11). The old plugin path (`codex-companion.mjs task --background`) is deprecated for dispatch: its job store never notifies the session (a finished result sat unread overnight, 2026-08-10) |
67
- | Cursor | `cursor-agent --trust -p "<prompt>"` (run from the target repo) | Headless print mode; `--trust` required for non-interactive |
68
- | Fable | `atris engine fable "<question>"` | Canonical read-only FABLE ask with guards, live log, receipt, and health tracking. Scale `--timeout` to the work when needed. |
69
- | Composer | `atris run "<objective>" --engine composer` | Fast navigator/executor profile routed through the installed `ax` binary. |
70
- | Haiku | `claude -p "<prompt>" --model claude-haiku-4-5` | Fast validation and bounded read-only checks. |
71
- | Devin | `devin -p --permission-mode dangerous -- "<prompt>"` (run from the target repo) | Default permission mode is read-only for writes — build work NEEDS `--permission-mode dangerous`, so only run it in an isolated worktree. Also `devin cloud` for sessions that outlive this machine. Supports `--model swe-2-max`; `devin models list` verifies availability and price. |
72
- | Grok | `grok --always-approve -p "<prompt>"` (run from the target repo) | Headless single-turn via `-p`; default model grok-4.6. Very fast on lookups (~5-10s, reads MAP first). Great for quick second opinions; use `--best-of-n <N>` for tricky bounded builds. Uses grok.com login |
73
- | Antigravity | `agy --mode accept-edits --add-dir "$PWD" -p "<prompt>"` (run from the target repo) | `agy` executor profile; also answers to "gemini". **`--add-dir` is mandatory for writes** — without it agy edits its own scratch folder (`~/.gemini/antigravity-cli/scratch/`) and the project never changes, which looks like a silent failure (verified live 2026-08-28). Use `--mode plan --sandbox` for read-only review, `--model <id>` to pin a model, and `--dangerously-skip-permissions` if a build still stalls on an approval prompt. |
74
- | opencode | `opencode run "<prompt>"` (read-only ask: `opencode run --agent plan "<prompt>"`) | Headless print mode; exits when done. Pin a model with `-m provider/model`. Build work needs `--auto` to auto-approve permissions (dangerous: run in an isolated worktree). Verified live 2026-08-21, ~7s per plan-mode lookup. |
62
+ Smoke: `reply with the word OK`, run from `$HOME`, 120s cap, one at a time on a loaded Mac (2026-09-23). Seconds are wall time under that load.
63
+
64
+ | Engine | Exact command | Pinned model | Verified | Seconds | Notes |
65
+ |--------|---------------|--------------|----------|--------:|-------|
66
+ | Atris Fast | `atris chat --print "<prompt>"` | `atris:fast` | 2026-09-23 | 3.2 | Needs an initialized `atris/` workspace; see runtime requirements below. |
67
+ | Claude | `claude -p "<prompt>" --model claude-opus-5-5 --output-format json --no-session-persistence` | `claude-opus-5-5` | 2026-09-23 | 20.3 | `--model opus` also resolves to `claude-opus-5-5` today; pin the id for reproducibility. |
68
+ | Codex | `codex exec --dangerously-bypass-approvals-and-sandbox --ephemeral -m gpt-6-sol -c model_reasoning_effort=high -o <result-file> "<prompt>" </dev/null` (run from the target repo/worktree; read-only: swap the bypass flag for `--sandbox read-only`) | `gpt-6-sol`, high | 2026-09-23 | 13.8 | Keep the `</dev/null`: with stdin open codex prints "Reading additional input from stdin..." and waits forever (observed 2026-09-23). Outside a git repo add `--skip-git-repo-check` or it exits 1 (re-checked 2026-09-23). Final answer lands in the `-o` file. Run as a tracked background Bash task; in one-shot `claude -p` workers run it in the FOREGROUND, a one-shot session never wakes again (2026-08-11). `codex-companion.mjs task --background` is deprecated: its job store never notifies the session (2026-08-10). |
69
+ | Cursor | `cursor-agent --trust --model composer-2.5 -p "<prompt>"` (run from the target repo) | `composer-2.5` | 2026-09-23 | 37.5 | `--trust` required for non-interactive. |
70
+ | Fable | `atris engine fable --timeout 120 --json "<question>"` | `claude-fable-5` | 2026-09-23 | 21.4 | Canonical read-only FABLE ask with receipt; scale `--timeout` to the work. |
71
+ | Composer | `cursor-agent --trust --model composer-2.5 -p "<prompt>"` | `composer-2.5` via Cursor | 2026-09-23 | 37.5 | Same binary as Cursor. |
72
+ | Haiku | `claude -p "<prompt>" --model claude-haiku-4-5 --output-format json --no-session-persistence` | `claude-haiku-4-5` | 2026-09-23 | 19.0 | Fast validation and bounded read-only checks. |
73
+ | Devin (build) | `devin -p --permission-mode dangerous --model swe-2-max --prompt-file <brief>` (run from an isolated worktree) | `swe-2-max` (Free tag in `devin models list`, 2026-09-23) | 2026-09-23 | 14.0 | In `-p` mode the default permission mode rejects shell commands too, so even a read-only audit dies after one step (2026-09-23). Keep the brief outside the worktree. Long runs (5+ min) can print nothing even on success: judge by the worktree diff. `devin cloud` outlives this machine. |
74
+ | Devin (search) | `devin -p --permission-mode dangerous --model swe-1.7-lightning -- "<prompt>"` | `swe-1.7-lightning` (paid, no Free tag on 2026-09-23) | 2026-09-23 | 13.9 | |
75
+ | Grok | `grok --always-approve --model grok-4.7 -p "<prompt>"` (run from the target repo) | `grok-4.7` | 2026-09-23 | 11.7 | Unpinned default is now `grok-4.7-build-fast`; `grok models` lists the menu. Uses grok.com login. `--best-of-n <N>` for tricky bounded builds. |
76
+ | Antigravity (agy) | `agy --mode accept-edits --add-dir "$PWD" --model gemini-3.8-flash-high --output-format json -p "<prompt>"` (run from the target repo) | `gemini-3.8-flash-high` | 2026-09-23 | 15.9 | **`--add-dir` is mandatory for writes**: without it agy edits `~/.gemini/antigravity-cli/scratch/` and the project never changes (2026-08-28). `--mode plan --sandbox` for read-only review. Also answers to "gemini". |
77
+ | opencode | `opencode run -m opencode/muse-spark-1.3-contributor-free "<prompt>"` (read-only: add `--agent plan`) | `opencode/muse-spark-1.3-contributor-free` | 2026-09-23 | 41.1 | Build work needs `--auto` (isolated worktree only). `opencode models` lists the live menu. |
75
78
 
76
79
  Headless dispatch permissions (verified 2026-08-11): `codex exec`, `grok`, and `cursor-agent` are allowlisted in `~/.claude/settings.json` so fresh and one-shot sessions can dispatch without a human approval click. A cold session that gets "requires approval" on an engine command means that allowlist regressed.
77
80
 
78
81
  ## Picking an engine
79
82
 
80
- - **Atris Fast** — cheap bounded lookups, single-file facts, small verified edits, and high-volume fan-out.
81
- - **FABLE** — strongest judgment lane. Use the canonical Atris profile for deep review, synthesis, validation, and complex builds.
82
- - **Claude** — direct Claude profile when the operator names Claude rather than FABLE.
83
- - **Codex** — deep root-cause work, long autonomous builds, second-opinion diagnosis. Slowest; runs sandboxed.
84
- - **Cursor** — fast bounded edits and refactors in a single repo.
85
- - **Composer / Haiku** — fast, bounded navigation, edits, and validation where a max-tier model would be wasteful.
86
- - **Devin** — multi-step feature work; use `cloud` when the run should survive laptop sleep.
87
- - **Grok** - fastest frontier lookups and quick second opinions (grok-4.6, ~5-10s; reads MAP first); use `--best-of-n` for tricky bounded builds. Uses grok.com login.
88
- - **Antigravity / agy** — flexible executor work across Gemini, Claude, and GPT-OSS models; use `agy` as the canonical short name.
89
- - **opencode** — multi-provider executor in one CLI (Claude, GPT, Gemini, DeepSeek menus via `opencode models`); plan agent for read-only asks, `--auto` builds only inside an isolated worktree.
83
+ - **Multi-file or long build**: Devin `swe-2-max` while its Free tag holds (check `devin models list`); Codex `gpt-6-sol` if the tag is gone.
84
+ - **Judgment-heavy build**: Opus 5.5 subagent (Claude row).
85
+ - **Review / deep judgment**: FABLE profile; Codex `gpt-6-sol` or Opus 5.5 as second validator.
86
+ - **Quick fix**: Cursor.
87
+ - **Search / bounded lookup**: Atris Fast; Haiku or Devin `swe-1.7-lightning` for read-only sweeps; Grok for quick second opinions.
88
+ - **agy / opencode**: extra executors when you want a different model family.
90
89
  - Parallel builds across repos: one engine job per repo, never two engines writing the same checkout.
91
90
 
92
- ## Models worth pinning (verified live 2026-08-15)
91
+ ## Models worth pinning (verified live 2026-09-23)
93
92
 
94
- Each engine CLI can pin a specific model. Current best picks:
93
+ | Engine | Flag | Alternates on the live menu |
94
+ |--------|------|-----------------------------|
95
+ | Claude | `--model <id>` | `claude-opus-5-5`, `claude-haiku-4-5` |
96
+ | Devin | `--model <id>` | `swe-2-max`, `swe-2-high`, `swe-2-medium` (Free); `claude-opus-5-5-high`, `gpt-6-sol` (paid) |
97
+ | Cursor | `--model <id>` | `composer-2.5`, `grok-4.7-xhigh`, `claude-opus-5-thinking-high`; `--list-models` |
98
+ | Grok | `--model <id>` | `grok-4.7`, `grok-4.7-build-fast` (default), `grok-4.6`, `grok-4.5`; `grok models` |
99
+ | Codex | `-m <id>` | `gpt-6-sol` is the `~/.codex/config.toml` default |
95
100
 
96
- | Engine | Flag | Best models today |
97
- |--------|------|-------------------|
98
- | Claude / Fable | `--model opus` | `opus` currently resolves to Opus 5; use the explicit Opus 4.8 identifier only for reproducibility |
99
- | Devin | `--model swe-2-max` | `swe-2-max`, `swe-2-high`, `swe-2-medium` verified Free in the live CLI on 2026-09-10. Use Max for Keshav’s team; recheck with `devin models list` before unattended work. |
100
- | Cursor | `--model cursor-grok-4.6-xhigh` | `cursor-grok-4.6-xhigh` for second-opinion builds, `cursor-grok-4.6-high-fast` for quick pinned asks (answered in ~12s live 2026-08-12), `composer-2.5` for fast edits; parameterized Claude via `'claude-opus-4-8[effort=high]'`; `--list-models` shows the full menu |
101
- | Composer | `--engine composer` | `composer 2.5` through the Atris profile |
102
- | Haiku | `--model claude-haiku-4-5` | `haiku` for fast validation |
103
- | Grok | (default) | `grok-4.6` default (confirmed live 2026-08-12, ~5s lookup), `grok-4.5` still available via `-m` |
104
- | Codex | `-m <model>` | CLI default rides `~/.codex/config.toml`; pin with `-m` only when the task needs it |
105
- | Antigravity / agy | `--model <id>` | `gemini-3.7-flash-high` for speed, `gemini-3.1-pro-high` for depth, `claude-sonnet-4-6`, `claude-opus-4-6-thinking`, or `gpt-oss-120b-medium` |
106
- | opencode | `-m <provider/model>` | `opencode/big-pickle`, `opencode/gpt-5.2`, `opencode/claude-opus-4-8`; `opencode models` lists the live menu |
107
- | Atris Fast | (fixed) | api.atris.ai fast lane |
108
-
109
- Re-verify this table when a lab ships a new model: run each CLI's model-list command, smoke one lookup, and update the row. Free-tier windows (like swe-1.7 now) are the moment to fan out volume work.
101
+ Pins expire 30 days after their verified date. Re-verify on a new model: run the CLI's model list, smoke one prompt, update the row.
110
102
 
111
103
  ## Keep the local roster current
112
104
 
@@ -115,7 +107,7 @@ Run `atris engine doctor`, then `atris engine --help`. The canonical profiles li
115
107
  ## Atris Fast runtime requirements (verified live 2026-07-03)
116
108
 
117
109
  - Must run from an **initialized Atris workspace** (an `atris/` folder) under an allowed workspace root (e.g. `~/arena/*`). `atris chat --print` outside one exits 1 with "Run atris init"; `ax --fast --print` outside an allowed root fail-closes with `{ok:false, error:"workspace_path must be under an allowed local workspace root"}`.
118
- - In an allowed root **without** an `atris/` folder the turn silently routes to the cloud no-tools chat lane — the model will honestly refuse file work ("no Atris Desktop runtime attached"). If the output says that, you dispatched from the wrong directory; it is not an engine failure.
110
+ - In an allowed root **without** an `atris/` folder the turn silently routes to the cloud no-tools chat lane. The model will honestly refuse file work ("no Atris Desktop runtime attached"). If the output says that, you dispatched from the wrong directory; it is not an engine failure.
119
111
 
120
112
  ## Prompt contract (every dispatch)
121
113
 
@@ -140,16 +132,16 @@ the actual final state: draft, queued, and merged are different outcomes.
140
132
  Record elapsed time, engine calls, retries, and exposed token usage. Unknown
141
133
  usage stays unknown; one pilot does not establish a speedup or perfect accuracy.
142
134
 
143
- 1. Name the absolute repo path and tell the engine to `cd` there (Atris Fast scopes to the cwd it runs from — cd first, and name absolute paths in the prompt).
135
+ 1. Name the absolute repo path and tell the engine to `cd` there (Atris Fast scopes to the cwd it runs from, so cd first and name absolute paths in the prompt).
144
136
  2. Bound the slice: one task, explicit exit criteria, the verify command to run.
145
- 3. Git rules: `git status` first; stage only own files; never revert others' changes; never destructive git; work on a branch `member/<name>-<slug>` or a worktree. (Atris Fast does not run git — for edit tasks the orchestrator commits after verifying.)
146
- 4. Require a final report: files changed, verify command + result, branch name. (Atris Fast returns one JSON `output` field — ask for file:line evidence in it.)
137
+ 3. Git rules: `git status` first; stage only own files; never revert others' changes; never destructive git; work on a branch `member/<name>-<slug>` or a worktree. (Atris Fast does not run git. For edit tasks the orchestrator commits after verifying.)
138
+ 4. Require a final report: files changed, verify command + result, branch name. (Atris Fast returns one JSON `output` field. Ask for file:line evidence in it.)
147
139
 
148
- ## Landing (orchestrator duties — never skip)
140
+ ## Landing (orchestrator duties, never skip)
149
141
 
150
142
  - **Codex sandbox cannot reach github.com and may get read-only repo access.** Expect temp clones / `git format-patch` fallbacks under `/private/tmp`. Apply patches in a fresh worktree, re-run the verify command yourself, then push.
151
- - Cursor and Devin run unsandboxed — still re-run the verify command yourself before pushing.
152
- - Long Devin runs (5+ min) can return empty stdout even when the build fully succeeded — judge by `git status` and the diff in its worktree, never by the printed report.
153
- - Atris Fast answers are model output over a real tool runtime — treat `output` as a claim, spot-check the cited file:line, and re-run any verifier yourself before acting on it.
143
+ - Cursor and Devin run unsandboxed. Still re-run the verify command yourself before pushing.
144
+ - Long Devin runs (5+ min) can return empty stdout even when the build fully succeeded. Judge by `git status` and the diff in its worktree, never by the printed report.
145
+ - Atris Fast answers are model output over a real tool runtime. Treat `output` as a claim, spot-check the cited file:line, and re-run any verifier yourself before acting on it.
154
146
  - Engine task DBs and receipts written inside a sandbox are snapshots; reconcile against the live `atris task` plane after landing.
155
- - A stalled job (no log output for 30+ min) gets cancelled and taken over; don't wait on it. Atris Fast turns that exceed ~60s have hung — kill and retry once with a tighter prompt.
147
+ - A stalled job (no log output for 30+ min) gets cancelled and taken over; don't wait on it. Atris Fast turns that exceed ~60s have hung. Kill and retry once with a tighter prompt.
@@ -23,7 +23,7 @@ How to be an effective agent. Load this when you need to check yourself.
23
23
 
24
24
  1. **MAP first** - Read `atris/MAP.md` before any search. It's the index.
25
25
  2. **Journal context** - Check today's log for recent work, patterns, blockers.
26
- 3. **LESSONS.md** - What failed before? Don't repeat.
26
+ 3. **atris/lessons.md** - What failed before? Don't repeat.
27
27
  4. **Skill routing** - Frontend? Load `design`. Backend? Load `backend`. Writing? Load `writing`.
28
28
 
29
29
  ## Pace control
@@ -48,7 +48,7 @@ Stop and reassess when:
48
48
  ## Memory leverage
49
49
 
50
50
  Before acting:
51
- 1. Check `atris/policies/LESSONS.md` - short lessons from past mistakes
51
+ 1. Check `atris/lessons.md` - short lessons from past mistakes
52
52
  2. Check `atris/features/` - prior art for similar work
53
53
  3. Check journal history - `grep -i "<keyword>" atris/logs/**/*.md`
54
54
 
@@ -72,7 +72,7 @@ Act (execute with focus)
72
72
  ↓
73
73
  Check (output match intent?)
74
74
  ↓
75
- Learn (add to LESSONS if miss)
75
+ Learn (add to lessons.md if miss)
76
76
  ```
77
77
 
78
78
  ## Anti-patterns
@@ -88,7 +88,7 @@ Learn (add to LESSONS if miss)
88
88
  ## Skill evolution
89
89
 
90
90
  Skills improve from your mistakes:
91
- 1. After REVIEW, log learnings to `LESSONS.md` (format: `date | skill | lesson`)
91
+ 1. After REVIEW, log learnings to `atris/lessons.md` (one line per lesson)
92
92
  2. Repeated lessons (2-3x) get promoted into the relevant skill
93
93
  3. Next agent loads the improved skill
94
94