Deep-dive a SINGLE key decision. An agent skill from strands-agents/box.

Apache-2.0Auto-check passedDevelopment

Install Kd

skills CLI
$ npx skills add strands-agents/box --skill kd -a claude-code

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

GitHub CLI
$ gh skill install strands-agents/box kd --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/strands-agents/box.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/kd .claude/skills/kd && 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
kd
GitHub stars
110
Token cost
~1.3k tokens
SKILL.md length
654 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Deep-dive a SINGLE key decision. An agent skill from strands-agents/box.

  • Works in 7 steps: Check whether decisions.md already owns… → Frame the question. State what must be… → Find the real options. Three to six,… → …
  • You need to rigorously decide one thing
  • SKILL.md covers Skill Invocation, Process, The draft and The entry, plus 2 more sections
  • Calls git

What it does

Kd is an agent skill from strands-agents/box. Deep-dive a SINGLE key decision. Frame the question, weigh the candidate options honestly, and land a defensible answer in a local draft. Once the user decides it, append one entry to docs/design/decisions.md, or update the entry it re-answers. Use when you need to rigorously decide one thing, such as "which X should we use", "should we do A or B", "evaluate the tradeoffs of ...", or "make the call on ...".

Its SKILL.md is about 1.3k 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, covering Architecture decision records. It works with Linux. The repository describes itself as: Run AI agents in a sandbox that restricts what they can execute, read, write, and reach on the network. Box combines OS isolation with default-deny Dogwood policies and… The licence is Apache-2.0.

When your agent uses it

  • You need to rigorously decide one thing
  • Such as which X should we use
  • Evaluate the tradeoffs of ...
  • Make the call on ...

Example prompts

  • “which X should we use”
  • “should we do A or B”
  • “evaluate the tradeoffs of ...”
  • “/kd”

Workflow steps

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

  1. Check whether decisions.md already owns this question. Search it by topic, not by
  2. Frame the question. State what must be decided and why it is hard. A question with an
  3. Find the real options. Three to six, each one a thing someone would actually build.
  4. Weigh them. Name the criteria that decide it, and say which option wins each. Where a
  5. Write the draft to .agents/drafts/kd/{YYYY-MM-DD}-{slug}.md, in the
  6. Report in chat: the one-line recommendation, its cost, and the draft's path. Then stop
  7. Append the entry only when the user says it is decided. Set the draft's status to

What it can do on your machine

Read from SKILL.md and the folder at commit 2c874ea. 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:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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

Kd loads about 1.3k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 654 words of instructions outside code blocks.

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

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 strands-agents/box at commit 2c874ea, republished under its Apache-2.0 licence (© strands-agents). 654 words, ~1,321 tokens.

Download SKILL.mdSave it as .claude/skills/kd/SKILL.md (or your agent's skills folder).
name
kd
description
Deep-dive a SINGLE key decision. Frame the question, weigh the candidate options honestly, and land a defensible answer in a local draft. Once the user decides it, append one entry to docs/design/decisions.md, or update the entry it re-answers. Use when you need to rigorously decide one thing, such as "which X should we use", "should we do A or B", "evaluate the tradeoffs of ...", or "make the call on ...".

Key Decision (KD) Skill

Take one decision and analyze it to the bottom. Frame the real question, enumerate the candidate options, weigh each honestly, and recommend an answer with its cost stated.

The work has two outputs, and they live in different places:

OutputWhereCommitted?
The analysis: options, criteria, measurements, recommendation.agents/drafts/kd/{YYYY-MM-DD}-{slug}.mdNo. .gitignore holds /.agents/drafts/.
The decided entryone entry in docs/design/decisions.mdYes, and only after the user decides.

Skill Invocation

/kd <the decision>

Examples:

  • /kd which isolation primitive should back the box on Linux
  • /kd should the egress gateway do static or semantic outbound control
  • /kd how is temporal history stored

Process

  1. Check whether decisions.md already owns this question. Search it by topic, not by wording. If an entry answers it, this run re-answers that entry. See Re-answering an entry.
  2. Frame the question. State what must be decided and why it is hard. A question with an obvious answer is not a key decision. Say so and stop.
  3. Find the real options. Three to six, each one a thing someone would actually build. Include the status quo. Reject a straw man rather than listing it.
  4. Weigh them. Name the criteria that decide it, and say which option wins each. Where a claim needs evidence, measure it or read the source. Do not assert.
  5. Write the draft to .agents/drafts/kd/{YYYY-MM-DD}-{slug}.md, in the draft shape. Status is Proposed.
  6. Report in chat: the one-line recommendation, its cost, and the draft's path. Then stop and wait.
  7. Append the entry only when the user says it is decided. Set the draft's status to Decided, write the entry in the entry shape, and report the anchor.

An agent never decides on the user's behalf. A recommendation is not a decision, and the user's silence is not approval.

The draft

The draft is where the argument lives, so it can be as long as the analysis needs.

markdown
# {The question}

**Status:** Proposed | Decided {YYYY-MM-DD}
**Owns or re-answers:** {new | decisions.md#{anchor}}

## Why this is hard
## Options
## Criteria, and which option wins each
## Evidence
## Recommendation, and its cost

The entry

An entry states the decision, not the argument. Read three neighbouring entries in decisions.md before you write one, and match their shape.

markdown
<a id="{slug}"></a>
### {The answer, stated as a claim. Never a question.}

{Two to six sentences. What is now true, in the present tense, and what it lands in: the type,
the module, or the mechanism. The obvious alternative, and why it lost, in one sentence. What the
decision costs the reader: a limitation, a residual risk, or a thing they must not do.}
  • Put it in the section that owns the area: Premises, The box, Policy, Containment, Interpreters, Egress, Credentials, or Telemetry.
  • The slug is the claim, in kebab-case. It is a permanent identifier, so pick it once. Code cites an entry by this anchor, as docs/design/decisions.md#{slug}.
  • Name a test that pins the claim, when one exists. Verify the name with git grep -n 'fn {name}' first. An invented test name is worse than none.
Show full SKILL.md (239 more words)Show less

Re-answering an entry

Rewrite the entry to state what is now true. Do not append a second entry beside it. A reader who must assemble one decision from a stale entry plus its correction reads the design wrong.

  • Keep the <a id="…"> anchor unchanged, even when the title changes. Code links to it.
  • Rewrite the title, the answer, and every cost the change makes false. A title that names a deleted mechanism is the first thing a reader trusts and the first thing that misleads.
  • Open a new entry only for a new question.

Rules

  • One entry, one decision. Two decisions are two entries.
  • The entry never links the draft. .agents/drafts/ is gitignored, so the link is dead for every other reader and every clone. State the answer and its cost well enough that no reader needs the draft.
  • State the answer, not the argument. The argument stays in the draft.
  • Never cite a file.rs:LINE. Name the symbol, the type, or the test. A line number rots on the next edit above it.
  • Never restate a fact the code owns. The code owns behaviour. The entry owns why.
  • No status line, no date, no "Updated" banner, and no "Proposed" in the entry. An entry in decisions.md is decided by being there. The page is a historical record, and the code is the authority where the two disagree.
  • Write in ASD-STE100 Simplified Technical English, with no em-dashes and no en-dashes.

© strands-agents, Apache-2.0. 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 .agents/skills/kd of strands-agents/box.

Open the folder on GitHubat commit 2c874ea

Compare with similar skills

Kd 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.

Kd compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kd this skillstrands-agents/box110—~1.3kAutomated safety check: PassApache-2.0
Prosestatic-web-server/static-web-server2.4k—~971Automated safety check: PassApache-2.0
PR Design DocOpenHands/OpenHands90k—~2.4kAutomated safety check: PassMIT
Update .NET OS Packagesdotnet/core22k—~2.3kAutomated safety check: PassMIT
Cut Releasejfernandez/bpftop2.7k—~2kAutomated safety check: PassApache-2.0
Native Feel Cross Platform Desktopyetone/native-feel-skill1.9k1 repos~1.5kAutomated safety check: PassMIT

Similar skills

  • Prose

    static-web-server/static-web-server

    Author or edit any prose for the Static Web Server (SWS) project — documentation, design docs, READMEs, PR descriptions, issue bodies, commit message bodies, or other human-readable text — following…

    2.4k GitHub stars~971 tokensUpdated today
    DevelopmentAuto-check passed
  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.

    22k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Cut Release

    jfernandez/bpftop

    Cut a new versioned release of bpftop — pick the version, open a version-bump PR, sign-tag the merge commit on main, and draft GitHub release notes in the project's established format.

    2.7k GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Native Feel Cross Platform Desktop

    yetone/native-feel-skill

    A skill your agent uses when the user is designing, prototyping, or rewriting a desktop app that must run on multiple OSes (macOS + Windows, optionally Linux) AND feel indistinguishable from a…

    1.9k GitHub starsUsed in 1 repo~1.5k tokens
    DevelopmentAuto-check passed
  • Cto Advisor

    Ibrahim-3d/orchestrator-supaconductor

    Technical leadership guidance for engineering teams, architecture decisions, and technology strategy.

    380 GitHub starsUsed in 4 repos~2.4k tokens
    DevelopmentAuto-check passed

More from strands-agents/box

All 10 skills in this repo
  • Authoring Box Policy

    strands-agents/box

    Author or edit a Strands Box policy (policy.dw) — turn an operator's natural-language allow/deny intent into a validated Dogwood policy over the box's fixed action vocabulary, including when…

    110 GitHub stars~5.4k tokensUpdated today
    Auto-check passed
  • Debug Os Failure On GitHub

    strands-agents/box

    Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt.

    110 GitHub stars~1.3k tokensUpdated today
    Auto-check: notes
  • Docs Planner

    strands-agents/box

    Find the gaps in the Box documentation and produce a prioritized backlog for docs/user/ and docs/design/.

    110 GitHub stars~743 tokensUpdated today
    Auto-check passed
  • Docs Writer

    strands-agents/box

    Draft or rewrite a Box documentation page in docs/user/ (tutorial, how-to, or reference for an operator) or docs/design/ (explanation for a security evaluator or a contributor), or a crate README.md…

    110 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Spec

    strands-agents/box

    Walk through spec-driven development, design then requirements, producing a local .spec.md and .requirements.md for one feature.

    110 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Docs Audit

    strands-agents/box

    Assess an existing Box documentation page (docs/user/, docs/design/, or a crate README.md) for accuracy against the code and its tests, placement, and voice, and recommend what to fix.

    110 GitHub stars~957 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Kd

What does Kd do?

Deep-dive a SINGLE key decision. An agent skill from strands-agents/box. Kd is an agent skill from strands-agents/box. Deep-dive a SINGLE key decision.

When should I use Kd?

Kd fits situations like: you need to rigorously decide one thing; such as which X should we use; evaluate the tradeoffs of ..; make the call on ...

How do I install Kd in Claude Code?

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

How do I install Kd in Codex?

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

Can I use Kd 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 strands-agents/box --skill kd -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kd, .gemini/skills/kd, .github/skills/kd and .opencode/skills/kd in your project.

What does Kd need to run?

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

Does Kd access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Kd 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 Kd use?

Kd is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kd use?

About 1.3k tokens (SKILL.md is roughly 5.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 Kd?

Skills that share tags, products or a category with Kd: Prose (static-web-server/static-web-server, 2.4k stars), PR Design Doc (OpenHands/OpenHands, 90k stars), Update .NET OS Packages (dotnet/core, 22k stars) and Cut Release (jfernandez/bpftop, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kd?

strands-agents (a GitHub organization) maintains it in strands-agents/box, which has 110 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

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