Skip to content

/caveman-internal

Internal token optimization for Forge agent artifacts (handoff notes, artifact summaries, review notes). NOT exposed as a user-facing /caveman command.

From plugin
forge
5810 skills9 agents13 commands3 hooks

Claude Code

$ npx -y skills add LucasDuys/forge --skill caveman-internal --agent claude-code

SKILL.md

caveman-internal.SKILL.md
name: caveman-internal
description: Internal token optimization for Forge agent artifacts (handoff notes, artifact summaries, review notes). NOT exposed as a user-facing /caveman command.

<!-- Adapted from JuliusBrussee/caveman (MIT License) https://github.com/JuliusBrussee/caveman

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the conditions of the MIT License. -->

Caveman Internal Skill

Compress prose in Forge's own agent-to-agent artifacts so the autonomous loop spends fewer tokens on coordination and more on actual implementation. This skill is consumed internally by Forge agents (executor, planner, reviewer, verifier) when writing handoff notes, artifact summaries, and review reports. It is NOT a user-facing command and must never be invoked as `/caveman`.

Scope

In scope (compress these):

  • `.forge/artifacts/{task-id}.json` artifact descriptions and key_decisions
  • `.forge/context-bundles/` handoff notes between tasks
  • Review summaries written by the reviewer agent
  • Internal status reports passed between agents
  • Token-ledger annotations and state.md "What's Done" entries

Out of scope (ALWAYS use normal verbose mode regardless of intensity):

  • All code output (source files, code blocks, diffs, patches)
  • Commit messages and PR descriptions
  • User-facing spec files in `.forge/specs/`
  • Security warnings of any kind
  • Irreversible action confirmations (deletes, force-pushes, schema drops)
  • Error messages humans need to act on
  • Anything the user will read directly

Intensity Modes

Three levels. Higher intensity removes more, but technical terms (function names, file paths, identifiers, version numbers, error codes) stay verbatim at every level.

lite

Strip filler words and pleasantries. Keep articles, conjunctions, and full grammar. This is the safest mode and is the default for `standard` depth tasks.

Remove: just, really, basically, very, quite, simply, actually, essentially, indeed, clearly, obviously, sure, certainly, happy to help, of course, please note, it should be noted, as you can see, in order to (use "to").

Example:

  • Before: "I just finished implementing the registration endpoint. Basically, it accepts an email and password, and it really validates them carefully before hashing the password with bcrypt."
  • After: "Finished implementing the registration endpoint. It accepts an email and password, and validates them before hashing the password with bcrypt."

Token reduction: ~20%.

full

Drop articles (a, an, the) where meaning survives. Allow sentence fragments. Use shorter synonyms. Keep technical terminology precise. Default for `quick` depth tasks.

Substitutions: implement -> add, modify -> change, utilize -> use, demonstrate -> show, approximately -> about, in addition -> also, due to -> from, prior to -> before, subsequent to -> after, in the event that -> if.

Example:

  • Before: "I have implemented the registration endpoint. It accepts an email and a password, validates them against the schema, and then hashes the password using bcrypt with twelve rounds before storing the user record in the database."
  • After: "Added registration endpoint. Accepts email + password, validates against schema, hashes password with bcrypt 12 rounds, stores user record in database."

Token reduction: ~40%.

ultra

Emergency budget mode. Used when fewer than 20% of task budget tokens remain. Adds aggressive abbreviation and arrows for causality.

Abbreviations: database -> DB, authentication -> auth, configuration -> config, function -> fn, variable -> var, request -> req, response -> res, parameter -> param, environment -> env, repository -> repo, dependency -> dep, validation -> valid, error -> err, message -> msg, application -> app, server -> srv, client -> cli, production -> prod, development -> dev.

Strip conjunctions where meaning is clear. Use arrows for causality and flow: `X -> Y` means X causes/produces Y. Use `+` for "and" in lists.

Example:

  • Before: "I have implemented the registration endpoint. It accepts an email and a password, validates them against the schema, and then hashes the password using bcrypt with twelve rounds before storing the user record in the database."
  • After: "Added register endpoint. Accepts email+password -> valid vs schema -> bcrypt 12 rounds -> store user in DB."

Token reduction: ~65%.

Intensity Selection Logic

Agents self-select intensity at the start of each task by querying the task budget and applying the rule below. No external orchestrator is required.

Decision rule

Compute `remaining_percentage = remaining / budget * 100` from the task budget, then:

| Remaining budget | Mode | |------------------|------| | > 50% | lite (lowest compression, keep readability) | | 20% to 50% | full (default compression) | | < 20% | ultra (emergency, maximum compression) |

`depth = thorough` clamps the result to `lite` regardless of budget. Compression is never allowed to obscure thorough-depth artifacts.

How to query the budget

From a shell:

node scripts/forge-tools.cjs check-task-budget <task_id> --forge-dir .forge

From Node:

const { checkTaskBudget } = require('./scripts/forge-tools.cjs');
const { used, budget, remaining, percentage } = checkTaskBudget(taskId, forgeDir);

The returned `percentage` is percent used. Compute remaining as `100 - percentage`.

Fallback

If the budget check fails, throws, or there is no current task context (ad-hoc work, repair flows), default to `full`. Never block on budget lookup. See `references/budget-thresholds.md` for the full threshold table and rationale.

Quality F

Read more
@lucasduys
Ships withforge

Turn a one-line idea into a branch with tested, reviewed, committed code. The brainstorm-to-commit pipeline for Claude Code.

Stars on GitHub

Momentum

stars in total
58
Star history of LucasDuys/forge on GitHub, a chart by star-history.com

Other skills on forge.

backpropagation
Auto-invoked

backpropagation

Trace runtime bugs back to spec gaps — identify missing acceptance criteria, update specs, generate regression tests, and detect…

@lucasduys@lucasduysInstall Skill
brainstorming
Auto-invoked

brainstorming

Interactive spec generation — turn ideas into concrete specs with R-numbered requirements and testable acceptance criteria

@lucasduys@lucasduysInstall Skill
collaborating
Auto-invoked

collaborating

Hackathon-native multiplayer collaboration mode -- brain-dump together, claim tasks across machines, flag decisions async. Drives…

@lucasduys@lucasduysInstall Skill
design-system
Auto-invoked

design-system

DESIGN.md integration for Forge — ensures visual consistency across all UI tasks through standardized design specifications

@lucasduys@lucasduysInstall Skill
executing
Auto-invoked

executing

Autonomous task implementation workflow — implement, test, review, commit for each task in the frontier

@lucasduys@lucasduysInstall Skill
graphify-integration
Auto-invoked

graphify-integration

Graph-aware planning and research using codebase knowledge graphs — enables architecture-aware task decomposition, dependency…

@lucasduys@lucasduysInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about caveman-internal.

Which coding agents can use caveman-internal?
caveman-internal installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.