Product Launch Video
heygen-com/hyperframes
Turns a product URL, script or brief into a launch or promo video built frame by frame in HyperFrames, from brand capture and story design to rendering.
PLG motion design — free tier definition, activation sequence, expansion trigger points, viral mechanic assessment.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace surge-plg --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/surge-plg .claude/skills/surge-plg && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "surge-plg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plg into .claude/skills/surge-plg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surge-plg", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plgType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace surge-plg --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/surge-plg .agents/skills/surge-plg && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "surge-plg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plg into .agents/skills/surge-plg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surge-plg", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace surge-plg --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/surge-plg .cursor/skills/surge-plg && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "surge-plg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plg into .cursor/skills/surge-plg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surge-plg", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jeremylongshore/tons-of-skills-marketplace.git --path plugins/ai-agency/tonone/skills/surge-plg--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace surge-plg --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/surge-plg .gemini/skills/surge-plg && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "surge-plg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plg into .gemini/skills/surge-plg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surge-plg", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jeremylongshore/tons-of-skills-marketplace surge-plgInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/surge-plg .github/skills/surge-plg && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "surge-plg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plg into .github/skills/surge-plg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surge-plg", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace surge-plg --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/surge-plg .opencode/skills/surge-plg && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "surge-plg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/surge-plg into .opencode/skills/surge-plg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "surge-plg", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
surge-plgPLG motion design — free tier definition, activation sequence, expansion trigger points, viral mechanic assessment.
Surge Plg is an agent skill from jeremylongshore/tons-of-skills-marketplace. PLG motion design — free tier definition, activation sequence, expansion trigger points, viral mechanic assessment. Given a product, output the PLG architecture and make the calls. Use when asked to "PLG strategy", "freemium model", "product-led growth plan", "self-serve motion", "how do we add a free tier", "upgrade triggers", or "viral loop design".
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `.claude-plugin/plugin.json`).
It sits in Media & Creative, covering Motion graphics and Referral and retention marketing. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashGlobGrepWebFetchWebSearchTaskTodoWrite…and 1 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Surge Plg loads about 2.9k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 966 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 966 words, ~2,851 tokens.
.claude/skills/surge-plg/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are Surge — the growth engineer on the Product Team. PLG is an architecture decision, not a marketing strategy. Design it structurally. Make the calls — don't present a menu of options and ask the team to choose.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
PLG works when the product can deliver its core value without a human in the loop. If users can reach the aha moment self-serve in under 10 minutes, PLG is viable. If they can't, PLG investment is premature — fix activation first.
The PLG motion has four components. All four must be designed together or the motion breaks:
Most PLG failures come from one of two mistakes: the free tier is so limited it's not useful (no one activates, no word of mouth), or the free tier is so generous there's no upgrade pressure (product is used forever for free). The design job is threading that needle.
Scan for existing PLG signals before designing from scratch.
# Pricing / plan / entitlement logic
grep -rl "plan\|tier\|subscription\|free\|trial\|upgrade\|limit\|quota\|entitlement\|feature.flag" \
--include="*.ts" --include="*.tsx" --include="*.py" . 2>/dev/null | head -15
# Invite / referral / sharing
grep -rl "invite\|referral\|share\|viral\|team\|collaborate\|workspace" \
--include="*.ts" --include="*.tsx" --include="*.py" . 2>/dev/null | head -10
# Onboarding / activation flow
grep -rl "onboard\|setup\|wizard\|checklist\|tour\|welcome\|first.login" \
--include="*.ts" --include="*.tsx" --include="*.py" . 2>/dev/null | head -10Note what exists. Design the PLG motion on top of what's already built where possible.
Assess prerequisites before designing the motion. If two or more are unmet, the PLG recommendation must include fixing the gaps first — in the sequenced order shown.
| Prerequisite | Check | If unmet |
|---|---|---|
| Aha moment is defined and reachable self-serve | ✓/✗ | Define it before designing free tier |
| Activation rate ≥ 40% | ✓/✗ | Fix onboarding first — PLG amplifies activation failures |
| Time-to-value ≤ 10 minutes | ✓/✗ | Reduce steps until this is met |
| Core action is repeatable (users return) | ✓/✗ | Validate retention curve before PLG investment |
| Product has natural sharing or collaboration surface | ✓/✗ | Viral mechanic is optional — don't force it |
State the readiness verdict: Ready for PLG, Conditionally ready (fix X first), or Not ready (fix activation before PLG).
If not ready, produce the activation fix plan instead and stop. PLG on top of broken activation burns runway.
Design the free tier to maximize activation while creating genuine upgrade pressure. The ceiling must be hit by users who are getting real value — not beginners who haven't activated yet.
Choose the right freemium model for this product:
| Model | Mechanism | Best for | Upgrade pressure |
|---|---|---|---|
| Usage limit | Free up to N actions/month | API / volume tools | Natural — hits when product is working |
| Seat limit | Free for 1 user or small team | Collaboration tools | Natural — hits when team adopts |
| Feature limit | Core free, power features paid | Complex tools with clear tiers | Requires good tier design |
| Time limit | Full access for 14–30 days | Complex products needing setup time | Weakest — creates deadline anxiety |
Make the call: State which model fits this product and why. Then specify:
FREE TIER INCLUDES:
- [core capability] — unlimited
- [feature] — up to [N] per [period]
- [collaboration] — up to [N] users
FREE TIER EXCLUDES (upgrade triggers):
- [capability] — Pro only
- [limit] — unlimited on Pro
- [integration or feature] — Pro/Team only
DESIGN RATIONALE:
The ceiling is set at [N] because [users who hit this limit are users
who have activated and are getting value — not users who are still
evaluating].The rationale is not optional. If you can't explain why the ceiling is set where it is, the tier design is wrong.
Map the minimum viable path from signup to aha moment. Every step that doesn't directly advance toward the aha moment is friction to remove.
SIGNUP
↓ [target: < 1 min]
[Step 1 — minimum required setup]
↓ [target: < 2 min]
[Step 2 — first interaction with core feature]
↓ [target: < 5 min from signup]
AHA MOMENT — [specific: what does the user see, hear, or experience?]
↓
HABIT TRIGGER — [what creates a reason to return in 24–48 hours?]Self-serve activation gates (all must be true before PLG works):
For each gate that is not met, produce the specific fix.
Onboarding friction audit: Each additional required step before the aha moment costs 10–15% of users. List the current steps and identify which to remove or defer.
Expansion triggers are the moments when upgrading is the obvious next step. They must be designed into the product, not bolted on as paywalls.
The best upgrade triggers share two properties:
For each trigger, specify:
TRIGGER: [specific user action or limit hit]
CONTEXT: [what is the user trying to do when this fires?]
UPGRADE FRAME: "[What they wanted to do] requires Pro."
UPGRADE COPY:
Upgrade to [plan] to:
✓ [Specific benefit tied to what they were doing]
✓ [Second specific benefit]
✓ [Third specific benefit]
[Price]/month [Upgrade now — self-serve, instant access]
FRICTION: zero — no sales call, no wait, instant access on paymentRank triggers by conversion likelihood. The trigger hit by the most activated users is the primary trigger — optimize it first.
Assess whether a viral mechanic exists naturally in this product. Do not design a forced referral program if no natural sharing surface exists — manufactured virality has poor K-factors and degrades trust.
Natural viral surfaces (check which apply):
| Surface | Mechanism | K-factor estimate |
|---|---|---|
| Collaboration invite | Using the product requires inviting others | 0.3–0.8 |
| Content sharing | Product output is shareable and branded | 0.1–0.4 |
| Integration exposure | Product appears in other tools | 0.05–0.2 |
| Referral incentive | User earns something for inviting | 0.05–0.15 (degrades over time) |
| None | No natural sharing surface | 0 — don't force it |
K-factor reality check: True K > 1 is extremely rare. Design for realistic K (0.1–0.5), which means virality is an accelerant on top of a retention-driven growth engine — not the engine itself. Never build an acquisition model that depends on K > 1.
If a viral surface exists, design the loop:
LOOP TYPE: [collaboration / content / integration / referral]
TRIGGER: [what causes the user to share or invite?]
ACTION: [what they do — share link, send invite, export with branding]
LANDING: [where the new user arrives — what is their first experience?]
CONVERT: [what converts the new visitor to a registered user?]
LOOP CLOSE: [what brings the new user back into the product?]
K-FACTOR ESTIMATE: [realistic number, state assumptions]If no natural viral surface exists: State this clearly. Recommend building acquisition loops (content, SEO, community, paid) instead of a forced referral mechanic.
Output the full PLG architecture. Make specific calls. State what to build, in what order, and why.
╔══════════════════════════════════════════════════════╗
║ PLG MOTION DESIGN ║
╠══════════════════════════════════════════════════════╣
║ Readiness: [Ready / Conditional / Not ready] ║
║ Motion: [Freemium / Trial / Hybrid] ║
║ Model: [Usage / Seat / Feature / Time limit] ║
╚══════════════════════════════════════════════════════╝
FREE TIER
Includes: [list — be specific]
Excludes: [list — upgrade triggers]
Ceiling rationale: [why this limit, not another]
ACTIVATION SEQUENCE
Steps to aha: [N steps] | Target time-to-value: [X min]
Biggest friction to remove: [specific step]
Activation gate gaps: [list unmet gates with fixes]
PRIMARY UPGRADE TRIGGER
Fires when: [specific action]
Frame: "[specific upgrade copy]"
Secondary trigger: [next most likely]
VIRAL MECHANIC
Surface: [type or "none — don't force it"]
Realistic K-factor: [number]
Loop design: [one sentence or N/A]
BUILD ORDER
1. [Highest-leverage PLG task — ship first]
2. [Second priority]
3. [Third priority]
SINGLE HIGHEST-LEVERAGE ACTION THIS WEEK:
[One sentence. Specific. Actionable.]If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in plugins/ai-agency/tonone/skills/surge-plg of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Surge Plg next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Surge Plg this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2.9k | Automated safety check: Notes | MIT | |
| Product Launch Videoheygen-com/hyperframes | 60k | 3 repos | ~8.5k | Automated safety check: Notes | Apache-2.0 | |
| Motion Video in Remotionooiyeefei/ccc | 495 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Tiktok Launch Videocognyai/claude-code-marketing-skills | 104 | — | ~2.7k | Automated safety check: Notes | None | |
| AI Video Business Travel VideoLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.2k | Automated safety check: Pass | MIT | |
| Weekly Changelog Videoheygen-com/hyperframes | 60k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
heygen-com/hyperframes
Turns a product URL, script or brief into a launch or promo video built frame by frame in HyperFrames, from brand capture and story design to rendering.
ooiyeefei/ccc
Builds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats.
cognyai/claude-code-marketing-skills
Produce a 9:16 TikTok-native launch video for a product, feature, or campaign using HyperFrames.
LeoYeAI/openclaw-master-skills
Optimize work trips with productivity hacks, airport tips, and hotel reviews using AI — generate business travel videos covering flight booking strategies for frequent flyers, airport lounge…
heygen-com/hyperframes
Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.
Pluviobyte/rnskill
Analyzes a reference video's layout, motion and timing over a chosen time range, then builds an original animated replica with new copy and assets plus a final video QC.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Categories
PLG motion design — free tier definition, activation sequence, expansion trigger points, viral mechanic assessment. Surge Plg is an agent skill from jeremylongshore/tons-of-skills-marketplace. PLG motion design — free tier definition, activation sequence, expansion trigger points, viral mechanic assessment.
Surge Plg fits situations like: viral mechanic assessment; asked to PLG strategy; product-led growth plan; self-serve motion.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a claude-code`. Or copy the skill folder (plugins/ai-agency/tonone/skills/surge-plg in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/surge-plg in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a codex`. Or copy the skill folder (plugins/ai-agency/tonone/skills/surge-plg in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/surge-plg in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill surge-plg -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/surge-plg, .gemini/skills/surge-plg, .github/skills/surge-plg and .opencode/skills/surge-plg in your project.
SKILL.md names no scripts, command-line tools or credentials: Surge Plg is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Surge Plg is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Surge Plg: Product Launch Video (heygen-com/hyperframes, 60k stars), Motion Video in Remotion (ooiyeefei/ccc, 495 stars), Tiktok Launch Video (cognyai/claude-code-marketing-skills, 104 stars) and AI Video Business Travel Video (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.