Best for
- Use when the user asks for Superloopy clone or asks to clone, rebuild, reverse-engineer, replicate, or copy a website or page into a Superloopy-governed implementation.
beefiker/superloopy/skills/superloopy-clone/SKILL.md
Use when the user asks for Superloopy clone or asks to clone, rebuild, reverse-engineer, replicate, or copy a website or page into a Superloopy-governed implementation. Triggers on "loopy clone", target URLs plus requests such as "clone this site", "rebuild this page", "make a copy of this website", "pixel-perfect clone", or "AI website clone". Requires browser automation and records component specs, assets, implementation, build output, and visual QA as Superloopy evidence.
Decision brief
Reverse-engineer a target URL into a working local implementation with audit artifacts. Use this only for authorized cloning, migration, learning, or recovery work. Do not help with phishing, deceptive impersonation, credential capture, or evading a site's terms.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/beefiker/superloopy --skill "skills/superloopy-clone"Inspect the Agent Skill "superloopy-clone" from https://github.com/beefiker/superloopy/blob/872caa620ae0c3a22174bd230c0699ef14b24acd/skills/superloopy-clone/SKILL.md at commit 872caa620ae0c3a22174bd230c0699ef14b24acd. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Capture the original before building:
Build the shared foundation before sections:
Before building each section, write a component spec at docs/research//components/.spec.md. The spec is the contract for implementation and must include:
Implement one bounded section or component at a time. For parallel workers, send the full spec inline; do not tell a worker to "go read the docs" for missing details. Use a handoff like:
Wire sections into the page after their components pass local validation:
Permission review
The documentation asks the agent to run terminal commands or scripts.
For each component container, run a browser extraction script instead of hand-measuring. The output goes into the spec and builder prompt:The documentation asks the agent to run terminal commands or scripts.
VERIFY: run the focused typecheck/build command.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 105 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Reverse-engineer a target URL into a working local implementation with audit artifacts. Use this only for authorized cloning, migration, learning, or recovery work. Do not help with phishing, deceptive impersonation, credential capture, or evading a site's terms.
When multiple URLs are provided, process each host independently. Keep every site's research, screenshots, assets, and evidence isolated under paths like docs/research/<hostname>/, docs/design-references/<hostname>/, and .superloopy/evidence/website-clone/<hostname>/.
This is not "inspect once, then redraw." Act as the foreman: inspect one section, write the exact spec, dispatch or build that bounded slice, then keep extracting the next section while builders run. A hard section is where extraction gets stricter, not where approximation becomes acceptable.
Transferloom.com is a reference result for this workflow: superloopy-clone reproduced the page locally and passed desktop/mobile browser validation with preserved sticky navigation, animated hero, app preview sections, comparison table, security panel, sister app banner, footer, local assets, and a Superloopy evidence trail.
Use that bar for completion claims. A clone is successful only when it has this shape of evidence: source screenshots, research notes, component specs, downloaded assets, local browser screenshots, validation output, visual QA notes, and a final evidence artifact.
.superloopy/evidence/website-clone/<hostname>/.SUPERLOOPY_EVIDENCE: <path-under-active-evidence-root> when a worker is involved, or superloopy loop evidence when recording from the parent.Unless the user gives different requirements, clone exactly what is visible at the target URL:
Pixel-perfect means the default is extraction-first, not inspired reconstruction. If a section is driven by custom JavaScript, CSS keyframes, canvas, video, Lottie, WebGL, marquees, scroll timelines, masks, or layered absolute positioning, use verbatim port mode first:
docs/research/<hostname>/ and docs/design-references/<hostname>/ folders before extraction.npm run build, npm run typecheck, or npm test.docs/research/<hostname>/, docs/research/<hostname>/components/, docs/design-references/<hostname>/, scripts/, and the Superloopy evidence root.Use Superloopy actively when the clone has independent extraction, build, QA, or review lanes. Superloopy handoffs are parent-side bookkeeping; the host spawns workers, while Superloopy records and reconciles them.
loopy team ... loopy clone, loopy team <url> clone, loopy crew ... clone, loopycrew ... clone, and ultrawork ... clone as full-crew clone requests. Start with the crew plan, split extraction/build/QA/review lanes early, and record handoffs from the first dispatched lane.loopy clone may stay solo only for a small static page or one clearly bounded component. The moment there are multiple sections, responsive states, animations, unknown assets, or parallelizable QA/review work, escalate to crew dispatch instead of continuing solo.nami: read-only navigator for target app structure, candidate selectors, route layout, existing component patterns, and asset paths. Use before broad repo searches or when multiple search angles are needed.franky: builder for exactly one bounded component, wrapper, or asset integration slice. Give the full spec inline, allowed files, validation command, artifact target, and SUPERLOOPY_EVIDENCE requirement.usopp: QA lane for build/typecheck/browser checks, screenshot capture, interaction sweep replay, and evidence reports.zoro: drift reviewer. Ask it to compare implementation against the component spec and call out simplified lookalikes, missing states, missing assets, and wrong interaction models.robin: audit lane for high-risk evidence, source attribution, suspicious extraction gaps, and final claim review. It ends with SUPERLOOPY_AUDIT: <artifact>.jinbe: final gate lane for fleet status, accepted evidence, outstanding blockers, and release readiness.Record every dispatch with superloopy loop handoff --agent <name> --assignment <self-contained task>. When a worker returns, update that handoff with --verdict <PASS|REJECT|NEEDS_CONTEXT> and --artifact <path> when accepted. Run superloopy loop fleet --json before any final completion claim. Accepted handoffs require artifacts under the active evidence root; an ack-only worker is inconclusive, never a pass.
Capture the original before building:
PAGE_TOPOLOGY.md listing sections from top to bottom, fixed layers, z-index relationships, and each section's interaction model.BEHAVIORS.md from scroll, click, hover, time, and responsive sweeps.DESIGN_TOKENS.md with fonts, colors, spacing, radii, shadows, animation timings, and global page behavior.ASSETS.md listing images, videos, background images, SVGs, favicons, fonts, and local target paths.DEPENDENCY_GRAPH.md mapping each complex section to its DOM roots, CSS blocks, JS drivers/listeners, keyframes, assets, masks, z-index layers, and third-party libraries.Use computed styles, DOM inspection, and real assets. Do not estimate colors, spacing, text, or breakpoints when the browser can provide them.
Run this sweep after initial screenshots and before component specs:
BEHAVIORS.md is the behavior source of truth. If a component spec conflicts with it, re-extract before building.
Build the shared foundation before sections:
scripts/download-assets.mjs script or equivalent existing project script that downloads discovered images, videos, fonts, favicons, OG images, and binary assets into the local public asset tree with stable names.Run the relevant build or typecheck after the foundation change and save the output under the Superloopy evidence root.
Run a browser-side asset inventory before writing download code. Capture at least:
<img> sources, natural dimensions, alt text, parent classes, sibling image count, position, and z-index.<video> sources, posters, autoplay, loop, muted, and source children.Layered assets matter. A single visual may be a background, foreground image, mask, overlay icon, and clipped absolute layer. Enumerate all layers before assigning a builder. Do not build mockup HTML for content that is actually video, Lottie, canvas, or WebGL.
Use browser automation to gather this shape:
JSON.stringify({
images: [...document.querySelectorAll("img")].map((img) => ({
src: img.currentSrc || img.src,
alt: img.alt,
width: img.naturalWidth,
height: img.naturalHeight,
parentClasses: img.parentElement?.className?.toString(),
siblingImages: img.parentElement ? img.parentElement.querySelectorAll("img").length : 0,
position: getComputedStyle(img).position,
zIndex: getComputedStyle(img).zIndex
})),
videos: [...document.querySelectorAll("video")].map((video) => ({
src: video.currentSrc || video.src || video.querySelector("source")?.src,
poster: video.poster,
autoplay: video.autoplay,
loop: video.loop,
muted: video.muted
})),
backgroundImages: [...document.querySelectorAll("*")]
.map((element) => ({ element, backgroundImage: getComputedStyle(element).backgroundImage }))
.filter((item) => item.backgroundImage && item.backgroundImage !== "none")
.map(({ element, backgroundImage }) => ({
url: backgroundImage,
selectorHint: `${element.tagName.toLowerCase()}.${element.className?.toString().split(" ").slice(0, 3).join(".")}`
})),
svgCount: document.querySelectorAll("svg").length,
favicons: [...document.querySelectorAll('link[rel*="icon"]')].map((link) => ({ href: link.href, sizes: link.sizes?.toString() })),
fonts: [...new Set([...document.querySelectorAll("*")].slice(0, 250).map((element) => getComputedStyle(element).fontFamily))]
});
Before building each section, write a component spec at docs/research/<hostname>/components/<component>.spec.md. The spec is the contract for implementation and must include:
getComputedStyle().verbatim port, framework-adapted port, or approved reimplementation; include the reason and approval if not porting.If a spec grows beyond one focused component or a builder prompt exceeds about 150 lines, split it. Builders should not guess.
For each component container, run a browser extraction script instead of hand-measuring. The output goes into the spec and builder prompt:
(function extractComponent(selector) {
const root = document.querySelector(selector);
if (!root) return JSON.stringify({ error: `missing ${selector}` });
const props = [
"fontSize", "fontWeight", "fontFamily", "lineHeight", "letterSpacing", "color",
"background", "backgroundColor", "padding", "margin", "width", "height", "maxWidth",
"display", "flexDirection", "justifyContent", "alignItems", "gap", "gridTemplateColumns",
"borderRadius", "border", "boxShadow", "overflow", "position", "top", "right", "bottom",
"left", "zIndex", "opacity", "transform", "transition", "objectFit", "objectPosition",
"mixBlendMode", "filter", "backdropFilter", "whiteSpace", "textOverflow"
];
function styles(element) {
const computed = getComputedStyle(element);
return Object.fromEntries(props.map((prop) => [prop, computed[prop]]).filter(([, value]) => value && value !== "normal" && value !== "auto" && value !== "none"));
}
function walk(element, depth = 0) {
if (depth > 4) return null;
return {
tag: element.tagName.toLowerCase(),
classes: element.className?.toString(),
text: element.childNodes.length === 1 && element.childNodes[0].nodeType === Node.TEXT_NODE ? element.textContent.trim() : null,
styles: styles(element),
image: element.tagName === "IMG" ? { src: element.currentSrc || element.src, alt: element.alt, width: element.naturalWidth, height: element.naturalHeight } : null,
children: [...element.children].slice(0, 30).map((child) => walk(child, depth + 1)).filter(Boolean)
};
}
return JSON.stringify(walk(root), null, 2);
})("SELECTOR");
For stateful components, capture state A, trigger the behavior with browser automation, capture state B, then record the exact property diff, trigger, and transition.
Each spec must include these headings. If a heading truly does not apply, write N/A with a reason:
verbatim port, framework-adapted port, or approved reimplementation.Before dispatching any builder, verify every item:
docs/research/<hostname>/components/.getComputedStyle(), not guessed from utility classes.Implement one bounded section or component at a time. For parallel workers, send the full spec inline; do not tell a worker to "go read the docs" for missing details. Use a handoff like:
TASK: build <component> from this spec.
TARGET: <file path>
SCOPE: only this component and directly required local assets.
VERIFY: run the focused typecheck/build command.
DELIVERABLE: report artifact under <active evidence root> and end with SUPERLOOPY_EVIDENCE: <artifact>.
SPEC:
<paste the component spec here>
After each merge or parent implementation pass:
Wire sections into the page after their components pass local validation:
PAGE_TOPOLOGY.md.Do not declare completion after the build alone. Compare original and clone:
For every mismatch, decide whether extraction was wrong or implementation drifted. Re-extract, update the spec, and fix the component. If an approximation remains in a complex section without recorded approval, stop and mark the task blocked. Save VISUAL_QA.md under the evidence root.
SUPERLOOPY_EVIDENCE, update superloopy loop handoff, then reconcile with superloopy loop fleet --json.Report:
Alternatives
mgiovani/cc-arsenal
Multi-agent review team: architecture, security, performance, testing, style, docs/UX, plus an adversary that cross-examines the other 6, for security-sensitive, architectural, or large PRs (15+ files) where a single-agent pass risks missing cross-cutting issues. Use for auth/payments/PII changes, schema/pattern changes, compliance sign-off, or when asked to 'get the review team on this' / 'multi-agent review' / 'thorough review before merge'. For a standard PR or a quick pre-merge check, use /r
K-Dense-AI/scientific-agent-skills
Analyze Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when working with Neuropixels 1.0/2.0 recordings, spike sorting, or extracellular electrophysiology analysis.
alirezarezvani/claude-skills
Discover, find, compare, audit, repair, adapt, and design repeatable AI-agent loops with explicit triggers, actions, verification, stopping conditions, guardrails, and handoffs. Use when a user asks to analyze a codebase for potential loops, mine coding-thread history for work done more than once, turn repeated engineering work into a loop, find or recommend a published loop, create a recurring agent workflow or automation cadence, turn an outcome into a bounded copy-ready loop, or review an exi
wanshuiyin/Auto-claude-code-research-in-sleep
Autonomous design space exploration loop for computer architecture and EDA. Runs a program, analyzes results, tunes parameters, and iterates until objective is met or timeout. Use when user says "DSE", "design space exploration", "sweep parameters", "optimize", "find best config", or wants iterative parameter tuning.