Agent skill

Pitchfork

by speakeasy-api in speakeasy-api/gram

Manage Gram's local development services (server, worker, dashboard, streams, etc.) with pitchfork — start/stop/restart daemons, check health, and query their logs.

AGPL-3.0Auto-check passedAgent Workflows

Install Pitchfork

skills CLI
$ npx skills add speakeasy-api/gram --skill pitchfork -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install speakeasy-api/gram pitchfork --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/speakeasy-api/gram.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pitchfork .claude/skills/pitchfork && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pitchfork
GitHub stars
272
Token cost
~1.4k tokens
SKILL.md length
472 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Manage Gram's local development services (server, worker, dashboard, streams, etc.) with pitchfork — start/stop/restart daemons, check health, and query their logs.

  • Works in 3 steps: MCP server — if the pitchfork MCP tools… → CLI — otherwise use the pitchfork CLI… → Mise tasks — mise run start / mise run…
  • Agent Workflows work in your project
  • SKILL.md covers How to interact with pitchfork…, Daemons, Whole-stack lifecycle and Individual daemons, plus 2 more sections
  • Calls mise

What it does

Pitchfork is an agent skill from speakeasy-api/gram. Manage Gram's local development services (server, worker, dashboard, streams, etc.) with pitchfork — start/stop/restart daemons, check health, and query their logs. Activate whenever you need to bring up the local dev stack, restart a service after a code change, check whether a service is running or why it failed, or read/search service logs — even if the user just says "start the server", "is the worker running?", or "check the logs".

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: Securely scale AI usage across your organization. A single stack to Connect, Secure, Observe and Distribute agents, MCPs, and Skills within your company. The licence is AGPL-3.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “start the server”
  • “is the worker running?”
  • “check the logs”
  • “/pitchfork”

Requirements

  • Python 3
  • Docker

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. MCP server — if the pitchfork MCP tools are available (pitchfork_status, pitchfork_logs, pitchfork_start, pitchfork_stop…
  2. CLI — otherwise use the pitchfork CLI directly (commands below).
  3. Mise tasks — mise run start / mise run stop bring the whole stack up/down. Use these for whole-stack operations even when the MCP/CLI are…

What it can do on your machine

Read from SKILL.md and the folder at commit ad78247. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • mise

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • pitchfork.jdx.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pitchfork loads about 1.4k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 472 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from speakeasy-api/gram at commit ad78247, republished under its AGPL-3.0 licence (© speakeasy-api). 472 words, ~1,407 tokens.

Download SKILL.mdSave it as .claude/skills/pitchfork/SKILL.md (or your agent's skills folder).
name
pitchfork
description
Manage Gram's local development services (server, worker, dashboard, streams, etc.) with pitchfork — start/stop/restart daemons, check health, and query their logs. Activate whenever you need to bring up the local dev stack, restart a service after a code change, check whether a service is running or why it failed, or read/search service logs — even if the user just says "start the server", "is the worker running?", or "check the logs".

Pitchfork — Local Dev Services

Pitchfork is a daemon manager. All Gram local services are declared in pitchfork.toml at the repo root and run under a pitchfork supervisor. Each daemon's run command is a mise task (mise run start:<name>) and its readiness is polled via mise run check:daemon --name <name>, so start only returns once the service is actually healthy.

How to interact with pitchfork (in order of preference)

  1. MCP server — if the pitchfork MCP tools are available (pitchfork_status, pitchfork_logs, pitchfork_start, pitchfork_stop, pitchfork_restart), use them. They return structured output and skip pager/formatting concerns entirely.
  2. CLI — otherwise use the pitchfork CLI directly (commands below).
  3. Mise tasks — mise run start / mise run stop bring the whole stack up/down. Use these for whole-stack operations even when the MCP/CLI are available, because mise run start also starts the supervisor and cleans up stale daemon entries. If the pitchfork binary itself is missing, run mise install first (mise provides it).

Daemons

Declared in pitchfork.toml. Names are shown namespaced by project (e.g. gram/server) in pitchfork list, but commands accept the short name (server).

DaemonWhat it is
serverMain Gram API server
workerTemporal worker
dashboardDashboard frontend dev server (depends on server)
streamsGo Pub/Sub consumers (gram streams)
pystreams-multiPython Pub/Sub consumers
assistant-runtimeAssistant runtime
dev-idp, dev-idp-dashboard, mock-oidcLocal identity providers (login is credential-less)
adminAdmin app (depends on mock-oidc)
tunnel-gatewayTunnel gateway

Whole-stack lifecycle

bash
mise run start   # supervisor start + stop + clean + start --all-local
mise run stop    # pitchfork stop --all-local

mise run start cleanly stops and restarts everything. If services fail because Docker infra (Postgres, ClickHouse, etc.) isn't up, run ./zero --agent for full environment setup instead.

Individual daemons

pitchfork start is idempotent — it does nothing if the daemon is already running. After changing Go/backend code you must restart the affected daemon to pick up the change:

bash
pitchfork start server worker      # start if not running (waits for ready)
pitchfork restart server           # stop + start (use after code changes)
pitchfork start server --force     # same as restart
pitchfork stop server

If commands fail because the supervisor isn't running, start it with pitchfork supervisor start.

Show full SKILL.md (169 more words)Show less

Status

bash
pitchfork list                     # all daemons + status (running/available/errored/...)
pitchfork list --json              # machine-readable
pitchfork list --status errored --status failed   # only broken daemons
pitchfork status server            # detail for one daemon, includes error/exit info

available means defined in config but not started. errored includes the exit reason — follow up with logs.

The MCP pitchfork_status tool returns a JSON array covering all daemons (equivalent to pitchfork list --json); there is no per-daemon MCP detail call, so use pitchfork status <name> on the CLI when you need one daemon's full detail.

Logs

This is the primary debugging tool. Logs persist across restarts and are timestamped.

bash
pitchfork logs server -n 100               # last 100 lines
pitchfork logs server worker -n 50         # multiple daemons interleaved
pitchfork logs server --since 5min         # relative time window
pitchfork logs server --since '10:30' --until '11:00'
pitchfork logs server --grep error --grep panic   # OR'd, case-insensitive
pitchfork logs server --regex 'level=(warn|error)'

Tips for agent use:

  • Add --no-pager --raw when piping or capturing output.
  • Do not use --tail/--follow — it blocks forever. Prefer bounded queries (-n, --since) and poll if needed.
  • After a restart, pitchfork logs <name> --since 1min shows just the fresh boot output.
  • The MCP pitchfork_logs tool only supports "last N lines" (default 50); drop to the CLI when you need time windows or grep filters.
  • Lines like [start:server] ERROR ... exited with non-zero status appear on every normal stop/restart — they are supervisor noise, not crashes. Look at the surrounding lines (clean shutdown sequence vs. panic/fatal) before concluding a service crashed.

© speakeasy-api, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/pitchfork of speakeasy-api/gram.

Open the folder on GitHubat commit ad78247

Compare with similar skills

Pitchfork next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pitchfork compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pitchfork this skillspeakeasy-api/gram272—~1.4kAutomated safety check: PassAGPL-3.0
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
Brainstormingxpinjection/test-driven-spring-boot11254 repos~2.6kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
MCP Server Builder with mcp-usemcp-use/mcp-use11k—~923Automated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Brainstorming

    xpinjection/test-driven-spring-boot

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.

    112 GitHub starsUsed in 54 repos~2.6k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Builds, modifies, debugs, migrates and verifies TypeScript MCP servers and MCP Apps with the mcp-use framework, treating the installed package's types as the source of truth.

    11k GitHub stars~923 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agents SDK

    cloudflare/skills

    Official

    Build, debug, or review Cloudflare Agents SDK applications using the agents package.

    3k GitHub starsUsed in 2 repos~3k tokens
    Agent WorkflowsAuto-check passed

More from speakeasy-api/gram

All 39 skills in this repo
  • Gram Playwright CLI

    speakeasy-api/gram

    A skill your agent uses when automating the Gram dashboard in a browser, capturing screenshots, inspecting pages.

    272 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Transactional Email

    speakeasy-api/gram

    A skill your agent uses when adding, changing, restyling, reviewing, validating, or previewing a Gram/Speakeasy transactional email, in Go or in LMX/MJML — a template<name.go, a TemplateKey…

    272 GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Admin Shadcn

    speakeasy-api/gram

    A skill your agent uses when adding, changing, or styling UI in client/admin (the Gram admin dashboard) that touches shadcn/ui — a button, dialog, table, sidebar, badge, select, tabs, tooltip, card…

    272 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when adding, editing, reviewing, testing, or locating a reviewed skill distributed with the Platform MCP plugin; triggers include "Platform MCP skill", "platformmcpskills"…

    272 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Clickhouse

    speakeasy-api/gram

    A skill your agent uses when changing or reviewing Gram ClickHouse schemas, migrations, queries, inserts, access principals, bootstrap SQL, Cloud compatibility, partial migration failures, or…

    272 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Feature Flag

    speakeasy-api/gram

    A skill your agent uses when gating a feature behind a flag, dogfooding or gradually rolling out a change, choosing between productfeatures and PostHog feature flags, adding or checking a product…

    272 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Questions about Pitchfork

What does Pitchfork do?

Manage Gram's local development services (server, worker, dashboard, streams, etc.) with pitchfork — start/stop/restart daemons, check health, and query their logs. Pitchfork is an agent skill from speakeasy-api/gram.) with pitchfork — start/stop/restart daemons, check health, and query their logs.

When should I use Pitchfork?

Pitchfork fits situations like: agent Workflows work in your project.

How do I install Pitchfork in Claude Code?

Run `npx skills add speakeasy-api/gram --skill pitchfork -a claude-code`. Or copy the skill folder (.agents/skills/pitchfork in speakeasy-api/gram) into .claude/skills/pitchfork in your project. Claude Code loads it when a task matches its description.

How do I install Pitchfork in Codex?

Run `npx skills add speakeasy-api/gram --skill pitchfork -a codex`. Or copy the skill folder (.agents/skills/pitchfork in speakeasy-api/gram) into .agents/skills/pitchfork in your project. Codex loads it when a task matches its description.

Can I use Pitchfork in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add speakeasy-api/gram --skill pitchfork -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pitchfork, .gemini/skills/pitchfork, .github/skills/pitchfork and .opencode/skills/pitchfork in your project.

What does Pitchfork need to run?

Going by SKILL.md and its folder, Pitchfork needs the command-line tools its instructions call (mise). Our summary lists: Python 3; Docker.

Does Pitchfork access the network?

SKILL.md names 1 domain. As links in the text: pitchfork.jdx.dev. This is read from the text; nothing was executed.

Is Pitchfork safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pitchfork use?

Pitchfork is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pitchfork use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pitchfork?

Skills that share tags, products or a category with Pitchfork: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), Brainstorming (xpinjection/test-driven-spring-boot, 112 stars) and MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pitchfork?

speakeasy-api (a GitHub organization) maintains it in speakeasy-api/gram, which has 272 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 8, 2026.

Source: speakeasy-api/gram on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.