AgentStack
SKILL verified Apache-2.0 Self-run

Ase Arch Discover

skill-rse-ase-ase-arch-discover · by rse

>

No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add skill-rse-ase-ase-arch-discover

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Ase Arch Discover? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

@${CLAUDESKILLDIR}/../../meta/ase-control.md @${CLAUDESKILLDIR}/../../meta/ase-skill.md @${CLAUDESKILLDIR}/../../meta/ase-dialog.md @${CLAUDESKILLDIR}/../../meta/ase-getopt.md

Discover Components

$ARGUMENTS

Discover additional, third-party components (libraries/frameworks) for the technology stack to provide the needed functionality .

  1. Derive the needed from the , but keep

the functionality description very brief but still precise.

  1. If is not clear, not precise, or not specific

enough, let the user interactively choose the intended functionality.

In the following, you MUST NOT use your built-in tool! Instead, you MUST just show a custom dialog according to the expanded custom-dialog definition. You MUST closely follow this definition:

Functionality: Which functionality should the components provide? : (grounded candidate functionality 1) : (grounded candidate functionality 2) : (grounded candidate functionality 3) : (grounded candidate functionality 4)

Then use the and its corresponding grounded candidate functionality to adjust accordingly.

  1. Display the determined final functionality with just the following

:

FUNCTIONALITY:

  1. Determine the used technology stack:
  1. If a file package.json is found in the top-level directory

of the project and contains an entry typescript under dependencies or devDependencies, then TypeScript.

  1. Else, if a file package.json is found in the top-level directory

of the project, then JavaScript.

  1. Else, if a file build.gradle.kts or settings.gradle.kts

is found in the top-level directory, then Kotlin.

  1. Else, if a file build.gradle is found in the top-level directory and

is applying kotlin, org.jetbrains.kotlin.jvm, kotlin-android, or kotlin-multiplatform plugins, then Kotlin.

  1. Else, if a file pom.xml is found in the top-level directory and

contains kotlin-maven-plugin or kotlin-stdlib dependencies, then Kotlin.

  1. Else, if a file pom.xml or build.gradle is found in the top-level directory

of the project, then Java.

  1. Else, use Unknown.
  1. Display the determined final technology stack with just the

following :

TECHNOLOGY STACK:

  1. If is "Unknown", the technology stack could not be

determined and no component discovery backend is available. Inform the user with just the following and then STOP the entire flow (do not perform any further steps):

RESULT: technology stack could not be determined -- component discovery is only supported for JavaScript, TypeScript, Java, and Kotlin projects.

  1. From and , derive essential keywords

(L=1-M), which allow you to search for suitable components.

  1. Determine the candidate pool size as twice the

(i.e. = 2 × ). Each discovery source below may fetch up to candidates so that the later ranking and trimming (which alone is governed by ) has a meaningful set to choose from.

In the to be discovered candidate set of components (K=1-C, where C is the merged and deduplicated candidate count), remember the component name as , the official package name as , the latest version as , the stars as , the created date as , the last updated date as , the total number of downloads in the last month as .

  1. If is "JavaScript" or "TypeScript":
  1. Based on the essential keywords (L=1-M),

use the ase-meta-search skill in a subagent to generally discover an initial set of a maximum of NPM packages and at least their real name and their unique package names .

  1. Use the shell command `npm search --json --searchlimit

"" [...] ""` to specifically discover an additional set of a maximum of NPM packages and at least their unique package names , based on the essential keywords (L=1-M). Merge the results into the already existing result set, but deduplicate entries.

  1. If is "Java" or "Kotlin":
  1. Based on the essential keywords (L=1-M),

use the ase-meta-search skill in a subagent to generally discover an initial set of a maximum of Maven packages and at least their real name and their unique Maven coordinates of the form groupId:artifactId.

  1. Use the shell command curl -s 'https://search.maven.org/solrsearch/select?q=+[...]+&rows=&wt=json'

to specifically discover an additional set of a maximum of Maven packages and at least their unique Maven coordinates (i.e. : from each result document's g and a fields), based on the essential keywords (L=1-M). Merge the results into the already existing result set, but deduplicate entries by Maven coordinate.

  1. Call the `asecomponentinfo(stack: "", components:

[ "", ..., "" ]) tool of the ase MCP server *once* for the entire candidate set of discovered packages. The tool dispatches internally on and fetches all metadata in maximum parallel and returns an array of objects { name, version, created, updated, repository, stars, downloads, rank }. For each component (K=1-C) read from its corresponding entry: from version, from updated, from created, from repository, from stars (numeric or N.A.), from downloads (numeric or N.A.) and from rank` (numeric).

  1. Sort, in descending order, the discovered candidate components

(K=1-C) by their rank field and trim the result list to just a maximum of total components, which establishes the final retained set (K=1-N, where N is at most ). All subsequent steps operate solely on this retained set.

  1. For each component (K=1-N), research and then

decide which one of USP (Unique Selling Point -- what makes it unique), Crux (what you should notice), or Gotcha (what you should not stumble over) is its single most distinguishing perspective, and remember this as an (K=1-N) formatted like : where is one of USP, Crux, or Gotcha and is a 1-6 word hint. Do not output anything.

  1. Display the determined, individual components as a Markdown

table with just the following and do not output anything else:

COMPONENT HINTS:

| ⚑ Component | ▣ Package | ⚖ Hint | | :------------ | :------------- | :-------- | | **** | ` | | [...] | **** | ` | |

  1. Display the discovered components as a Markdown table

with just the following :

COMPONENT RANKING:

| ⚑ Component | ▣ Package | ❖ Version | ↓ Downloads | ⎈ Stars | ⏲ Updated | ☆ Created | | :------------ | :------------- | -----------: | -----------------: | -------------: | :--------------- | :----------- | | ** | ` | | **** | **** | **** | | [...] | **** | ` | | | | ** | |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

  • Author: rse
  • Source: rse/ase
  • License: Apache-2.0
  • Homepage: https://ase.tools

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.