atomic

flowstate-epic-flowstate-community-epicdm-flowstate-connector

Package-local agent skill for @epicdm/flowstate-connector.

Tags

Publisher

Versions

1 version published — latest: 0.1.0

  • 0.1.0
    publishedInvalid Date

Skill

flowstate-connector Package Skill

Package: @epicdm/flowstate-connector Repository: epic-flowstate-community Path: packages/flowstate-connector Version: 0.1.0

Use this published Dojo skill as the package-level entrypoint. For detailed workflows, use the package-local skills listed below.

Primary Package Workflow

FlowState Connector Git Webhooks

Use this skill for Git provider callback and webhook behavior in the connector service.

Source Map

  • Git callback routes: GitHub App callback and Forgejo provisioning route files.
  • Webhook routes: GitHub webhook ingress and internal webhook secret rotation.
  • src/lib/*: token exchange, D1/MCP clients, and provider helper clients.
  • @epicdm/connector-core Git kernel contracts when provider-neutral behavior is involved.

Workflow

  1. Keep provider-specific callback logic separate from provider-neutral Git kernel contracts.
  2. Verify incoming webhook signatures before processing payloads.
  3. Resolve org/workspace/git connection context before routing events.
  4. Store or rotate webhook secrets through the intended vault/config path.
  5. Ensure token routing uses the correct credential type for the provider.

Guardrails

  • Do not log webhook secrets, app private keys, installation tokens, PATs, or raw signed payload secrets.
  • Do not accept unsigned webhook payloads in production paths.
  • Preserve idempotency for repeated webhook deliveries.
  • Coordinate public Git contract changes with connector-core-git-kernel.
  • Keep dual route mounts aligned with gateway strip-path behavior.

Verification

yarn workspace @epicdm/flowstate-connector test -- webhook git forgejo github
yarn workspace @epicdm/flowstate-connector typecheck

Package Skill Inventory

Skill Inventory: @epicdm/flowstate-connector

Package path: packages/flowstate-connector.

Skillset

SkillUse WhenMain Source Evidence
flowstate-connectorChoosing the right connector service workflow or preserving service boundariespackage.json, src/index.ts, src/bootstrap.ts, src/config.ts
flowstate-connector-mcp-toolsAdding or changing MCP JSON-RPC connector toolssrc/mcp/index.ts, src/mcp/server.ts, src/mcp/tools/*
flowstate-connector-oauth-vaultOAuth connect/callback/proxy/status, vault token storage, nonce state, static credentialssrc/routes/*, src/vault/token-backend.ts, src/lib/mcp-client.ts
flowstate-connector-sync-schedulerSync scheduling, queueing, runSync behavior, audit rows, backoff, credentialssrc/scheduler/*, src/services/d1-sync-config-service.ts
flowstate-connector-git-webhooksGitHub App callback, Forgejo provisioning, webhook ingress/rotationsrc/routes/*git*, src/mcp/tools/*git*, src/lib/*
flowstate-connector-mailSMTP setup/send, Graph/Gmail/IMAP mail tools, mail record persistencesrc/mcp/tools/*mail*, src/mcp/tools/*smtp*
flowstate-connector-testingFinding the right focused test suite and mock patternsrc/**/__tests__, tests, Jest config

Composition Notes

  • Use flowstate-connector-oauth-vault before changing credential paths consumed by scheduler or MCP tools.
  • Use flowstate-connector-sync-scheduler together with flowstate-connector-mcp-tools when a tool triggers sync work.
  • Use flowstate-connector-git-webhooks together with connector-core-git-kernel when public Git kernel contracts are involved.
  • Use flowstate-connector-testing before running the whole suite; the service has many focused suites.

Publication Readiness

Status: drafted, pending verification.

Before Dojo publication, rebuild package Dojo artifacts from this reviewed skillset.

Review Gate

Package Skill Review: @epicdm/flowstate-connector

Package path: packages/flowstate-connector.

Review Result

Status: drafted, source-backed, verified with existing package test/lint blockers, pending publication.

The skillset is workflow-shaped around connector service operations, MCP tools, OAuth/vault storage, sync scheduler behavior, Git webhooks, mail tools, and test selection.

Checks

  • Source review: completed from package review agent output covering runtime entry, routes, MCP server/tools, bootstrap/config, scheduler, D1 config service, vault backend, service clients, plugin discovery, and generated artifact drift.
  • Skill inventory: completed.
  • Skill files: completed.
  • Verification: completed.
  • Generated Dojo replacement: pending.
  • Cloud Dojo publication: pending.

Verification Commands

Commands run:

yarn workspace @epicdm/flowstate-connector typecheck
yarn workspace @epicdm/flowstate-connector test
yarn workspace @epicdm/flowstate-connector lint
yarn workspace @epicdm/flowstate-connector build
yarn nx build @epicdm/flowstate-connector

Results:

  • Skill file ASCII scan passed.
  • Typecheck passed.
  • Package build passed.
  • Nx build passed; dependent builds were read from cache and Nx Cloud reported the existing unconnected-workspace 401.
  • Tests failed 1 stale MCP route assertion: src/mcp/__tests__/route.test.ts expected the older tool list and did not include connector-mail-mailboxes, connector-mail-pull, connector-mail-send, connector-mail-test, connector-smtp-send, connector-smtp-setup, or connector-update-provider-config.
  • Lint did not run because the package script resolved eslint as missing: command not found: eslint.

Publication Gate

Do not publish existing .flowstate/dojo artifacts until they are rebuilt from reviewed package skills.

Usage

Start with this skill to understand the package purpose, then use the package-local focused skills for specific workflows. Keep this Dojo version aligned with packages/flowstate-connector/package.json. Do not treat generated feature lists as lessons; use workflow evidence from CODE-REVIEW.md, SKILL-INVENTORY.md, and REVIEW.md.

Install

Run this in your project to install via CLI:

fscloud dojo skill install flowstate-epic-flowstate-community-epicdm-flowstate-connector --target <target> --out ./skills

Replace <target> with your agent target identifier. See the CLI docs for details.