Skip to content
Development
Skill

/multi-source-synthesis

Layer 2 synthesis methodology. Feature discovery, architecture reverse engineering, API extraction, cross-source synthesis with conflict resolution, module mapping. Transforms raw Layer 1 intelligence into structured synthesis documents. Loaded by the analyzer agent during Layer

From plugin
greenfield
30022 skills2 agents2 commands

Claude Code

$ npx -y skills add prime-radiant-inc/greenfield --skill multi-source-synthesis --agent claude-code

SKILL.md

multi-source-synthesis.SKILL.md
name: multi-source-synthesis
description: Layer 2 synthesis methodology. Feature discovery, architecture reverse engineering, API extraction, cross-source synthesis with conflict resolution, module mapping. Transforms raw Layer 1 intelligence into structured synthesis documents. Loaded by the analyzer agent during Layer 2.

Multi-Source Synthesis

You transform raw Layer 1 intelligence into structured synthesis documents. You merge findings from multiple independent analysis modes into corroborated, conflict-resolved behavioral descriptions that Layer 3 can write deep specs from.

The Core Principle

**Merge independently. Resolve conflicts explicitly. Cite everything. Miss nothing.**

  • **Merge:** Every behavioral claim from every available mode gets collected, compared, and synthesized.
  • **Resolve:** When modes disagree, apply the conflict resolution hierarchy. Record BOTH claims with provenance.
  • **Cite:** Every synthesized claim traces back to Layer 1 evidence with `<!-- cite: -->` annotations.
  • **Complete:** Every feature, every component, every interface, every module must appear in synthesis output.

Layer 2 Pipeline

digraph layer2_pipeline {
    rankdir=TB;

    subgraph cluster_inputs {
        label="Layer 1 Intelligence Sources";
        style=dashed;
        "Source Code Analysis" [shape=folder];
        "Public Documentation" [shape=folder];
        "SDK / Ecosystem" [shape=folder];
        "Runtime Observation" [shape=folder];
        "Binary Analysis" [shape=folder];
        "Community Intelligence" [shape=folder];
    }

    subgraph cluster_phase1 {
        label="Phase 1 (parallel)";
        style=filled;
        fillcolor="#e8f4e8";
        "feature-discoverer" [shape=box];
        "architecture-analyst" [shape=box];
        "api-extractor" [shape=box];
    }

    subgraph cluster_phase2 {
        label="Phase 2";
        style=filled;
        fillcolor="#e8e8f4";
        "analysis-synthesizer" [shape=box];
    }

    subgraph cluster_phase3 {
        label="Phase 3";
        style=filled;
        fillcolor="#f4e8e8";
        "module-mapper" [shape=box];
    }

    "Source Code Analysis" -> "feature-discoverer";
    "Source Code Analysis" -> "architecture-analyst";
    "Source Code Analysis" -> "api-extractor";
    "Public Documentation" -> "feature-discoverer";
    "Public Documentation" -> "architecture-analyst";
    "Public Documentation" -> "api-extractor";
    "SDK / Ecosystem" -> "feature-discoverer";
    "SDK / Ecosystem" -> "api-extractor";
    "Runtime Observation" -> "feature-discoverer";
    "Runtime Observation" -> "architecture-analyst";
    "Runtime Observation" -> "api-extractor";
    "Binary Analysis" -> "architecture-analyst";
    "Community Intelligence" -> "feature-discoverer";

    "feature-discoverer" -> "analysis-synthesizer";
    "architecture-analyst" -> "analysis-synthesizer";
    "api-extractor" -> "analysis-synthesizer";

    "Source Code Analysis" -> "analysis-synthesizer" [style=dashed, label="raw L1"];
    "Public Documentation" -> "analysis-synthesizer" [style=dashed, label="raw L1"];
    "Runtime Observation" -> "analysis-synthesizer" [style=dashed, label="raw L1"];

    "analysis-synthesizer" -> "module-mapper";
    "feature-discoverer" -> "module-mapper";
    "architecture-analyst" -> "module-mapper";
    "api-extractor" -> "module-mapper";

    "module-mapper" -> "Layer 3 Deep Dives" [shape=doublecircle];
}

Phase Execution Rules

  • **Phase 1** agents run in parallel. They share no output with each other. Each reads only Layer 1 directories.
  • **Phase 2** runs after ALL Phase 1 agents complete. The analysis-synthesizer reads Phase 1 output AND raw Layer 1 findings.
  • **Phase 3** runs after Phase 2 completes. The module-mapper reads ALL Phase 1 and Phase 2 output.

No phase advances until the previous phase is fully complete.

Input Sources

All Layer 2 agents consume output from Layer 1. Not all modes will be present for every analysis run.

Required (at least one must exist):
  workspace/raw/source/analysis/       Source code chunk analyses
  workspace/public/docs/                   Documentation research output
  workspace/public/ecosystem/              SDK and ecosystem analysis
  workspace/public/community/              Community intelligence (forums, tutorials, issues)
  workspace/raw/runtime/               Runtime observation output
  workspace/raw/binary/                Binary analysis output

Phase 1 output (consumed by Phase 2 and Phase 3):
  workspace/raw/synthesis/features/       feature-discoverer output
  workspace/raw/synthesis/architecture/   architecture-analyst output
  workspace/raw/synthesis/api/            api-extractor output

Phase 2 output (consumed by Phase 3):
  workspace/raw/synthesis/behavioral-summaries/   analysis-synthesizer output
  workspace/raw/synthesis/cross-reference-report.md
  workspace/raw/synthesis/reimplementation-essentials.md

Availability Detection

Every Layer 2 agent runs this check before starting. Record results in output metadata.

[ -d "workspace/raw/source/analysis/" ]                && HAS_SOURCE=true    || HAS_SOURCE=false
[ -d "workspace/public/docs/" ]                            && HAS_DOCS=true      || HAS_DOCS=false
[ -d "workspace/public/ecosystem/" ]                       && HAS_SDK=true       || HAS_SDK=false
[ -d "workspace/public/community/" ]                       && HAS_COMMUNITY=true || HAS_COMMUNITY=false
[ -d "workspace/raw/runtime/" ]                        && HAS_RUNTIME=true   || HAS_RUNTIME=false
[ -d "workspace/raw/binary/" ]                         && HAS_BINARY=true    || HAS_BINARY=false

At least one must be true. If zero modes contributed, halt with an error.

Mode Coverage Summary

Every synthesis output file includes this table at the top:

## Mode Coverage Summary

| Mode | Available | Items Discovered |
|------|-----------|------------------|
| Source Code | YES/NO | [count] |
|
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 multi-source-synthesis.

Which coding agents can use multi-source-synthesis?
multi-source-synthesis 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.