Agent skill

Spike

by petarzarkov in petarzarkov/dunx

Resolve an open technical question by measuring it on real Bun instead of assuming, then record the verified result in docs/architecture/constraints.md.

MITAuto-check passedDevelopment

Install Spike

skills CLI
$ npx skills add petarzarkov/dunx --skill spike -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install petarzarkov/dunx spike --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/petarzarkov/dunx.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/spike .claude/skills/spike && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spike
GitHub stars
100
Token cost
~742 tokens
SKILL.md length
373 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Resolve an open technical question by measuring it on real Bun instead of assuming, then record the verified result in docs/architecture/constraints.md.

  • Works in 6 steps: State the question as a falsifiable… → Write a throwaway probe in the… → Run it on real Bun and record bun… → …
  • An open item in docs/ROADMAP.md that turns on runtime behaviour
  • SKILL.md covers Procedure and Rules
  • Calls bun

What it does

Spike is an agent skill from petarzarkov/dunx. Resolve an open technical question by measuring it on real Bun instead of assuming, then record the verified result in docs/architecture/constraints.md. Use for an open item in docs/ROADMAP.md that turns on runtime behaviour, before committing to any API shape that depends on runtime or tsc behaviour, and whenever a design argument turns on "does Bun/TypeScript actually do X?".

Its SKILL.md is about 740 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with TypeScript. The repository describes itself as: fastest web DI framework. NestJS-style structure at Bun speed. Constructor DI with no reflect-metadata, no experimentalDecorators, no JavaScript router. The licence is MIT.

When your agent uses it

  • An open item in docs/ROADMAP.md that turns on runtime behaviour
  • Before committing to any API shape that depends on runtime
  • Whenever a design argument turns on does Bun/TypeScript actually do X?

Example prompts

  • “does Bun/TypeScript actually do X?”
  • “/spike”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. State the question as a falsifiable claim and name what it gates, for
  2. Write a throwaway probe in the scratchpad directory, never under
  3. Run it on real Bun and record bun --version alongside the output. A
  4. Delegate the probing when it is noisy or wide. Give a subagent the claim
  5. Record the result in docs/architecture/constraints.md, under the topic it
  6. Delete the probe.

What it can do on your machine

Read from SKILL.md and the folder at commit d8be36b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spike loads about 742 tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 373 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~742

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from petarzarkov/dunx at commit d8be36b, republished under its MIT licence (© petarzarkov). 373 words, ~742 tokens.

Download SKILL.mdSave it as .claude/skills/spike/SKILL.md (or your agent's skills folder).
name
spike
description
Resolve an open technical question by measuring it on real Bun instead of assuming, then record the verified result in docs/architecture/constraints.md. Use for an open item in docs/ROADMAP.md that turns on runtime behaviour, before committing to any API shape that depends on runtime or tsc behaviour, and whenever a design argument turns on "does Bun/TypeScript actually do X?".

/spike

An entry in docs/architecture/constraints.md cites the probe or type-check output it rests on, which is why the decisions built on it hold. A spike adds entries of that kind. Open questions live in the Open items section of docs/ROADMAP.md, one file each under internal/notes/roadmap/.

Procedure

  1. State the question as a falsifiable claim and name what it gates, for example "does @Post(path, { body: Schema }) constrain the method signature through the method decorator's generic?" gates the typed-input API.
  2. Write a throwaway probe in the scratchpad directory, never under packages/ or examples/. It is not code that ships and it must not reach a commit, a coverage run, or a build.
  3. Run it on real Bun and record bun --version alongside the output. A type-level question runs through the repo's tsc instead; record its version.
  4. Delegate the probing when it is noisy or wide. Give a subagent the claim and the probe location; ask back for the literal command, the literal output, and a one-line verdict. Iterating a decorator probe through six type errors is exactly the kind of output that should never enter the main thread.
  5. Record the result in docs/architecture/constraints.md, under the topic it belongs to:
    • confirmed → an entry with the command, the Bun version, and the literal output in a fenced block. Match the existing terseness - the paramtypes: [ "Db", "Object", "Number" ] entry is the model.
    • refuted → write down the fallback and why, under the decision it affects. A rejected approach recorded is the whole point of that document.
    • If the question came from an Open items row in docs/ROADMAP.md, update its file under internal/notes/roadmap/, or delete it and the row when the spike settles it. A resolved question left listed is worse than no list.
  6. Delete the probe.
Show full SKILL.md (78 more words)Show less

Rules

  • Never write "should work", "presumably", or "in theory" into docs/architecture/constraints.md. If it was not run, it does not go in.
  • A spike that changes the public API shape belongs before the code it gates, not after.
  • One spike, one claim. Two questions are two probes.
  • Probes may use anything - including the dialects this repo bans in shipped code (experimentalDecorators, reflect-metadata) if refuting them is the point. That is how the existing emitDecoratorMetadata entry was produced. Scratchpad only.

© petarzarkov, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/spike of petarzarkov/dunx.

Open the folder on GitHubat commit d8be36b

Compare with similar skills

Spike next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spike compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spike this skillpetarzarkov/dunx100—~742Automated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT
Nx Importnrwl/nx29k6 repos~3.5kAutomated safety check: PassMIT
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.4k—~2.2kAutomated safety check: PassMIT
OpenTUI Terminal Interfacescline/cline70k—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Nx Import

    nrwl/nx

    Import, merge, or combine repositories into an Nx workspace using nx import.

    29k GitHub starsUsed in 6 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.4k GitHub stars~2.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Helps build terminal user interfaces with OpenTUI using its core imperative API or its React and Solid reconcilers, with references for layout, keyboard, animation and testing.

    70k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Frontend Code Review

    langgenius/dify

    Reviews frontend changes under `web/` or `packages/dify-ui/` for concrete defects and broken project contracts, using routed rule packs and a severity scale for findings.

    158k GitHub stars~938 tokensUpdated today
    DevelopmentAuto-check passed

More from petarzarkov/dunx

  • Docs Pass

    petarzarkov/dunx

    Revise one documentation file so it states facts instead of performing insight, and get it under the budgets in scripts/no-slop.test.ts.

    100 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • New Package

    petarzarkov/dunx

    Add a workspace to the dunx monorepo - a published package under packages/, a published CLI under tools/, a private workspace under internal/, or an example under examples/ - with correct manifest…

    100 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Release

    petarzarkov/dunx

    Version and publish @dunx/ packages to npm. An agent skill from petarzarkov/dunx.

    100 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Whats Next

    petarzarkov/dunx

    Write or refresh HANDOFF.md - a compact resume point holding completed objectives, live file paths, approaches already tried and rejected, and the exact next steps, placed against the roadmap in…

    100 GitHub stars~819 tokensUpdated 2 days ago
    Auto-check passed
  • Coverage Report

    petarzarkov/dunx

    Regenerate the coverage report and badges, or diagnose a wrong percentage, a 404ing badge, or a package showing 0%.

    100 GitHub stars~971 tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Spike

What does Spike do?

Resolve an open technical question by measuring it on real Bun instead of assuming, then record the verified result in docs/architecture/constraints.md. Spike is an agent skill from petarzarkov/dunx.md.

When should I use Spike?

Spike fits situations like: an open item in docs/ROADMAP.md that turns on runtime behaviour; before committing to any API shape that depends on runtime; whenever a design argument turns on does Bun/TypeScript actually do X?.

How do I install Spike in Claude Code?

Run `npx skills add petarzarkov/dunx --skill spike -a claude-code`. Or copy the skill folder (.claude/skills/spike in petarzarkov/dunx) into .claude/skills/spike in your project. Claude Code loads it when a task matches its description.

How do I install Spike in Codex?

Run `npx skills add petarzarkov/dunx --skill spike -a codex`. Or copy the skill folder (.claude/skills/spike in petarzarkov/dunx) into .agents/skills/spike in your project. Codex loads it when a task matches its description.

Can I use Spike in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add petarzarkov/dunx --skill spike -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spike, .gemini/skills/spike, .github/skills/spike and .opencode/skills/spike in your project.

What does Spike need to run?

Going by SKILL.md and its folder, Spike needs the command-line tools its instructions call (bun).

Does Spike access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Spike safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Spike use?

Spike is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spike use?

About 742 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spike?

Skills that share tags, products or a category with Spike: Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Nx Import (nrwl/nx, 29k stars) and Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spike?

petarzarkov (a GitHub user) maintains it in petarzarkov/dunx, which has 100 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.

Source: petarzarkov/dunx on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.