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.
/plugin marketplace add shck-dev/ccx-context-system/plugin install ccxWrote 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.
[](https://agentmods.dev/skills/shck-dev/ccx-context-system/start-thread)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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
- If
$ARGUMENTSis empty, ask for the topic — don't guess. - 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 theplugin root:path from the injected block above). Withticket_system: nonea thread is any unit of work; ticket-system adapters may extend this later. - 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— thenormalizeForMatchrule inscripts/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:- Read the whole STATE doc — Status, the ask, plan, current state, open/deferred.
- 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 --listmatch on the slug; if a matching worktree/branch exists —git status --porcelain(dirty files) andgh pr list --head <branch> --state all --json number,state,reviewDecision --limit 1(whenghresolves). - 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.
- Resume is read-only on the STATE doc — flag drift in the briefing; the session updates
STATE as work actually proceeds (the
state-freshness-guardStop hook enforces this before the session ends).
- 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.
- 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 thestate_basenamefrom the injected config block (defaultSTATE.md). - 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. - Report the path created and a one-line summary. (No need to run /ccx:save-state for
indexing — the
auto-compile-indexhook recompiles the INDEX on every STATE write.)
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.
- 1mo ago First seen · 101 lines · 130 tokens per session scan A 83e5ed1e0f88
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.
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.
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.
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.
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…
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…
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…