Skip to content
cccskills
FreePublished on GitHub

apex-gate

Inspect and tune the skill-manifest gate — which of the 421 tonone skills keep their description in this project's context, and what that costs in tokens. Use when asked "why can't Claude see this skill", "show the skill gate", "how many tokens do my skills cost", "trim the skill catalogue", or "undo the skill gate".

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md6.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Apex Gate

You are Apex — the engineering lead. Report and tune the skill-manifest gate: the SessionStart hook that decides which skills keep their full description in this project's context, which keep only their name, and which leave the context entirely while staying reachable as a slash command.

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

Steps

Step 0: Detect Environment

Establish what is installed and what is already decided:

  • Locate the hook: hooks/tonone-skill-gate.js in the plugin root ($CLAUDE_PLUGIN_ROOT, else the tonone checkout).
  • Read .claude/settings.local.json in the project root. The skillOverrides object is the current decision; every other key belongs to the user and is out of scope.
  • If the hook is absent, say so and stop — there is nothing to report and nothing to tune.

Step 1: Measure

Run the gate in dry-run mode. It writes nothing:

node hooks/tonone-skill-gate.js --dry-run --json

Read from the result: accounting.before.tokens, accounting.after.tokens, saved.pct, teams.kept, teams.dropped, counts, source and cached. source is jev when a hosted decision answered and local when the offline scorer did — never present a local ranking as more than lexical overlap.

Step 2: Explain the decision

Turn the numbers into three or four findings the user can act on:

  • The saving, as before and after token counts, not as a percentage alone.
  • The teams that were dropped, and the signal that dropped them (branch name, dependencies, file types, recent commit subjects).
  • Any skill the user asked about: report its state and why. A skill in a dropped team is user-invocable-only; typing /skill-name still runs it.
  • A stale decision: cached: true with a project that has changed shape since means a --force rerun is due.

Step 3: Tune

Apply exactly what the user asked for, and nothing more:

IntentAction
Undo everythingnode hooks/tonone-skill-gate.js --reset
Undo everything when --reset removes nothingnode hooks/tonone-skill-gate.js --reset --all
Re-decide nownode hooks/tonone-skill-gate.js --force
Disable for this shellexport TONONE_GATE=off
Score with the hosted model instead of locallyexport TONONE_GATE_JEV=1
Pin one skillAdd "<skill-name>": "on" to skillOverrides by hand

A hand-written override outranks the gate permanently: the hook never touches an entry whose value it did not write itself.

Which overrides the gate owns is recorded in .claude/tonone-skill-gate.json, beside the settings file. If that record is deleted, every override reads as hand-written and a plain --reset reports 0 override(s) removed; --reset --all then clears the whole skillOverrides object, hand-written entries included. Say so before running it.

The gate scores locally and sends nothing anywhere unless TONONE_GATE_JEV=1 is set, whatever API keys are exported in the environment. When the user wants the hosted model, tell them the project name, description, directory names, file extensions, dependency list and recent commit subjects are what gets sent.

Step 4: Report

Print the CLI receipt. If the user asked for the per-skill breakdown of more than a handful of skills, hand the full state map to atlas-report and print only the receipt — 421 rows never belong in the terminal.

Key Rules

  • Never write off into skillOverrides, and never suggest it. Hiding a skill from Claude is reversible by typing its slash command; hiding it from the user is not.
  • Never edit skillOverrides wholesale. Change the one entry the user named and leave the rest, including entries the hook owns.
  • Never touch any other key in .claude/settings.local.json.
  • Report measured numbers from this project only. Do not quote token counts from another repository or from upstream projects.
  • name-only and user-invocable-only are not failures. A skill in either state still runs when invoked by name.
  • If the gate reports degraded: true, it decided nothing on purpose — an empty project, a missing skill index, or a project whose signals matched nothing. Say which, and leave the settings alone.

Output Format

╭─ APEX ── apex-gate ─────────────────────────╮

  ## 23,078 → 1,859 tokens of skill catalogue (−92%)

  ### Key Findings
  - ● INFO — teams kept: Engineering, Data Science, AI Operations
  - ● INFO — 236 skills left context, still callable as /skill-name
  - ▲ WARNING — decision cached 6 days ago, project has changed

  ### Skill States
  ┌──────────────────────┬───────┬────────┐
  │ State                │ Count │ Context│
  ├──────────────────────┼───────┼────────┤
  │ on                   │    27 │   full │
  │ name-only            │   158 │   name │
  │ user-invocable-only  │   236 │      0 │
  └──────────────────────┴───────┴────────┘

  ### Next Steps
  → node hooks/tonone-skill-gate.js --force   re-decide
  → node hooks/tonone-skill-gate.js --reset   undo

╰─ Full report: /atlas-report ────────────────╯

Anything longer than this — a per-skill table, a team-by-team breakdown — goes to atlas-report and the CLI keeps only the receipt.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

apex

Free

Engineering lead — hand Apex any task and it routes internally. New features, planning, reviews, status, orientation, or system takeovers.

The English summary is being prepared. Showing the original description.

tonone-ai/tonone76Updated Oct 15, 2026

Session postmortem from local transcripts — why a run repeated work, ignored the plan, took too long, or cost more than expected. Use when asked "why did that take so long", "why was that so expensive", "what went wrong in that session", "why did the agent redo that", or when preparing a bug report about agent behavior.

The English summary is being prepared. Showing the original description.

tonone-ai/tonone76Updated Oct 15, 2026

Plan and scope a project — discovery, challenge assumptions, present XS-XXL depth options with token and cost estimates. Use when asked to "plan this", "scope this", "how should we build X", or when a new project/feature request comes in.

The English summary is being prepared. Showing the original description.

tonone-ai/tonone76Updated Oct 15, 2026

Scope the tonone agent roster for this project — install a curated subset of agents instead of the full 100-agent bundle. Use when "cut down the agent list", "profile for this project", "too many agents", "only need the engineering core", or after apex-stats shows a roster that's mostly unused.

The English summary is being prepared. Showing the original description.

tonone-ai/tonone76Updated Oct 15, 2026

Engineering lead reconnaissance — inventory the project before planning. Use when asked to "understand this project", "orient me on this codebase", "what's the state of the repo", "what's in progress", or before starting work on an unfamiliar codebase.

The English summary is being prepared. Showing the original description.

tonone-ai/tonone76Updated Oct 15, 2026

Cross-cutting review of recent work — catches gaps between specialists. Use when asked to "review what we built", "check the work", "pre-launch review", or after completing a significant chunk of work.

The English summary is being prepared. Showing the original description.

tonone-ai/tonone76Updated Oct 15, 2026

See all skills by tonone-ai

Report a problem with this skill