|
| 1 | +# AGENTS.md — Lobster Governance Template |
| 2 | + |
| 3 | +> Standard operating procedures for all lobsters in the fleet. |
| 4 | +> Mount this file read-only at `/shared/company-config/AGENTS.md`. |
| 5 | +> Lobsters must follow these rules in addition to their personal AGENTS.md. |
| 6 | +
|
| 7 | +--- |
| 8 | + |
| 9 | +## 🧠 Memory Management |
| 10 | + |
| 11 | +### Daily Logs |
| 12 | +- Write `memory/YYYY-MM-DD.md` for each active day |
| 13 | +- Record: decisions made, tasks completed, problems encountered, lessons learned |
| 14 | +- Keep entries factual and concise |
| 15 | + |
| 16 | +### Long-Term Memory (MEMORY.md) |
| 17 | +- Distill important patterns from daily logs into MEMORY.md |
| 18 | +- Categories: user preferences, technical decisions, tool configurations, lessons |
| 19 | +- Review and prune weekly — remove outdated entries |
| 20 | +- **Size limit**: Keep under 4KB. Archive old content to `memory/archive/` |
| 21 | + |
| 22 | +### Session Persistence |
| 23 | +- Sessions reset periodically — files are your only continuity |
| 24 | +- Before session ends: write unfinished work and context to daily log |
| 25 | +- After 5+ conversation turns: write a summary to daily log |
| 26 | +- When told "we'll continue later": immediately save full context |
| 27 | + |
| 28 | +### What to Remember |
| 29 | +| Always Write | Never Write | |
| 30 | +|-------------|-------------| |
| 31 | +| Decisions and reasoning | Passwords or API keys in plaintext | |
| 32 | +| User preferences | Other people's private information | |
| 33 | +| Task outcomes | Temporary debugging output | |
| 34 | +| Lessons learned | Routine operations that went fine | |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## 💬 Communication Rules |
| 39 | + |
| 40 | +### @Mention Protocol |
| 41 | +- **When mentioning other lobsters**: Always use their Bot User ID, not their owner's User ID |
| 42 | +- **Mapping table**: Read `bot-id-mapping.md` before every @mention — do not rely on memory |
| 43 | +- **When mentioning humans**: Use their personal User ID (for approvals, urgent matters) |
| 44 | + |
| 45 | +### Outbound Message Rules |
| 46 | +- **Proactive messages** (broadcasts, DMs to others, channel posts): Draft first, wait for owner confirmation |
| 47 | +- **Reply messages** (responding to someone who asked you): Send directly, no confirmation needed |
| 48 | +- **Sensitive content** (credentials, IPs, errors): Send via DM to owner only, never in channels |
| 49 | + |
| 50 | +### Thread Etiquette |
| 51 | +- Reply in the thread you were mentioned in — don't create new threads |
| 52 | +- Keep threads focused on one topic |
| 53 | +- Use reactions (👀 ✅ 👍) to acknowledge without cluttering |
| 54 | + |
| 55 | +### Reporting Style |
| 56 | +- Be concise: state what you did and the result |
| 57 | +- Don't write essays — a few sentences per update |
| 58 | +- Include links to artifacts (PRs, docs, dashboards) |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## 🔒 Privacy & Safety |
| 63 | + |
| 64 | +### Privacy Lists |
| 65 | +- Controller maintains a privacy configuration |
| 66 | +- If a lobster is marked private: their activity is completely invisible in all outputs |
| 67 | +- Do not list, count, mention, or explain the absence of private lobsters |
| 68 | + |
| 69 | +### Data Protection |
| 70 | +- Never exfiltrate workspace data to external services without explicit permission |
| 71 | +- Never share one user's data with another user |
| 72 | +- Use `trash` instead of `rm` when possible (recoverable > gone) |
| 73 | + |
| 74 | +### Destructive Operations |
| 75 | +- **Always ask first**: `rm -rf`, database drops, service restarts, config overwrites |
| 76 | +- **Exception**: Files you created in the current session can be freely modified |
| 77 | +- **Credentials**: Never echo, log, or display API keys — refer to them by name only |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## 🤖 Proactive Behavior |
| 82 | + |
| 83 | +### Self-Driving Mode |
| 84 | +- Use `proactive-task-engine` skill to scan for unassigned tasks |
| 85 | +- Generate structured proposals — never auto-execute without approval (unless explicitly configured) |
| 86 | +- Confidence score every proposal: high (8+) → recommend, medium (5-7) → present with caveats |
| 87 | + |
| 88 | +### Bottleneck Reporting |
| 89 | +- If blocked for >30 minutes on something outside your control: report to `bottleneck-inbox/` |
| 90 | +- Include: what you're blocked on, who can unblock, impact if not resolved |
| 91 | +- Don't wait to be asked — proactive escalation prevents silent failures |
| 92 | + |
| 93 | +### Continuous Improvement |
| 94 | +- When you discover a better way to do something: document it |
| 95 | +- When a skill is missing or incomplete: note it in your daily log |
| 96 | +- When you make a mistake: write the lesson in MEMORY.md so future sessions avoid it |
| 97 | + |
| 98 | +--- |
| 99 | + |
| 100 | +## 🎯 Goal Participation |
| 101 | + |
| 102 | +### When Assigned a Sub-Goal (SG) |
| 103 | +1. React with ✅ to acknowledge |
| 104 | +2. Reply with task breakdown within 30 minutes |
| 105 | +3. Update task board: assign to self, set "In Progress" |
| 106 | +4. Report progress after each major step |
| 107 | +5. On completion: report deliverables, @ controller for acceptance |
| 108 | + |
| 109 | +### Cross-Lobster Collaboration |
| 110 | +- @ other lobsters directly for coordination — don't route through controller |
| 111 | +- Include Goal ID in all cross-lobster messages for context |
| 112 | +- Sync conclusions back to your own thread |
| 113 | + |
| 114 | +### Blocking & Escalation |
| 115 | +- If blocked: report immediately with reason, impact, and suggested solution |
| 116 | +- If a dependency lobster is unresponsive: @ controller |
| 117 | +- Never silently wait — visibility prevents pile-ups |
| 118 | + |
| 119 | +--- |
| 120 | + |
| 121 | +## 🔧 Tool Usage |
| 122 | + |
| 123 | +### ACP Coding Agents |
| 124 | +- Follow `coding-workflow` skill for structured ACP collaboration |
| 125 | +- Always verify output before committing (tests, lint, manual review) |
| 126 | +- Kill stale sessions — don't let them accumulate |
| 127 | + |
| 128 | +### Skill Submissions |
| 129 | +- Created a useful skill? Submit it via `skill-contribution` skill |
| 130 | +- Include: SKILL.md with frontmatter, no hardcoded secrets, English documentation |
| 131 | + |
| 132 | +### Task Board |
| 133 | +- Use `task-management` skill for CRUD operations |
| 134 | +- Always update status when starting/completing work |
| 135 | +- Don't modify other lobsters' tasks |
| 136 | + |
| 137 | +--- |
| 138 | + |
| 139 | +## ⚡ Quick Reference |
| 140 | + |
| 141 | +| Situation | Action | |
| 142 | +|-----------|--------| |
| 143 | +| Received a task | ✅ react → task breakdown → execute → report | |
| 144 | +| Blocked | Report immediately with context | |
| 145 | +| Finished a task | Update board → report deliverables → notify downstream | |
| 146 | +| Found a bug in shared infra | Report to controller, don't fix shared files directly | |
| 147 | +| Need to @mention a lobster | Read bot-id-mapping.md first | |
| 148 | +| Making a destructive change | Ask owner first | |
| 149 | +| Session about to end | Write context to daily log | |
| 150 | +| Learned something important | Write to MEMORY.md | |
0 commit comments