# Gtm Workspace

> Triggers when the user invokes `/gtm-workspace` or asks to create, import, update, delete, validate, migrate, or repair a GTM workspace repo or folder, including adding members or suborganizations. Not for defining ICPs or personas, or for tasks that merely use an existing workspace without changing or validating it.

- Skill: `eliasstravik/gtm-workspace` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add eliasstravik/gtm-workspace`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eliasstravik/gtm-workspace/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: eliasstravik (https://skillmd.com/u/eliasstravik)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/eliasstravik/gtm-workspace

---


# GTM Workspace

## Trigger

Apply this Lifecycle SOP when the requested outcome creates, imports, maintains, validates, repairs, or retires the GTM workspace itself.

## Scope

Own the plain-Markdown workspace at `~/.gtm/<org-slug>/` across creation, import, organization and member maintenance, legacy-shape migration, structural or Git repair, and deletion. Create and fully research `ORG.md` artifacts with the shared company-data contract and `MEMBER.md` artifacts with the shared person-data contract. Preserve node-owned ICP and persona artifacts without authoring or validating their contents.

**Contract**

| Field | Public contract |
| --- | --- |
| Reads | The user's accepted organization facts, repository connection rules, valid local workspaces, and safe supplied sources |
| Writes | Workspace contract files, organization nodes, member files, repository configuration, and accepted structural repairs |
| Outputs | The requested workspace state summarized by display name and owner chain, a complete health report, or a fixed-connection refusal |
| Approval | The user accepts a plain-language proposal naming each artifact and its exact effect before every durable change and any whole-workspace deletion; a hosted surface's native approval control may be that acceptance |
| Persists | Accepted workspace files and configuration in `main` Git history; no hidden coordination state |
| Handoff | `gtm-icp` for market definitions, `gtm-persona` for buyer definitions, and `gtm-workflow` for saved workflows |

## Inputs

Use the user's request and accepted facts, the hosting environment's repo connection and durable-write declarations, valid local workspaces, and safe supplied sources.

## Roles

The agent owns the selected lifecycle flow. The user accepts durable changes and whole-workspace deletion. The hosting environment declares fixed connections and any replacement persistence mechanism.

## Procedure

| Condition | Owned flow |
| --- | --- |
| A fixed-connection deployment receives import, sharing setup, whole-workspace deletion, a create for a repo other than the connected one, or another connection-changing request | Refuse and redirect through the surface-refusal flow; perform nothing for that request |
| Create is requested on a fixed-connection deployment whose connected repo has no root `ORG.md` or legacy `org.md` | Guide the create flow with its connected-repo substitutions; the first saved change writes `ORG.md` together with the contract files |
| No lifecycle verb is clear | Guide the lifecycle menu and retain ownership of the selected flow |
| Create is requested | Ask one grouped intake, research every supplied source, present one proposal for the organization and every supplied suborganization and member, save once, then offer sharing and close |
| Import is requested | Guide a local copy or GitHub clone through inventory, accepted conversion, history, optional sharing, and summary |
| Update is requested | Resolve the target, describe the changed facts, save the accepted changes, and close |
| Delete is requested | Resolve the target, describe consequences, obtain the required confirmation, delete, and explain recovery where available |
| Doctor or migration is requested, or the workspace seems wrong | Run every contract, legacy-shape, and Git check; describe accepted repairs or migrations; save one change set; and report complete health |

## Outputs

Produce the requested workspace state and a plain-language summary by display name and owner chain, or a complete health report for doctor. A refused fixed-connection operation produces only the prescribed explanation and CLI redirect; a connected repo that is not set up yet is created in place, not refused.

## Exceptions

If a required reference is unavailable, use `templates/AGENTS.md` as the minimum contract, keep every member under its owning organization node at `members/<member-slug>/MEMBER.md`, stay on `main`, and write nothing until the user accepts the proposal. If the environment cannot durably save an accepted operation, stop and offer the prescribed CLI recovery; never report it as saved.

## QC

- Follow the shared interaction standard for every question, proposal, approval, and closing message; ask every missing result-changing fact in one grouped message and never use `AskUserQuestion`.
- Describe every durable workspace action before writing and never show complete bytes unless asked; apply exactly the accepted proposal and preserve compatibility with the workspace contract. Name GitHub, the repository, or the folder only in import, sharing setup, whole-workspace deletion, and git-problem recovery; keep branch, remote, upstream, and command details internal unless a problem requires them or the user asks.
- Keep all 13 company-data fields in the required order for every new or fully researched `ORG.md`; preserve uncertainty and write `Unknown` instead of inventing or dropping unresolved facts.
- Keep all eight person-data fields in the required order for every new or fully researched `MEMBER.md`; retain the required supplied email outside that contract, preserve uncertainty, and write `Unknown` instead of inventing or dropping unresolved facts.
- Keep accepted changes on `main`, stage only accepted paths, inspect the staged diff, and close a verified durable result with `Saved.`
- Close only after every selected-flow completion criterion in `references/flows.md` is satisfied.

## References

- Read [the workspace contract](references/contract.md) for every flow; it defines storage, content, link safety, doctor checks, and persistence.
- Read [the company-data research contract](references/company-data.md) before creating or fully researching an `ORG.md`; it defines the ordered fields, value shapes, uncertainty rules, and shared ICP semantics.
- Read [the person-data research contract](references/person-data.md) before creating or fully researching a `MEMBER.md`; it defines the ordered fields, value shapes, uncertainty rules, supplied-email boundary, and shared persona semantics.
- Read [the shared interaction standard](references/interaction.md) before any user-facing message; it defines audience language, length and formatting, proposal shape, batching, grouped questions, approval by surface, and closing.
- Read [the guided flows](references/flows.md) after selecting the Procedure row; it defines intake, proposals, recovery, and closure.
- Render [templates](templates/) when creating or restoring contract files, replacing placeholders and omitting empty optional fields or sections.

