composio-apps
Connected app tool recipes for Dench Integrations (Gmail, Slack, GitHub, Notion, Google Calendar, Linear, Stripe)
Skill by orianna-ai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/orianna-ai-composio-apps
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/composio-apps
What's inside
- Skill name
composio-apps- Description
- Connected app tool recipes for Dench Integrations (Gmail, Slack, GitHub, Notion, Google Calendar, Linear, Stripe)
- License
- MIT
- Instructions
- 104 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Dench Integrations connected apps Use the **Dench Integrations tools** only. In DenchClaw, always search first with `composio_search_tools`, inspect the returned full schemas plus plan/pitfall guidance, then execute the chosen tool via `composio_call_tool`. `composio_resolve_tool` still exists as a compatibility wrapper when you want a single best-match result, but ranked search is the default path. Some sessions may still expose direct tool names like `GMAIL_FETCH_EMAILS`, but do not rely on that as the default path. Do **not** use: - `gog` - shell CLIs for Gmail / Calendar / Drive / Slack / GitHub / Notion / Linear - `curl` - raw gateway HTTP calls - direct provider REST calls If the user mentions Dench Integrations, the connected-app layer, rube, map, MCP, or says an app is already connected, this is the only allowed integration path. If the integration wrapper tools are unavailable in the current session, stop and report repair guidance instead of bypassing them. Do not rely on workspace cache files like `composio-tool-index.json`, `composio-tool-catalog.json`, or `composio-mcp-status.json` as runtime truth. `composio_search_tools` is the source of truth because it returns official integration search results, full `input_schema`, connection/account status, `recommended_plan_steps`, `known_pitfalls`, and a reusable `search_session_id` when available. ## General rules - Tool names are **uppercase** with underscores (e.g. `GMAIL_FETCH_EMAILS`). - Execute searched or resolved tools through `composio_call_tool` with the returned `app`, `tool_name`, `search_context_token`, optional `search_session_id`, optional selected `account`, and the final `arguments` object. - Do not invent or alter `dispatcher_input`; copy it from `composio_search_tools` or `composio_resolve_tool` and only add the final `arguments`. - Pass **JSON-shaped** arguments as the tool schema requires: arrays are arrays, not comma-separated strings. - Read the returned `input_schema` before filling arguments. Use exact field names and types from that schema. - Treat the live schema as authoritative over any recipe table below. Pay attention to `required`, property `type`, nested objects/arrays, enums, defaults, and pagination fields. - If a call fails on argument shape, fix the types and retry once before escalating. - If `composio_search_tools` or `composio_resolve_tool` says account selection is required, ask the user which connected account to use before calling `composio_call_tool`. - Do not pass `account` unless the search flow actually returned or required it for the chosen live result. - If the returned search result includes pagination fields such as `starting_after`, `next_cursor`, `page`, or `page_token`, keep paginating until complete when the user asked for the full dataset. - Never fall back to `gog`, curl, or raw gateway HTTP for a connected app task unless the user explicitly asks for that non-integration path. ## Gmail | Intent | Tool | Defaults / notes | | ----------------------- | ----------------------------------- | ------------------------------------------------ | | List / read recent mail | `GMAIL_FETCH_EMAILS` | `label_ids`: `["INBOX"]`, `max_results`: `10` | | Read one message | `GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID` | `message_id` from list results | | Send mail | `GMAIL_SEND_EMAIL` | `to`, `subject`, `body` (use schema field names) | **Gotcha:** `label_ids` must be an array like `["INBOX"]`, never a single string. ## Slack | Intent | Tool | Defaults / notes | | ------------------- | -------------------------- | ---------------------------- | | Send a message | `SLACK_SEND_MESSAGE` | `channel`, `text` | | List channels / DMs | `SLACK_LIST_CONVERSATIONS` | Use schema filters if needed | **Gotcha:** `channel` is usually a channel ID (often starts with `C`), not the display name. ## GitHub | Intent | Tool | Defaults / notes | | ---------------------------- | ----------------------------------------------------- | --------------------------------------------------- | | List repos for user | `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` | Pagination per schema | | Find / search pull requests | `GITHUB_FIND_PULL_REQUESTS` | Best first path for "recent PRs" or broad PR search | | List pull requests in a repo | `GITHUB_LIST_PULL_REQUESTS` | Requires `owner` and `repo` | | Get one pull request | `GITHUB_GET_A_PULL_REQUEST` | `owner`, `repo`, `pull_number` | | Repo metadata | `GITHUB_GET_A_REPOSITORY` | `owner`, `repo` | | Create issue | `GITHUB_CREATE_AN_ISSUE` | `owner`, `repo`, `title`, `body` | ## Notion | Intent | Tool | Defaults / notes | | ----------- | -------------------- | ------------------------ | | Search | `NOTION_SEARCH` | Query string per schema | | Read page | `NOTION_GET_PAGE` | Page ID | | Create page | `NOTION_CREATE_PAGE` | Parent object per schema | ## Google Calendar | Intent | Tool | Defaults / notes | | --------------- | ------------------------------- | -------------------------------------------------------------- | | List calendars | `GOOGLE_CALENDAR_CALENDAR_LIST` | Optional params per schema | | Upcoming events | `GOOGLE_CALENDAR_EVENTS_LIST` | Prefer a clear time window when possible | | List events | `GOOGLE_CALENDAR_EVENTS_LIST` | `calendar_id`, time range (`time_min` / `time_max` as RFC3339) | | Find event | `GOOGLE_CALENDAR_EVENTS_LIST` | Use search text / date window fields supported by the schema | | Create event | `GOOGLE_CALENDAR_CREATE_EVENT` | Calendar id + event payload per schema | **Gotcha:** Datetimes should be RFC3339 strings. ## Linear | Intent | Tool | Defaults / notes | | ------------ | --------------------- | -------------------------------------- | | List issues | `LINEAR_LIST_ISSUES` | Filters per schema | | Get issue | `LINEAR_GET_ISSUE` | Issue id | | Create issue | `LINEAR_CREATE_ISSUE` | Team id, title, description per schema | ## Stripe | Intent | Tool | Defaults / notes | | -------------------- | ----------------------------- | --------------------------------------------------------------------------------------- | | List subscriptions | `STRIPE_LIST_SUBSCRIPTIONS` | Use schema filters when needed; good starting point for ARR / trials / billing analysis | | Search subscriptions | `STRIPE_SEARCH_SUBSCRIPTIONS` | Prefer when the user mentions a customer or subscription-specific filter | | List customers | `STRIPE_LIST_CUSTOMERS` | Use for customer lookup and account drill-down | | List invoices | `STRIPE_LIST_INVOICES` | Useful for billing status and revenue workflows | | List charges | `STRIPE_LIST_CHARGES` | Good for payment activity and charge inspection | | Retrieve balance | `STRIPE_RETRIEVE_BALANCE` | Good for current Stripe balance snapshots | ## Subagent handoff When delegating, include: which app, the exact tool name, and the argument object you intend (copy shapes from the live tool schema, `composio_search_tools`, or `composio_resolve_tool`).
From orianna-ai/DenchClaw, MIT.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 18, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/orianna-ai/DenchClaw
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from orianna-ai
Cite this page
composio-apps skill. Agent Mart. https://agentmart.dev/skills/orianna-ai-composio-apps (last updated 2026-10-24)