<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: George O 'Nair George O 'Nair</title>
    <description>The latest articles on DEV Community by George O 'Nair George O 'Nair (@george_onairgeorgeo).</description>
    <link>https://dev.to/george_onairgeorgeo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4121765%2F13c0a180-bc7b-407a-bb37-a2befe201e4f.png</url>
      <title>DEV Community: George O 'Nair George O 'Nair</title>
      <link>https://dev.to/george_onairgeorgeo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/george_onairgeorgeo"/>
    <language>en</language>
    <item>
      <title>A Python CLI that scaffolds agent skill stubs, then stops</title>
      <dc:creator>George O 'Nair George O 'Nair</dc:creator>
      <pubDate>Sun, 04 Oct 2026 12:49:20 +0000</pubDate>
      <link>https://dev.to/george_onairgeorgeo/a-python-cli-that-scaffolds-agent-skill-stubs-then-stops-1j0c</link>
      <guid>https://dev.to/george_onairgeorgeo/a-python-cli-that-scaffolds-agent-skill-stubs-then-stops-1j0c</guid>
      <description>&lt;p&gt;Local Repo to Agent Skill Stubs is a $29 one-time Python 3 CLI. It is not a finished skill.&lt;/p&gt;

&lt;p&gt;On a repo you already have on disk, it does three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;checks the license&lt;/li&gt;
&lt;li&gt;scaffolds a skill folder&lt;/li&gt;
&lt;li&gt;checks the frontmatter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does not clone the repo. It does not write the workflow. SKILL.md stays TODO until you or the agent fill it.&lt;/p&gt;

&lt;p&gt;The download is SKU-03-skill-distiller-engine.zip.&lt;/p&gt;

&lt;p&gt;The free preflight does not generate a skill, does not clone, and is not legal advice.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Free preflight: &lt;a href="https://github.com/qingsongcui/claude-code-skills/tree/main/plugins/starter/skills/repo-distillation-preflight" rel="noopener noreferrer"&gt;https://github.com/qingsongcui/claude-code-skills/tree/main/plugins/starter/skills/repo-distillation-preflight&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Overview: &lt;a href="https://george-onair.whop.site/workflows/agents" rel="noopener noreferrer"&gt;https://george-onair.whop.site/workflows/agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Product page: &lt;a href="https://whop.com/github-bad1/agentic-distiller/" rel="noopener noreferrer"&gt;https://whop.com/github-bad1/agentic-distiller/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Same offer on the site: &lt;a href="https://george-onair.whop.site/shop/agentic-distiller" rel="noopener noreferrer"&gt;https://george-onair.whop.site/shop/agentic-distiller&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>python</category>
      <category>github</category>
      <category>productivity</category>
      <category>cli</category>
    </item>
    <item>
      <title>Chat Paste vs a Reusable Agent Skill for Claude Code</title>
      <dc:creator>George O 'Nair George O 'Nair</dc:creator>
      <pubDate>Sat, 03 Oct 2026 12:17:03 +0000</pubDate>
      <link>https://dev.to/george_onairgeorgeo/chat-paste-vs-a-reusable-agent-skill-for-claude-code-24ml</link>
      <guid>https://dev.to/george_onairgeorgeo/chat-paste-vs-a-reusable-agent-skill-for-claude-code-24ml</guid>
      <description>&lt;p&gt;Pasting a repository into chat answers one thread. It is not a reusable Agent Skill. A local &lt;code&gt;SKILL.md&lt;/code&gt; is a file, plus the package around it, that you load again in Claude Code or Cursor, on your machine, with no hosted agent.&lt;/p&gt;

&lt;p&gt;License preflight comes first, on a checkout you already have. George O'Nair (Field Lab) publishes that free local Python check. The optional paid pack is Local Repo to Agent Skill Stubs. It scaffolds stubs, and &lt;code&gt;SKILL.md&lt;/code&gt; stays TODO. It is not a finished skill. The free step does not clone the repo, does not generate a skill, and is not legal advice. The paid pack does not host an agent, open pull requests, or override a stop verdict.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free preflight: &lt;a href="https://github.com/qingsongcui/claude-code-skills/tree/main/plugins/starter/skills/repo-distillation-preflight" rel="noopener noreferrer"&gt;https://github.com/qingsongcui/claude-code-skills/tree/main/plugins/starter/skills/repo-distillation-preflight&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Workflow: &lt;a href="https://george-onair.whop.site/workflows/agents" rel="noopener noreferrer"&gt;https://george-onair.whop.site/workflows/agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Local Repo to Agent Skill Stubs: &lt;a href="https://george-onair.whop.site/shop/agentic-distiller" rel="noopener noreferrer"&gt;https://george-onair.whop.site/shop/agentic-distiller&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Paste vs a local skill
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Chat paste&lt;/th&gt;
&lt;th&gt;Local Agent Skill&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Lifespan&lt;/td&gt;
&lt;td&gt;One thread&lt;/td&gt;
&lt;td&gt;Load the same &lt;code&gt;SKILL.md&lt;/code&gt; again&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License / boundary check&lt;/td&gt;
&lt;td&gt;Usually none&lt;/td&gt;
&lt;td&gt;Preflight first, on a checkout you already have&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output shape&lt;/td&gt;
&lt;td&gt;Prose in the chat&lt;/td&gt;
&lt;td&gt;Skill files, including a local &lt;code&gt;SKILL.md&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who runs it&lt;/td&gt;
&lt;td&gt;The chat host&lt;/td&gt;
&lt;td&gt;You, locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosted agent&lt;/td&gt;
&lt;td&gt;Paste does not create one&lt;/td&gt;
&lt;td&gt;The paid stubs do not host one&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A paste is fine when the question dies with the thread. It leaves no file the coding agent can load next week, and it usually does not record whether you were allowed to turn that repo into a skill at all.&lt;/p&gt;




&lt;h2&gt;
  
  
  What “local SKILL.md” means here
&lt;/h2&gt;

&lt;p&gt;A local &lt;code&gt;SKILL.md&lt;/code&gt; is a file the coding agent can load again on your machine, with the small package around it. It is not a chatbot this site hosts. It is not a pull request opened for you.&lt;/p&gt;

&lt;p&gt;Claude Code and Cursor each have their own rules for how a skill is installed and whether a marketplace will list it. Those rules belong to those products. This post does not claim an official partnership with Anthropic, Claude Code, or Cursor.&lt;/p&gt;




&lt;h2&gt;
  
  
  License preflight, before any stubs
&lt;/h2&gt;

&lt;p&gt;The free check is a local Python script. Point it at an absolute path of a checkout you are allowed to read:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 scripts/audit_repo_for_distillation.py --repo /absolute/path/to/repository&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;What it does, and what it refuses to do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Python.&lt;/strong&gt; It reads license signals and boundary cues on your machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does not clone.&lt;/strong&gt; It will not fetch a remote. If the path is not a directory, the verdict is &lt;code&gt;BLOCKED&lt;/code&gt;. Stop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does not generate a skill.&lt;/strong&gt; A pass is a fit signal only. The free step never emits a &lt;code&gt;SKILL.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not legal advice.&lt;/strong&gt; A signal is not counsel and not commercial permission.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stop verdicts stay stops. &lt;code&gt;INTERNAL_ONLY&lt;/code&gt; and &lt;code&gt;NEEDS_REVIEW&lt;/code&gt; mean do not continue. &lt;code&gt;DISTILL&lt;/code&gt; is a recognized permissive signal. It is not permission to ship, not a quality score, and not a claim that every file in the tree shares one license.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where the paid pack fits, if the check passes
&lt;/h2&gt;

&lt;p&gt;Local Repo to Agent Skill Stubs is optional, and it comes last. It is $29, once. It scaffolds stubs. &lt;code&gt;SKILL.md&lt;/code&gt; stays TODO. That is not a finished skill, and it is not something you install as done.&lt;/p&gt;

&lt;p&gt;You still install whatever you keep, yourself, in Claude Code, Cursor, or a similar local agent. The pack does not host an agent. It does not open pull requests. It does not edit the app you pointed it at. If the preflight said stop, do not buy stubs to paper over that verdict.&lt;/p&gt;

&lt;p&gt;If you already want the steps rather than this comparison, the how-to is separate: &lt;a href="https://dev.to/george_onairgeorgeo/turn-a-local-repo-into-an-agent-skill-without-hosting-an-agent-2d89"&gt;Turn a local repo into an Agent Skill without hosting an agent&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Not the sync and scaffold tools in search
&lt;/h2&gt;

&lt;p&gt;Public pages for nearby queries are mostly sync CLIs, scaffold CLIs, and their docs. Those tools distribute or generate skill trees. This comparison is a different question: whether &lt;em&gt;your&lt;/em&gt; local repo should become a bounded skill at all, and what a chat paste fails to leave behind. This workflow is not those tools. No ranking is claimed here.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who this is for, and who should skip it
&lt;/h2&gt;

&lt;p&gt;Use the comparison if you build in Claude Code or Cursor (or something similar) and you will rerun a skill on a repo you are allowed to read.&lt;/p&gt;

&lt;p&gt;Skip it if you only need a one-off answer about a file. Stay in chat. Skip it if you want a hosted bot, if you came for meeting slides or PowerPoint (Meeting Recap and Slide Engine are different products and not this workflow), if you need legal counsel, or if you expect the free preflight to emit a skill. It will not.&lt;/p&gt;




&lt;h2&gt;
  
  
  Disclosure
&lt;/h2&gt;

&lt;p&gt;George O'Nair (Field Lab) makes the free preflight and Local Repo to Agent Skill Stubs. The free path is first. The paid pack only scaffolds stubs, and &lt;code&gt;SKILL.md&lt;/code&gt; stays TODO. It is not a finished skill and not a hosted agent.&lt;/p&gt;

</description>
      <category>github</category>
      <category>cursor</category>
      <category>productivity</category>
      <category>agents</category>
    </item>
    <item>
      <title>Turn a Local Repo into an Agent Skill (Without Hosting an Agent)</title>
      <dc:creator>George O 'Nair George O 'Nair</dc:creator>
      <pubDate>Wed, 23 Sep 2026 12:19:48 +0000</pubDate>
      <link>https://dev.to/george_onairgeorgeo/turn-a-local-repo-into-an-agent-skill-without-hosting-an-agent-2d89</link>
      <guid>https://dev.to/george_onairgeorgeo/turn-a-local-repo-into-an-agent-skill-without-hosting-an-agent-2d89</guid>
      <description>&lt;h1&gt;
  
  
  Turn a Local Repo into an Agent Skill (Without Hosting an Agent)
&lt;/h1&gt;

&lt;p&gt;Pasting a repository into ChatGPT or Claude can answer one question. It does not leave you with a reusable &lt;strong&gt;Agent Skill&lt;/strong&gt; you can load again in Claude Code or Cursor.&lt;/p&gt;

&lt;p&gt;This post is the practical path I use when the repo already exists on disk: run a &lt;strong&gt;free local Python preflight&lt;/strong&gt; for license signals and boundaries, then—only if the repo looks in bounds—scaffold skill stubs with &lt;strong&gt;Local Repo to Agent Skill Stubs&lt;/strong&gt; and fill them yourself. No hosted agent. No pull requests opened for you. No finished skill written for you. No “paste the whole monorepo into chat and hope.”&lt;/p&gt;




&lt;h2&gt;
  
  
  Quotable takeaway
&lt;/h2&gt;

&lt;p&gt;Pasting a repository into a chat can answer one question. It does not leave a reusable Agent Skill with a clear license boundary. An agent workflow from George O'Nair (Field Lab) starts on a local repo you are authorized to read. Run the free local Python preflight for license signals and boundary fit—it does not clone your repo, does not generate a skill, and it is not legal advice. Then use Local Repo to Agent Skill Stubs ($29 one-time) for checkable skill stubs. SKILL.md stays TODO until you or the agent fill it. You install and run the result locally in Claude Code, Cursor, or a similar agent. The product does not host the agent, does not write the workflow, and does not replace a meeting-slide pack.&lt;/p&gt;




&lt;h2&gt;
  
  
  Chat paste ≠ Agent Skill
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Chat paste&lt;/th&gt;
&lt;th&gt;Agent Skill package&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Lifespan&lt;/td&gt;
&lt;td&gt;One thread&lt;/td&gt;
&lt;td&gt;Load again next week&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License / boundary check&lt;/td&gt;
&lt;td&gt;Usually none&lt;/td&gt;
&lt;td&gt;Preflight first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output shape&lt;/td&gt;
&lt;td&gt;Prose in the chat&lt;/td&gt;
&lt;td&gt;Skill stubs the agent expects&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who runs it&lt;/td&gt;
&lt;td&gt;The chat host&lt;/td&gt;
&lt;td&gt;You, locally&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you only need a one-off explanation of a file, stay in chat. If you want the agent to reuse the same boundaries on that codebase, you need a skill. The $29 zip scaffolds the stub. It does not finish SKILL.md.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1 — Free local Python preflight (fit check only)
&lt;/h2&gt;

&lt;p&gt;Start with a git checkout &lt;strong&gt;you are allowed to read&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Run the free preflight:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/qingsongcui/claude-code-skills/tree/main/plugins/starter/skills/repo-distillation-preflight" rel="noopener noreferrer"&gt;repo-distillation-preflight&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hard boundaries for this step (read them twice):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Local Python&lt;/strong&gt; — it inspects license signals and boundary cues on your machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does not clone&lt;/strong&gt; — point it at a checkout you already have; it will not fetch a remote for you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does not generate a skill&lt;/strong&gt; — fit check only; no Agent Skill package from the free step.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not legal advice&lt;/strong&gt; — signals and boundaries for a fit decision; it does not replace counsel.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the preflight says the repo is out of bounds, stop. Do not pay anyone to paper over a bad fit. This is not a license to distill GPL, AGPL, or LGPL into something you sell.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2 — Scaffold stubs (only after preflight)
&lt;/h2&gt;

&lt;p&gt;When the repo looks like a candidate, &lt;strong&gt;Local Repo to Agent Skill Stubs&lt;/strong&gt; ($29 one-time) gives you one file, &lt;code&gt;SKU-03-skill-distiller-engine.zip&lt;/code&gt;. The Python 3 CLI audits the license, scaffolds a skill folder, and checks frontmatter. It does not clone GitHub and does not write the workflow. SKILL.md stays TODO.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Skill stubs, not a finished skill&lt;/li&gt;
&lt;li&gt;Frontmatter check&lt;/li&gt;
&lt;li&gt;Local CLI you run yourself, not a hosted agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Shorter workflow overview: &lt;a href="https://george-onair.whop.site/workflows/agents" rel="noopener noreferrer"&gt;Turn a local repo into an Agent Skill&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Product page: &lt;a href="https://george-onair.whop.site/shop/agentic-distiller" rel="noopener noreferrer"&gt;Local Repo to Agent Skill Stubs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The pack still does &lt;strong&gt;not&lt;/strong&gt; host the agent, open PRs, or invent a finished workflow from a public URL you are not authorized to use.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3 — Install and run locally
&lt;/h2&gt;

&lt;p&gt;Fill SKILL.md, then load the skill in Claude Code, Cursor, or a similar coding agent on your machine. Marketplace discovery and listing rules belong to those tools; this workflow scaffolds a local stub—it does not claim an official Anthropic or Cursor partnership.&lt;/p&gt;

&lt;p&gt;You run it. The pack does not babysit the agent for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who this is for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Builders wiring Claude Code, Cursor, or Windsurf into an existing codebase&lt;/li&gt;
&lt;li&gt;Developers who want checkable stubs from a local repo they can read&lt;/li&gt;
&lt;li&gt;People who will fill SKILL.md and rerun that skill, not ask one chat question&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who should skip this
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Anyone hunting for meeting slides / PowerPoint packs after a call (wrong product line)&lt;/li&gt;
&lt;li&gt;Buyers who want a hosted chatbot with no local project&lt;/li&gt;
&lt;li&gt;People who cannot run a local Python tool&lt;/li&gt;
&lt;li&gt;Anyone who expects the free preflight to clone remotes or emit a finished skill&lt;/li&gt;
&lt;li&gt;Anyone who expects the $29 zip to finish SKILL.md&lt;/li&gt;
&lt;li&gt;Anyone who needs formal legal review of licensing&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Suggested order (do not skip the free step)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Local authorized checkout&lt;/li&gt;
&lt;li&gt;Free preflight (&lt;a href="https://github.com/qingsongcui/claude-code-skills/tree/main/plugins/starter/skills/repo-distillation-preflight" rel="noopener noreferrer"&gt;repo-distillation-preflight&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Read license signals / boundaries — stop if out of bounds&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://george-onair.whop.site/shop/agentic-distiller" rel="noopener noreferrer"&gt;Local Repo to Agent Skill Stubs, $29&lt;/a&gt; for stubs. SKILL.md stays TODO&lt;/li&gt;
&lt;li&gt;Fill the stub, install in Claude Code / Cursor, and run it yourself&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Try the free preflight before you buy. If the fit check fails, you saved $29 and a week of thrash.&lt;/p&gt;




&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Does the free tool build the skill?&lt;/strong&gt;&lt;br&gt;
No. Local Python preflight only. No clone, no skill output, not legal advice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does $29 buy?&lt;/strong&gt;&lt;br&gt;
One zip. The CLI scaffolds skill stubs and checks frontmatter. SKILL.md stays TODO. Not a finished skill, not a hosted agent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will this edit my repo?&lt;/strong&gt;&lt;br&gt;
No. It reads a local path and writes a skill folder. No clone, no PRs, no app changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude Code and Cursor?&lt;/strong&gt;&lt;br&gt;
Documented local install paths after you fill the stub. The pack does not claim those runtimes were independently verified.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Workflow and shop links above are the canonical product pages. This Dev.to post is an offsite how-to, not a new thin page on the product site.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>github</category>
      <category>productivity</category>
      <category>claudecode</category>
    </item>
  </channel>
</rss>
