Skip to content
Development
Skill

/ecosystem-analysis

Layer 1 skill for SDK and ecosystem analysis. SDK discovery strategy, behavioral extraction methodology, integration test mining, output formats. Loaded by the analyzer agent for SDK and ecosystem work.

From plugin
greenfield
30022 skills2 agents2 commands

Claude Code

$ npx -y skills add prime-radiant-inc/greenfield --skill ecosystem-analysis --agent claude-code

SKILL.md

ecosystem-analysis.SKILL.md
name: ecosystem-analysis
description: Layer 1 skill for SDK and ecosystem analysis. SDK discovery strategy, behavioral extraction methodology, integration test mining, output formats. Loaded by the analyzer agent for SDK and ecosystem work.

Ecosystem Analysis

Extract behavioral specifications from third-party SDKs, client libraries, and ecosystem tooling. Every SDK that consumes the target's APIs encodes behavioral assumptions in executable logic -- the strongest form of specification.

When to Use This Mode

Use SDK/Ecosystem mode when the target product has:

  • Public APIs consumed by third-party client libraries
  • Official SDKs published on package registries
  • Community-maintained client libraries on GitHub/GitLab
  • Open-source integrations or plugins that interact with the target

This mode runs independently of all other intelligence sources. It requires no source code access, no runtime execution, and no container. It needs only network access to package registries and code hosting platforms.

Targets without a public SDK or third-party client ecosystem get no useful signal from this mode — skip it.

Source Origin

SDK analysis draws only from published artifacts — client libraries on package registries, open-source community integrations, and the examples in official documentation. Nothing in this mode reads the target's source code; all inputs are material the target's vendor has already published for third-party developers to consume.

All SDK-derived intelligence is **public origin** and goes to `workspace/public/ecosystem/`.

Agents

| Agent | Purpose | Output | |-------|---------|--------| | `sdk-analyzer` | Discover and analyze SDK source code for behavioral assumptions | `workspace/public/ecosystem/sdks/` | | `integration-test-miner` | Extract test vectors from SDK test suites and fixtures | `workspace/public/ecosystem/tests/` |

Run `sdk-analyzer` first (it produces the SDK inventory), then `integration-test-miner` (it uses the inventory to find test suites).

SDK Discovery Strategy

digraph sdk_discovery {
    rankdir=TB;

    "Start SDK discovery" [shape=doublecircle];
    "Search target docs for SDK links" [shape=box];
    "Search package registries" [shape=box];
    "Search GitHub/GitLab for client libraries" [shape=box];
    "Classify each SDK: official vs community" [shape=box];
    "Is it a wrapper SDK?" [shape=diamond];
    "Is it stale (>2 years)?" [shape=diamond];
    "Add to SDK inventory" [shape=box];
    "Exclude from analysis" [shape=ellipse];
    "Extract behavioral claims from SDK source" [shape=box];
    "Mine integration tests for test vectors" [shape=box];
    "Build cross-SDK consensus report" [shape=box];
    "Discovery complete" [shape=doublecircle];

    "Start SDK discovery" -> "Search target docs for SDK links";
    "Search target docs for SDK links" -> "Search package registries";
    "Search package registries" -> "Search GitHub/GitLab for client libraries";
    "Search GitHub/GitLab for client libraries" -> "Classify each SDK: official vs community";
    "Classify each SDK: official vs community" -> "Is it a wrapper SDK?";
    "Is it a wrapper SDK?" -> "Exclude from analysis" [label="yes"];
    "Is it a wrapper SDK?" -> "Is it stale (>2 years)?" [label="no"];
    "Is it stale (>2 years)?" -> "Exclude from analysis" [label="yes"];
    "Is it stale (>2 years)?" -> "Add to SDK inventory" [label="no"];
    "Add to SDK inventory" -> "Extract behavioral claims from SDK source";
    "Extract behavioral claims from SDK source" -> "Mine integration tests for test vectors";
    "Mine integration tests for test vectors" -> "Build cross-SDK consensus report";
    "Build cross-SDK consensus report" -> "Discovery complete";
}

Discovery Sources (Priority Order)

1. **Target's documentation** -- "Client Libraries", "SDKs", "Getting Started" pages 2. **Package registries** -- search for the target name on:

| Registry | Language | Search Pattern | |----------|----------|---------------| | npm | JavaScript/TypeScript | `https://www.npmjs.com/search?q={target}` | | PyPI | Python | `https://pypi.org/search/?q={target}` | | crates.io | Rust | `https://crates.io/search?q={target}` | | Maven Central | Java/Kotlin | `https://search.maven.org/search?q={target}` | | NuGet | C#/.NET | `https://www.nuget.org/packages?q={target}` | | RubyGems | Ruby | `https://rubygems.org/search?query={target}` | | pkg.go.dev | Go | `https://pkg.go.dev/search?q={target}` | | Hex.pm | Elixir | `https://hex.pm/packages?search={target}` | | Packagist | PHP | `https://packagist.org/?query={target}` |

3. **GitHub/GitLab** -- search topics, code search for import statements 4. **Web search** -- '{target} SDK', '{target} client library'

SDK Classification

For each discovered SDK, record: name, language, type (official/community), version, repository URL, package registry URL, last updated date, downloads/stars, maintainer, target API version, license.

Prioritization

1. **Official SDKs first** -- maintained by the target's organization, most accurate 2. **Most-downloaded community SDKs** -- download count correlates with community vetting 3. **Recently updated over stale** -- packages >2 years old may target deprecated APIs 4. **Multiple languages** -- analyzing the same API from 3+ languages provides cross-language corroboration

Exclusion Criteria

  • **Wrapper SDKs** that depend on another SDK (check dependencies). Not independent sources.
  • **Stale packages** last updated >2 years ago. May reflect deprecated API versions.
  • **Minimal wrappers** with few stars/downloads and negligible behavioral content.

Behavioral Extraction Methodology

What SDKs Reveal

| Category | What to Look For | How to Find It | |----------|-----------------|----------------| | API Surface | Endpoint URLs, HTTP methods, URL patterns | HTTP method calls, URL string literals, route constants | | Request Schemas | Field names, types, required/optional, constr

Read more
@prime-radiant-inc
Ships withgreenfield

Reverse engineer clean behavioral specs from any codebase. Greenfield reads source code, documentation, SDKs, runtime behavior, and binaries, then produces behavioral specifications, test vectors, acceptance criteria, and a full provenance trail.

30022 skills2 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
300
Star history of prime-radiant-inc/greenfield on GitHub, a chart by star-history.com

Other skills on greenfield.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about ecosystem-analysis.

Which coding agents can use ecosystem-analysis?
ecosystem-analysis installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.