fullstackgtm 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
5
5
  and the project adheres to [Semantic Versioning](https://semver.org/).
6
6
  The path to 1.0 is planned in [docs/roadmap-to-1.0.md](./docs/roadmap-to-1.0.md).
7
7
 
8
+ ## [0.25.0] — 2026-06-12
9
+
10
+ ### Added
11
+
12
+ - **Agent skill distribution** — `npx skills add fullstackgtm/core` installs
13
+ [skills/fullstackgtm/SKILL.md](./skills/fullstackgtm/SKILL.md) into any
14
+ skills-compatible agent (Claude Code, Cursor, Codex, …): a compact operating
15
+ guide covering the governed audit → suggest → approve → apply loop, the
16
+ non-negotiable safety invariants, the verb map, and the credential ladder.
17
+ Documentation only — no runtime surface changes.
18
+
8
19
  ## [0.24.0] — 2026-06-12
9
20
 
10
21
  ### Added
package/README.md CHANGED
@@ -27,7 +27,13 @@ Requires Node 20+. The core has zero runtime dependencies; only the MCP server e
27
27
  npx fullstackgtm doctor # verify the install: node version, credentials, MCP peers, next step
28
28
  ```
29
29
 
30
- Installing for an AI agent? Hand it [INSTALL_FOR_AGENTS.md](./INSTALL_FOR_AGENTS.md) a deterministic install-and-verify script with expected outputs. A documentation map lives in [llms.txt](./llms.txt).
30
+ Installing for an AI agent? The fastest path is the agent skill:
31
+
32
+ ```bash
33
+ npx skills add fullstackgtm/core # Claude Code, Cursor, Codex, and other skills-compatible agents
34
+ ```
35
+
36
+ It installs a compact operating guide ([skills/fullstackgtm/SKILL.md](./skills/fullstackgtm/SKILL.md)) — the governed loop, the safety invariants, and the verb map — so the agent reaches for plans instead of raw writes. For a deterministic install-and-verify script with expected outputs, hand it [INSTALL_FOR_AGENTS.md](./INSTALL_FOR_AGENTS.md). A documentation map lives in [llms.txt](./llms.txt).
31
37
 
32
38
  ## Five-minute loop
33
39
 
package/llms.txt CHANGED
@@ -14,6 +14,7 @@ at/above `--fail-on`.
14
14
 
15
15
  - [README](https://github.com/fullstackgtm/core/blob/main/README.md): install, five-minute loop, auth ladder, MCP setup, programmatic use
16
16
  - [INSTALL_FOR_AGENTS](https://github.com/fullstackgtm/core/blob/main/INSTALL_FOR_AGENTS.md): deterministic install-and-verify steps with expected outputs
17
+ - [Agent skill](https://github.com/fullstackgtm/core/blob/main/skills/fullstackgtm/SKILL.md): compact operating guide, installable via `npx skills add fullstackgtm/core`
17
18
  - [API reference](https://github.com/fullstackgtm/core/blob/main/docs/api.md): semver-covered surfaces — canonical model, rule interface, plan/apply contract, connector contract, config, CLI, MCP tools
18
19
  - [CRM-health lifecycle](https://github.com/fullstackgtm/core/blob/main/docs/crm-health-lifecycle.md): the Prevent → Detect → Remediate → Verify/Attribute model; no-new-dupes design
19
20
  - [CHANGELOG](https://github.com/fullstackgtm/core/blob/main/CHANGELOG.md): release history
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fullstackgtm",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "description": "Open-source agentic GTM ops framework: canonical GTM data model, pluggable deterministic audits, reviewable dry-run patch plans, approval-gated write-back with conflict detection, and cross-system entity resolution. HubSpot, Salesforce, and Stripe connectors included.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Full Stack GTM",
@@ -30,6 +30,7 @@
30
30
  "CHANGELOG.md",
31
31
  "INSTALL_FOR_AGENTS.md",
32
32
  "llms.txt",
33
+ "skills",
33
34
  "LICENSE"
34
35
  ],
35
36
  "scripts": {
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: fullstackgtm
3
+ description: Govern CRM/GTM data operations through the fullstackgtm CLI — read-only hygiene audits, reviewable dry-run patch plans, deterministic value suggestions, and approval-gated write-back to HubSpot and Salesforce. Use when asked to audit, clean, dedupe, enrich, bulk-update, reassign, or write to a CRM; to gate record creation against duplicates; to parse, score, or link sales call transcripts; to map a competitive category; or to schedule any of the above. Never write to a CRM directly when this skill is available.
4
+ ---
5
+
6
+ # fullstackgtm — plan/apply for your GTM stack
7
+
8
+ Think `terraform plan` for the CRM: you may *read* everything, but every
9
+ proposed change is a typed patch operation — object, field, before, after,
10
+ reason, risk — that a human approves before any provider write happens.
11
+ Connectors: HubSpot (read/write), Salesforce (read/write), Stripe (read-only).
12
+ Requires Node 20+; every command below works zero-install via `npx`.
13
+
14
+ ## Non-negotiable invariants
15
+
16
+ - `audit` and `suggest` never mutate anything. `apply` writes ONLY operation
17
+ ids explicitly passed via `--approve` (or a plan a human approved with
18
+ `plans approve`). Do not attempt to bypass this; surface the plan instead.
19
+ - Operations whose value is a human decision carry `requires_human_*`
20
+ placeholders and are refused without a concrete `--value <opId>=<v>`
21
+ override. Never guess values — chain `suggest` (deterministic, evidence-
22
+ backed) and leave `low`/`create`/`none`-confidence entries to the human.
23
+ - Secrets are never accepted as argv flags: env vars or stdin only
24
+ (`echo "$TOKEN" | fullstackgtm login hubspot`). Set `FSGTM_NO_BROWSER=1`
25
+ in headless environments.
26
+ - Exit codes everywhere: `0` success, `1` error, `2` findings/matches at or
27
+ above the threshold (gate-shaped for scripts).
28
+
29
+ ## Verify the install, then prove the pipeline with zero credentials
30
+
31
+ ```bash
32
+ npx fullstackgtm doctor --json # node.ok: true + package.version
33
+ npx fullstackgtm audit --demo --json # dry-run plan over a seeded messy CRM
34
+ ```
35
+
36
+ ## The governed loop (the core of everything)
37
+
38
+ ```bash
39
+ fullstackgtm audit --provider hubspot --save # read-only → saved plan id
40
+ fullstackgtm suggest --plan-id <id> --provider hubspot --out suggestions.json
41
+ fullstackgtm plans approve <id> --values-from suggestions.json # high-confidence only
42
+ fullstackgtm apply --plan-id <id> --provider hubspot # writes ONLY approved ops
43
+ ```
44
+
45
+ Credentials resolve in order: `--token-env <NAME>` → ambient env
46
+ (`HUBSPOT_ACCESS_TOKEN`; `SALESFORCE_ACCESS_TOKEN` + `SALESFORCE_INSTANCE_URL`;
47
+ `STRIPE_SECRET_KEY`) → stored `fullstackgtm login <provider>` → broker pairing.
48
+ In a sandbox prefer the first two. LLM-powered verbs (`call parse`, `call
49
+ score`, `market classify`) take `ANTHROPIC_API_KEY`/`OPENAI_API_KEY`, or use
50
+ their deterministic/worksheet fallbacks — the CLI never prompts when
51
+ non-interactive.
52
+
53
+ ## Verb map
54
+
55
+ | Verb | What it does |
56
+ | --- | --- |
57
+ | `resolve <contact\|account\|deal>` | Create gate: exit 0 = safe to create, 2 = exists/ambiguous — never blind-create |
58
+ | `dedupe <object> --key <domain\|email\|name>` | One merge op per duplicate group, deterministic survivor; merges are irreversible |
59
+ | `bulk-update <object> --where … --set\|--archive\|--create-task` | Filtered dry-run plan; filter re-verified per record at apply time |
60
+ | `reassign --from <owner> --to <owner>` | Ownership handoff plans per object type |
61
+ | `fix --rule <id>` | audit one rule → suggest → approve at the confidence bar → apply only with `--yes` |
62
+ | `call parse\|score\|link\|plan` | Transcripts → evidence-quoted insights, rubric scorecards, deal linking, governed next-step writes |
63
+ | `enrich append\|refresh\|ingest\|status` | Governed enrichment (Apollo pull / Clay ingest), fill-blanks-only plans |
64
+ | `market capture\|classify\|worksheet\|observe\|fronts\|axes\|overlay\|scale\|report\|refresh` | Competitive category map; evidence quotes verified verbatim against stored captures |
65
+ | `schedule add\|install\|run\|status` | Horizontal cron; read/plan-side allowlist only — scheduling NEVER auto-approves |
66
+ | `plans list\|approve` / `snapshot` / `rules` / `doctor` | Plan lifecycle, raw snapshots, rule registry, machine state |
67
+
68
+ All write-shaped verbs produce plans; none writes outside approve → apply.
69
+ Add `--json` for machine-readable output on any command.
70
+
71
+ ## MCP server (alternative surface, same gates)
72
+
73
+ ```bash
74
+ npx -y -p fullstackgtm -p @modelcontextprotocol/sdk -p zod fullstackgtm-mcp
75
+ ```
76
+
77
+ Tools over stdio: `fullstackgtm_audit` (read-only), `fullstackgtm_rules`,
78
+ `fullstackgtm_suggest`, `fullstackgtm_call_parse`,
79
+ `fullstackgtm_apply` (requires `approvedOperationIds`),
80
+ `fullstackgtm_resolve`, `fullstackgtm_market_worksheet`,
81
+ `fullstackgtm_market_observe`.
82
+
83
+ ## Going deeper
84
+
85
+ - [llms.txt](https://github.com/fullstackgtm/core/blob/main/llms.txt) — the full invariant map per layer (calls, market, write verbs, enrich, schedule)
86
+ - [INSTALL_FOR_AGENTS.md](https://github.com/fullstackgtm/core/blob/main/INSTALL_FOR_AGENTS.md) — deterministic install-and-verify with expected outputs
87
+ - [docs/api.md](https://github.com/fullstackgtm/core/blob/main/docs/api.md) — semver-covered surfaces: canonical model, rule interface, plan/apply contract, connectors, config, CLI, MCP