agentsclimarketplace

Simplify spec

Skill WolframResearch/AgentTools/.claude/skills/simplify-spec

Simplify a design specification in Specs/ to focus on user-facing behavior. Use when asked to: "simplify a spec", "clean up a spec", "remove implementation details from a spec", "make a spec more high-level", "simplify the spec for [feature]", "rewrite spec to be user-facing", or any request to reduce internal/low-level detail in a specification document.From its SKILL.md

Install
npx -y skills add WolframResearch/AgentTools --skill simplify-spec

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

4.0 KB, as published. Nobody here has run it

Simplify a Design Specification

Rewrite a design specification to focus on user-facing behavior, removing or condensing internal implementation details. The goal is a spec that clearly communicates what the feature does and how users interact with it, without prescribing how it's built internally.

Spec to simplify: $ARGUMENTS

If no specific spec is given, ask the user which spec in Specs/ they'd like simplified.

Process

1. Read the Spec

Read the full spec file from Specs/. Identify every section and classify it:

  • User-facing: Things a user of the paclet would see or interact with (function signatures, options, usage examples, option tables with types/defaults/descriptions, backward compatibility notes, future plans)
  • Internal: Things only a developer implementing the feature would need (file modification lists, internal function signatures, internal symbol declarations, serialization details, parsing logic, private API code, environment variable plumbing, verification/test checklists)

2. Understand the Feature

Before rewriting, read the relevant source files to understand what the feature actually does. This is important because the spec may describe planned behavior that differs from what was implemented, or use terminology that's clearer in context.

Use the Explore agent or read files directly to understand:

  • How users interact with the feature (the public API)
  • What the actual defaults and option values are
  • Which parts of the spec correspond to internal plumbing vs user-visible behavior

3. Rewrite the Spec

Apply these guidelines:

Remove entirely:

  • File modification tables ("Files Modified")
  • Internal symbol declarations (e.g., "Add to CommonSymbols.wl")
  • Internal function implementations (e.g., full toolOptionValue code with Enclose/ConfirmBy)
  • Serialization/storage mechanism details (e.g., JSON format, environment variable names, parsing logic)
  • Verification/test step checklists
  • "Goals" sections that describe internal engineering goals rather than user value
  • Strikethrough notes about removed plans (e.g., "Deprecate the existing... (removed — ...)")

Keep as-is:

  • Usage examples showing the public API
  • Option/parameter tables (name, type, default, description)
  • Backward compatibility notes (what changed for existing users)
  • Future plans / phase 2 previews (these help users understand direction)

Simplify rather than remove:

  • Validation behavior → condense to a sentence or two about what happens with bad input (e.g., "Unrecognized names produce warnings but don't cause failure")
  • Resolution/priority logic → describe in plain language without internal variable names (e.g., "User-specified value takes priority over built-in default")
  • "Implementation notes" under option tables → remove if the table's Description column already conveys the behavior; rewrite to a brief user-facing note if it contains information users need (e.g., that two tools' options are independent of each other)

Style:

  • Use the same markdown formatting conventions as the original spec
  • Keep section headings clear and descriptive
  • Don't add new content that wasn't in the original — the goal is reduction, not expansion
  • If mentioning an exported symbol users can evaluate (like $DefaultMCPToolOptions), keep it; if mentioning an internal symbol (like $toolOptions or parseToolOptions), remove it

4. Summary

After rewriting, briefly tell the user what was removed, what was kept, and what was condensed. This helps them verify nothing important was lost.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.