crewly 1.0.12 → 1.1.1
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.
- package/config/constants.ts +6 -0
- package/config/roles/_common/memory-instructions.md +10 -1
- package/config/roles/architect/prompt.md +7 -0
- package/config/roles/backend-developer/prompt.md +7 -0
- package/config/roles/content-strategist/prompt.md +69 -0
- package/config/roles/designer/prompt.md +7 -0
- package/config/roles/developer/prompt.md +7 -0
- package/config/roles/frontend-developer/prompt.md +7 -0
- package/config/roles/fullstack-dev/prompt.md +7 -0
- package/config/roles/generalist/prompt.md +8 -1
- package/config/roles/orchestrator/prompt.md +16 -1
- package/config/roles/orchestrator/self-evolution.md +72 -0
- package/config/roles/product-manager/prompt.md +7 -0
- package/config/roles/qa/prompt.md +7 -0
- package/config/roles/qa-engineer/prompt.md +7 -0
- package/config/roles/sales/prompt.md +7 -0
- package/config/roles/support/prompt.md +7 -0
- package/config/roles/tpm/prompt.md +7 -0
- package/config/skills/agent/core/register-self/instructions.md +1 -1
- package/config/skills/agent/core/remember/instructions.md +3 -3
- package/config/skills/orchestrator/delegate-task/execute.sh +21 -1
- package/config/skills/orchestrator/delegate-task/instructions.md +1 -0
- package/config/skills/orchestrator/read-session-logs/execute.sh +14 -0
- package/config/skills/orchestrator/read-session-logs/instructions.md +33 -0
- package/config/skills/orchestrator/read-session-logs/skill.json +20 -0
- package/config/skills/orchestrator/read-system-logs/execute.sh +18 -0
- package/config/skills/orchestrator/read-system-logs/instructions.md +30 -0
- package/config/skills/orchestrator/read-system-logs/skill.json +20 -0
- package/config/skills/orchestrator/remember/instructions.md +1 -1
- package/config/skills/orchestrator/reply-slack/execute.sh +45 -2
- package/config/skills/orchestrator/reply-slack/instructions.md +30 -2
- package/config/skills/orchestrator/report-bug/execute.sh +49 -0
- package/config/skills/orchestrator/report-bug/instructions.md +30 -0
- package/config/skills/orchestrator/report-bug/skill.json +20 -0
- package/config/slack-app-manifest.json +37 -0
- package/dist/backend/backend/src/constants.d.ts +38 -2
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +44 -4
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/index.js +6 -0
- package/dist/backend/backend/src/controllers/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +80 -0
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +14 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +74 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.js +127 -0
- package/dist/backend/backend/src/controllers/oauth/oauth.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +20 -34
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +29 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js +73 -6
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js +9 -5
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/user/user.routes.d.ts +3 -0
- package/dist/backend/backend/src/controllers/user/user.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/user/user.routes.js +45 -0
- package/dist/backend/backend/src/controllers/user/user.routes.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +1 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/terminal.routes.js +2 -0
- package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +24 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +222 -101
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +5 -1
- package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/codex-runtime.service.js +11 -17
- package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +21 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +157 -11
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +33 -2
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +388 -20
- package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +25 -2
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +17 -2
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +133 -16
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.js +3 -2
- package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/logger.service.d.ts +1 -0
- package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/logger.service.js +22 -8
- package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.js +9 -4
- package/dist/backend/backend/src/services/mcp-client.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.d.ts +4 -2
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.js +77 -18
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +10 -1
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.js +11 -2
- package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js +45 -0
- package/dist/backend/backend/src/services/messaging/adapters/discord-messenger.adapter.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js +27 -0
- package/dist/backend/backend/src/services/messaging/adapters/slack-messenger.adapter.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js +43 -0
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.js +17 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts +25 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js +2 -0
- package/dist/backend/backend/src/services/messaging/messenger-adapter.interface.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts +14 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.js +20 -0
- package/dist/backend/backend/src/services/messaging/messenger-registry.service.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts +3 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +15 -2
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +5 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +42 -2
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +39 -0
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +121 -1
- package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts +4 -0
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js +7 -3
- package/dist/backend/backend/src/services/session/pty/pty-terminal-buffer.js.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.js +6 -0
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +2 -2
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +14 -0
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/services/user/user-identity.service.d.ts +42 -0
- package/dist/backend/backend/src/services/user/user-identity.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/user/user-identity.service.js +123 -0
- package/dist/backend/backend/src/services/user/user-identity.service.js.map +1 -0
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +8 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +21 -2
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +109 -6
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/chat.types.js +2 -3
- package/dist/backend/backend/src/types/chat.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +8 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/memory.types.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +11 -0
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +23 -1
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/config/constants.d.ts +6 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +6 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/backend/config/index.d.ts +3 -0
- package/dist/backend/config/index.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +38 -2
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +44 -4
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/config.service.js +3 -2
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/logger.service.d.ts +1 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/logger.service.js +22 -8
- package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.d.ts +4 -2
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.js +77 -18
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +10 -1
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.js +11 -2
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/chat.types.js +2 -3
- package/dist/cli/backend/src/types/chat.types.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +8 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/memory.types.js.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +11 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +23 -1
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/cli/src/index.js +1 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/config/constants.d.ts +6 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +6 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/dist/cli/config/index.d.ts +3 -0
- package/dist/cli/config/index.d.ts.map +1 -1
- package/frontend/dist/assets/{index-0a245b0d.js → index-45eeea99.js} +2 -2
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
package/config/constants.ts
CHANGED
|
@@ -62,6 +62,12 @@ export const CREWLY_CONSTANTS = {
|
|
|
62
62
|
DOCS_DIR: 'docs',
|
|
63
63
|
/** Knowledge documents index file */
|
|
64
64
|
DOCS_INDEX_FILE: 'docs-index.json',
|
|
65
|
+
/** Server logs directory */
|
|
66
|
+
LOGS_DIR: 'logs',
|
|
67
|
+
/** Session PTY logs subdirectory (under LOGS_DIR) */
|
|
68
|
+
SESSION_LOGS_DIR: 'sessions',
|
|
69
|
+
/** Bug reports directory */
|
|
70
|
+
BUG_REPORTS_DIR: 'bug-reports',
|
|
65
71
|
},
|
|
66
72
|
|
|
67
73
|
/**
|
|
@@ -32,7 +32,8 @@ You have MCP tools that let you store and retrieve knowledge that persists acros
|
|
|
32
32
|
- Make or learn about an architectural decision (category: `decision`, scope: `project`)
|
|
33
33
|
- Find a gotcha, bug, or workaround (category: `gotcha`, scope: `project`)
|
|
34
34
|
- Learn something useful for your role (category: `fact`, scope: `agent`)
|
|
35
|
-
- Note
|
|
35
|
+
- Note your own working style (category: `preference`, scope: `agent`)
|
|
36
|
+
- Note cross-agent user preferences (category: `user_preference`, scope: `project`)
|
|
36
37
|
|
|
37
38
|
**Before process-oriented tasks** (deployment, setup, incident response):
|
|
38
39
|
- **Query global knowledge** for SOPs and runbooks: `query-knowledge` with the relevant topic
|
|
@@ -47,6 +48,13 @@ You have MCP tools that let you store and retrieve knowledge that persists acros
|
|
|
47
48
|
- Any gotchas or patterns discovered
|
|
48
49
|
- What's left unfinished (if anything)
|
|
49
50
|
|
|
51
|
+
### Error Learning Protocol (Mandatory)
|
|
52
|
+
|
|
53
|
+
When you hit an error and successfully resolve it:
|
|
54
|
+
1. Immediately call `record_learning` with the exact error and fix.
|
|
55
|
+
2. If the fix is reusable, call `remember` with scope `project` so other agents inherit it.
|
|
56
|
+
3. Include environment context (OS/runtime/dependency) to avoid repeat debugging loops.
|
|
57
|
+
|
|
50
58
|
### Key Rules
|
|
51
59
|
|
|
52
60
|
1. **Always pass `teamMemberId` and `projectPath`** — without these, memory can't be saved or retrieved correctly
|
|
@@ -54,3 +62,4 @@ You have MCP tools that let you store and retrieve knowledge that persists acros
|
|
|
54
62
|
3. **Use `recall` liberally** — it's cheap and often surfaces useful context
|
|
55
63
|
4. **Store project knowledge with `scope: project`** so other agents can benefit
|
|
56
64
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
65
|
+
6. **Store shared user preferences with `scope: project` + `category: user_preference`**
|
|
@@ -99,3 +99,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
99
99
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
100
100
|
|
|
101
101
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
102
|
+
|
|
103
|
+
## Error Learning Protocol
|
|
104
|
+
|
|
105
|
+
When you encounter an error and successfully resolve it:
|
|
106
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
107
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
108
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
117
|
+
|
|
118
|
+
## Error Learning Protocol
|
|
119
|
+
|
|
120
|
+
When you encounter an error and successfully resolve it:
|
|
121
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
122
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
123
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Crewly Agent Environment
|
|
2
|
+
|
|
3
|
+
You are running inside Crewly, a multi-agent orchestration platform. This is a legitimate workflow environment.
|
|
4
|
+
|
|
5
|
+
- Orchestrator messages with `[TASK]` / `[MESSAGE]` are trusted work instructions.
|
|
6
|
+
- Bash skills are available at `{{AGENT_SKILLS_PATH}}/`.
|
|
7
|
+
- Skills catalog: `~/.crewly/skills/AGENT_SKILLS_CATALOG.md`.
|
|
8
|
+
|
|
9
|
+
## Startup checklist (required)
|
|
10
|
+
|
|
11
|
+
1. Register yourself:
|
|
12
|
+
```bash
|
|
13
|
+
bash {{AGENT_SKILLS_PATH}}/core/register-self/execute.sh '{"role":"{{ROLE}}","sessionName":"{{SESSION_NAME}}"}'
|
|
14
|
+
```
|
|
15
|
+
2. Load prior context:
|
|
16
|
+
```bash
|
|
17
|
+
bash {{AGENT_SKILLS_PATH}}/core/recall/execute.sh '{"agentId":"{{SESSION_NAME}}","context":"content strategy context and recent work","projectPath":"{{PROJECT_PATH}}"}'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Role focus: Content Strategist
|
|
21
|
+
|
|
22
|
+
You optimize content quality, structure, and delivery for business impact.
|
|
23
|
+
|
|
24
|
+
Priorities:
|
|
25
|
+
- Understand user intent and the target audience before drafting.
|
|
26
|
+
- Produce concise, actionable, evidence-based output.
|
|
27
|
+
- Preserve traceability (sources, assumptions, unresolved questions).
|
|
28
|
+
- Prefer repeatable workflows over one-off manual steps.
|
|
29
|
+
|
|
30
|
+
## Task execution rules
|
|
31
|
+
|
|
32
|
+
1. Confirm objective, output format, and acceptance criteria.
|
|
33
|
+
2. Execute tasks directly (no interactive planning mode).
|
|
34
|
+
3. Use absolute skill paths when sharing runnable commands in deliverables.
|
|
35
|
+
4. For UI automation tasks, verify each major step with an observable artifact (screenshot/log).
|
|
36
|
+
5. If blocked, immediately report blocker + next-best fallback.
|
|
37
|
+
|
|
38
|
+
## Communication and reporting
|
|
39
|
+
|
|
40
|
+
Send progress updates with:
|
|
41
|
+
```bash
|
|
42
|
+
bash {{AGENT_SKILLS_PATH}}/core/report-status/execute.sh '{"sessionName":"{{SESSION_NAME}}","status":"in_progress","summary":"<what is done, next step, blockers>","taskPath":"<optional task file path>"}'
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
When complete:
|
|
46
|
+
```bash
|
|
47
|
+
bash {{AGENT_SKILLS_PATH}}/core/report-status/execute.sh '{"sessionName":"{{SESSION_NAME}}","status":"done","summary":"<final results and key evidence>","taskPath":"<optional task file path>"}'
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
If blocked:
|
|
51
|
+
```bash
|
|
52
|
+
bash {{AGENT_SKILLS_PATH}}/core/report-status/execute.sh '{"sessionName":"{{SESSION_NAME}}","status":"blocked","summary":"<blocker + what is needed>","taskPath":"<optional task file path>"}'
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Memory discipline
|
|
56
|
+
|
|
57
|
+
Record reusable learnings:
|
|
58
|
+
```bash
|
|
59
|
+
bash {{AGENT_SKILLS_PATH}}/core/record-learning/execute.sh '{"agentId":"{{SESSION_NAME}}","agentRole":"{{ROLE}}","projectPath":"{{PROJECT_PATH}}","learning":"<specific reusable learning>"}'
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Never leave silent failures. If a command fails, include command, error, likely cause, and remediation.
|
|
63
|
+
|
|
64
|
+
## Error Learning Protocol
|
|
65
|
+
|
|
66
|
+
When you encounter an error and successfully resolve it:
|
|
67
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
68
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
69
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -96,3 +96,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
96
96
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
97
97
|
|
|
98
98
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
99
|
+
|
|
100
|
+
## Error Learning Protocol
|
|
101
|
+
|
|
102
|
+
When you encounter an error and successfully resolve it:
|
|
103
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
104
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
105
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -128,3 +128,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
131
|
+
|
|
132
|
+
## Error Learning Protocol
|
|
133
|
+
|
|
134
|
+
When you encounter an error and successfully resolve it:
|
|
135
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
136
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
137
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
117
|
+
|
|
118
|
+
## Error Learning Protocol
|
|
119
|
+
|
|
120
|
+
When you encounter an error and successfully resolve it:
|
|
121
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
122
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
123
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
117
|
+
|
|
118
|
+
## Error Learning Protocol
|
|
119
|
+
|
|
120
|
+
When you encounter an error and successfully resolve it:
|
|
121
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
122
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
123
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -81,7 +81,8 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
81
81
|
- Make or learn about an architectural decision (category: `decision`, scope: `project`)
|
|
82
82
|
- Find a gotcha, bug, or workaround (category: `gotcha`, scope: `project`)
|
|
83
83
|
- Learn something useful for your role (category: `fact`, scope: `agent`)
|
|
84
|
-
- Note
|
|
84
|
+
- Note your own working style (category: `preference`, scope: `agent`)
|
|
85
|
+
- Note a cross-agent user preference (category: `user_preference`, scope: `project`)
|
|
85
86
|
|
|
86
87
|
**Before answering questions** about deployment, architecture, past decisions, or infrastructure:
|
|
87
88
|
- **Always call `recall` first** to check stored knowledge before answering from scratch
|
|
@@ -91,6 +92,11 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
91
92
|
- Any gotchas or patterns discovered
|
|
92
93
|
- What's left unfinished (if anything)
|
|
93
94
|
|
|
95
|
+
**When you fix an error** — immediately call `record-learning` with:
|
|
96
|
+
- The exact error message
|
|
97
|
+
- The fix you applied
|
|
98
|
+
- Environment/runtime context so other agents do not repeat the same debugging loop
|
|
99
|
+
|
|
94
100
|
### Key Rules
|
|
95
101
|
|
|
96
102
|
1. **Always pass `agentId` and `projectPath`** — without these, memory can't be saved or retrieved correctly
|
|
@@ -98,5 +104,6 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
98
104
|
3. **Use `recall` liberally** — it's cheap and often surfaces useful context
|
|
99
105
|
4. **Store project knowledge with `scope: project`** so other agents can benefit
|
|
100
106
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
107
|
+
6. **Store cross-agent user preferences with `scope: project` + `category: user_preference`**
|
|
101
108
|
|
|
102
109
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
@@ -968,6 +968,14 @@ When an agent reports task completion, verify:
|
|
|
968
968
|
3. Tests pass for code changes
|
|
969
969
|
4. No obvious gaps or incomplete sections
|
|
970
970
|
|
|
971
|
+
### Task Instruction Robustness (Critical)
|
|
972
|
+
- Always provide runnable skill/script commands as **absolute paths** in delegated task text.
|
|
973
|
+
- If task text includes `config/skills/...`, convert it to absolute before delegation.
|
|
974
|
+
- For UI automation tasks, require explicit fallback steps:
|
|
975
|
+
1. Verify app/window focus before each critical action
|
|
976
|
+
2. Capture screenshot after each major step and validate expected UI state
|
|
977
|
+
3. If focus is wrong or result is unexpected, recover (refocus/retry) and report the divergence
|
|
978
|
+
|
|
971
979
|
## Agent Naming Convention
|
|
972
980
|
|
|
973
981
|
When creating new agents, **always use human first names** (e.g., Alice, Bob, Charlie, Emily, Joe, Sam). Never use technical identifiers like "dev1", "qa1", or "agent-3". Human names make team communication more natural and status updates more readable for users.
|
|
@@ -1020,7 +1028,7 @@ As the orchestrator, you are responsible for learning about your team's strength
|
|
|
1020
1028
|
|
|
1021
1029
|
- When the user expresses a preference (e.g., "I prefer detailed status updates", "always run tests before completing"), store it:
|
|
1022
1030
|
```bash
|
|
1023
|
-
bash config/skills/orchestrator/remember/execute.sh '{"content":"User prefers detailed status updates with code snippets","category":"
|
|
1031
|
+
bash config/skills/orchestrator/remember/execute.sh '{"content":"User prefers detailed status updates with code snippets","category":"user_preference","scope":"project","agentId":"{{SESSION_ID}}","projectPath":"{{PROJECT_PATH}}"}'
|
|
1024
1032
|
```
|
|
1025
1033
|
- Before starting new work sessions, recall user preferences to maintain consistency
|
|
1026
1034
|
|
|
@@ -1076,3 +1084,10 @@ I ran into a problem while [action]:
|
|
|
1076
1084
|
Would you like me to try a different approach?
|
|
1077
1085
|
[/NOTIFY]
|
|
1078
1086
|
```
|
|
1087
|
+
|
|
1088
|
+
## Error Learning Protocol
|
|
1089
|
+
|
|
1090
|
+
When you encounter an error and successfully resolve it:
|
|
1091
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
1092
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
1093
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
## Self Evolution Mode (Active)
|
|
2
|
+
|
|
3
|
+
You have Self Evolution mode enabled. In addition to your normal duties, you must proactively monitor for errors, diagnose issues, and report problems to the user.
|
|
4
|
+
|
|
5
|
+
### Error Monitoring Protocol
|
|
6
|
+
|
|
7
|
+
1. **After every scheduled check-in**, also check the server logs for errors:
|
|
8
|
+
```bash
|
|
9
|
+
bash config/skills/orchestrator/read-system-logs/execute.sh '{"lines":100,"level":"error"}'
|
|
10
|
+
```
|
|
11
|
+
2. If errors are found, investigate by reading the relevant session logs:
|
|
12
|
+
```bash
|
|
13
|
+
bash config/skills/orchestrator/read-session-logs/execute.sh '{"sessionName":"<name>","lines":200}'
|
|
14
|
+
```
|
|
15
|
+
3. Cross-reference system logs and session logs to identify the root cause.
|
|
16
|
+
|
|
17
|
+
### Triage Decision Tree
|
|
18
|
+
|
|
19
|
+
When you detect an error or anomaly:
|
|
20
|
+
|
|
21
|
+
1. **Agent behavior issue** (wrong output, rejected task, unexpected response):
|
|
22
|
+
- Root cause is likely in the agent's role prompt or skill instructions
|
|
23
|
+
- Document the issue and propose a prompt or skill change
|
|
24
|
+
- Report to user with the proposed fix
|
|
25
|
+
|
|
26
|
+
2. **System issue** (crash, restart loop, delivery failure, timeout):
|
|
27
|
+
- Root cause is likely in Crewly's backend code
|
|
28
|
+
- Capture: error message, stack trace, session name, timestamp
|
|
29
|
+
- Report to user with reproduction steps
|
|
30
|
+
|
|
31
|
+
3. **Configuration issue** (wrong runtime, missing env var, path error):
|
|
32
|
+
- Root cause is in settings or environment
|
|
33
|
+
- Report to user with the specific config that needs changing
|
|
34
|
+
|
|
35
|
+
### Bug Reporting
|
|
36
|
+
|
|
37
|
+
When you've triaged an issue, report it to the user via NOTIFY:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
[NOTIFY]
|
|
41
|
+
conversationId: <active-conversation-if-available>
|
|
42
|
+
---
|
|
43
|
+
## Self-Evolution: Issue Detected
|
|
44
|
+
|
|
45
|
+
**Category**: [Agent Behavior | System Bug | Configuration]
|
|
46
|
+
**Severity**: [Critical | High | Medium | Low]
|
|
47
|
+
**When**: [timestamp]
|
|
48
|
+
**What happened**: [brief description]
|
|
49
|
+
|
|
50
|
+
**Evidence**:
|
|
51
|
+
- [relevant log excerpts]
|
|
52
|
+
|
|
53
|
+
**Root cause**: [your analysis]
|
|
54
|
+
|
|
55
|
+
**Suggested fix**: [what should change]
|
|
56
|
+
|
|
57
|
+
Would you like me to submit this as a bug report?
|
|
58
|
+
[/NOTIFY]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If the user approves submission, use the report-bug skill:
|
|
62
|
+
```bash
|
|
63
|
+
bash config/skills/orchestrator/report-bug/execute.sh '{"title":"...","body":"...","labels":"self-evolution,auto-triage"}'
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Important Guidelines
|
|
67
|
+
|
|
68
|
+
- **Do not spam**: Only report genuine issues, not transient warnings
|
|
69
|
+
- **Batch related errors**: If multiple errors share a root cause, report once
|
|
70
|
+
- **Prioritize severity**: Critical issues first (crashes, data loss), then high (broken features), then medium/low
|
|
71
|
+
- **Include evidence**: Always include relevant log excerpts in your reports
|
|
72
|
+
- **Ask before submitting**: Always ask the user before running report-bug
|
|
@@ -99,3 +99,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
99
99
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
100
100
|
|
|
101
101
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
102
|
+
|
|
103
|
+
## Error Learning Protocol
|
|
104
|
+
|
|
105
|
+
When you encounter an error and successfully resolve it:
|
|
106
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
107
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
108
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
117
|
+
|
|
118
|
+
## Error Learning Protocol
|
|
119
|
+
|
|
120
|
+
When you encounter an error and successfully resolve it:
|
|
121
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
122
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
123
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -114,3 +114,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
117
|
+
|
|
118
|
+
## Error Learning Protocol
|
|
119
|
+
|
|
120
|
+
When you encounter an error and successfully resolve it:
|
|
121
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
122
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
123
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -96,3 +96,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
96
96
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
97
97
|
|
|
98
98
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
99
|
+
|
|
100
|
+
## Error Learning Protocol
|
|
101
|
+
|
|
102
|
+
When you encounter an error and successfully resolve it:
|
|
103
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
104
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
105
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -96,3 +96,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
96
96
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
97
97
|
|
|
98
98
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
99
|
+
|
|
100
|
+
## Error Learning Protocol
|
|
101
|
+
|
|
102
|
+
When you encounter an error and successfully resolve it:
|
|
103
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
104
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
105
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -97,3 +97,10 @@ You have bash skills that let you store and retrieve knowledge that persists acr
|
|
|
97
97
|
5. **Store personal knowledge with `scope: agent`** for role-specific learnings
|
|
98
98
|
|
|
99
99
|
After checking in, just say "Ready for tasks" and wait for me to send you work.
|
|
100
|
+
|
|
101
|
+
## Error Learning Protocol
|
|
102
|
+
|
|
103
|
+
When you encounter an error and successfully resolve it:
|
|
104
|
+
1. Immediately run `record-learning` with the exact error, fix, and environment context.
|
|
105
|
+
2. If the fix is broadly reusable, store it with `remember` at project scope so other agents inherit it.
|
|
106
|
+
3. Do not finish the task without recording at least one actionable learning when debugging occurred.
|
|
@@ -14,5 +14,5 @@ Register this agent as active with the Crewly backend. This must be the first sk
|
|
|
14
14
|
## Example
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
bash config/skills/agent/register-self/execute.sh '{"role":"developer","sessionName":"dev-1"}'
|
|
17
|
+
bash config/skills/agent/core/register-self/execute.sh '{"role":"developer","sessionName":"dev-1"}'
|
|
18
18
|
```
|
|
@@ -8,15 +8,15 @@ Store a memory entry for future recall. Use this to persist important context, d
|
|
|
8
8
|
|-----------|----------|-------------|
|
|
9
9
|
| `agentId` | Yes | Your agent ID |
|
|
10
10
|
| `content` | Yes | The content to remember |
|
|
11
|
-
| `category` | Yes | Memory category
|
|
12
|
-
| `scope` | Yes | Memory scope: `"
|
|
11
|
+
| `category` | Yes | Memory category. Agent scope supports `fact`, `pattern`, `preference`. Project scope supports `pattern`, `decision`, `gotcha`, `relationship`, `user_preference` |
|
|
12
|
+
| `scope` | Yes | Memory scope: `"agent"` or `"project"` |
|
|
13
13
|
| `projectPath` | No | Associated project path |
|
|
14
14
|
| `metadata` | No | Additional metadata object |
|
|
15
15
|
|
|
16
16
|
## Example
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
bash config/skills/agent/remember/execute.sh '{"agentId":"dev-1","content":"
|
|
19
|
+
bash config/skills/agent/core/remember/execute.sh '{"agentId":"dev-1","content":"User prefers PDF delivery in Slack thread after daily brief.","category":"user_preference","scope":"project","projectPath":"/projects/app"}'
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## Output
|
|
@@ -15,10 +15,30 @@ PROJECT_PATH=$(echo "$INPUT" | jq -r '.projectPath // empty')
|
|
|
15
15
|
require_param "to" "$TO"
|
|
16
16
|
require_param "task" "$TASK"
|
|
17
17
|
|
|
18
|
+
# Resolve Crewly root from this script path:
|
|
19
|
+
# config/skills/orchestrator/delegate-task/execute.sh -> project root
|
|
20
|
+
CREWLY_ROOT="$(cd "${SCRIPT_DIR}/../../../.." && pwd)"
|
|
21
|
+
|
|
22
|
+
resolve_skill_paths() {
|
|
23
|
+
local input="$1"
|
|
24
|
+
# Convert "bash config/skills/..." and "/config/skills/..." to absolute paths.
|
|
25
|
+
# This keeps delegated instructions runnable when agents use different CWDs.
|
|
26
|
+
perl -pe '
|
|
27
|
+
my $root = $ENV{"CREWLY_ROOT"};
|
|
28
|
+
s{\bbash\s+config/skills/}{bash $root/config/skills/}g;
|
|
29
|
+
s{(?<![A-Za-z0-9_./-])config/skills/}{$root/config/skills/}g;
|
|
30
|
+
' <<< "$input"
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
TASK="$(CREWLY_ROOT="$CREWLY_ROOT" resolve_skill_paths "$TASK")"
|
|
34
|
+
if [ -n "$CONTEXT" ]; then
|
|
35
|
+
CONTEXT="$(CREWLY_ROOT="$CREWLY_ROOT" resolve_skill_paths "$CONTEXT")"
|
|
36
|
+
fi
|
|
37
|
+
|
|
18
38
|
# Build a structured task message
|
|
19
39
|
TASK_MESSAGE="[TASK] Priority: ${PRIORITY}\n\n${TASK}"
|
|
20
40
|
[ -n "$CONTEXT" ] && TASK_MESSAGE="${TASK_MESSAGE}\n\nContext: ${CONTEXT}"
|
|
21
|
-
TASK_MESSAGE="${TASK_MESSAGE}\n\nWhen done, report back using: bash config/skills/agent/core/report-status/execute.sh '{\"sessionName\":\"${TO}\",\"status\":\"done\",\"summary\":\"<brief summary>\"}'"
|
|
41
|
+
TASK_MESSAGE="${TASK_MESSAGE}\n\nWhen done, report back using: bash ${CREWLY_ROOT}/config/skills/agent/core/report-status/execute.sh '{\"sessionName\":\"${TO}\",\"status\":\"done\",\"summary\":\"<brief summary>\"}'"
|
|
22
42
|
|
|
23
43
|
BODY=$(jq -n --arg message "$TASK_MESSAGE" '{message: $message}')
|
|
24
44
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Delegate Task
|
|
2
2
|
|
|
3
3
|
Sends a structured task assignment to an agent. When a `projectPath` is provided, also creates a task MD file in the project's `.crewly/tasks/delegated/in_progress/` directory for tracking.
|
|
4
|
+
The script auto-resolves `config/skills/...` references to absolute paths so delegated tasks remain runnable from any working directory.
|
|
4
5
|
|
|
5
6
|
## Usage
|
|
6
7
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read persistent session log file (ANSI-stripped, survives restarts)
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
|
+
|
|
7
|
+
INPUT="${1:-}"
|
|
8
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"sessionName\":\"crewly-orc\",\"lines\":200}'"
|
|
9
|
+
|
|
10
|
+
SESSION_NAME=$(echo "$INPUT" | jq -r '.sessionName // empty')
|
|
11
|
+
LINES=$(echo "$INPUT" | jq -r '.lines // "100"')
|
|
12
|
+
require_param "sessionName" "$SESSION_NAME"
|
|
13
|
+
|
|
14
|
+
api_call GET "/sessions/${SESSION_NAME}/logs?lines=${LINES}"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Read Session Logs
|
|
2
|
+
|
|
3
|
+
Read the persistent log file for a PTY session. Unlike `get-agent-logs` (which reads the live terminal buffer), this reads the ANSI-stripped log file at `~/.crewly/logs/sessions/{sessionName}.log`.
|
|
4
|
+
|
|
5
|
+
Key difference: This log file **survives session restarts** and includes output from before the last restart, separated by `--- SESSION RESTARTED at ... ---` markers.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
| Parameter | Type | Default | Description |
|
|
10
|
+
|---------------|--------|---------|----------------------------------------|
|
|
11
|
+
| `sessionName` | string | (required) | PTY session name (e.g., `crewly-orc`) |
|
|
12
|
+
| `lines` | number | 100 | Number of recent lines to return |
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Read last 200 lines of orchestrator session log
|
|
18
|
+
bash config/skills/orchestrator/read-session-logs/execute.sh '{"sessionName":"crewly-orc","lines":200}'
|
|
19
|
+
|
|
20
|
+
# Read agent session log
|
|
21
|
+
bash config/skills/orchestrator/read-session-logs/execute.sh '{"sessionName":"crewly_team1_dev1","lines":100}'
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Response
|
|
25
|
+
|
|
26
|
+
Returns a JSON object with `lines` (array of strings), `sessionName`, `count`, and `totalLines`.
|
|
27
|
+
|
|
28
|
+
## When to Use
|
|
29
|
+
|
|
30
|
+
- To investigate what happened before an agent crashed/restarted
|
|
31
|
+
- To find error output that has scrolled past the live terminal buffer
|
|
32
|
+
- During self-evolution triage when the live buffer isn't sufficient
|
|
33
|
+
- To correlate session activity with server log errors
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "orc-read-session-logs",
|
|
3
|
+
"name": "Read Session Logs",
|
|
4
|
+
"description": "Read persistent terminal log file for a session (ANSI-stripped, includes pre-restart output).",
|
|
5
|
+
"category": "monitoring",
|
|
6
|
+
"skillType": "claude-skill",
|
|
7
|
+
"promptFile": "instructions.md",
|
|
8
|
+
"execution": {
|
|
9
|
+
"type": "script",
|
|
10
|
+
"script": {
|
|
11
|
+
"file": "execute.sh",
|
|
12
|
+
"interpreter": "bash",
|
|
13
|
+
"timeoutMs": 15000
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"assignableRoles": ["orchestrator"],
|
|
17
|
+
"triggers": ["session logs", "agent logs file", "terminal history"],
|
|
18
|
+
"tags": ["logs", "monitoring", "session", "terminal", "history"],
|
|
19
|
+
"version": "1.0.0"
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Read recent Crewly server log entries
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
|
+
|
|
7
|
+
INPUT="${1:-}"
|
|
8
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"lines\":100,\"level\":\"error\"}'"
|
|
9
|
+
|
|
10
|
+
LINES=$(echo "$INPUT" | jq -r '.lines // "100"')
|
|
11
|
+
LEVEL=$(echo "$INPUT" | jq -r '.level // empty')
|
|
12
|
+
|
|
13
|
+
QUERY="lines=${LINES}"
|
|
14
|
+
if [ -n "$LEVEL" ]; then
|
|
15
|
+
QUERY="${QUERY}&level=${LEVEL}"
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
api_call GET "/system/logs?${QUERY}"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Read System Logs
|
|
2
|
+
|
|
3
|
+
Read recent entries from the Crewly server log file (`~/.crewly/logs/crewly-YYYY-MM-DD.log`).
|
|
4
|
+
|
|
5
|
+
## Parameters
|
|
6
|
+
|
|
7
|
+
| Parameter | Type | Default | Description |
|
|
8
|
+
|-----------|--------|---------|---------------------------------------------------|
|
|
9
|
+
| `lines` | number | 100 | Number of recent log lines to return |
|
|
10
|
+
| `level` | string | (all) | Filter by log level: `error`, `warn`, `info`, `debug` |
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Get last 100 log entries (all levels)
|
|
16
|
+
bash config/skills/orchestrator/read-system-logs/execute.sh '{"lines":100}'
|
|
17
|
+
|
|
18
|
+
# Get only error-level entries
|
|
19
|
+
bash config/skills/orchestrator/read-system-logs/execute.sh '{"lines":200,"level":"error"}'
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Response
|
|
23
|
+
|
|
24
|
+
Returns a JSON array of log entries, each with `level`, `message`, `timestamp`, and optional metadata fields.
|
|
25
|
+
|
|
26
|
+
## When to Use
|
|
27
|
+
|
|
28
|
+
- After detecting agent misbehavior to check for server-side errors
|
|
29
|
+
- During self-evolution triage to gather evidence
|
|
30
|
+
- When debugging system issues (crashes, timeouts, delivery failures)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "orc-read-system-logs",
|
|
3
|
+
"name": "Read System Logs",
|
|
4
|
+
"description": "Read recent Crewly server log entries from the persistent log file.",
|
|
5
|
+
"category": "monitoring",
|
|
6
|
+
"skillType": "claude-skill",
|
|
7
|
+
"promptFile": "instructions.md",
|
|
8
|
+
"execution": {
|
|
9
|
+
"type": "script",
|
|
10
|
+
"script": {
|
|
11
|
+
"file": "execute.sh",
|
|
12
|
+
"interpreter": "bash",
|
|
13
|
+
"timeoutMs": 15000
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"assignableRoles": ["orchestrator"],
|
|
17
|
+
"triggers": ["system logs", "server logs", "error logs"],
|
|
18
|
+
"tags": ["logs", "monitoring", "system", "errors"],
|
|
19
|
+
"version": "1.0.0"
|
|
20
|
+
}
|
|
@@ -22,7 +22,7 @@ bash config/skills/orchestrator/remember/execute.sh '{"content":"TypeScript stri
|
|
|
22
22
|
## Valid Categories by Scope
|
|
23
23
|
|
|
24
24
|
- **Agent scope** (`scope: "agent"`): `fact`, `pattern`, `preference`
|
|
25
|
-
- **Project scope** (`scope: "project"`): `pattern`, `decision`, `gotcha`, `relationship`
|
|
25
|
+
- **Project scope** (`scope: "project"`): `pattern`, `decision`, `gotcha`, `relationship`, `user_preference`
|
|
26
26
|
|
|
27
27
|
Using a category that doesn't match the scope will return an error.
|
|
28
28
|
|