rse/ase/ase-meta-mint
Claude Code and agent skill by rse/ase
- community
Checking that the SKILL.md file is still in the repository.
Mint an identifier or a name of a requested type out of a free-text hint: a UUID, a SHA-1 digest, a NanoId-style hash, a constant, variable, function, or class identifier, a path component, or a product-like name. Use when the user wants an identifier, id, symbol, slug, or name "minted", "coined", "derived", or "generated" from a description.
Install
npx vskill@latest install rse/ase/ase-meta-mintSKILL.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<purpose name="ase-meta-mint"> Mint an Identifier or Name </purpose>
<expand name="getopt" arg1="ase-meta-mint" arg2="--type|-t=(uuid|sha1|nanoid|const|var|class|func|path|name) --count|-c=1"> $ARGUMENTS </expand>
<objective> Mint an identifier or a name of the requested type out of the following hint: <hint><getopt-arguments/></hint> </objective>
<flow>
- <step id="STEP 1: Sanity Check Usage">
- Set <type><getopt-option-type/></type> and set <hint/> to
<getopt-arguments/> with any leading and trailing whitespace stripped.
- Determine the number of identifiers to mint: set <count/> to
<getopt-option-count/>; if <getopt-option-count/> is non-numeric, less than 1, or greater than 100, use the default 1 instead.
- <if condition="<hint/> is empty AND <type/> is NOT
uuid">
Only output the following <template/> and then immediately STOP processing the entire current skill -- every type except uuid needs a hint to derive anything from:
<template> ⧉ ASE: ✪ skill: ase-meta-mint, ▶ ERROR: expected a <hint> argument for type <type/> </template> </if>
- Set <results></results> and <warning></warning> (set both to empty).
</step>
- <step id="STEP 2: Mint Hash-Derived Identifiers" condition="<type/> is
uuid,sha1, ornanoid">
- Call the `ase_mint(type: "<type/>", hint: "<hint/>", count:
<count/>) tool of the ase MCP server and set <results/> to the returned lines of its text` output, one identifier per line. You MUST NOT derive a UUID, a SHA-1 digest, or a NanoId-style hash yourself -- only the tool hashes correctly and reproducibly.
- <if condition="a line of the
textoutput starts withWARNING:">
Remove that line from <results/> and set <warning/> to its text with the leading WARNING: stripped -- hashing a non-empty hint is deterministic, so <count/> was clamped to 1. </if>
</step>
- <step id="STEP 3: Derive Linguistic Identifiers" condition="<type/> is
const,var,class,func,path, orname">
- Distill <hint/> into its essential words: drop filler words,
articles, and prepositions, keep the two to four words which carry the actual meaning, and order them from the most general to the most specific one. Prefer established terminology of the surrounding domain over invented wording. Do not output anything.
- Assemble <count/> distinct candidates from these words,
ordered best-first, honoring the rules of <type/>:
-
const: anUPPER_SNAKE_CASEconstant identifier such as
FOO_BAR_QUUX -- upper-case ASCII words joined by _, never starting with a digit.
-
var: alowerCamelCasevariable identifier such as
fooBarQuux -- the last part MUST be a substantive (Quux) naming what the value is, never a verb, as a variable holds a thing and not an action.
-
func: alowerCamelCasefunction identifier such as
fooBarQuux -- the first part MUST be a verb (foo) naming what the function does, as a function performs an action and does not hold a thing.
-
class: anUpperCamelCaseclass identifier such as
FooBarQuux -- a substantive phrase naming the modeled entity, in singular form and without a The prefix.
-
path: akebab-casepath component such as
foo-bar-quux -- lower-case ASCII letters, digits, and - only, never starting or ending with -.
-
name: anUpperCamelCaseproduct name such as
FooBarQuux -- optimize for a brand, not for a description: short (preferably two to three syllables), pronounceable, memorable, and distinctive. Coinages, blends, and evocative metaphors are explicitly welcome here, and a plain concatenation of the hint words is explicitly not.
Store the candidates in <results/>. Do not output anything.
</step>
- <step id="STEP 4: Render Result">
- <if condition="<hint/> is empty">
Set <hint-shown>(none -- random UUID)</hint-shown>. </if> <else> Set <hint-shown><hint/></hint-shown>. </else>
- Output the minted identifiers of <results/>, one per line and
each enclosed in backticks, with the following <template/>:
<template> <ase-tpl-boxed title="MINT" subtitle="<type/>"> ● HINT: <hint-shown/>
○ <result-1/> ○ <result-2/> ○ [...] </ase-tpl-boxed> </template>
- <if condition="<warning/> is non-empty">
Additionally output the following <template/> directly below the box:
<template> ⧉ ASE: ✪ skill: ase-meta-mint, ▶ WARNING: <warning/> </template> </if>
</step>
</flow>
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugin/skills/ase-meta-mint/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rse/ase/ase-meta-mint)