rse/ase/ase-meta-proximity
Claude Code and agent skill by rse/ase
- community
Checking that the SKILL.md file is still in the repository.
Determine the conceptual proximity of a topic -- its parent topic, its most relevant sibling topics, and its most relevant child topics -- optionally grounded in Internet/Web facts and optionally navigable in an interactive loop. Use when the user wants to explore the conceptual neighborhood of a topic, or mentions "proximity" or "related topics".
Install
npx vskill@latest install rse/ase/ase-meta-proximitySKILL.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<purpose name="ase-meta-proximity"> Determine the Conceptual Proximity of a Topic </purpose>
<expand name="getopt" arg1="ase-meta-proximity" arg2="--ground|-g --loop|-l"> $ARGUMENTS </expand>
<objective> Determine the conceptual proximity of the following topic -- its parent topic, its most relevant sibling topics, and its most relevant child topics: <topic><getopt-arguments/></topic> </objective>
<flow>
- <step id="STEP 1: Check Topic">
<if condition="<topic/> is empty"> Only output the following <template/> and then immediately STOP processing the entire current skill:
<template> ⧉ ASE: ✪ skill: ase-meta-proximity, ▶ ERROR: expected a <topic> argument </template> </if>
</step>
- <step id="STEP 2: Explore Proximity">
REPEAT the following sub-steps in a LOOP until either <getopt-option-loop/> is not equal true (then the loop runs exactly once and stops after rendering), or the user declines/cancels the dialog in sub-step 4:
- Determine Proximity:
Set <parent/>, <sibling-1/> to <sibling-4/>, and <child-1/> to <child-4/> to empty, so that a stale proximity of a previously navigated topic can never leak into the rendering below.
Set <prompt><topic/></prompt>.
<if condition="<getopt-option-ground/> is equal true"> Set <prompt>GROUND <topic/></prompt>, so the agent grounds its determination in Internet/Web facts instead of using model knowledge only. </if>
Determine the canonical name of the central topic and its conceptual proximity along the three dimensions PARENT (the single broader topic that <topic/> is a specialization of), SIBLINGS (the four most relevant topics on the same level that share the same parent), and CHILDREN (the four most relevant narrower topics that are specializations of <topic/>) by using the ase-meta-proximity agent in a sub-agent with the following tool call:
Agent( description: "Determine Conceptual Proximity", subagent_type: "ase:ase-meta-proximity", prompt: "<prompt/>", run_in_background: false )
Parse the returned labeled list and set <topic/> to the value of its TOPIC: line, <parent/> to the value of its PARENT: line, <sibling-1/> to <sibling-4/> to the values of its four SIBLING: lines, and <child-1/> to <child-4/> to the values of its four CHILD: lines.
<if condition=" the sub-agent returned no usable proximity OR it did not yield a canonical topic, exactly one parent, exactly four siblings, and exactly four children "> Determine the canonical topic name, the parent, the siblings, and the children from model knowledge instead, and output the following <template/>:
<template> <ase-tpl-bullet-secondary/> WARNING: proximity agent returned no usable result -- falling back to model knowledge. </template> </if>
- Render Proximity:
Output the result with the following <template/>, listing each proximity topic under its bullet-prefixed section header.
<template> <ase-tpl-head title="PROXIMITY TOPICS"/>
● PARENT: ↑ <parent/>
● TOPIC: ○ <topic/>
● SIBLINGS: ⇄ <sibling-1/> ⇄ <sibling-2/> ⇄ <sibling-3/> ⇄ <sibling-4/>
● CHILDREN: ↓ <child-1/> ↓ <child-2/> ↓ <child-3/> ↓ <child-4/>
<ase-tpl-foot title="PROXIMITY TOPICS"/> </template>
- <if condition="<getopt-option-loop/> is not equal
true">
The loop runs only once in non-interactive mode: break out of the loop and stop processing without any further output. </if>
- Navigate Proximity:
In the following, you MUST NOT use your built-in <user-dialog-tool/> tool! Instead, you MUST just show a custom dialog according to the expanded custom-dialog definition. You MUST closely follow this definition.
Let the user pick one of the nine proximity topics to navigate to by raising a question with the following custom dialog:
<expand name="custom-dialog" arg1="--no-other"> Navigate: Which proximity topic would you like to navigate to? PARENT: ↑ <parent/> SIBLING-1: ⇄ <sibling-1/> SIBLING-2: ⇄ <sibling-2/> SIBLING-3: ⇄ <sibling-3/> SIBLING-4: ⇄ <sibling-4/> CHILD-1: ↓ <child-1/> CHILD-2: ↓ <child-2/> CHILD-3: ↓ <child-3/> CHILD-4: ↓ <child-4/> </expand>
Check the <result/> and dispatch accordingly:
- If <result/> is
CANCEL:
Break out of the loop and stop processing without any further output.
- Otherwise: Set <topic/> to the proximity topic corresponding
to the selected <result/> (the <parent/>, <sibling-K/>, or <child-K/> value behind the chosen label).
Then you MUST continue the loop at step 2.1.
</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-proximity/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-proximity)