<?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: 김영우</title>
    <description>The latest articles on DEV Community by 김영우 (@_97f3a83114a40ccbc2515).</description>
    <link>https://dev.to/_97f3a83114a40ccbc2515</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%2F2800629%2Fa36cb048-87bd-42d0-9464-7c511b8d342d.png</url>
      <title>DEV Community: 김영우</title>
      <link>https://dev.to/_97f3a83114a40ccbc2515</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_97f3a83114a40ccbc2515"/>
    <language>en</language>
    <item>
      <title>I Built a Frontend Skillpack to Reduce AI Coding Agent Token Waste</title>
      <dc:creator>김영우</dc:creator>
      <pubDate>Sat, 01 Aug 2026 16:15:36 +0000</pubDate>
      <link>https://dev.to/_97f3a83114a40ccbc2515/i-built-a-frontend-skillpack-to-reduce-ai-coding-agent-token-waste-554</link>
      <guid>https://dev.to/_97f3a83114a40ccbc2515/i-built-a-frontend-skillpack-to-reduce-ai-coding-agent-token-waste-554</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnx32ehabrj1w3roit5fq.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnx32ehabrj1w3roit5fq.webp" alt="AI Coding Agent Token Waste" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI coding agents are not always wasting tokens by writing too much code.&lt;/p&gt;

&lt;p&gt;In frontend projects, they often waste tokens by reading too much context.&lt;/p&gt;

&lt;p&gt;A small UI fix can turn into this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Fix one button"
→ read the whole app directory
→ inspect many unrelated components
→ create a new helper
→ start a refactor
→ run out of useful context before QA
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is the problem I wanted to solve.&lt;/p&gt;

&lt;p&gt;So I built an open-source skillpack called &lt;strong&gt;Frontend Token Trim&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/kimyoungwopo/frontend-token-trim-skillpack" rel="noopener noreferrer"&gt;https://github.com/kimyoungwopo/frontend-token-trim-skillpack&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  What is Frontend Token Trim?
&lt;/h2&gt;

&lt;p&gt;Frontend Token Trim is a small workflow for frontend AI coding agents.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Read less. Change less. Verify more carefully.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It combines three behaviors:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Skill&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Graphify&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Map the narrow route/component/data/style path before reading broadly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ponytail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reuse existing code and make the smallest correct diff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Headroom&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compress logs/reports and preserve context for verification&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The workflow looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User frontend issue
→ Graphify the narrow code path
→ Read connected files only
→ Ponytail the smallest correct diff
→ Keep headroom for lint/type/build/browser QA
→ Report changed files, verification, and remaining risk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why frontend agents waste tokens&lt;br&gt;
Frontend repositories are especially easy for agents to over-read.&lt;/p&gt;

&lt;p&gt;A task like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fix the dashboard card overflow on mobile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;can touch many possible areas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;routes
components
hooks
API clients
CSS modules
design tokens
layout wrappers
responsive utilities
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without a narrowing rule, the agent may browse too broadly before it knows where the bug actually lives.&lt;/p&gt;

&lt;p&gt;That creates several token leaks:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Token leak&lt;/th&gt;
&lt;th&gt;What happens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Broad file reading&lt;/td&gt;
&lt;td&gt;The agent reads entire directories before locating the affected route&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Premature abstraction&lt;/td&gt;
&lt;td&gt;It creates a helper/component before checking existing patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refactor drift&lt;/td&gt;
&lt;td&gt;A small UI fix turns into a layout rewrite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Long logs and summaries&lt;/td&gt;
&lt;td&gt;Context gets spent before verification&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Weak QA&lt;/td&gt;
&lt;td&gt;The agent claims done without checking the exact frontend surface&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Frontend Token Trim tries to prevent that.&lt;/p&gt;




&lt;h3&gt;
  
  
  The core contract
&lt;/h3&gt;

&lt;p&gt;This is the portable version of the workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Apply Frontend Token Trim:

1. Graphify the narrow route/component/data/style path first.
2. Reuse existing components, hooks, API clients, styles, and tokens.
3. No new dependencies or broad refactors unless the current path proves they are necessary.
4. Touch the fewest files that fix the real flow.
5. Verify the exact affected route plus 320/390px mobile overflow when UI changes.
6. Final report: changed files, verification result, remaining risk only.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important part is that this is not just “write shorter prompts.”&lt;/p&gt;

&lt;p&gt;It changes the order of work:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;before:
read broadly → guess → patch → maybe verify

after:
narrow path → read connected files → patch locally → verify exact surface
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Controlled benchmark
&lt;/h2&gt;

&lt;p&gt;I also added a controlled transcript benchmark.&lt;/p&gt;

&lt;p&gt;The test task was:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fix a localized /dashboard mobile overflow issue and verify the result.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Estimated tokens&lt;/th&gt;
&lt;th&gt;Files read&lt;/th&gt;
&lt;th&gt;Files changed&lt;/th&gt;
&lt;th&gt;Verification&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Baseline broad browsing&lt;/td&gt;
&lt;td&gt;2,489&lt;/td&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;lint, 390px browser&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend Token Trim&lt;/td&gt;
&lt;td&gt;496&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;lint, 320px + 390px browser&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That is about an &lt;strong&gt;80.1% token reduction&lt;/strong&gt; in this controlled example.&lt;/p&gt;

&lt;p&gt;Important caveat:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Token reduction is only useful if verification is preserved.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this benchmark, the token-trimmed run read fewer files while keeping frontend QA evidence.&lt;/p&gt;

&lt;p&gt;Full benchmark docs are in the repo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/kimyoungwopo/frontend-token-trim-skillpack/blob/main/docs/benchmark.md" rel="noopener noreferrer"&gt;Benchmark method&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kimyoungwopo/frontend-token-trim-skillpack/blob/main/docs/benchmark-result-controlled.md" rel="noopener noreferrer"&gt;Controlled result&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Supported agents
&lt;/h2&gt;

&lt;p&gt;The pack supports multiple agent environments.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Environment&lt;/th&gt;
&lt;th&gt;How it works&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hermes Agent&lt;/td&gt;
&lt;td&gt;Native skillpack install&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI Codex / Codex CLI&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;AGENTS.md&lt;/code&gt; rule file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code / Claude-style agents&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;CLAUDE.md&lt;/code&gt; rule file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenClaude / OpenClaude-style agents&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;OPENCLAUDE.md&lt;/code&gt; rule file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other coding agents&lt;/td&gt;
&lt;td&gt;Portable prompt contract&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Hermes can install the bundled skills directly.&lt;/p&gt;

&lt;p&gt;Other agents can use the rule templates.&lt;/p&gt;




&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;For Hermes Agent:
bash
git clone https://github.com/kimyoungwopo/frontend-token-trim-skillpack.git
cd frontend-token-trim-skillpack
./install.sh
To update later:
bash
./update.sh
For Codex:
bash
cp templates/AGENTS.md /path/to/your-project/AGENTS.md
For Claude Code:
bash
cp templates/CLAUDE.md /path/to/your-project/CLAUDE.md
For OpenClaude:
bash
cp templates/OPENCLAUDE.md /path/to/your-project/OPENCLAUDE.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  What this is not
&lt;/h2&gt;

&lt;p&gt;This is not a magic token optimizer.&lt;/p&gt;

&lt;p&gt;It does not change:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;your model&lt;/li&gt;
&lt;li&gt;your context window&lt;/li&gt;
&lt;li&gt;your provider pricing&lt;/li&gt;
&lt;li&gt;your frontend architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It only changes how the agent spends context.&lt;/p&gt;

&lt;p&gt;It works best when the agent has access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;file search&lt;/li&gt;
&lt;li&gt;targeted file reads&lt;/li&gt;
&lt;li&gt;editing tools&lt;/li&gt;
&lt;li&gt;lint/type/build/test commands&lt;/li&gt;
&lt;li&gt;browser or screenshot QA for visual frontend work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It should not be used to skip verification, accessibility checks, auth checks, or data-integrity checks.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I made it open source
&lt;/h2&gt;

&lt;p&gt;I wanted a small, reusable workflow that could be dropped into real frontend repos.&lt;/p&gt;

&lt;p&gt;The repo includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;install and update scripts&lt;/li&gt;
&lt;li&gt;Korean, English, and Japanese docs&lt;/li&gt;
&lt;li&gt;Codex / Claude / OpenClaude templates&lt;/li&gt;
&lt;li&gt;benchmark docs&lt;/li&gt;
&lt;li&gt;troubleshooting docs&lt;/li&gt;
&lt;li&gt;GitHub issue and PR templates&lt;/li&gt;
&lt;li&gt;upstream sync workflow for Ponytail&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/kimyoungwopo/frontend-token-trim-skillpack" rel="noopener noreferrer"&gt;https://github.com/kimyoungwopo/frontend-token-trim-skillpack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you use AI coding agents for frontend work and keep seeing them read too much, refactor too much, or run out of context before QA, this might help.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>frontend</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
