diff --git a/.agents/skills/dailybot/SKILL.md b/.agents/skills/dailybot/SKILL.md index 1fbf99c..c37b3e1 100644 --- a/.agents/skills/dailybot/SKILL.md +++ b/.agents/skills/dailybot/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot description: Official Dailybot agent skill pack β€” report progress, check messages, send emails, announce agent status, complete check-ins, give kudos (to users or teams), resolve teams, run the full forms lifecycle (list, submit, update, transition between workflow states), **author check-ins and forms from scratch** (create/configure questions, workflow states, permissions, reminders, scheduling, AI settings, sharing), send/edit chat messages on the team's Slack/Teams/Discord/Google Chat (including report-style threads and sending as a user's identity), open (or reuse) a Slack group DM with the bot and post a report to it, ask the Dailybot AI a question headlessly, **and browse/read the workspace** β€” who am I / my org / a user's profile (`me` / `org` / `user get`), browse the kudos feed + the org-wide feed + wall of fame, and list/read workflows, all with shared pagination / search / date-range filters. Routes to the right sub-skill based on intent. Use when the developer mentions Dailybot or wants to interact with their team. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ“‘","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/ask/SKILL.md b/.agents/skills/dailybot/ask/SKILL.md index fc17b31..cea02fa 100644 --- a/.agents/skills/dailybot/ask/SKILL.md +++ b/.agents/skills/dailybot/ask/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-ask description: Ask the Dailybot AI a question from the terminal and read the answer, non-interactively. Runs headless β€” a single `dailybot ask ""` prints the assistant's reply to stdout (or structured JSON with `--json`), so an autonomous agent (Claude Code, CI, a bot) can query the Dailybot AI with only an API key. Use when the developer or agent says "ask Dailybot ...", "query the Dailybot AI", "what does Dailybot say about ...", or wants a one-shot answer from Dailybot's assistant. Distinct from dailybot-chat (bot messages to Slack/Teams) and dailybot-report (progress to the dashboard). -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ€–","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/channels/SKILL.md b/.agents/skills/dailybot/channels/SKILL.md index 3136633..ac5fea0 100644 --- a/.agents/skills/dailybot/channels/SKILL.md +++ b/.agents/skills/dailybot/channels/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-channels description: Discover the report channels (Slack/Teams/Discord/Google Chat) available to you via Dailybot, so their UUIDs can be attached to forms and check-ins with --report-channel. Use when the developer needs a channel UUID for form/check-in authoring. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ“£","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/chat/SKILL.md b/.agents/skills/dailybot/chat/SKILL.md index d36d7cb..ef7396e 100644 --- a/.agents/skills/dailybot/chat/SKILL.md +++ b/.agents/skills/dailybot/chat/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-chat description: Send and edit Dailybot bot messages on the team's connected chat platform (Slack, Microsoft Teams, Discord, Google Chat) β€” to user DMs, channels, or whole teams. Supports report-style threads (one headline + replies, in one call) and editing the parent or any reply afterward. Use when the developer says "send a message to my Slack channel", "ping the team in chat", "post the deploy report to #releases", or wants to update a previously sent bot message. Works headless for agents. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ’¬","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/checkin/SKILL.md b/.agents/skills/dailybot/checkin/SKILL.md index a2de235..09da46a 100644 --- a/.agents/skills/dailybot/checkin/SKILL.md +++ b/.agents/skills/dailybot/checkin/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-checkin description: Drive the full check-in lifecycle via Dailybot β€” list and complete pending check-ins, see pending/completed status for a day, inspect a check-in's questions and schedule, browse response history, edit or reset a submitted response, and backfill or future-date responses. Also authors check-ins β€” create and configure a check-in (schedule, participants, reminders, privacy, smart/AI) and manage its questions (types, report titles, variations, conditional logic). Works headless with an API key. Use when the developer asks to fill in their standup, answer daily questions, check what check-ins they have, edit or reset a check-in, review past responses, or create/configure a check-in. Do not use for free-text progress reports β€” those go through dailybot-report. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"βœ…","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/conversation/SKILL.md b/.agents/skills/dailybot/conversation/SKILL.md index f51747a..784c954 100644 --- a/.agents/skills/dailybot/conversation/SKILL.md +++ b/.agents/skills/dailybot/conversation/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-conversation description: Open (or idempotently reuse) a private Slack group DM (MPIM) that includes the Dailybot bot, then optionally post a message or report to it. Use when the developer wants to start a Slack group with specific teammates plus the bot β€” e.g. "open a group DM with Jane and Bob and send them the analysis report". Slack only, org-admin only. Distinct from dailybot-chat (which posts to existing channels/DMs) and dailybot-channels (which discovers report-channel UUIDs). -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ‘₯","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/email/SKILL.md b/.agents/skills/dailybot/email/SKILL.md index f08fb44..22dd938 100644 --- a/.agents/skills/dailybot/email/SKILL.md +++ b/.agents/skills/dailybot/email/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-email description: Send emails to a confirmed recipient via Dailybot on behalf of the agent. Use for notifications, summaries, follow-ups, or any communication the developer asks you to send. Always confirm recipients with the developer before sending β€” never guess addresses. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: false metadata: {"openclaw":{"emoji":"πŸ“§","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/forms/SKILL.md b/.agents/skills/dailybot/forms/SKILL.md index b255af6..2f2f4ed 100644 --- a/.agents/skills/dailybot/forms/SKILL.md +++ b/.agents/skills/dailybot/forms/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-forms description: List, inspect, submit, update, and transition form responses via Dailybot β€” including forms with workflow states and audience-scoped permissions. Also authors forms β€” create and configure a form (workflow states, permissions, anonymous/public/approval, ChatOps command) and manage its questions (types, report titles, variations, conditional logic). Use when the developer wants to see available forms, fill out a survey, continue an in-progress response, move a response between states, read prior responses, or create/configure a form. Do not use for daily check-ins β€” those go through dailybot-checkin. -version: "3.5.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ“‹","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/forms/_custom-template/SKILL.md b/.agents/skills/dailybot/forms/_custom-template/SKILL.md index ffe5bff..9eacdae 100644 --- a/.agents/skills/dailybot/forms/_custom-template/SKILL.md +++ b/.agents/skills/dailybot/forms/_custom-template/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-custom-form-template description: STARTER TEMPLATE β€” do not consume this file in place. Copy it to .agents/skills/dailybot-custom//SKILL.md in your own repo, then customize. This is the bootstrap skeleton for authoring a per-form custom skill that the universal dailybot-forms resolver will load from .dailybot/profile.json. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: false allowed-tools: Bash, Read, Grep, Glob diff --git a/.agents/skills/dailybot/health/SKILL.md b/.agents/skills/dailybot/health/SKILL.md index 455d75c..b2ade5c 100644 --- a/.agents/skills/dailybot/health/SKILL.md +++ b/.agents/skills/dailybot/health/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-health description: Announce agent online/offline status to Dailybot and receive pending messages from the team. Use for long-running or scheduled agents to stay visible and pick up instructions. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: false metadata: {"openclaw":{"emoji":"πŸ’š","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/kudos/SKILL.md b/.agents/skills/dailybot/kudos/SKILL.md index 4cbf88c..f2de02a 100644 --- a/.agents/skills/dailybot/kudos/SKILL.md +++ b/.agents/skills/dailybot/kudos/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-kudos description: Give kudos to a teammate or to an entire team via Dailybot to recognize their contributions. Use when the developer wants to thank or recognize one person, or recognize a whole team (e.g. "kudos al equipo Engineering"). Do not use for general progress reports β€” those go through dailybot-report. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ†","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/messages/SKILL.md b/.agents/skills/dailybot/messages/SKILL.md index a4b5e8a..2901f17 100644 --- a/.agents/skills/dailybot/messages/SKILL.md +++ b/.agents/skills/dailybot/messages/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-messages description: Check for pending messages and instructions from your team via Dailybot. Use when starting a work session, when idle, or when asked what to work on next. Messages are instructions that should influence your work. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: false metadata: {"openclaw":{"emoji":"πŸ“¬","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/report/SKILL.md b/.agents/skills/dailybot/report/SKILL.md index b1807e6..ccb74f1 100644 --- a/.agents/skills/dailybot/report/SKILL.md +++ b/.agents/skills/dailybot/report/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-report description: Report work progress to Dailybot. Activate after completing a discrete task or subtask, or after any batch of edits that modifies 3 or more files. Compose a standup-style update describing what changed and why. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ“‘","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/shared/auth.md b/.agents/skills/dailybot/shared/auth.md index 04ae92a..f003b58 100644 --- a/.agents/skills/dailybot/shared/auth.md +++ b/.agents/skills/dailybot/shared/auth.md @@ -355,27 +355,38 @@ Dailybot β†’ Settings β†’ API Keys. --- -## 4. Auth model β€” API key *or* login, almost everywhere - -As of the CLI's full-parity baseline (`dailybot-cli >= 3.1.2`, paired with the -matching API server rollout), **every authenticated CLI command accepts either -credential** β€” a Bearer login session **or** an org API key. The server resolves -the acting user from the API key's `owner`, so the two paths behave identically. -This is what lets an autonomous agent do **everything** with only -`DAILYBOT_API_KEY` set β€” including `dailybot ask` (the AI chat). - -| Scope | Accepted credentials | Used by | -|-------|----------------------|---------| -| **Agent endpoints** | API key (`X-API-KEY`) preferred, Bearer fallback | `dailybot agent update`, `dailybot agent health`, `dailybot agent email send` | -| **User / CLI / AI commands** | Bearer token preferred, API key fallback β€” **either works** | `dailybot status`, `update`, `checkin`, `form`, `kudos`, `team`, `user`, `chat`, `ask` (AI chat) | +## 4. Auth model β€” unified Bearer-first priority everywhere + +As of `dailybot-cli >= 3.5.1`, **all endpoints use the same auth priority: +Bearer token first, API key second.** There is no longer a split where agent +endpoints preferred API key and user endpoints preferred Bearer β€” the CLI +now behaves consistently everywhere. The server accepts both credentials on +every `/v1/` endpoint, so the two paths are functionally identical. + +| Scope | Auth priority (since CLI 3.5.1) | Used by | +|-------|--------------------------------|---------| +| **All endpoints** | Bearer preferred β†’ API key fallback | Every command: `agent update`, `form submit`, `kudos`, `chat send`, `ask`, etc. | | **Login lifecycle** | OTP / Bearer only | `dailybot login`, `dailybot logout` (revokes the session token) | Both credentials can coexist β€” the CLI stores them separately, and a developer -can hold an API key and a Bearer session at the same time. The CLI prefers the -login session when present and falls back to the API key. +can hold an API key and a Bearer session at the same time. + +### Automatic fallback on 401 (CLI >= 3.5.1) + +When the primary credential is rejected (HTTP 401), the CLI automatically +retries once with the alternative credential if available. This is +bidirectional: + +- **Bearer expired** β†’ retries with API key +- **API key stale/revoked** β†’ retries with Bearer session + +This prevents users from being blocked when one credential goes stale while +the other is still valid (e.g., a revoked API key in `agents.json` while a +valid login session exists). -> **Parity.** All user-scoped commands (`checkin`, `form`, `kudos`, `user`) and -> the AI chat accept an org API key **or** a Bearer login session. Only +> **Parity.** All commands β€” user-scoped (`checkin`, `form`, `kudos`, `user`), +> agent-scoped (`agent update`, `agent health`), and the AI chat (`ask`) β€” +> accept an org API key **or** a Bearer login session. Only > `dailybot logout` is Bearer-only. ### Checking session status @@ -405,29 +416,6 @@ automatically if it does not exist. ### Commands need *some* credential Every authenticated command works with **either** a login session or an API -key; they exit with a non-zero "not authenticated" code only when **neither** -is present. The single command that still requires a Bearer session is -`dailybot logout` (it revokes the session token itself). Guide the developer -through `dailybot login` or ask them to set `DAILYBOT_API_KEY`. - -### Config directory override - -The `DAILYBOT_CONFIG_DIR` environment variable overrides where all credential -and config files are stored (default: `~/.config/dailybot/`): - -```bash -export DAILYBOT_CONFIG_DIR=/tmp/my-sandbox-config -dailybot login --email me@example.com -``` - -This is useful for development sandboxes, CI environments, or testing -scenarios with isolated config directories. The directory is created -automatically if it does not exist. - -### User-scoped commands fail without a Bearer session - -If a developer tries to use `dailybot checkin`, `dailybot form`, -`dailybot kudos`, or `dailybot user` with only an API key and no login -session, the CLI exits with code `3` (not authenticated). Guide them -through `dailybot login` β€” these commands require the human's own -session, not an agent key. +key. Only `dailybot logout` requires a Bearer session (it revokes the session +token itself). If neither credential is present, the CLI exits with a clear +error suggesting `dailybot login` or setting `DAILYBOT_API_KEY`. diff --git a/.agents/skills/dailybot/teams/SKILL.md b/.agents/skills/dailybot/teams/SKILL.md index 17e871c..e1d3e0d 100644 --- a/.agents/skills/dailybot/teams/SKILL.md +++ b/.agents/skills/dailybot/teams/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-teams description: Read and resolve teams visible to the authenticated user. Use when the developer references a team by name (for kudos targeting, member lookup, or routing context) and an agent needs to obtain its UUID. Other Dailybot skills (kudos, messages) delegate team-name resolution to this skill rather than duplicating the logic. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ‘₯","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/.agents/skills/dailybot/workflow/SKILL.md b/.agents/skills/dailybot/workflow/SKILL.md index 90ce0d3..8474181 100644 --- a/.agents/skills/dailybot/workflow/SKILL.md +++ b/.agents/skills/dailybot/workflow/SKILL.md @@ -1,7 +1,7 @@ --- name: dailybot-workflow description: List and inspect Dailybot workflows (read-only) β€” enumerate the workflows configured for the organization and read one workflow's configuration. Use when the developer asks "list my workflows", "show workflows", or "what's in the release workflow?". Writes are done in the Dailybot web app; this skill only reads. Plan-gated feature. -version: "3.4.0" +version: "3.7.1" documentation_url: https://www.dailybot.com/skill.md user-invocable: true metadata: {"openclaw":{"emoji":"πŸ”€","homepage":"https://dailybot.com","requires":{"anyBins":["dailybot","curl"]},"primaryEnv":"DAILYBOT_API_KEY","install":[{"id":"cli-install-script","kind":"download","url":"https://cli.dailybot.com/install.sh","label":"Install Dailybot CLI (official script β€” preferred on Linux/macOS)"},{"id":"pip","kind":"pip","package":"dailybot-cli","bins":["dailybot"],"label":"Install Dailybot CLI via pip (fallback if binary fails)"}]}} diff --git a/AGENTS.md b/AGENTS.md index 9f2792d..825bbd8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -475,7 +475,7 @@ dailybot agent update --name "Claude Code" --milestone \ --metadata '{"model":"claude-opus-4-7","plan":"PLAN_agent_profiles","repo":"cli"}' ``` -Full philosophy, what to report, and what to skip: [.agents/skills/dailybot/report/SKILL.md](.agents/skills/dailybot/report/SKILL.md) (part of the vendored Dailybot agent skill pack at `.agents/skills/dailybot/`, **v3.4.0**, which also ships the `chat` (incl. `--send-as-user`/`--send-as-me`), the `conversation` sub-skill (open/reuse a Slack group DM with the bot and post a report, `conversation open`, CLI β‰₯ 3.2.0), `kudos` (give + browse: `list`/`org`/`wall-of-fame`), `teams` (+ account context `me`/`org`/`user get`), `channels`, the read-only `workflow` (`list`/`get`), and the full `forms` (now org-scoped `list` + `--mine`) / `checkin` **authoring** sub-skills β€” plus the shared list pagination/search/date filters and machine-readable error-code reference. The whole pack requires `dailybot-cli >= 3.1.2`). Key rules: +Full philosophy, what to report, and what to skip: [.agents/skills/dailybot/report/SKILL.md](.agents/skills/dailybot/report/SKILL.md) (part of the vendored Dailybot agent skill pack at `.agents/skills/dailybot/`, **v3.7.1**, which also ships the `chat` (incl. `--send-as-user`/`--send-as-me`), the `conversation` sub-skill (open/reuse a Slack group DM with the bot and post a report, `conversation open`, CLI β‰₯ 3.2.0), `kudos` (give + browse: `list`/`org`/`wall-of-fame`), `teams` (+ account context `me`/`org`/`user get`), `channels`, the read-only `workflow` (`list`/`get`), and the full `forms` (now org-scoped `list` + `--mine`) / `checkin` **authoring** sub-skills β€” plus the shared list pagination/search/date filters and machine-readable error-code reference. The whole pack requires `dailybot-cli >= 3.1.2`). Key rules: - 1–3 sentences, **always in English** - Focus on WHAT + WHY, never "Agent completed…" diff --git a/docker/local/cli/Dockerfile b/docker/local/cli/Dockerfile index 0e4afee..c6ba7d3 100644 --- a/docker/local/cli/Dockerfile +++ b/docker/local/cli/Dockerfile @@ -46,7 +46,7 @@ RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | d # dev-user). `-f` makes an HTTP error a non-zero curl exit instead of piping an error # page into bash; the `SHELL … pipefail` above makes a failing curl abort the build. # install.sh itself runs `set -euo pipefail`, so failures inside it abort too. -RUN curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.3.0' bash +RUN curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.5.1' bash # Install all Python dev/runtime deps from the repo's lock file. # This single COPY/RUN pair is the only build cache layer pip touches β€” it diff --git a/tests/config_test.py b/tests/config_test.py index 584f9e0..6630b89 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -69,6 +69,7 @@ def test_get_api_url_from_env(tmp_config: Path, monkeypatch: pytest.MonkeyPatch) def test_get_app_url_default(tmp_config: Path, monkeypatch: pytest.MonkeyPatch) -> None: monkeypatch.delenv("DAILYBOT_APP_URL", raising=False) + monkeypatch.setattr("dailybot_cli.config._app_url_override", None) assert get_app_url() == "https://app.dailybot.com"