Skip to content
Marketing
Skill

/headless-gtm-shared

Reference module for the Headless GTM chain, not a skill to invoke. Holds the record contract every chain skill reads and writes (CONVENTIONS.md) plus the Python helpers they import (common.py, schema.py). Installed alongside the chain so those imports and references resolve;

From plugin
headless-gtm
2817 skills
Install
$ npx -y skills add Zevenue/headless-gtm --skill headless-gtm-shared --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/headless-gtm-shared

Context preview

The summary Claude sees to decide when to auto-load this skill.

Reference module for the Headless GTM chain, not a skill to invoke. Holds the record contract every chain skill reads and writes (CONVENTIONS.md) plus the Python helpers they import (common.py, schema.py). Installed alongside the chain so those imports and references resolve;

SKILL.md

headless-gtm-shared.SKILL.md
name: headless-gtm-shared
description: >
  Reference module for the Headless GTM chain, not a skill to invoke. Holds the
  record contract every chain skill reads and writes (CONVENTIONS.md) plus the
  Python helpers they import (common.py, schema.py). Installed alongside the
  chain so those imports and references resolve; read CONVENTIONS.md when you
  need the JSONL record shape, the runs/ layout, or the cost-gate rules.

`headless-gtm-shared` - the chain's record contract and helpers

This folder is a library, not a skill. Nothing invokes it directly. It ships as a skill folder for one reason: the `SKILL.md` marker is what makes skill installers copy a directory, and every chain skill depends on this one.

What is in here

| File | What it is | Who uses it | |---|---|---| | `CONVENTIONS.md` | The chain contract: JSONL records, additive per-stage fields, the `runs/<run-id>/` layout, deviation logging | Every chain skill references it; read it before changing any output format | | `common.py` | `.env` loading, the >$10 cost gate, output-dir resolution, run slugs, run metadata | Imported by the chain scripts | | `schema.py` | `ProspectRecord` construction and the CSV/JSON writers | Imported by the discovery scripts | | `requirements.txt` | The full dependency list for the chain, mirrored at the repo root | `pip install` |

If you are reading this because an import failed

A script exited with `cannot find headless-gtm-shared/common.py`. The skill was copied out without this folder. Copy `skills/headless-gtm-shared/` next to the skill that failed, so the layout is:

<skills-dir>/
├── headless-gtm-shared/          <- this folder
├── 02-apify-maps-discover/
└── ...

The `npx skills add` installer picks this folder up on its own. Only a manual single-folder copy can miss it.

Two rules worth knowing before you edit anything here

  • **`common.load_env()` never overwrites an exported variable.** A real shell

export or a secrets manager always beats a `.env` on disk. The loader only fills in what is missing.

  • **`common.resolve_out_dir()` writes under the current working directory**, not

under the skill. An installed skill is a read-only package; client output belongs in the project you are working in.

Read more
Ships withheadless-gtm

GTM without the SaaS layer. An outbound pipeline built as agent skills for Claude Code and Codex: describe an ICP in plain English and the chain takes it from company discovery to verified, signal-ranked contacts - every step running on raw vendor APIs, not

Get the whole plugin
Stats
28
Stars
6
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
5mo ago
Created

Repo: Zevenue/headless-gtm

Other skills on headless-gtm.