Social
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
Extract the functional DNA from existing works (TV, film, books, plays).
$ npx skills add jwynia/agent-skills --skill dna-extraction -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jwynia/agent-skills dna-extraction --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/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/creative/fiction/application/dna-extraction .claude/skills/dna-extraction && 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 "dna-extraction" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extraction into .claude/skills/dna-extraction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dna-extraction", 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/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extractionType 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 jwynia/agent-skills --skill dna-extraction -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jwynia/agent-skills dna-extraction --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/creative/fiction/application/dna-extraction .agents/skills/dna-extraction && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dna-extraction" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extraction into .agents/skills/dna-extraction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dna-extraction", 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 jwynia/agent-skills --skill dna-extraction -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jwynia/agent-skills dna-extraction --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/creative/fiction/application/dna-extraction .cursor/skills/dna-extraction && 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 "dna-extraction" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extraction into .cursor/skills/dna-extraction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dna-extraction", 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/jwynia/agent-skills.git --path skills/creative/fiction/application/dna-extraction--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 jwynia/agent-skills --skill dna-extraction -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jwynia/agent-skills dna-extraction --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/creative/fiction/application/dna-extraction .gemini/skills/dna-extraction && 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 "dna-extraction" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extraction into .gemini/skills/dna-extraction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dna-extraction", 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 jwynia/agent-skills dna-extractionInstalls 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 jwynia/agent-skills --skill dna-extraction -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/creative/fiction/application/dna-extraction .github/skills/dna-extraction && 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 "dna-extraction" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extraction into .github/skills/dna-extraction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dna-extraction", 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 jwynia/agent-skills --skill dna-extraction -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jwynia/agent-skills dna-extraction --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/creative/fiction/application/dna-extraction .opencode/skills/dna-extraction && 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 "dna-extraction" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/fiction/application/dna-extraction into .opencode/skills/dna-extraction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dna-extraction", 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.
dna-extractionExtract the functional DNA from existing works (TV, film, books, plays).
Dna Extraction is an agent skill from jwynia/agent-skills. Extract the functional DNA from existing works (TV, film, books, plays). Use when adapting a source work, when analyzing what makes something work, when creating trope maps for reuse, or when you need to separate structural necessity from stylistic choice.
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `data/extraction-templates.json`, `data/function-categories.json` and `scripts/emotional-beat-map.ts`).
It sits in Writing & Content. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
denoFrom 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.
Dna Extraction loads about 5.2k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 2,035 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 found no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 2,035 words, ~5,183 tokens.
.claude/skills/dna-extraction/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You help extract the functional DNA from existing works. Your role is to identify what makes a work function—not its surface elements, but the underlying structures, relationships, and emotional mechanics that could be preserved in an adaptation.
The first ideas when adapting are surface elements. The functional DNA is what those elements DO, not what they ARE.
Hamlet's prince status is not the DNA—it's a form. The DNA is:
Symptoms: Work identified but no analysis started. User says "I want to adapt X" without having analyzed what makes X work. Key Questions:
Symptoms: Analysis focuses on what happens, not why it works. "It's about a prince who sees a ghost." Plot summaries without function identification. User conflates events with functions. Key Questions:
Symptoms: Functions extracted only for plot OR character OR theme. Missing interconnections. "The ghost provides inciting incident." (True, but incomplete—what about character function? Emotional function? Relational function?) Key Questions:
Symptoms: Functions extracted but no clarity on what emotional experience the work creates. Mechanical analysis without genre promise. Can describe plot functions but not audience feeling. Key Questions:
emotional-beat-map.ts. Primary/secondary genre identification.Symptoms: Analysis treats stylistic choices as structural necessities. Shakespeare's language treated as structural when it's stylistic. Period setting treated as essential when it's adaptable. Key Questions:
structural-stylistic.ts. Test each element against "would the story still work?" criterion.Symptoms: Individual character functions extracted but relationship dynamics aren't. "Hamlet is indecisive" without "Claudius represents what Hamlet could become if he acted." Characters analyzed in isolation. Key Questions:
Symptoms: Everything treated as equally important. No distinction between load-bearing elements and removable details. Every scene, character, subplot given equal weight. Key Questions:
Symptoms: Comprehensive extraction document exists. Functions identified at multiple levels. Emotional core clear. Structural/stylistic separated. Hierarchy established. Links to clusters documented. Key Questions:
For every story element, extract functions across all six axes:
| Axis | Question | What It Reveals |
|---|---|---|
| Form | What is it? | The surface element (adaptable container) |
| Structural Function | What does it enable in the plot? | Story mechanics, cause-effect chains |
| Character Function | What does it enable in character journeys? | Arc requirements, transformation catalysts |
| Emotional Function | What does it make the audience feel? | Genre promise delivery, emotional beats |
| Thematic Function | What ideas does it explore? | Meaning, questions, resonance |
| Relational Function | What dynamics does it create between elements? | Web of connections, contrasts, tensions |
Beyond structural functions, works have distinctive tonal signatures that define their feel. Extract these separately:
| Register | Description | Examples |
|---|---|---|
| Sincerity Level | Earnest vs. ironic/detached | Killjoys: high sincerity despite humor. Bebop: detached cool masking pain |
| Humor Mode | How comedy functions | Banter (Killjoys), deadpan (Bebop), physical (Jackie Chan), dark (Breaking Bad) |
| Emotional Expression | How feelings are shown | Direct statement, subtext-heavy, action-reveals-feeling, denial/deflection |
| Dialogue Density | Talk-to-action ratio | Quippy/rapid-fire vs. sparse/weighted silence |
| Conflict Style | How characters fight | Verbal sparring, cold silence, explosive outbursts, passive aggression |
Character Voice Distinctiveness:
Dialogue Functions:
Tonal Consistency:
| Element | Killjoys | Cowboy Bebop |
|---|---|---|
| Sincerity | High - characters mean what they say | Low - ironic distance masks vulnerability |
| Humor | Banter, quips, playful antagonism | Deadpan, absurdist, melancholy comedy |
| Emotional expression | Direct - "I love you, asshole" | Deflected - shown through action, not words |
| Dialogue density | High - constant verbal play | Varied - heavy silence punctuated by sparse lines |
| Conflict style | Loud, direct, resolved quickly | Avoidant, simmering, often unresolved |
Both serve "bounty hunter sci-fi" structural functions but feel completely different because of tonal choices.
| Axis | Extraction |
|---|---|
| Form | Supernatural visitation from murdered father |
| Structural | Provides privileged information protagonist cannot verify; creates inciting obligation |
| Character | Forces Hamlet to confront impossible duty; represents idealized father replaced by corrupt one |
| Emotional | Horror at revelation; dread of obligation; uncertainty about reliability |
| Thematic | Questions reliability of testimony; explores duty to the dead; introduces supernatural/moral uncertainty |
| Relational | Creates Hamlet-Claudius dynamic (secret knowledge); creates Hamlet-Gertrude tension (she doesn't know) |
| Depth | Scope | Use Case |
|---|---|---|
| quick | Core functions, primary genre, 3-5 key characters | Exploration, comparing multiple works, feasibility check |
| standard | Full six-axis extraction, relationships, plot structures | Most adaptation projects |
| detailed | Beat-level mapping, episode structures, tonal variations, dialogue patterns | Serious long-form adaptation, academic analysis |
Use --depth quick|standard|detailed with extraction tools.
Pattern: Extraction that reads like a plot summary with "function" labels attached. Problem: Confuses events with purposes. "The ghost appears and reveals the murder" is not a function. Fix: For every element, force the question "What does this ENABLE?" not "What does this DO?" Detection: If your extraction could be written by someone who didn't understand the work, it's too surface-level.
Pattern: Over-extracting from beloved elements while under-extracting from others. Problem: Creates lopsided extraction that emphasizes what analyst likes, not what work needs. Fix: Force yourself to extract functions from elements you find boring or annoying. Detection: If extraction depth varies dramatically between elements without justification, bias is present.
Pattern: Marking all elements as structurally necessary to avoid hard decisions. Problem: Creates unusable extraction—if everything is essential, nothing can be adapted. Fix: Force hierarchy. What are the 5 things that CANNOT change? Now what are the next 5? Detection: If your "adaptable" list is shorter than your "essential" list, you're probably wrong.
Pattern: Treating the specific form as the function. "The function of the sword fight is to have a sword fight." Problem: Makes adaptation impossible because you can't see past the surface. Fix: Ask "What would HAPPEN if we removed this?" The answer reveals the function. Detection: If your function description includes the element's name, you're describing form, not function.
Interactive questionnaire for element-by-element extraction. Guides through six-axis analysis.
# Start extraction session
deno run --allow-read scripts/extract-functions.ts "Hamlet"
# Extract at specific depth
deno run --allow-read scripts/extract-functions.ts "Killjoys" --depth quick
# Extract specific element
deno run --allow-read scripts/extract-functions.ts --element "The Ghost"
# Validate existing extraction
deno run --allow-read scripts/extract-functions.ts --validate extraction.jsonMaps emotional peaks/valleys across a work's timeline.
# Generate beat map template
deno run --allow-read scripts/emotional-beat-map.ts "Hamlet" --acts 5
# For episodic work
deno run --allow-read scripts/emotional-beat-map.ts "Killjoys S1" --episodes 10
# Compare against genre expectations
deno run --allow-read scripts/emotional-beat-map.ts --compare drama,thrillerChecklist for classifying elements as structural (must keep) vs stylistic (can adapt).
# Classification questionnaire
deno run --allow-read scripts/structural-stylistic.ts "royal court setting"
# Batch classification
deno run --allow-read scripts/structural-stylistic.ts --file elements.jsonExtractions are saved to a linked network:
{project}/dna-library/
├── extractions/ # Work-specific extractions
│ ├── hamlet.json
│ └── killjoys.json
├── clusters/ # Trope cluster documents
│ └── bounty-hunter-scifi.json
└── syntheses/ # Generated synthesis plans
└── my-project.json{
"_meta": {
"type": "work-extraction",
"source_work": "Hamlet",
"source_author": "William Shakespeare",
"source_medium": "stage play",
"extraction_date": "2025-01-15",
"extraction_depth": "standard",
"clusters": ["revenge-tragedy", "political-drama"]
},
"emotional_core": {
"primary_genre": "drama",
"secondary_genres": ["thriller", "horror"],
"emotional_experience": "The dread of knowing truth but being unable to act",
"emotional_beats": [
{"position": 0.05, "emotion": "unease", "element": "Guards report ghost"},
{"position": 0.15, "emotion": "horror/obligation", "element": "Ghost reveals murder"}
]
},
"tone": {
"sincerity_level": "high",
"humor_mode": "dark/ironic",
"emotional_expression": "soliloquy-heavy, internal made external",
"dialogue_density": "high - language-forward",
"conflict_style": "verbal sparring, passive aggression, delayed explosion",
"baseline_tone": "melancholic brooding punctuated by dark wit",
"tonal_shifts": [
{"trigger": "players arrive", "shift": "lightens temporarily"},
{"trigger": "Ophelia's death", "shift": "pure tragedy"}
]
},
"characters": {
"hamlet": {
"form": "Prince of Denmark",
"functions": {
"structural": ["Proximity to power without holding it"],
"character": ["Lie: I can know truth absolutely before acting"],
"emotional": ["Audience vehicle for knowing-but-not-acting"],
"thematic": ["Embodies question: Is certainty possible?"],
"relational": ["To Claudius: corrupt mirror of what he could become"]
},
"structural_necessity": "high",
"adaptable_elements": ["royal status", "gender", "era", "name"]
}
},
"plot_structures": {},
"relationships": {},
"structural_requirements": ["Protagonist must have privileged info others lack"],
"adaptable_without_breaking": ["Royal status", "Era", "Ghost mechanism"],
"links": {
"clusters": ["revenge-tragedy.json"],
"similar_works": [],
"derived_syntheses": []
}
}{
"_meta": {
"type": "trope-cluster",
"cluster_name": "bounty-hunter-scifi",
"description": "Episodic bounty/warrant structure in sci-fi setting"
},
"core_functions": {
"structural": ["Case-of-the-week provides episodic entry points"],
"character": ["Found family dynamics among crew"],
"emotional": ["Competence satisfaction"]
},
"required_elements": ["Mission structure", "Mobile base", "Team with complementary skills"],
"variance_axes": [
{"axis": "tone", "range": ["noir/melancholic", "action/humor"]}
],
"source_works": ["killjoys.json", "cowboy-bebop.json"],
"links": {
"parent_clusters": ["found-family.json"],
"overlapping_clusters": ["space-western.json"]
}
}User: "I want to adapt Hamlet but set it in a corporate dystopia."
Your approach:
Before extracting:
dna-library/ in the projectdna-library/extractions/"context/output-config.md if context network existsFor this skill, persist:
dna-library/extractions/dna-library/clusters/| Goes to File | Stays in Conversation |
|---|---|
| Completed extraction JSON | Iterative extraction discussion |
| Beat map data | Questions about specific elements |
| Cluster definitions | State diagnosis |
| Validation results | "Why does this element matter?" dialogue |
| Source Skill | Source State | Leads to State |
|---|---|---|
| story-sense | SS7: Ready for Evaluation | EX0: analyze existing work |
| genre-conventions | Genre identified | EX3: use for emotional core |
| This State | Leads to Skill | Target State |
|---|---|---|
| EX3: Missing Emotional Core | genre-conventions | G1: identify genre |
| EX7: Extraction Complete | adaptation-synthesis | SYN1: DNA Ready |
| EX5: Missing Relationships | character-arc | analyze character dynamics |
| Skill | Relationship |
|---|---|
| cliche-transcendence | Orthogonality principle for testing adaptations |
| genre-conventions | Elemental genres for emotional core |
| character-arc | Lie/Want/Need structure for character functions |
| story-sense | Diagnostic states for analyzing existing works |
© jwynia, 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 5 other files (scripts) in skills/creative/fiction/application/dna-extraction of jwynia/agent-skills.
Open the folder on GitHubat commit e02ec7e
Dna Extraction 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 |
|---|---|---|---|---|---|---|
| Dna Extraction this skilljwynia/agent-skills | 170 | — | ~5.2k | Automated safety check: Pass | MIT | |
| Socialcoreyhaines31/marketingskills | 54k | 4 repos | ~4.5k | Automated safety check: Pass | MIT | |
| HumanizerAzure-Samples/interview-coach-agent-framework | 173 | 38 repos | ~5.8k | Automated safety check: Pass | MIT | |
| Avoid AI Writingconorbronsdon/avoid-ai-writing | 4.9k | 3 repos | ~8.1k | Automated safety check: Pass | MIT | |
| JavaScript Concept Fact Checkerleonardomso/33-js-concepts | 67k | 1 repos | ~5k | Automated safety check: Pass | MIT | |
| User-Facing Text Cleanupguillaumemeyer/watermarks-remover | 24k | — | ~3.5k | Automated safety check: Pass | MIT |
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
Azure-Samples/interview-coach-agent-framework
Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.
conorbronsdon/avoid-ai-writing
Audit and rewrite content to remove AI writing patterns ("AI-isms").
leonardomso/33-js-concepts
Verifies the technical accuracy of JavaScript concept pages by checking code examples, MDN and ECMAScript claims and external links through a five-phase method.
guillaumemeyer/watermarks-remover
Audits prose for invisible Unicode characters and rewrites it while keeping facts, citations, code and required disclosures unchanged and the writer's voice intact.
trycompai/crm
Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository.
jwynia/agent-skills
Diagnose devcontainer configuration problems and guide development environment setup.
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality.
jwynia/agent-skills
Orchestrate agile development workflows for Gitea repositories using the tea CLI.
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.
jwynia/agent-skills
Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.
jwynia/agent-skills
Create and manipulate PowerPoint PPTX files programmatically.
Categories
Extract the functional DNA from existing works (TV, film, books, plays). Dna Extraction is an agent skill from jwynia/agent-skills. Extract the functional DNA from existing works (TV, film, books, plays).
Dna Extraction fits situations like: adapting a source work; analyzing what makes something work; creating trope maps for reuse; you need to separate structural necessity from stylistic choice.
Run `npx skills add jwynia/agent-skills --skill dna-extraction -a claude-code`. Or copy the skill folder (skills/creative/fiction/application/dna-extraction in jwynia/agent-skills) into .claude/skills/dna-extraction in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jwynia/agent-skills --skill dna-extraction -a codex`. Or copy the skill folder (skills/creative/fiction/application/dna-extraction in jwynia/agent-skills) into .agents/skills/dna-extraction 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 jwynia/agent-skills --skill dna-extraction -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dna-extraction, .gemini/skills/dna-extraction, .github/skills/dna-extraction and .opencode/skills/dna-extraction in your project.
Going by SKILL.md and its folder, Dna Extraction needs TypeScript for the scripts in its folder and the command-line tools its instructions call (deno). Our summary lists: Node.js.
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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Dna Extraction is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k 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 Dna Extraction: Social (coreyhaines31/marketingskills, 54k stars), Humanizer (Azure-Samples/interview-coach-agent-framework, 173 stars), Avoid AI Writing (conorbronsdon/avoid-ai-writing, 4.9k stars) and JavaScript Concept Fact Checker (leonardomso/33-js-concepts, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 170 GitHub stars. The repository holds 111 skills in this directory. The repository was last updated on February 24, 2026.
Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.