start-thread

start-thread is a skill for Claude Code from shck-dev/ccx-context-system. It costs 130 tokens per session (1,409 once invoked), scanned A, original, MIT.

A command for opening or resuming a tracked unit of work, such as a feature, bug, research task, refactor, or experiment. It creates a STATE handoff document for new work or briefs the agent from an existing one.

In plain words
What is it for?
Use it to create a new work thread, resume an existing thread, normalize its name, and inspect the relevant project and Git context.
Why use it?
It gives each piece of work a persistent place to record decisions and progress, making it easier to continue after context loss.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the ccx plugin — 3 skills, 3 hooks shipped together

Good fit Use it to create a new work thread, resume an existing thread, normalize its name, and inspect the relevant project and Git context.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add shck-dev/ccx-context-system
Claude Code
/plugin install ccx

Made for: Claude Code.

Or install ccx, the plugin that ships this one along with the rest of its 3 skills, 3 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for start-thread

README.md
[![agentmods](https://agentmods.dev/badge/skills/shck-dev/ccx-context-system/start-thread/github.svg)](https://agentmods.dev/skills/shck-dev/ccx-context-system/start-thread)
Your own site
<a href="https://agentmods.dev/skills/shck-dev/ccx-context-system/start-thread"><img src="https://agentmods.dev/badge/skills/shck-dev/ccx-context-system/start-thread/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for start-thread

Your own site · 80×15
<a href="https://agentmods.dev/skills/shck-dev/ccx-context-system/start-thread"><img src="https://agentmods.dev/badge/skills/shck-dev/ccx-context-system/start-thread.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 130 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,409 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00130 $0.01409
Opus 5.5 $0.00052 $0.00564
Sonnet 5.5 $0.00026 $0.00282
Haiku 4.5 $0.00013 $0.00141

Measured 1mo ago against content hash 83e5ed1e0f88, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

start-thread scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/ccx/skills/start-thread/SKILL.md · 101 lines

How it starts

The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Start or resume a thread — scratch workspace with a handoff doc

Topic requested: $ARGUMENTS

Project + config: !bun "${CLAUDE_PLUGIN_ROOT}/scripts/where.ts"

Current branch: !git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "(not a git repo)"

Existing threads: !bun "${CLAUDE_PLUGIN_ROOT}/scripts/threads.ts" --slugs

Do this

  1. If $ARGUMENTS is empty, ask for the topic — don't guess.
  2. Normalize the topic to a slug — run via Bash: bun "${CLAUDE_PLUGIN_ROOT}/scripts/slug.ts" "<topic>" (one shared identity function — never re-implement slugging by hand; if the variable shows as a literal, use the plugin root: path from the injected block above). With ticket_system: none a thread is any unit of work; ticket-system adapters may extend this later.
  3. If <scratch_root>/<slug>/ already has a STATE doc → RESUME. This is the normal day-2 path, not an error: no questions, no "want me to open it?" menu — brief and get to work. Treat slugs as the SAME thread when they match ignoring case and separators (CP-1758 ≡ cp-1758 ≡ cp1758 — the normalizeForMatch rule in scripts/lib/identity.ts): a near-match in the existing-threads list above resumes THAT thread. Never overwrite or re-scaffold an existing STATE (skip steps 4–6 entirely). Do all of this:
    1. Read the whole STATE doc — Status, the ask, plan, current state, open/deferred.
    2. Pull live deltas (parallel; each optional-degrade — an unreachable source gets a one-line note, never stalls the resume): current branch; a git worktree list / git branch --list match on the slug; if a matching worktree/branch exists — git status --porcelain (dirty files) and gh pr list --head <branch> --state all --json number,state,reviewDecision --limit 1 (when gh resolves).
    3. Report a resume briefing — where the user left off (Status, next plan step, open items), then what changed since (branch moved / PR merged / dirty files). Explicitly flag any live fact that CONTRADICTS the STATE. End ready to work — not with a menu.
    4. Resume is read-only on the STATE doc — flag drift in the briefing; the session updates STATE as work actually proceeds (the state-freshness-guard Stop hook enforces this before the session ends).
  4. Seed the ask from the conversation — there is no ticket system to pull from. If the goal isn't clear from context, ask for one line. Mark anything unknown as TODO rather than inventing.
  5. Create <scratch_root>/<slug>/ and write the STATE doc from the template below, filling the frontmatter (title: <slug> · kind: thread · summary: one-line blurb) and The ask. Use the state_basename from the injected config block (default STATE.md).
  6. Version-control check: if this is a git repo and <scratch_root> is not ignored (git check-ignore -q <scratch_root> fails), ASK whether to add it to .gitignore — some people want the notebook versioned, some never want notes in PRs. Don't silently do either.
  7. Report the path created and a one-line summary. (No need to run /ccx:save-state for indexing — the auto-compile-index hook recompiles the INDEX on every STATE write.)

Read the full file on GitHub · 101 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 101 lines · 130 tokens per session scan A 83e5ed1e0f88

Subscribe to this mod's changes

start-thread is a skill published in the GitHub repository shck-dev/ccx-context-system (1 stars, last pushed 3mo ago), licensed MIT. It adds 130 tokens to every session and 1,409 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

claude-code-bash-patterns

Claude Code Bash tool patterns with hooks, automation, git workflows. Use for PreToolUse hooks, command chaining, CLI orchestration, custom commands, or encountering bash permissions, command failures, security guards, hook configurations.

secondsky/claude-skills · 52 tokens

tg-account

A skill for using Telegram as the account owner through a local Telegram Desktop session. It can read chats and export messages, while writing actions require showing the target and exact text for confirmation.

DmitriyYukhanov/claude-plugins · 54 tokens

promote

Turn a scratch script into a permanent tool this repo keeps. Use when a check, report, or analysis has proved worth running more than once.

ArcticFox2029/chamnan · 29 tokens

branch-recap

Takes stock of what a branch actually changed, before it gets pushed — works out the scope itself, then lays the change out group by group in one pass: files touched, what was done and why, how, and what deserves a second look, quoting code only where a remark needs it rather than reprinting the diffs. Closes on a…

Malo-T/claude-toolbelt · 338 tokens

audit-context

Measures where a project's Claude context is going before applying any of clean-context's levers. Reports what Glob discovers with and without ignore files applied, the twenty largest files in the repo and which are generated, the cumulative size of every CLAUDE.md loaded for this working directory, and how many MCP…

Malo-T/claude-toolbelt · 218 tokens

slack-changelog

Turns what changed in a release into a Slack changelog a non-technical audience can read: filtered to what they would actually notice, one bullet per idea, plain language, no code vocabulary. Works out the scope itself across however many repositories sit in the working directory (a project can span several…

Malo-T/claude-toolbelt · 332 tokens