# join_forge_cohort

Join the signed-in person to Pirate Forge live sessions: a whole cohort from now on (phase "all") or one phase ("build" or "grow"), by quarter key from my_forge_sessions. Only sessions still ahead are added; needs active Forge access. The answer says whether the calendar invite went out or Ben adds it by hand.

Needs sign-in · 1 gold · Changes something – ask first

## Input

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `quarterKey` | `string` | Yes | The quarter, e.g. "2026_q4" (from my_forge_sessions). |
| `phase` | `"build" \| "grow" \| "all"` | Yes | "build" (weeks 1–6), "grow" (weeks 7–12), or "all" for the whole cohort from now on. |

## Over HTTP

```bash
curl -X POST https://pirateskills.com/api/public/agent/tools/join_forge_cohort \
  -H "Authorization: Bearer $PIRATESKILLS_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "quarterKey": "<quarterKey>", "phase": "build" }'
```

## From the CLI

```bash
pirateskills run join_forge_cohort --json '{ "quarterKey": "<quarterKey>", "phase": "build" }'   # asks y/N first
```

## Over MCP

Call `join_forge_cohort` on `https://pirateskills.com/mcp`. The tool is marked as one that changes something, so a well-behaved client asks the person first. [Connect over MCP](https://pirateskills.com/docs/mcp)

## JSON Schema

```json
{
  "type": "object",
  "properties": {
    "quarterKey": {
      "type": "string",
      "pattern": "^\\d{4}_q[1-4]$",
      "description": "The quarter, e.g. \"2026_q4\" (from my_forge_sessions)."
    },
    "phase": {
      "type": "string",
      "enum": [
        "build",
        "grow",
        "all"
      ],
      "description": "\"build\" (weeks 1–6), \"grow\" (weeks 7–12), or \"all\" for the whole cohort from now on."
    }
  },
  "required": [
    "quarterKey",
    "phase"
  ]
}
```

---
Source: https://pirateskills.com/docs/tools/join_forge_cohort · All docs: https://pirateskills.com/docs.md · Short overview: https://pirateskills.com/llms.txt
