diff --git a/skills/automate-whatsapp/SKILL.md b/skills/automate-whatsapp/SKILL.md new file mode 100644 index 00000000..4dde7962 --- /dev/null +++ b/skills/automate-whatsapp/SKILL.md @@ -0,0 +1,257 @@ +--- +name: automate-whatsapp +description: "Build WhatsApp automations with Kapso workflows: configure WhatsApp triggers, edit workflow graphs, manage executions, deploy functions, and use databases/integrations for state. Use when automating WhatsApp conversations and event handling." +source: "https://github.com/gokapso/agent-skills/tree/master/skills/automate-whatsapp" +risk: safe +--- + +# Automate WhatsApp + +## When to use + +Use this skill to build and run WhatsApp automations: workflow CRUD, graph edits, triggers, executions, function management, app integrations, and D1 database operations. + +## Setup + +Env vars: +- `KAPSO_API_BASE_URL` (host only, no `/platform/v1`) +- `KAPSO_API_KEY` + +## How to + +### Edit a workflow graph + +1. Fetch graph: `node scripts/get-graph.js ` (note the `lock_version`) +2. Edit the JSON (see graph rules below) +3. Validate: `node scripts/validate-graph.js --definition-file ` +4. Update: `node scripts/update-graph.js --expected-lock-version --definition-file ` +5. Re-fetch to confirm + +For small edits, use `edit-graph.js` with `--old-file` and `--new-file` instead. + +If you get a lock_version conflict: re-fetch, re-apply changes, retry with new lock_version. + +### Manage triggers + +1. List: `node scripts/list-triggers.js ` +2. Create: `node scripts/create-trigger.js --trigger-type --phone-number-id ` +3. Toggle: `node scripts/update-trigger.js --trigger-id --active true|false` +4. Delete: `node scripts/delete-trigger.js --trigger-id ` + +For inbound_message triggers, first run `node scripts/list-whatsapp-phone-numbers.js` to get `phone_number_id`. + +### Debug executions + +1. List: `node scripts/list-executions.js ` +2. Inspect: `node scripts/get-execution.js ` +3. Get value: `node scripts/get-context-value.js --variable-path vars.foo` +4. Events: `node scripts/list-execution-events.js ` + +### Create and deploy a function + +1. Write code with handler signature (see function rules below) +2. Create: `node scripts/create-function.js --name --code-file ` +3. Deploy: `node scripts/deploy-function.js --function-id ` +4. Verify: `node scripts/get-function.js --function-id ` + +### Set up agent node with app integrations + +1. Find model: `node scripts/list-provider-models.js` +2. Find account: `node scripts/list-accounts.js --app-slug ` (use `pipedream_account_id`) +3. Find action: `node scripts/search-actions.js --query --app-slug ` (action_id = key) +4. Create integration: `node scripts/create-integration.js --action-id --app-slug --account-id --configured-props ` +5. Add tools to agent node via `flow_agent_app_integration_tools` + +### Database CRUD + +1. List tables: `node scripts/list-tables.js` +2. Query: `node scripts/query-rows.js --table --filters ` +3. Create/update/delete with row scripts + +## Graph rules + +- Exactly one start node with `id` = `start` +- Never change existing node IDs +- Use `{node_type}_{timestamp_ms}` for new node IDs +- Non-decide nodes have 0 or 1 outgoing `next` edge +- Decide edge labels must match `conditions[].label` +- Edge keys are `source`/`target`/`label` (not `from`/`to`) + +For full schema details, see `references/graph-contract.md`. + +## Function rules + +```js +async function handler(request, env) { + // Parse input + const body = await request.json(); + // Use env.KV and env.DB as needed + return new Response(JSON.stringify({ result: "ok" })); +} +``` + +- Do NOT use `export`, `export default`, or arrow functions +- Return a `Response` object + +## Execution context + +Always use this structure: +- `vars` - user-defined variables +- `system` - system variables +- `context` - channel data +- `metadata` - request metadata + +## Scripts + +### Workflows + +| Script | Purpose | +|--------|---------| +| `list-workflows.js` | List workflows (metadata only) | +| `get-workflow.js` | Get workflow metadata | +| `create-workflow.js` | Create a workflow | +| `update-workflow-settings.js` | Update workflow settings | + +### Graph + +| Script | Purpose | +|--------|---------| +| `get-graph.js` | Get workflow graph + lock_version | +| `edit-graph.js` | Patch graph via string replacement | +| `update-graph.js` | Replace entire graph | +| `validate-graph.js` | Validate graph structure locally | + +### Triggers + +| Script | Purpose | +|--------|---------| +| `list-triggers.js` | List triggers for a workflow | +| `create-trigger.js` | Create a trigger | +| `update-trigger.js` | Enable/disable a trigger | +| `delete-trigger.js` | Delete a trigger | +| `list-whatsapp-phone-numbers.js` | List phone numbers for trigger setup | + +### Executions + +| Script | Purpose | +|--------|---------| +| `list-executions.js` | List executions | +| `get-execution.js` | Get execution details | +| `get-context-value.js` | Read value from execution context | +| `update-execution-status.js` | Force execution state | +| `resume-execution.js` | Resume waiting execution | +| `list-execution-events.js` | List execution events | + +### Functions + +| Script | Purpose | +|--------|---------| +| `list-functions.js` | List project functions | +| `get-function.js` | Get function details + code | +| `create-function.js` | Create a function | +| `update-function.js` | Update function code | +| `deploy-function.js` | Deploy function to runtime | +| `invoke-function.js` | Invoke function with payload | +| `list-function-invocations.js` | List function invocations | + +### App integrations + +| Script | Purpose | +|--------|---------| +| `list-apps.js` | Search integration apps | +| `search-actions.js` | Search actions (action_id = key) | +| `get-action-schema.js` | Get action JSON schema | +| `list-accounts.js` | List connected accounts | +| `create-connect-token.js` | Create OAuth connect link | +| `configure-prop.js` | Resolve remote_options for a prop | +| `reload-props.js` | Reload dynamic props | +| `list-integrations.js` | List saved integrations | +| `create-integration.js` | Create an integration | +| `update-integration.js` | Update an integration | +| `delete-integration.js` | Delete an integration | + +### Databases + +| Script | Purpose | +|--------|---------| +| `list-tables.js` | List D1 tables | +| `get-table.js` | Get table schema + sample rows | +| `query-rows.js` | Query rows with filters | +| `create-row.js` | Create a row | +| `update-row.js` | Update rows | +| `upsert-row.js` | Upsert a row | +| `delete-row.js` | Delete rows | + +### OpenAPI + +| Script | Purpose | +|--------|---------| +| `openapi-explore.mjs` | Explore OpenAPI (search/op/schema/where) | + +Install deps (once): +```bash +npm i +``` + +Examples: +```bash +node scripts/openapi-explore.mjs --spec workflows search "variables" +node scripts/openapi-explore.mjs --spec workflows op getWorkflowVariables +node scripts/openapi-explore.mjs --spec platform op queryDatabaseRows +``` + +## Notes + +- Prefer file paths over inline JSON (`--definition-file`, `--code-file`) +- `action_id` is the same as `key` from `search-actions` +- `--account-id` uses `pipedream_account_id` from `list-accounts` +- Variable CRUD (`variables-set.js`, `variables-delete.js`) is blocked - Platform API doesn't support it +- Raw SQL execution is not supported via Platform API + +## References + +Read before editing: +- [references/graph-contract.md](references/graph-contract.md) - Graph schema, computed vs editable fields, lock_version +- [references/node-types.md](references/node-types.md) - Node types and config shapes +- [references/workflow-overview.md](references/workflow-overview.md) - Execution flow and states + +Other references: +- [references/execution-context.md](references/execution-context.md) - Context structure and variable substitution +- [references/triggers.md](references/triggers.md) - Trigger types and setup +- [references/app-integrations.md](references/app-integrations.md) - App integration and variable_definitions +- [references/functions-reference.md](references/functions-reference.md) - Function management +- [references/functions-payloads.md](references/functions-payloads.md) - Payload shapes for functions +- [references/databases-reference.md](references/databases-reference.md) - Database operations + +## Assets + +| File | Description | +|------|-------------| +| `workflow-linear.json` | Minimal linear workflow | +| `workflow-decision.json` | Minimal branching workflow | +| `workflow-agent-simple.json` | Minimal agent workflow | +| `workflow-customer-support-intake-agent.json` | Customer support intake | +| `workflow-interactive-buttons-decide-function.json` | Interactive buttons + decide (function) | +| `workflow-interactive-buttons-decide-ai.json` | Interactive buttons + decide (AI) | +| `workflow-api-template-wait-agent.json` | API trigger + template + agent | +| `function-decide-route-interactive-buttons.json` | Function for button routing | +| `agent-app-integration-example.json` | Agent node with app integrations | + +## Related skills + +- `integrate-whatsapp` - Onboarding, webhooks, messaging, templates, flows +- `observe-whatsapp` - Debugging, logs, health checks + + +```text +[automate-whatsapp file map]|root: . +|.:{package.json,SKILL.md} +|assets:{agent-app-integration-example.json,databases-example.json,function-decide-route-interactive-buttons.json,functions-example.json,workflow-agent-simple.json,workflow-api-template-wait-agent.json,workflow-customer-support-intake-agent.json,workflow-decision.json,workflow-interactive-buttons-decide-ai.json,workflow-interactive-buttons-decide-function.json,workflow-linear.json} +|references:{app-integrations.md,databases-reference.md,execution-context.md,function-contracts.md,functions-payloads.md,functions-reference.md,graph-contract.md,node-types.md,triggers.md,workflow-overview.md,workflow-reference.md} +|scripts:{configure-prop.js,create-connect-token.js,create-function.js,create-integration.js,create-row.js,create-trigger.js,create-workflow.js,delete-integration.js,delete-row.js,delete-trigger.js,deploy-function.js,edit-graph.js,get-action-schema.js,get-context-value.js,get-execution-event.js,get-execution.js,get-function.js,get-graph.js,get-table.js,get-workflow.js,invoke-function.js,list-accounts.js,list-apps.js,list-execution-events.js,list-executions.js,list-function-invocations.js,list-functions.js,list-integrations.js,list-provider-models.js,list-tables.js,list-triggers.js,list-whatsapp-phone-numbers.js,list-workflows.js,openapi-explore.mjs,query-rows.js,reload-props.js,resume-execution.js,search-actions.js,update-execution-status.js,update-function.js,update-graph.js,update-integration.js,update-row.js,update-trigger.js,update-workflow-settings.js,upsert-row.js,validate-graph.js,variables-delete.js,variables-list.js,variables-set.js} +|scripts/lib/databases:{args.js,filters.js,kapso-api.js} +|scripts/lib/functions:{args.js,kapso-api.js} +|scripts/lib/workflows:{args.js,kapso-api.js,result.js} +``` + + diff --git a/skills/aws-skills/SKILL.md b/skills/aws-skills/SKILL.md new file mode 100644 index 00000000..31d61433 --- /dev/null +++ b/skills/aws-skills/SKILL.md @@ -0,0 +1,22 @@ +--- +name: aws-skills +description: "AWS development with infrastructure automation and cloud architecture patterns" +source: "https://github.com/zxkane/aws-skills" +risk: safe +--- + +# Aws Skills + +## Overview + +AWS development with infrastructure automation and cloud architecture patterns + +## When to Use This Skill + +Use this skill when you need to work with aws development with infrastructure automation and cloud architecture patterns. + +## Instructions + +This skill provides guidance and patterns for aws development with infrastructure automation and cloud architecture patterns. + +For more information, see the [source repository](https://github.com/zxkane/aws-skills). diff --git a/skills/beautiful-prose/SKILL.md b/skills/beautiful-prose/SKILL.md new file mode 100644 index 00000000..2d0ad703 --- /dev/null +++ b/skills/beautiful-prose/SKILL.md @@ -0,0 +1,22 @@ +--- +name: beautiful-prose +description: "Hard-edged writing style contract for timeless, forceful English prose without AI tics" +source: "https://github.com/SHADOWPR0/beautiful_prose" +risk: safe +--- + +# Beautiful Prose + +## Overview + +Hard-edged writing style contract for timeless, forceful English prose without AI tics + +## When to Use This Skill + +Use this skill when you need to work with hard-edged writing style contract for timeless, forceful english prose without ai tics. + +## Instructions + +This skill provides guidance and patterns for hard-edged writing style contract for timeless, forceful english prose without ai tics. + +For more information, see the [source repository](https://github.com/SHADOWPR0/beautiful_prose). diff --git a/skills/clarity-gate/SKILL.md b/skills/clarity-gate/SKILL.md new file mode 100644 index 00000000..cc409452 --- /dev/null +++ b/skills/clarity-gate/SKILL.md @@ -0,0 +1,22 @@ +--- +name: clarity-gate +description: "Pre-ingestion verification for epistemic quality in RAG systems with 9-point verification and Two-Round HITL workflow" +source: "https://github.com/frmoretto/clarity-gate" +risk: safe +--- + +# Clarity Gate + +## Overview + +Pre-ingestion verification for epistemic quality in RAG systems with 9-point verification and Two-Round HITL workflow + +## When to Use This Skill + +Use this skill when you need to work with pre-ingestion verification for epistemic quality in rag systems with 9-point verification and two-round hitl workflow. + +## Instructions + +This skill provides guidance and patterns for pre-ingestion verification for epistemic quality in rag systems with 9-point verification and two-round hitl workflow. + +For more information, see the [source repository](https://github.com/frmoretto/clarity-gate). diff --git a/skills/claude-ally-health/SKILL.md b/skills/claude-ally-health/SKILL.md new file mode 100644 index 00000000..4dc28041 --- /dev/null +++ b/skills/claude-ally-health/SKILL.md @@ -0,0 +1,22 @@ +--- +name: claude-ally-health +description: "A health assistant skill for medical information analysis, symptom tracking, and wellness guidance." +source: "https://github.com/huifer/Claude-Ally-Health" +risk: safe +--- + +# Claude Ally Health + +## Overview + +A health assistant skill for medical information analysis, symptom tracking, and wellness guidance. + +## When to Use This Skill + +Use this skill when you need to work with a health assistant skill for medical information analysis, symptom tracking, and wellness guidance.. + +## Instructions + +This skill provides guidance and patterns for a health assistant skill for medical information analysis, symptom tracking, and wellness guidance.. + +For more information, see the [source repository](https://github.com/huifer/Claude-Ally-Health). diff --git a/skills/claude-scientific-skills/SKILL.md b/skills/claude-scientific-skills/SKILL.md new file mode 100644 index 00000000..745a4d86 --- /dev/null +++ b/skills/claude-scientific-skills/SKILL.md @@ -0,0 +1,22 @@ +--- +name: claude-scientific-skills +description: "Scientific research and analysis skills" +source: "https://github.com/K-Dense-AI/claude-scientific-skills" +risk: safe +--- + +# Claude Scientific Skills + +## Overview + +Scientific research and analysis skills + +## When to Use This Skill + +Use this skill when you need to work with scientific research and analysis skills. + +## Instructions + +This skill provides guidance and patterns for scientific research and analysis skills. + +For more information, see the [source repository](https://github.com/K-Dense-AI/claude-scientific-skills). diff --git a/skills/claude-speed-reader/SKILL.md b/skills/claude-speed-reader/SKILL.md new file mode 100644 index 00000000..81ca84d7 --- /dev/null +++ b/skills/claude-speed-reader/SKILL.md @@ -0,0 +1,22 @@ +--- +name: claude-speed-reader +description: "-Speed read Claude's responses at 600+ WPM using RSVP with Spritz-style ORP highlighting" +source: "https://github.com/SeanZoR/claude-speed-reader" +risk: safe +--- + +# Claude Speed Reader + +## Overview + +-Speed read Claude's responses at 600+ WPM using RSVP with Spritz-style ORP highlighting + +## When to Use This Skill + +Use this skill when you need to work with -speed read claude's responses at 600+ wpm using rsvp with spritz-style orp highlighting. + +## Instructions + +This skill provides guidance and patterns for -speed read claude's responses at 600+ wpm using rsvp with spritz-style orp highlighting. + +For more information, see the [source repository](https://github.com/SeanZoR/claude-speed-reader). diff --git a/skills/claude-win11-speckit-update-skill/SKILL.md b/skills/claude-win11-speckit-update-skill/SKILL.md new file mode 100644 index 00000000..8b7d9016 --- /dev/null +++ b/skills/claude-win11-speckit-update-skill/SKILL.md @@ -0,0 +1,22 @@ +--- +name: claude-win11-speckit-update-skill +description: "Windows 11 system management" +source: "https://github.com/NotMyself/claude-win11-speckit-update-skill" +risk: safe +--- + +# Claude Win11 Speckit Update Skill + +## Overview + +Windows 11 system management + +## When to Use This Skill + +Use this skill when you need to work with windows 11 system management. + +## Instructions + +This skill provides guidance and patterns for windows 11 system management. + +For more information, see the [source repository](https://github.com/NotMyself/claude-win11-speckit-update-skill). diff --git a/skills/commit/SKILL.md b/skills/commit/SKILL.md new file mode 100644 index 00000000..7e0846cb --- /dev/null +++ b/skills/commit/SKILL.md @@ -0,0 +1,171 @@ +--- +name: commit +description: "Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references." +source: "https://github.com/getsentry/skills/tree/main/plugins/sentry-skills/skills/commit" +risk: safe +--- + +# Sentry Commit Messages + +Follow these conventions when creating commits for Sentry projects. + +## When to Use This Skill + +Use this skill when: +- Committing code changes +- Writing commit messages +- Formatting git history +- Following Sentry commit conventions +- Referencing Sentry issues in commits + +## Prerequisites + +Before committing, ensure you're working on a feature branch, not the main branch. + +```bash +# Check current branch +git branch --show-current +``` + +If you're on `main` or `master`, create a new branch first: + +```bash +# Create and switch to a new branch +git checkout -b / +``` + +Branch naming should follow the pattern: `/` where type matches the commit type (e.g., `feat/add-user-auth`, `fix/null-pointer-error`, `ref/extract-validation`). + +## Format + +``` +(): + + + +