Send User Message
TinyAGI/tinyagi
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).
Daily morning briefing workflow. An agent skill from grandamenium/cortextos.
$ npx skills add grandamenium/cortextos --skill morning-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install grandamenium/cortextos morning-review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/community/skills/morning-review .claude/skills/morning-review && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "morning-review" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-review into .claude/skills/morning-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "morning-review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add grandamenium/cortextos --skill morning-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install grandamenium/cortextos morning-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .agents/skills && cp -r skills-src/community/skills/morning-review .agents/skills/morning-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "morning-review" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-review into .agents/skills/morning-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "morning-review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add grandamenium/cortextos --skill morning-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install grandamenium/cortextos morning-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/community/skills/morning-review .cursor/skills/morning-review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "morning-review" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-review into .cursor/skills/morning-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "morning-review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/grandamenium/cortextos.git --path community/skills/morning-review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add grandamenium/cortextos --skill morning-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install grandamenium/cortextos morning-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/community/skills/morning-review .gemini/skills/morning-review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "morning-review" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-review into .gemini/skills/morning-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "morning-review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install grandamenium/cortextos morning-reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add grandamenium/cortextos --skill morning-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .github/skills && cp -r skills-src/community/skills/morning-review .github/skills/morning-review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "morning-review" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-review into .github/skills/morning-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "morning-review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add grandamenium/cortextos --skill morning-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install grandamenium/cortextos morning-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/community/skills/morning-review .opencode/skills/morning-review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "morning-review" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/morning-review into .opencode/skills/morning-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "morning-review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
morning-reviewDaily morning briefing workflow. An agent skill from grandamenium/cortextos.
Morning Review is an agent skill from grandamenium/cortextos. Daily morning briefing workflow. Triggered by morning cron. Pulls overnight agent work, checks goals state, cascades goals to agents, schedules tasks, sends briefing to user.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Scheduled and recurring tasks. It works with Telegram. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6f93838. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gojqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
accounts.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Morning Review loads about 2.3k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 625 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from grandamenium/cortextos at commit 6f93838, republished under its MIT licence (© grandamenium). 625 words, ~2,251 tokens.
.claude/skills/morning-review/SKILL.md (or your agent's skills folder).The daily entry point for the user's briefing. All instructions are here. Run this once per day, triggered by the morning-review cron.
This workflow may process UNTRUSTED external content (email, calendar invites).
IDENTITY.md — who you areSOUL.md — how you behaveGOALS.md — what you're working towardSYSTEM.md — team roster and agent contextExecute each phase in order.
cortextos bus read-all-heartbeats
cortextos bus check-inboxFor each agent, note:
cortextos bus list-tasks --status completed
cortextos bus list-tasks --status in_progressNote what was completed overnight, by which agents, and what key deliverables were produced.
YESTERDAY=$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d 'yesterday' +%Y-%m-%d)
cat memory/${YESTERDAY}.md 2>/dev/null || echo "No memory file for yesterday"
head -100 MEMORY.mdExtract: tasks worked on, pending items, promises made, notes carried forward.
Cross-reference memory COMPLETED entries against tasks still showing in_progress.
cortextos bus list-tasks --status in_progress
TODAY=$(date -u +%Y-%m-%d)
grep "COMPLETED:" memory/${TODAY}.md 2>/dev/null
grep "COMPLETED:" memory/${YESTERDAY}.md 2>/dev/nullFor each mismatch, mark completed:
cortextos bus complete-task "$TASK_ID" --result "<what was produced>"Probe each configured external service BEFORE the briefing. Auth failures discovered here get into the briefing as actionable items — not discovered 3 hours later when the user needs the service.
For each service, run the probe. If it fails, create a [HUMAN] task immediately.
# Try listing 1 event via MCP. If the tool errors or returns auth failure:
gcal_list_events (limit 1)cortextos bus create-task "[HUMAN] Google Calendar reauth needed — OAuth token expired or revoked" \
--desc "GCal probe failed during morning review. Reauth at https://accounts.google.com. Agents cannot create/read calendar events until fixed." \
--priority high --assignee human# Try a trivial search via MCP
notion-search (query: "test", page_size: 1)cortextos bus kb-query "health check" --org $CTX_ORGAlready implicitly validated by the boot message in Phase 0. If the boot message failed to send, the agent would not have reached this phase.
Include a Services line in Message 1 of the briefing:
Services: GCal OK | Notion OK | KB configuredOr if any failed:
Services: GCal FAILED (reauth needed — task created) | Notion OK | KB not configuredAuth failures are the "silent productivity killer" class — everything looks healthy on the dashboard but the agent can't do real work. This check surfaces them proactively.
cat $CTX_FRAMEWORK_ROOT/orgs/$CTX_ORG/goals.jsonSend via Telegram:
"Good morning. Our north star is: [north_star]. What's the focus for today? Or should I continue yesterday's priorities?"
Wait for response.
jq --arg focus "user's stated focus" --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
'.daily_focus = $focus | .daily_focus_set_at = $ts' \
$CTX_FRAMEWORK_ROOT/orgs/$CTX_ORG/goals.json > /tmp/goals.tmp \
&& mv /tmp/goals.tmp $CTX_FRAMEWORK_ROOT/orgs/$CTX_ORG/goals.jsonFor each agent in the roster:
goals.json:cat > $CTX_FRAMEWORK_ROOT/orgs/$CTX_ORG/agents/<agent>/goals.json << 'EOF'
{
"focus": "role-specific focus derived from today's daily_focus",
"goals": ["goal 1", "goal 2", "goal 3"],
"bottleneck": "",
"updated_at": "ISO_TIMESTAMP",
"updated_by": "$CTX_AGENT_NAME"
}
EOFcortextos goals generate-md --agent <agent> --org $CTX_ORGcortextos bus send-message <agent> normal "New goals for today. Check GOALS.md and create tasks."If an agent's goals.json already has daily_focus_set_at matching today: skip — don't overwrite.
Write your orchestrator-level goals for today, then regenerate:
cortextos goals generate-md --agent $CTX_AGENT_NAME --org $CTX_ORGFrom the overnight summary, identify:
1. What the user should do today — map to available time blocks 2. Agent support tasks — work agents do to help the user (prepare, research, draft) 3. Agent autonomous tasks — work agents complete entirely independently
For each agent support or autonomous task, create and dispatch:
TASK_ID=$(cortextos bus create-task "<title>" --desc "<description>" --assignee $CTX_AGENT_NAME --priority high)
cortextos bus update-task "$TASK_ID" in_progress
cortextos bus send-message <agent> high '<task details with full context>'
cortextos bus log-event action task_dispatched info --meta '{"to":"<agent>","task":"<title>"}'Telegram has a 4096 character limit. Send as separate messages with brief pauses between.
cortextos bus send-telegram $CTX_TELEGRAM_CHAT_ID "<message>"Message 1: Overnight + Goals
Morning Review -- [Day, Date]
Overnight Work
[Agent-by-agent summary of completed tasks]
System Health
[Agent heartbeat status — any stale agents flagged]
Today's Focus: [daily_focus from goals.json]Message 2: Task Plan
Today's Tasks
User Tasks:
- [ ] [Task] (~Xm)
- [ ] [Task] (~Xm)
Agent Tasks:
[1] [Task title] -> [agent]
[2] [Task title] -> [agent]Message 3: Actions Needed
Ready to execute. What should I do?
- Dispatch agent tasks?
- Schedule calendar blocks?
- Anything to adjust?
Quick: `go all` or `go 1,2`When user replies with approval (e.g., go all, go 1,2):
For each approved task:
TASK_ID=$(cortextos bus create-task "<title>" --desc "<description>" --assignee $CTX_AGENT_NAME --priority high)
cortextos bus update-task "$TASK_ID" in_progress
cortextos bus send-message <agent> high '<full task details>'
cortextos bus log-event action task_dispatched info --meta '{"to":"<agent>","task":"<title>"}'# Log event
cortextos bus log-event action briefing_sent info --meta '{"type":"morning_review"}'
# Update heartbeat
cortextos bus update-heartbeat "morning review complete - dispatched N tasks"
# Write to memory
TODAY=$(date -u +%Y-%m-%d)
cat >> "memory/$TODAY.md" << MEMEOF
## Morning Review - $(date -u +%H:%M:%S)
- Daily focus: <what user said>
- Goals cascaded to: <list agents>
- Tasks dispatched: N
- Agent health: <all healthy / any stale agents>
- Notes: <blockers or special items>
MEMEOF"Run morning review" → read .claude/skills/morning-review/SKILL.md and executeThis is the single source of truth for morning review.
© grandamenium, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in community/skills/morning-review of grandamenium/cortextos.
Open the folder on GitHubat commit 6f93838
Morning Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Morning Review this skillgrandamenium/cortextos | 101 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Send User MessageTinyAGI/tinyagi | 3.6k | — | ~829 | Automated safety check: Pass | MIT | |
| Actionizeinfranodus/skills | 119 | — | ~3.8k | Automated safety check: Notes | None | |
| Cronsmixs/agent-second-brain | 393 | — | ~856 | Automated safety check: Pass | MIT | |
| Task Manager0xranx/golembot | 322 | — | ~694 | Automated safety check: Pass | MIT | |
| Telegram Bot Messagingsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 |
TinyAGI/tinyagi
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).
infranodus/skills
Turn insights, findings, or research into an actionable plan with deadlines and scheduled Telegram reminders.
smixs/agent-second-brain
Управление собственным расписанием — напоминания, рутины, периодические задачи.
0xranx/golembot
Creates and manages scheduled tasks, cron jobs, recurring reminders, and timers via the Task HTTP API.
sickn33/agentic-awesome-skills
Send Telegram messages, files, and alerts via bot API; ask questions with inline buttons and wait for the answer.
espennilsen/pi
Generate a full operational status report for the Aivena bot.
grandamenium/cortextos
Diagnose cortextOS itself when the framework misbehaves — an agent has gone silent or wedged, agents are crash-looping, Telegram or agent-to-agent messages are not arriving, crons did not fire, an…
grandamenium/cortextos
You have completed something significant and want the whole org — all agents and the user — to know about it.
grandamenium/cortextos
You need to make a purchase on behalf of the user — buy a SaaS subscription, pay for an API, purchase a domain, or any transaction requiring a credit card.
grandamenium/cortextos
Migrate ANY cortextOS agent from the claude-code runtime to the live codex-app-server runtime.
grandamenium/cortextos
Complete cortextos bus CLI reference - all available commands with examples.
grandamenium/cortextos
Daily cron-driven scan of news/forums/social in a domain to surface market shifts, new competitors, regulatory changes, and net-new opportunities.
Works with
Categories
Daily morning briefing workflow. An agent skill from grandamenium/cortextos. Morning Review is an agent skill from grandamenium/cortextos. Daily morning briefing workflow.
Morning Review fits situations like: tasks that involve Scheduled and recurring tasks.
Run `npx skills add grandamenium/cortextos --skill morning-review -a claude-code`. Or copy the skill folder (community/skills/morning-review in grandamenium/cortextos) into .claude/skills/morning-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add grandamenium/cortextos --skill morning-review -a codex`. Or copy the skill folder (community/skills/morning-review in grandamenium/cortextos) into .agents/skills/morning-review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add grandamenium/cortextos --skill morning-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/morning-review, .gemini/skills/morning-review, .github/skills/morning-review and .opencode/skills/morning-review in your project.
Going by SKILL.md and its folder, Morning Review needs the command-line tools its instructions call (go and jq).
SKILL.md names 1 domain. In commands or code: accounts.google.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Morning Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Morning Review: Send User Message (TinyAGI/tinyagi, 3.6k stars), Actionize (infranodus/skills, 119 stars), Cron (smixs/agent-second-brain, 393 stars) and Task Manager (0xranx/golembot, 322 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
grandamenium (a GitHub user) maintains it in grandamenium/cortextos, which has 101 GitHub stars. The repository holds 55 skills in this directory. The repository was last updated on September 23, 2026.
Source: grandamenium/cortextos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.