t0ddc3by/claude-for-customer-success/csql-tracking

Claude Code and agent skill by t0ddc3by/claude-for-customer-success

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Manages the lifecycle of Customer Success Qualified Leads (CSQLs) — create, update, close, and query operations — with persistent filesystem storage, status state machine enforcement, and inter-skill contract consumption from csm:expansion-business-case.

Install

npx vskill@latest install t0ddc3by/claude-for-customer-success/csql-tracking

SKILL.md

[VALIDATED]

Overview

rev-ops:csql-tracking manages the full lifecycle of Customer Success Qualified Leads (CSQLs) — the handoff artifact produced by csm:expansion-business-case [mode=csql] — from CS handoff through closed/won or terminal pipeline states. It provides RevOps with a persistent, queryable portfolio of active and closed CSQLs within the CS plugin's filesystem control plane.

This skill is the downstream consumer in a two-skill inter-skill contract:

csm:expansion-business-case [mode=csql]
↓ emits CSQL Qualification Package
rev-ops:csql-tracking [operation=create]
↓ persists to context/csql-*.md

Four operations are supported: create, update, close, query.


Pre-flight

Read ~/.claude/plugins/config/claude-for-customer-success/rev-ops/CLAUDE.md and ~/.claude/plugins/config/claude-for-customer-success/company-profile.md.

If either is missing or contains [PLACEHOLDER] markers, stop and prompt for /rev-ops:cold-start-interview.

Note from config: cs_platform_connected

G-code dependency: All G-code guardrails referenced in this skill (G1–G9) are defined in the CLAUDE.md config loaded above. If Pre-flight halts or config is missing, G-codes are undefined — do not proceed with partial config.


Use When

  • A CSM has completed a CSQL Qualification Package via csm:expansion-business-case [mode=csql] and needs to register it in the CSQL pipeline
  • RevOps or an AE needs to update a CSQL status, assign an AE, or append notes to an existing record
  • A deal reaches a terminal state (won, lost, or stalled) and needs to be formally closed in the tracker
  • RevOps wants a portfolio view of active or closed CSQLs, with filtering by status, CSM, AE, or account, and sorting by creation date or close date

Do NOT Use For

  • Generating CSQL Qualification Packages — use csm:expansion-business-case [mode=csql] for that
  • CRM integration or external data writes of any kind
  • Revenue forecasting or pipeline analytics
  • Notification or alerting workflows

Typical Activation

  • "Register this CSQL for Acme Corp"
  • "Update CSQL-ACME-20260516-001 status to qualified"
  • "Close CSQL-WIDG-20260510-002 — won at $42,000"
  • "Show me all active CSQLs assigned to Jane"
  • "Log a CSQL for Thorngate Partners — here's the qualification package"

Reasoning Protocol

Before generating output, apply these primers:

  1. CLASSIFY: What type of CSQL operation is this?
  • Create (ingest a new CSQL Qualification Package and persist a new record)
  • Update (modify mutable fields on an existing CSQL record)
  • Close (set a CSQL to a terminal state — won, lost, or stalled)
  • Query (retrieve, filter, and surface one or more CSQL records)
  1. CONSTRAINTS: What limits the solution space?
  2. Confirm activation — user requesting CSQL lifecycle management or retrieval
  3. Resolve the target CSQL record(s) from filesystem; declare file path and data-as-of context
  4. Apply G9 — all filesystem write operations (create, update, close) require explicit user confirmation before execution; surface as draft and await approval
  5. Enforce immutable field lock — csql_id, created_at, csm_owner, and source_skill fields cannot be modified after record creation under any circumstance
  6. Enforce terminal state immutability — records in won, lost, or stalled status cannot be reopened, updated, or re-staged; surface the block explicitly if attempted
  7. Validate status transitions against the state machine before proposing any update; reject invalid transitions with a clear explanation
  8. Confirm output destination before delivering — inline summary vs. formatted table vs. full record dump
  1. EXPERT CHECK: What would a veteran RevOps CSQL lifecycle analyst verify before executing?
  • Is the CSQL ID being referenced one that actually exists in the filesystem? Fabricating or inferring a CSQL ID from partial context before confirming the record exists produces phantom operations. Read the record first, then act.
  • Is the requested status transition valid per the state machine? The lifecycle is create → qualified → in_negotiation → won/lost/stalled. Skipping stages (create → won) or reversing direction (won → in_negotiation) are not supported — the analyst flags and blocks, not silently accepts.
  • Is the close operation being performed with sufficient terminal-state data? A won close requires ACV; a lost close requires lost_reason. Attempting to close without required fields is a partial write — surface the missing data requirement before writing anything.
  • Is the query filter producing the intended scope? Filters default to active records (exclude_closed=true); a query that silently omits closed records when the user asked "all CSQLs" is a silent data gap. Confirm include_closed intent before executing.
  1. ANTI-PATTERNS: Common mistakes to avoid:
  • Attempting to modify csql_id, created_at, csm_owner, or source_skill after record creation — these are immutable and the operation must be blocked, not silently ignored
  • Attempting to update or close a record already in won, lost, or stalled status — terminal states are locked; surface the block with the current terminal state and explain why the operation cannot proceed
  • Executing filesystem writes (create, update, close) without surfacing the draft for G9 confirmation first — this is a write-tier protocol violation
  • Silently rejecting an invalid status transition without explaining what transitions are valid from the current state — the user needs the valid path forward, not just a block
  • Returning query results that omit closed records when the user's intent was a full-portfolio view — always confirm include_closed scope for broad queries

After execution, verify:

  • G9 confirmation surfaced for all filesystem write operations — no writes executed autonomously
  • Immutable field lock enforced — no csql_id, created_at, csm_owner, or source_skill mutations accepted
  • Terminal state immutability enforced — no won/lost/stalled record updates or reopens executed
  • Status transition validated against state machine before any update was proposed
  • Confidence: High when CSQL record retrieved directly from filesystem and field values confirmed; Moderate when record inferred from context or CSQL ID not yet confirmed in filesystem
  • Confidence: [High] when CSQL record retrieved directly from filesystem and field values confirmed / [Medium] when record inferred from context or CSQL ID not yet confirmed in filesystem / [Low] if all inputs are manual or unverified

Operations

create

Purpose: Ingest a completed CSQL Qualification Package and persist a new CSQL record to the filesystem.

Parameters:

FieldTypeRequiredDescription
operationstringYesMust be "create"
account_namestringYesAccount name — matches the Account field in the CSQL package. Locked at creation (immutable).
csql_packagestringYesFull CSQL Qualification Package content from csm:expansion-business-case [mode=csql]. Stored verbatim.
csm_namestringYesCSM who owns this CSQL.
expansion_productstringYesProduct, tier, or capability being proposed.
expansion_amountstringNoEstimated expansion ARR (e.g., "~$42,000 ARR").
ae_ownerstringNoAssigned AE. Defaults to [Unassigned] if not provided.
target_close_datestringNoISO date — expected decision date.

Auto-generated fields (immutable after creation):

FieldGeneration rule
csql_idCSQL-[ACCT]-[YYYYMMDD]-[SEQ] — see Filesystem Architecture
created_atISO 8601 datetime at time of create call
created_bySession user identity
account_nameCaptured from input; locked — cannot be modified via update

Behavior:

  1. Sanitize account_name via safe_account() for filesystem path derivation.
  2. Derive csql_id using Auto-ID generation rules (see Filesystem Architecture).
  3. Write context file: context/csql-[safe_account]-[YYYY-MM-DD]-v1.md
  4. Append initial transition log entry: [created]
  5. Set initial status to new.

Output: Returns csql_id and the path of the created context file.

Error conditions:

  • account_name empty or missing → rejected with field validation error
  • csql_package empty or missing → rejected with field validation error
  • csm_name empty or missing → rejected with field validation error
  • expansion_product empty or missing → rejected with field validation error

update

Purpose: Partially modify a non-terminal CSQL record — status progression, AE assignment, close date update, or note append.

Parameters:

FieldTypeRequiredDescription
operationstringYesMust be "update"
csql_idstringYesTarget CSQL ID (e.g., CSQL-ACME-20260516-001)
statusstringNoNew status — must pass transition guard (see Status State Machine)
ae_ownerstringNoAssign or reassign AE
target_close_datestringNoUpdate expected close date (ISO date)
notesstringNoAppend-only — new note is appended to the Notes section, not replaced
meddic_updatesobjectNoUpdated MEDDIC field values
overridebooleanNotrue permits backward status transitions on non-terminal records (admin correction only)

Immutable fields — rejected if included in `update` payload:

FieldError response
csql_idImmutable field error: csql_id cannot be modified after creation.
created_atImmutable field error: created_at cannot be modified after creation.
created_byImmutable field error: created_by cannot be modified after creation.
account_nameImmutable field error: account_name cannot be modified after creation.

Behavior:

  1. Locate the latest version file for the target csql_id.
  2. Verify record is not in a terminal state (won, lost, stalled). If terminal → reject with: Update rejected: CSQL-[ID] is in terminal state [status] and cannot be modified.
  3. If status is provided, validate against the transition guard. Reject invalid transitions.
  4. Write new version file (v[N+1]). Prior version is preserved — never overwritten.
  5. Append transition log entry if status changed.
  6. Append note if notes provided.

Output: Returns updated csql_id, new version path, and transition log entry (if status changed).

Error conditions:

  • csql_id not found → not-found error
  • Record in terminal state → terminal-lock error
  • Invalid status transition (no override) → transition guard rejection with valid next states listed
  • Override on terminal state → rejected: Override rejected: terminal state [status] is immutable and cannot be overridden. Create a new CSQL to re-pursue this opportunity.

close

Purpose: Set a CSQL to a terminal state and lock the record.

Parameters:

FieldTypeRequiredDescription
operationstringYesMust be "close"
csql_idstringYesTarget CSQL ID
terminal_statusstringYesOne of: won, lost, stalled
close_reasonstringYesFree-text reason for closure
close_datestringNoISO date — defaults to today if not provided
won_amountstringConditionalRequired when terminal_status == won

Behavior:

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
62
Repository forks
21
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/t0ddc3by/claude-for-customer-success/csql-tracking/badge)](https://verified-skill.com/skills/t0ddc3by/claude-for-customer-success/csql-tracking)

Something wrong with this skill or its page? Tell us.