Skip to content

feat: add experimental Caveman response style skill#1861

Open
TechPreacher wants to merge 3 commits into
microsoft:mainfrom
TechPreacher:feat/add-caveman
Open

feat: add experimental Caveman response style skill#1861
TechPreacher wants to merge 3 commits into
microsoft:mainfrom
TechPreacher:feat/add-caveman

Conversation

@TechPreacher

@TechPreacher TechPreacher commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Pull Request

Description

Adds a new content-only caveman experimental skill that defines an opt-in, ultra-compressed response style. The agent reduces output verbosity (drops articles, filler, hedging, pleasantries) while keeping code, identifiers, error messages, CLI flags, URLs, and file paths verbatim. The skill ships configurable intensity levels (lite, full, ultra) and explicit auto-clarity safety boundaries that disable compression for security warnings, destructive confirmations, and ambiguous instructions.

The skill is original content authored to the hve-core SKILL.md conventions; no upstream files are redistributed. The concept is credited to the upstream MIT-licensed Caveman project by Julius Brussee via metadata.skill_based_on and an Attribution section.

disable-model-invocation: true is set so the skill loads only on explicit user request (/caveman, "use caveman", "caveman mode"), preventing unintended auto-firing on prompts that mention "compress" or "brief".

Related Issue(s)

N/A

Type of Change

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions
  • Copilot prompt
  • Copilot agent
  • Copilot skill (.github/skills/experimental/caveman/SKILL.md)

Note on cross-platform scripts: this skill is content-only (no scripts/ directory), which is explicitly supported per docs/contributing/skills.md ("Skills without scripts are valid and function as documentation-driven knowledge packages"). Mirrors the precedent set by coding-standards/python-foundational.

Other:

  • Script/automation
  • Other

Sample Prompts (for AI Artifact Contributions)

User Request:

"Use caveman mode for the rest of this session" — or /caveman ultra

Execution Flow:

  1. User issues an explicit caveman trigger (/caveman, "use caveman", "caveman mode", "be terse").
  2. Agent loads the SKILL.md, applies the requested intensity level (lite, full, ultra; defaults to full when no level is given).
  3. Agent compresses prose output per the rules: drops articles, filler, hedging, pleasantries; keeps code, identifiers, errors, CLI flags, URLs, and paths byte-for-byte.
  4. Auto-clarity boundaries automatically suspend compression for security warnings, destructive-action confirmations, multi-step ordering, user confusion, or any case where compression would create ambiguity. Normal style resumes after the affected section.
  5. User stops the mode with "stop caveman", "normal mode", or "verbose again".

Output Artifacts:

The skill itself is the artifact. Preview of .github/skills/experimental/caveman/SKILL.md:

---
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-03"
  skill_based_on: "https://github.com/JuliusBrussee/caveman"
---

# Caveman Skill

## Overview

Caveman is an opt-in response style that reduces output verbosity while keeping
technical content fully intact...

Success Indicators:

  • npm run validate:skills reports ✅ caveman (0 errors).
  • npm run lint:frontmatter passes against skill-frontmatter.schema.json.
  • npm run plugin:generate produces a clean diff under plugins/experimental/skills/experimental/caveman/ and plugins/hve-core-all/skills/experimental/caveman/ (symlinks to source).
  • On invocation, replies become noticeably terser while code blocks, error messages, and identifiers remain unchanged. "Stop caveman" returns the agent to normal voice.

Testing

Validation pipeline run locally on macOS with Node 24 and PowerShell 7:

Command Result
npm run validate:skills 21 skills, 0 errors. caveman ✅. (1 unrelated pre-existing warning on customer-card-render.)
npm run lint:frontmatter 541 files, 0 errors, 0 warnings.
npm run lint:md 211 files, 0 errors.
npm run plugin:generate 13 plugins regenerated; postprocess clean; idempotent on re-run.

A working-tree review confirmed:

  • The new SKILL.md is original content; the upstream LICENSE (Copyright (c) 2026 Julius Brussee) is attributed accurately.
  • Plugin tree entries under plugins/experimental/skills/experimental/caveman and plugins/hve-core-all/skills/experimental/caveman are symlinks to the source skill directory, matching repo convention.
  • No deviation from the planning artifacts:
    • Plan: .copilot-tracking/plans/2026-06-03/caveman-skill-inclusion-plan.instructions.md
    • Changes log: .copilot-tracking/changes/2026-06-03/caveman-skill-inclusion-changes.md
    • Review log: .copilot-tracking/reviews/2026-06-03/caveman-skill-inclusion-plan-review.md

Checklist

Required Checks

  • Documentation is updated (Attribution section in SKILL.md credits the upstream MIT concept).
  • Files follow existing naming conventions (name, frontmatter shape, "Brought to you by microsoft/hve-core" suffix, Copilot footer line).
  • Changes are backwards compatible (additive only).
  • Tests added for new functionality (N/A — content-only skill, no executable code).

AI Artifact Contributions

  • Used /prompt-analyze to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Skill structure validation: npm run validate:skills
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps
  • Plugin freshness: npm run plugin:generate
  • Docusaurus tests: npm run docs:test

Security Considerations

  • This PR does not contain any sensitive or NDA information.
  • Any new dependencies have been reviewed for security issues (none added).
  • Security-related scripts follow the principle of least privilege (no scripts in this skill).

The skill explicitly preserves safety posture: auto-clarity boundaries require the agent to disable compression for security warnings, vulnerability disclosures, destructive/irreversible action confirmations, and any case where compression would create ambiguity. Code, commits, and pull request bodies are always written in normal style regardless of mode.

Additional Notes

  • Concept credit and license: based on the Caveman project by Julius Brussee, MIT licensed (verified against the upstream LICENSE). No upstream files are redistributed; SKILL.md is original content.
  • Placement under .github/skills/experimental/ follows the convention for new utility skills (alongside customer-card-render, powerpoint, tts-voiceover, video-to-gif, vscode-playwright). Promotion to a stable collection is possible after real-world use.
  • Out of scope, tracked for follow-up: companion caveman-commit skill; broader caveman-compress / caveman-help / caveman-review / caveman-stats family; integration with the Task Reviewer prompt; wenyan-* (classical Chinese) compression variants.

@TechPreacher TechPreacher requested a review from a team as a code owner June 3, 2026 09:36
@TechPreacher TechPreacher requested a review from Copilot June 3, 2026 09:36

Copilot AI left a comment

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.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new experimental “caveman” skill and wires it into the experimental and hve-core-all plugin/collection surfaces.

Changes:

  • Introduces .github/skills/experimental/caveman/SKILL.md defining the Caveman ultra-terse response style.
  • Registers the new skill in experimental and hve-core-all collections and READMEs.
  • Adds plugin skill path references for caveman under plugins/*/skills/experimental/.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
plugins/hve-core-all/skills/experimental/caveman Adds plugin reference to the caveman skill path
plugins/hve-core-all/README.md Lists caveman in the hve-core-all skill tables
plugins/experimental/skills/experimental/caveman Adds plugin reference to the caveman skill path
plugins/experimental/README.md Lists caveman in the experimental skill tables
collections/hve-core-all.collection.yml Registers caveman skill in hve-core-all collection
collections/hve-core-all.collection.md Lists caveman in hve-core-all collection docs
collections/experimental.collection.yml Registers caveman skill in experimental collection
collections/experimental.collection.md Lists caveman in experimental collection docs
.github/skills/experimental/caveman/SKILL.md Adds the Caveman skill specification
Comments suppressed due to low confidence (1)

plugins/hve-core-all/skills/experimental/caveman:1

  • This looks like it’s intended to be a symlink-style pointer to the canonical skill directory. If the plugin loader expects an actual symlink, committing this as a regular file containing a path can cause the skill to not resolve at runtime. Consider committing it as a symlink (git mode 120000) to .github/skills/experimental/caveman and ensure this matches how other plugins/*/skills/*/* entries are represented in the repo.

Comment thread collections/hve-core-all.collection.yml
Comment thread plugins/hve-core-all/README.md
@codecov-commenter

codecov-commenter commented Jun 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.55%. Comparing base (ceb8c47) to head (6ed9cf5).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1861      +/-   ##
==========================================
- Coverage   80.55%   80.55%   -0.01%     
==========================================
  Files         112      112              
  Lines       18679    18679              
==========================================
- Hits        15047    15046       -1     
- Misses       3632     3633       +1     
Flag Coverage Δ
pester 84.01% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bindsi bindsi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Triage review. The caveman skill itself is well done, but this PR can't be approved as-is: CI is red and the branch needs a rebase that will remove most of the current diff. Details below.

🔴 Blocker — CI failing (PowerShell Tests)

The PowerShell Tests check fails on activation-harness baseline drift for the @adr-creation agent:

[-] @adr-creation activation fingerprint matches baseline.scenario GovernEntry hash matches baseline.json
    Expected hash : 4f18403391012bd6b84c2b6a832afb146b7ac139fc28370eec72d7d543eae6e8
    But was:        2f5812441a5943baa0723f9689c6aa3726253a743256ff6f1ad5fe9f4cf2...

GovernEntry and AdoptTemplate (and likely CleanWorkspace/SteadyState) mismatch. The committed scripts/agents/activation-harness/baseline.json hashes don't match the current tree — the adr-author/SKILL.md table reformatting in this PR changed the file after the baseline was generated. Regenerate the activation baseline so the harness is green.

🔁 Primary issue — branch is stale; needs a rebase on main

feat/add-caveman was branched before #1639 ("disclaimer SSOT migration") merged (#1639 merged 2026-06-04 23:54Z; this branch's tip is 05:29Z but off an older base). As a result, this PR's diff redundantly re-applies the entire disclaimer SSOT migration that is already on main:

  • deletes .github/config/disclaimers.yml (already deleted on main — it's a 404 there)
  • rewrites scripts/linting/Validate-PlannerArtifacts.ps1 from DisclaimerConfigPathDisclaimerSourcePath (already done on main)
  • rewrites scripts/tests/linting/Validate-PlannerArtifacts.Tests.ps1 + adds Test-DisclaimerArtifacts.Tests.ps1
  • the security/identity.instructions.md, security/backlog-handoff.instructions.md, and disclaimer-language.instructions.md edits

None of that belongs in a "caveman skill" PR — it's duplicating merged work. mergeStateStatus is currently BLOCKED. Please rebase onto current main; those ~9 files should drop out of the diff entirely, and that will most likely also resolve the baseline drift (the disclaimer byte/hash deltas are an artifact of the stale base).

🧹 Scope (recommendation)

After the rebase, the diff should still contain unrelated GitHub backlog instruction changes (github-backlog-discovery / github-backlog-planning: new Issue Body Template and Issue Type Strategy sections). These are a substantive, independently-reviewable change with nothing to do with the caveman skill. Recommend splitting them into their own PR so the experimental skill can land on its own.

✅ The caveman skill — LGTM

What's actually the feature here is clean:

  • disable-model-invocation: true — correct; it's opt-in only and shouldn't auto-trigger.
  • Auto-clarity safety boundaries are a thoughtful touch — disabling compression for security warnings, destructive-action confirmations, and order-sensitive sequences, and keeping code/commits/PR bodies in normal style.
  • Attribution is handled correctly: MIT, cite-only, original SKILL.md with no upstream files redistributed; Brussee added to the cspell dictionary.
  • Collection entries (experimental, hve-core-all) with maturity: experimental and the plugin README + symlink regen are present and consistent.

One tiny nit: consider trimming the leading blank lines added after the authoring-contract comment in disclaimer-language.instructions.md (two blank lines before ## RAI Planning) — but that file should disappear on rebase anyway.

Happy to re-review once it's rebased and CI is green.

@TechPreacher

Copy link
Copy Markdown
Contributor Author

Triage review. The caveman skill itself is well done, but this PR can't be approved as-is: CI is red and the branch needs a rebase that will remove most of the current diff. Details below.

Thanks for the review, @bindsi. I have addressed your comments and have added some improvements to the skill.

@bindsi bindsi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Automated batch review: no actionable findings.

Integrates an ultra-compressed response style that reduces output token count while preserving technical accuracy. This skill includes configurable intensity levels and auto-clarity safety rules.

The skill is added to the experimental and hve-core-all collections and plugins.
feat(caveman): Explicitly declare maturity and add attribution

Sets the `caveman` skill's maturity to `experimental` in the collection manifest, aligning with its status. Additionally, updates the plugin README with attribution for the skill's origin.

feat(caveman): Define experimental maturity and refine attribution

Sets the 'caveman' skill's maturity to 'experimental' in the collection manifest. The explicit attribution in the plugin README is removed, with the author's surname 'Brussee' added to the spell-check dictionary instead for consistency. Also corrects minor table formatting in skill documentation.
feat(caveman): Explicitly declare maturity and add attribution

Sets the `caveman` skill's maturity to `experimental` in the collection manifest, aligning with its status. Additionally, updates the plugin README with attribution for the skill's origin.

feat(caveman): Define experimental maturity and refine attribution

Sets the 'caveman' skill's maturity to 'experimental' in the collection manifest. The explicit attribution in the plugin README is removed, with the author's surname 'Brussee' added to the spell-check dictionary instead for consistency. Also corrects minor table formatting in skill documentation.

docs(skills): normalize caveman auto-clarity list, clarify wenyan combo

Normalize the Auto-Clarity Boundaries bullet list to uniformly complete
sentences ending with periods, addressing the markdown punctuation
consistency rule. Replace the abstract wenyan-combination wording with
an explicit `/caveman wenyan ultra` example so readers can see what a
valid level combination looks like.

Resolves the Major and Minor findings from the implementation review at
.copilot-tracking/reviews/2026-06-05/caveman-skill-enhancements-plan-review.md.

revert(scope): restore adr-author SKILL.md and activation baseline to main

Commits b37cac9 and 1595c7d (caveman feature work) incidentally ran \`npm run format:tables\` over the repo and tightened markdown table padding in .github/skills/project-planning/adr-author/SKILL.md. That file is loaded by the @adr-creation GovernEntry and AdoptTemplate activation scenarios, which pin exact byte counts and content hashes in scripts/agents/activation-harness/baseline.json. The drag-along change broke 4 Pester tests in CI and forced an out-of-scope baseline recapture (commit 470c4f4).

Restore both files to their state on origin/main so this branch contains only caveman-related changes. The adr-author SKILL.md formatting drift is unrelated to the caveman skill and should land via its own PR if desired.
Updates the pinned byte counts and content hashes in `baseline.json` for the `GovernEntry` and `AdoptTemplate` scenarios. This recalibration is necessary due to recent modifications to `.github/skills/project-planning/adr-author/SKILL.md`, which altered its size and content.

@bindsi bindsi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Automated batch re-review: no actionable findings. The prior stale-branch/duplicate-disclaimer and activation-baseline concerns appear resolved.

…harness

Postprocess (markdown-table-formatter) normalizes tables in caveman and adr-author SKILL.md, plus the experimental collection and plugin README. Re-baselines activation harness against canonical adr-author SKILL.md (13531 bytes).

@bindsi bindsi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approving. The diff is now cleanly scoped to the experimental caveman skill and prior concerns are resolved. Frontmatter, skill structure, and upstream attribution look correct. No blocking issues.

@jkim323

jkim323 commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Thank you for taking the time to contribute! After reviewing this PR, I have two thoughts.

  • Caveman skill is already available to the public and I'm not sure it makes sense for us to bring something that's already public into the HVE-Core repository, even if it currently lives under the experimental section. I'd love to focus on capabilities that are unique to HVE-Core or that advance its core objectives.
  • I see the value Caveman brings for rapid iteration, but I am hesitant to use it for production environment or documentation as it relies heavily on shorthand and incomplete natural language. For anything intended for production use or long-term, clear and well-structured language tends to be better. In my experience, output quality generally tracks with how precisely and explicitly you communicate what you want. Even for skills that live under the experimental section, I’d prefer approaches that are more intentionally designed and documented so we maintain the level of rigor we want in HVE-Core.

I think it may find value to have another perspective to this - @agreaves-ms your thoughts would be appreciated thank you!

@agreaves-ms

Copy link
Copy Markdown
Collaborator

Thank you for taking the time to contribute! After reviewing this PR, I have two thoughts.

  • Caveman skill is already available to the public and I'm not sure it makes sense for us to bring something that's already public into the HVE-Core repository, even if it currently lives under the experimental section. I'd love to focus on capabilities that are unique to HVE-Core or that advance its core objectives.

  • I see the value Caveman brings for rapid iteration, but I am hesitant to use it for production environment or documentation as it relies heavily on shorthand and incomplete natural language. For anything intended for production use or long-term, clear and well-structured language tends to be better. In my experience, output quality generally tracks with how precisely and explicitly you communicate what you want. Even for skills that live under the experimental section, I’d prefer approaches that are more intentionally designed and documented so we maintain the level of rigor we want in HVE-Core.

I think it may find value to have another perspective to this - @agreaves-ms your thoughts would be appreciated thank you!

While I agree with your comment and concerns @jkim323 I do want to consider the benefits of adding skills like these to HVE-core:

  • Skills like these can be added with proper licensing.
  • It removes confusion and possible security exposure of which "caveman" skill to use. (Given the recent incidents with prompt injections in other repos).

I'm happy to pull in and include a skill like this if it's:

  1. Going to be used by teams and needed for HVE (possibly as a way to reduce token use as an example).
  2. Something foundational for agentic AI dev that would improve our own HVE workflows.

I also agree that HVE-Core should not be a grab bag of everything but if there are teams who are increasingly using caveman speak then we should include it.

I propose we have a discussion outside of this PR and come to a decision.

@TechPreacher

Copy link
Copy Markdown
Contributor Author

Thank you for taking the time to contribute! After reviewing this PR, I have two thoughts.

  • Caveman skill is already available to the public and I'm not sure it makes sense for us to bring something that's already public into the HVE-Core repository, even if it currently lives under the experimental section. I'd love to focus on capabilities that are unique to HVE-Core or that advance its core objectives.
  • I see the value Caveman brings for rapid iteration, but I am hesitant to use it for production environment or documentation as it relies heavily on shorthand and incomplete natural language. For anything intended for production use or long-term, clear and well-structured language tends to be better. In my experience, output quality generally tracks with how precisely and explicitly you communicate what you want. Even for skills that live under the experimental section, I’d prefer approaches that are more intentionally designed and documented so we maintain the level of rigor we want in HVE-Core.

I think it may find value to have another perspective to this - @agreaves-ms your thoughts would be appreciated thank you!

Thank you for your great thoughts on adding Caveman to HVE-Core. I agree with your points but would like to add some of my thoughts on why I added it:

  • The original cavemanskill is a bit cumbersome to add to projects, HVE-Core is always installed (VS Code plugin) and caveman can now be turned on and off very easily with one command.
  • I updated the caveman skill to be strictly only brief in communication with the user while prompting, NOT when creating any markdown files (ADRs, READMEs etc), PR descriptions etc. Much more so than the original caveman skill.

Let me know how to proceed, I'm happy to either close/abandon or merge this PR.

@rezatnoMsirhC rezatnoMsirhC left a comment

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.

Skill neat. Feel heard. Thank. Why use lot word when few word do trick?

Feel unsure about fork skill from other place. Do skill change often in other place? Effort to know change and sync? Head hurt thinking about. Maybe don't matter.

More discuss good. Now me approve anyway.
- Oog

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"

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.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants