workflow-local-dev

Support local workflow platform development in the DAP workspace across frontend, backend, and infra teams. Provides access to Kubernetes (Kind), Tilt service management, database queries, and troubleshooting. Use when building backend/API features, adjusting infra configurations, checking logs, running tests, or debugging issues against locally deployed workflow engine components.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "workflow-local-dev" with this command: npx skills add lgariv-dn/frontend-skills/lgariv-dn-frontend-skills-workflow-local-dev

Workflow Local Development

Quick Reference

Key Commands

TaskCommand
Check podskubectl get pods --context kind-kind
Restart componenttilt trigger workflow-<service>
View component logstilt logs workflow-<service>

Locally Deployed Components

These workflow services are deployed locally as shared dependencies: workflow-catalog, workflow-executions-api, workflow-engine-worker, workflow-consumer, workflow-validator, workflows-worker, standalone-tasks-worker


Utility Scripts

Execute these scripts for common operations:

Check Pod Status

bash .cursor/skills/workflow-local-dev/scripts/check-pods.sh

Restart a Service

bash .cursor/skills/workflow-local-dev/scripts/restart-service.sh <service-name>
# Example: bash .cursor/skills/workflow-local-dev/scripts/restart-service.sh catalog

Tail Service Logs

bash .cursor/skills/workflow-local-dev/scripts/tail-logs.sh <service-name>
# Example: bash .cursor/skills/workflow-local-dev/scripts/tail-logs.sh executions-api

Query Database

bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "<SQL query>"
# Example: bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"

Development Workflow

Use this flow primarily when containers fail locally or when you need to debug runtime behavior.

  1. Capture current status: kubectl get pods --context kind-kind
  2. Rebuild/restart component: tilt trigger workflow-<service>
  3. Watch logs or health: kubectl logs -f <pod> --context kind-kind
  4. Inspect configuration or data (if needed): bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "<SQL query>"

Troubleshooting

Pod Issues

kubectl get pods --context kind-kind
kubectl describe pod <pod-name> --context kind-kind
kubectl logs -f <pod-name> --context kind-kind

Temporal Workflows

Open http://localhost:8081 (Temporal UI) and search by workflow ID.

Database State

# Use the db-query script (runs psql inside the postgres pod)
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"

Pulsar Messages

pulsar-admin topics stats persistent://public/dap/<topic>
pulsar-client consume persistent://public/dap/<topic> -s test-sub -n 10

Using Kubernetes MCP (When Available)

If the Kubernetes MCP server is enabled, you can use MCP tools instead of shell commands for a more integrated experience. The MCP defaults to the kind-kind context.

List Pods

Tool: pods_list
Arguments: { "labelSelector": "app=workflow-catalog" }

Or list all pods:

Tool: pods_list
Arguments: {}

Get Pod Logs

Tool: pods_log
Arguments: {
  "name": "workflow-catalog-xxxxx",
  "namespace": "default",
  "tail": 100
}

For previous container logs (after crash):

Tool: pods_log
Arguments: {
  "name": "workflow-catalog-xxxxx",
  "namespace": "default",
  "previous": true
}

Execute Commands in Pods (e.g., Database Queries)

Tool: pods_exec
Arguments: {
  "name": "postgres-xxxxx",
  "namespace": "default",
  "command": ["psql", "-U", "postgres", "-d", "temporal", "-c", "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"]
}

Delete Pod (Force Restart)

Tool: pods_delete
Arguments: {
  "name": "workflow-catalog-xxxxx",
  "namespace": "default"
}

Get Pod Details

Tool: pods_get
Arguments: {
  "name": "workflow-catalog-xxxxx",
  "namespace": "default"
}

List Cluster Events (Troubleshooting)

Tool: events_list
Arguments: { "namespace": "default" }

Note: When using MCP tools, you don't need to specify context as it defaults to kind-kind. The MCP approach is useful when you want the agent to directly interact with the cluster without spawning shell processes.


Additional Resources

  • For complete service URLs and infrastructure details, see reference.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

react-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

yeet

No summary provided by upstream source.

Repository SourceNeeds Review
General

react-hook-form-zod-shadcn

No summary provided by upstream source.

Repository SourceNeeds Review
General

frontend-skills

No summary provided by upstream source.

Repository SourceNeeds Review