From crypto-workbench
Convert reviewed material into implementation-facing specifications.
How this skill is triggered — by the user, by Claude, or both
Slash command
/crypto-workbench:crypto-extract-specThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Convert reviewed material into implementation-facing specifications.
Convert reviewed material into implementation-facing specifications.
Verify extracted/reviews/ contains a review artifact for the current target. If not, tell the user to run crypto-paper-review first.
Read the paper, the review artifact, and any supplementary sources identified in the source index.
Extract all notation from the paper: symbols, meanings, domains, encodings, conventions, and any conflicts between sources.
Call build_notation_map() from specs.build_notation_map with:
workbench_root = .cryptoworkbenchtarget = current target namecreated_from = path to primary sourcesymbols = list of dicts, each with: symbol, meaning, domain, encoding, notesconventions = list of paper-specific conventionsconflicts = list of notation conflicts between sourcesRead the paper's algorithms. Normalize pseudocode into explicit steps with clear inputs, outputs, and control flow. Record any steps that are underspecified.
Identify every ambiguity, underspecified detail, and implementation choice that requires user input. Do not silently resolve them.
Call build_ambiguity_log() from specs.build_ambiguity_log with:
workbench_root = .cryptoworkbenchtarget = current target nametitle = descriptive titlecreated_from = path to primary sourcesummary = overview of ambiguity scopeambiguities = list of dicts, each with: title, description, source_location, impact, resolution_options, statusRe-read the ambiguity log. Classify each item as blocking or deferred based on its impact field (scope / correctness / security → blocking; cosmetic / doc-only → deferred).
Surface the classification to the user before escalating, so they can object before you walk through the questions:
"Ambiguity log has N items. I'm treating these as blocking: [list with one-line impact summaries]. I'm deferring these: [list]. OK with that split, or move something?"
Then, only after the split is confirmed:
status: deferred and move on; the impl spec records them as open items.status: resolved, add a resolution field) and into .cryptoworkbench/workbench/decisions.md.Do not guess on blocking items. If the user wants to defer a blocker, note that explicitly — a deferred blocker becomes a classification constraint (impl spec classification shifts toward "Spec-only / blocked by unresolved ambiguity").
Call build_impl_spec() from specs.build_impl_spec with:
workbench_root = .cryptoworkbenchtarget = current target nametitle = descriptive titlecreated_from = path to primary sourceclassification = one of: "Research prototype", "Reference-style implementation", "Library-backed implementation", "Production-oriented integration", "Spec-only / blocked by unresolved ambiguity"summary, data_types, module_boundaries, function_signatures, randomness_requirements, serialization_rules, parameter_constraints, dependencies = your spec contenttest_plan_kat = known-answer test vectorstest_plan_edge_cases = edge case teststest_plan_negative = negative and invalid-input teststest_plan_serialization = serialization round-trip teststest_plan_failure = failure-mode teststest_plan_coverage = coverage goalsReport the extraction summary and recommend crypto-library-map as the next step.
specs.build_notation_map — build_notation_map()specs.build_ambiguity_log — build_ambiguity_log()specs.build_impl_spec — build_impl_spec()Shared Python modules ship inside this plugin under ${CLAUDE_PLUGIN_ROOT}/src/. The user's current working directory is their working project — that is where .cryptoworkbench/ lives and where any relative path like workbench_root resolves.
When invoking Python from this skill:
src/ to the Python path. Inline form: PYTHONPATH="${CLAUDE_PLUGIN_ROOT}/src" python .... Inside a script: sys.path.insert(0, "${CLAUDE_PLUGIN_ROOT}/src").workbench_root as a path relative to the user's cwd (typically .cryptoworkbench)..py file — not inline python -c with shell quoting.npx claudepluginhub bacharkachouh/crypto-workbench --plugin crypto-workbenchGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.