Skip to content
cccskills
FreePublished on GitHub

but-performance-tests

Create, update, run, and debug shell-based performance scenarios for the but CLI. It separates repository setup from the operation being measured, uses Hyperfine for timing, and guides focused validation and inspection of test output.

OriginalShow the original description

Use when creating, changing, running, or debugging shell-based `but` CLI performance scenarios under `crates/but/tests/performance`, including Hyperfine runs, fixture setup, setup-to-test state, and output inspection.

See how to install

Good for

  • Add a performance scenario for a but CLI operation
  • Update repository fixtures for an existing benchmark
  • Run a short benchmark for one scenario
  • Investigate setup failures or benchmark output

Files included (1)

  • SKILL.md1.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

but CLI performance tests

Read performance framework documentation completely before answering questions or changing performance scenarios. Inspect nearby scenarios and current shared helpers as applicable; README is canonical source for framework behavior, commands, helper APIs, and debugging options.

Workflow for changes

  1. Confirm requested operation and timing boundary.
  2. Inspect closest existing scenarios plus lib.sh and run.sh.
  3. Add or update only scenario's setup.sh and test.sh unless shared behavior is genuinely required.
  4. Prefer real, representative GitButler repository state over toy data.
  5. Keep setup, validation, and ID discovery outside timed operation.
  6. Reuse documented helpers instead of creating parallel fixture, state, output, or timing mechanisms.
  7. List every scenario in top-level performance README's included-scenario list, and update its entry when materially changing scenario.
  8. Run README's shell validation and short single-scenario benchmark.

For usage or debugging questions, answer from current README and scripts. Do not edit files unless user asks for changes.

Guardrails

  • Keep changes inside crates/but/tests/performance/ unless task specifically requests related documentation or skill updates.
  • Preserve two-file scenario contract.
  • Do not add custom timing/statistics code; Hyperfine owns measurement.
  • Do not include fixture setup or compilation in measured command.
  • Do not run all scenarios when user requests or changes only one.
  • Report fixture/setup limitations and unavailable validation explicitly.

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

but

FreeSummary

Manage version control through GitButler’s but CLI. Select files or hunks, meaning sections of a diff, for commits; organize dependent branches, split or combine history, resolve conflicts, and create pull requests using task-specific command workflows.

  • Commit selected files or sections of a diff
  • Split, combine, or reorder commits
  • Arrange branches by dependency
gitbutlerapp/gitbutler21.8KUpdated Oct 18, 2026

but-agentlog

FreeSummary

Review captured agent sessions related to a GitButler branch, pull request, or change. Start with a chronological overview of previous discussions and actions, then inspect specific turns when the rationale or supporting evidence needs clarification.

  • Catch up on previous work on the current branch
  • Review discussions related to a pull request
  • Understand the reasons behind earlier changes
gitbutlerapp/gitbutler21.8KUpdated Oct 18, 2026

cli-commands

FreeSummary

Implement or modify GitButler’s but commands using its established structure. It covers typed arguments, input validation, execution, and human-readable, shell, or JSON output, while keeping operations usable from the terminal interface.

  • Add a new but command
  • Define arguments for branches and commits
  • Separate input validation from execution
gitbutlerapp/gitbutler21.8KUpdated Oct 18, 2026

gitbutler-ui

FreeSummary

Update visible interfaces in Lite and but.dev using @gitbutler/ui-react. It guides component reuse, relevant design references, concise screen text, and visual checks in light and dark themes for forms, dialogs, notifications, and other surfaces.

  • Add forms or confirmation dialogs
  • Improve empty states and notifications
  • Rewrite labels and hints
gitbutlerapp/gitbutler21.8KUpdated Oct 18, 2026

lite-render-perf

FreeSummary

Prevent and investigate excessive rendering in Lite React screens. It guides data transformations, context use, and store subscriptions, then checks compiler output and measures rendering time before and after changes to verify their effect.

  • Investigate lag when selecting rows in Lite
  • Review data transformations during rendering
  • Design narrower context and store subscriptions
gitbutlerapp/gitbutler21.8KUpdated Oct 18, 2026

lite-screenshots

FreeSummary

Capture before and after screenshots of Lite UI changes on a local machine, compare the images, and publish changed screens to a pull request. It also guides screenshot coverage checks and updates to an existing comment.

  • Show before and after images in a pull request
  • Check which screens a UI change affects
  • Add a screen to the screenshot catalogue
gitbutlerapp/gitbutler21.8KUpdated Oct 18, 2026

See all skills by gitbutlerapp

Report a problem with this skill