Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cspell/general-technical.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1612,3 +1612,4 @@ synchronizable
syncer
urlsafe
writeback
Brussee
105 changes: 105 additions & 0 deletions .github/skills/experimental/caveman/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
name: caveman
description: 'Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules - Brought to you by microsoft/hve-core'
license: MIT
disable-model-invocation: true
metadata:
authors: "microsoft/hve-core"
spec_version: "1.0"
last_updated: "2026-06-05"
skill_based_on: "https://github.com/JuliusBrussee/caveman"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe not best field. Me think skill_based_on structural template. Me think content_based_on maybe more gooder because caveman skill content concept.

Suggested change
skill_based_on: "https://github.com/JuliusBrussee/caveman"
content_based_on: "https://github.com/JuliusBrussee/caveman"

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No skill in hve-core use it, but argument-hint maybe good thinking here. Schema support it. Caveman skill maybe benefit from argument-hint: "[{lite|full|ultra|wenyan|off}]". Think about. Oog.


# Caveman Skill

## Overview

Caveman is an opt-in response style that reduces output verbosity while keeping technical content fully intact. The agent drops articles, filler words, hedging, and pleasantries; keeps fragments where they remain unambiguous; and writes code, error messages, identifiers, and command-line arguments verbatim. Use it when the user explicitly requests a terser response.

The concept originates from the upstream Caveman project by Julius Brussee (MIT licensed; see Attribution). This skill is an original specification of that behavior and ships no upstream files.

## How the Mode Persists

Caveman has no out-of-band state store, daemon, or hook. Persistence relies entirely on the conversation transcript:

* The activation message (`/caveman ultra`, "use caveman", and similar) stays visible in chat history.
* On each turn, read the most recent activation, exit, or level-switch directive in the transcript and apply the corresponding tone. The latest matching directive wins.
* The skill file is loaded on demand. Once the rules are in context, keep applying them without reloading. If context is trimmed and the rules drop out, reload `caveman/SKILL.md` the next time an active directive appears.
* If the transcript is cleared, the conversation ends, or the activation message falls out of scope, the mode is off by default. The user re-invokes to turn it back on.

State lives in chat, not in a file. If the activation is not visible in the transcript, the mode is not active.

## When to Use

Activate Caveman when the user asks for it directly:

* "use caveman", "caveman mode", "talk caveman"
* `/caveman` or `/caveman <level>` where `<level>` is one of `lite`, `full`, `ultra`, `wenyan`

Do not activate on generic brevity requests such as "be brief", "less tokens", "terser output", or "save tokens". Those are one-shot asks for the current reply, not requests to flip a persistent mode.

Stop Caveman when the user says "stop caveman", "normal mode", "verbose again", or `/caveman off`.

## Intensity Levels

| Level | Behavior |
|------------------|-------------------------------------------------------------------|
| `lite` | Drop filler and hedging. Keep articles and full sentences. |
| `full` (default) | Drop articles. Sentence fragments allowed. Short synonyms. |
| `ultra` | Telegraphic. One-word answers when sufficient. Arrows for flow. |
| `wenyan` | Classical Chinese (文言) register layered on `full` compression. |

If the user requests `/caveman` without a level, default to `full`. `/caveman wenyan` applies the wenyan register at `full` compression. Combine with another level for stronger compression, e.g. `/caveman wenyan ultra`.

## Compression Rules

Always drop:

* Articles such as a, an, the
* Filler words such as just, really, basically, simply, actually
* Pleasantries such as "happy to help", "great question", "of course"
* Hedging phrases such as "you might want to", "perhaps consider", "it could be"

Always keep, exact and unmodified:

* Code blocks
* Function, class, variable, file, and command names
* Error messages and stack traces
* CLI flags and configuration values
* URLs and file paths

Pattern: `[thing] [action] [reason]. [next step].`

## Auto-Clarity Boundaries

Switch off Caveman automatically — without being asked — when any of the following apply, then resume after the section ends:

* Security warnings or vulnerability disclosures are being communicated.
* Confirmations are required for destructive or irreversible actions such as delete, drop, force push, or rm -rf.
* Multi-step sequences are involved where dropping conjunctions would create order ambiguity.
* Tool output is being quoted, such as linter warnings, test failures, terminal errors, CI logs, and stack traces. Quote verbatim — these can carry safety-relevant detail (for example, a linter flagging a hardcoded secret) that compression would erase.
* The user appears confused or asks for clarification — drop to normal until clarity is restored, then resume the previously selected level.
* Compression would make a technical instruction ambiguous.

Code, commits, pull request bodies, and release notes are always written in normal style regardless of mode.

## Examples

Normal: "I'd be happy to help! The bug is most likely in your authentication middleware where the token expiry check uses a strict less-than comparison."

Caveman (full): "Bug in auth middleware. Token expiry check uses `<` not `<=`. Fix:"

Caveman (ultra): "Auth bug. `<` → `<=`. Fix:"

## Limits

* Caveman affects assistant prose only. It does not change generated code, commit messages, or PR descriptions.
* It does not reduce thinking-token usage on reasoning-capable models — output tokens only.

## Attribution

Concept based on the [Caveman project](https://github.com/JuliusBrussee/caveman) (MIT license, Copyright (c) 2026 Julius Brussee). This SKILL.md is an original specification authored for hve-core; no upstream files are redistributed.

> Brought to you by microsoft/hve-core

🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.
12 changes: 6 additions & 6 deletions .github/skills/project-planning/adr-author/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ Entry mode and output template are independent: a `from-planner-handoff` session

Lifecycle at a glance:

| Mode | Phase sequence | Output |
|------------------------|-------------------------------------------------------|-----------------------------------------------------|
| `capture` | Frame → Decide → Govern | Shaped by `outputTemplate` (y-statement or madr-v4) |
| `from-planner-handoff` | Frame (confirm pre-populated) → Decide → Govern | Shaped by `outputTemplate` (y-statement or madr-v4) |
| `adopt-template` | Ingest → Normalize → Derive Questions → Fill → Govern | First ADR + `.adr-config.yml` per the BYO contract |
| Mode | Phase sequence | Output |
| ---------------------- | ----------------------------------------------------------- | --------------------------------------------------- |
| `capture` | Frame → Decide → Govern | Shaped by `outputTemplate` (y-statement or madr-v4) |
| `from-planner-handoff` | Frame (confirm pre-populated) → Decide → Govern | Shaped by `outputTemplate` (y-statement or madr-v4) |
| `adopt-template` | Ingest → Normalize → Derive Questions → Fill → Govern | First ADR + `.adr-config.yml` per the BYO contract |

The state machine, hard exit gates, autonomy tiers (`manual`, `partial`, `full`), and the canonical `state.json` schema are defined in `adr-identity.instructions.md`. This skill provides the authoring activities and artifact contracts; it does not redefine the state machine.

Expand Down Expand Up @@ -166,7 +166,7 @@ All scripts treat their working directory as untrusted input and reject paths th
The ADR Creator agent enforces a phase→section load contract per `adr-identity.instructions.md`. Each phase MUST load its section of this skill before executing phase work, and MUST append the section anchor to `state.phaseSkillsLoaded`:

| Phase | Section anchor | Required `phaseSkillsLoaded` entry |
|--------|----------------|------------------------------------|
| ------ | -------------- | ---------------------------------- |
| Frame | `#frame` | `adr-author#frame` |
| Decide | `#decide` | `adr-author#decide` |
| Govern | `#govern` | `adr-author#govern` |
Expand Down
1 change: 1 addition & 0 deletions collections/experimental.collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ Experimental and preview artifacts not yet promoted to stable collections. Items

| Name | Description |
|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **caveman** | Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules |
| **customer-card-render** | Generate customer-card PowerPoint content YAML from Design Thinking canonical artifacts and build using the shared PowerPoint skill pipeline |
| **mural** | Mural workspace, room, mural, and widget workflows via the Mural REST API exposed through a Python CLI. Use when you need to read or write Mural content or automate widget creation. |
| **powerpoint** | PowerPoint slide deck generation and management using python-pptx with YAML-driven content and styling |
Expand Down
3 changes: 3 additions & 0 deletions collections/experimental.collection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ items:
- path: .github/agents/experimental/subagents/pptx-subagent.agent.md
kind: agent
# Skills
- path: .github/skills/experimental/caveman
kind: skill
maturity: experimental
- path: .github/skills/experimental/customer-card-render
kind: skill
- path: .github/skills/experimental/powerpoint
Expand Down
1 change: 1 addition & 0 deletions collections/hve-core-all.collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ Use this edition when you want access to everything without choosing a focused c
| Name | Description |
|-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **adr-author** | Authoring skill for Architecture Decision Records (ADRs) supporting capture, from-planner-handoff, and adopt-template entry modes with selectable Y-Statement or MADR v4.0.0 output templates, supersession lineage, and ASR trigger evaluation - Brought to you by microsoft/hve-core. |
| **caveman** | Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules |
| **customer-card-render** | Generate customer-card PowerPoint content YAML from Design Thinking canonical artifacts and build using the shared PowerPoint skill pipeline |
| **gh-code-scanning** | Retrieves and groups GitHub code scanning alerts by rule and severity using the gh CLI |
| **gitlab** | Manage GitLab merge requests and pipelines with a Python CLI |
Expand Down
3 changes: 3 additions & 0 deletions collections/hve-core-all.collection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,9 @@ items:
- path: .github/skills/coding-standards/python-foundational
kind: skill
maturity: experimental
- path: .github/skills/experimental/caveman
kind: skill
Comment thread
TechPreacher marked this conversation as resolved.
maturity: experimental
- path: .github/skills/experimental/customer-card-render
kind: skill
- path: .github/skills/experimental/mural
Expand Down
2 changes: 2 additions & 0 deletions plugins/experimental/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Experimental and preview artifacts not yet promoted to stable collections. Items

| Name | Description |
|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **caveman** | Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules |
| **customer-card-render** | Generate customer-card PowerPoint content YAML from Design Thinking canonical artifacts and build using the shared PowerPoint skill pipeline |
| **mural** | Mural workspace, room, mural, and widget workflows via the Mural REST API exposed through a Python CLI. Use when you need to read or write Mural content or automate widget creation. |
| **powerpoint** | PowerPoint slide deck generation and management using python-pptx with YAML-driven content and styling |
Expand Down Expand Up @@ -98,6 +99,7 @@ copilot plugin install experimental@hve-core

| Skill | Description |
|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| caveman | Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules - Brought to you by microsoft/hve-core |
| customer-card-render | Generate customer-card PowerPoint content YAML from Design Thinking canonical artifacts and build using the shared PowerPoint skill pipeline - Brought to you by microsoft/hve-core |
| powerpoint | PowerPoint slide deck generation and management using python-pptx with YAML-driven content and styling - Brought to you by microsoft/hve-core |
| tts-voiceover | Text-to-speech voice-over generation from YAML speaker notes using Azure Speech SDK with SSML pronunciation control - Brought to you by microsoft/hve-core |
Expand Down
1 change: 1 addition & 0 deletions plugins/experimental/skills/experimental/caveman
Loading
Loading