atris 3.58.7 → 3.59.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 (95) hide show
  1. package/AGENTS.md +3 -2
  2. package/GETTING_STARTED.md +2 -2
  3. package/PERSONA.md +11 -11
  4. package/README.md +1 -1
  5. package/atris/GEMINI.md +7 -6
  6. package/atris/PERSONA.md +4 -4
  7. package/atris/features/README.md +77 -6
  8. package/atris/skills/README.md +44 -15
  9. package/atris/skills/aeo/SKILL.md +10 -10
  10. package/atris/skills/atris/SKILL.md +1 -1
  11. package/atris/skills/engines/SKILL.md +69 -50
  12. package/atris/skills/meta/SKILL.md +4 -4
  13. package/bin/atris.js +8 -6
  14. package/commands/aeo.js +9 -12
  15. package/commands/analytics.js +8 -11
  16. package/commands/autopilot.js +79 -8
  17. package/commands/avail.js +1 -1
  18. package/commands/brain.js +3 -1
  19. package/commands/business.js +13 -8
  20. package/commands/clean.js +17 -0
  21. package/commands/close.js +2 -1
  22. package/commands/computer.js +15 -10
  23. package/commands/context-sync.js +3 -3
  24. package/commands/doc-health.js +55 -2
  25. package/commands/engine.js +384 -4
  26. package/commands/experiments.js +13 -4
  27. package/commands/host.js +53 -0
  28. package/commands/improve.js +1 -1
  29. package/commands/integrations.js +2 -5
  30. package/commands/learn.js +1 -1
  31. package/commands/member.js +231 -53
  32. package/commands/mission.js +129 -19
  33. package/commands/one-lap.js +58 -3
  34. package/commands/pack.js +2 -2
  35. package/commands/probe.js +11 -5
  36. package/commands/pull.js +1 -1
  37. package/commands/push.js +1 -1
  38. package/commands/rainmaker.js +3 -16
  39. package/commands/run.js +4 -1
  40. package/commands/scout.js +1 -1
  41. package/commands/search.js +5 -3
  42. package/commands/spaceship.js +1 -1
  43. package/commands/stream.js +27 -2
  44. package/commands/study.js +15 -9
  45. package/commands/sync.js +1 -1
  46. package/commands/task.js +13 -2
  47. package/commands/unknowns.js +5 -0
  48. package/commands/verify.js +12 -4
  49. package/commands/visualize.js +20 -3
  50. package/commands/workflow.js +23 -7
  51. package/lib/codex-flight.js +28 -5
  52. package/lib/dispatch-scout.js +31 -22
  53. package/lib/engine-registry.js +1482 -13
  54. package/lib/feedback-triage.js +2 -0
  55. package/lib/fleet.js +111 -12
  56. package/lib/host.js +336 -0
  57. package/lib/improve-vitals-html.js +3 -2
  58. package/lib/known-commands.js +1 -1
  59. package/lib/lesson-contradiction.js +2 -2
  60. package/lib/map-refs.js +226 -0
  61. package/lib/member-engine.js +253 -0
  62. package/lib/mission-room.js +4 -4
  63. package/lib/noninteractive.js +15 -4
  64. package/lib/policy-lessons.js +1 -1
  65. package/lib/receipt-block.js +137 -28
  66. package/lib/roster-markdown.js +206 -0
  67. package/lib/roster-models.js +179 -0
  68. package/lib/runner-command.js +95 -15
  69. package/lib/scorecard.js +4 -4
  70. package/lib/self-drive.js +9 -1
  71. package/lib/sleep-sync.js +11 -0
  72. package/lib/state-detection.js +28 -9
  73. package/lib/task-db.js +3 -2
  74. package/lib/todo-fallback.js +1 -1
  75. package/lib/wish-audit.js +10 -6
  76. package/lib/wish-delegate.js +29 -5
  77. package/mcp/atris-mcp/index.mjs +77 -24
  78. package/package.json +2 -5
  79. package/scripts/det/det.js +2 -2
  80. package/scripts/det/pr-description.js +2 -2
  81. package/scripts/det/test.js +2 -2
  82. package/templates/members/host/MEMBER.md +23 -0
  83. package/templates/members/host/MISSION.md +11 -0
  84. package/templates/members/host/SOUL.md +7 -0
  85. package/templates/members/host/context/why.md +3 -0
  86. package/templates/members/host/goals.json +5 -0
  87. package/templates/members/host/goals.md +3 -0
  88. package/templates/members/host/skills/host/SKILL.md +13 -0
  89. package/utils/api.js +1 -1
  90. package/utils/auth.js +17 -7
  91. package/utils/backend-root.js +31 -0
  92. package/utils/config.js +5 -4
  93. package/utils/owner-identity.js +61 -0
  94. package/atris/policies/LESSONS.md +0 -13
  95. package/atris/skills/autopilot/atris-autopilot.md +0 -71
package/AGENTS.md CHANGED
@@ -171,8 +171,9 @@ named none. These rules are the difference, in priority order:
171
171
  7. **Final report = files changed + verify command + its exact exit/output.**
172
172
  Judges read the worktree diff, not your prose; an empty report with a clean
173
173
  diff beats a confident report with no diff.
174
- 8. **Update `atris/MAP.md` sections you touched** (file:line refs drift on
175
- their own clock; stale refs contradict closed lessons for months).
174
+ 8. **Update the map sections you touched:** routing rows in `atris/MAP.md`,
175
+ file:line refs in `atris/refs/MAP-NOTES.md` (refs drift on their own clock;
176
+ stale refs contradict closed lessons for months).
176
177
  9. **Real runtime over mocks:** if you fixed live behavior, the regression test
177
178
  reproduces it against the real runtime, not a mock that can stay green
178
179
  through breakage.
@@ -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