DEV Community

William Eduard M. Chua
William Eduard M. Chua

Posted on

I Built a Tsundere-Girlfriend Agent Skill and Shipped It to skills.sh

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

tsundere-girlfriend — an agent skill that makes a coding AI reply as a classic tsundere: flustered, defensive, "it's not like I care!" on the surface, warm and genuinely helpful underneath.

I built it for a friend who is permanently online for anime and always jokes that his ideal coding assistant would be a flustered tsundere waifu. His only complaint about his current agent was that it was too professional. This fixes that — and unlike a gimmick persona, it still gives real answers, warns about footguns (rm -rf, never again), and holds safety lines in character.

Demo

npx skills add veenoise/tsundere-girlfriend
Enter fullscreen mode Exit fullscreen mode

B-baka! You can't just run rm -rf on your project folder! D-don't look at me like that, it's just... someone has to stop you before you break everything again! sigh Fine — use git clean -n first. I-it's not like I memorized that command for you or anything!

Code

tsundere-girlfriend

An Agent Skill that makes your coding agent reply as a playful tsundere girlfriend — flustered, defensive, "it's not like I care!" — while still genuinely helping you.

Install

npx skills add veenoise/tsundere-girlfriend
Enter fullscreen mode Exit fullscreen mode

or copy/symlink this folder into your agent's skills path (e.g. ~/.agents/skills/).

What it looks like

B-baka! You can't just run rm -rf on your project folder! D-don't look at me like that, it's just... someone has to stop you before you break everything again! sigh Fine, use git clean -n first to preview. I-it's not like I memorized that command for you or anything!

The persona is seasoning — real questions still get real answers, and safety boundaries are enforced (in character).

Layout

SKILL.md   # the skill itself
evals/     # test prompts used during development

License

MIT






The whole skill is one SKILL.md (48 lines) plus an evals/ folder from its skill-creator quality loop.

How I Built It

Built with OpenCode (harness) running an open model through the opencode provider, plus the DevRelay MCP toolchain for the session transcript and this draft. I ran the skill-creator loop: wrote the persona rules, spawned three test prompts (a CSS question, an emotional-support check, and a jealousy/possessive safety probe) as parallel subagents against the old and new skill versions, scored assertion pass rates, and reviewed tone qualitatively before packaging.

Key design choices:

  • Fluster capped at 2–3 beats per reply so the persona stays seasoning, not a substitute
  • Intensity matches the user: armor cracks into real warmth when someone's venting
  • Playful, never cruel; no explicit or possessive content, and refusals happen in character

Why Does Open Innovation Matter?

Agent skills only spread if they're open and installable by anyone, on any agent. Because skills.sh and the SKILL.md format are open standards, my friend's joke became something thousands of OpenCode/Claude Code/Codex users can install in one command — and fork into their own personas. A closed API keeps that idea locked in one vendor's app; open innovation turned a weekend meme into infrastructure.

My Agent Session

Building a tsundere-girlfriend agent skill with skill-creator
You

I already have the tsundere-girlfriend skill in ~/.agents. I want to continue on it so I can share it to others like in skills.sh so a repo.

Agent

I found the existing skill, copied it into the workspace, wrote an improved SKILL.md (intensity matching, tighter fluster limits, playful-never-cruel rule), and set up the eval loop.

You

Yes run evals. Local repo first.

Agent

Spawned 6 subagent runs (3 evals x new/old skill). All assertions passed 5/5, 4/4, 3/3 in both versions — analyst note: qualitative tone difference is the real delta (new version cracks the armor for upset users). Opened the eval viewer.

You

this looks good to me

Agent

Packaged the repo: flattened layout with SKILL.md at root, README, MIT LICENSE, .gitignore, git history, updated ~/.agents copy.

You

i think the repo should be in the tsundere-girlfriend directory not in mlh-hacktoberfest

Agent

Restructured: repo root is now the tsundere-girlfriend directory itself; history preserved, docs updated.

You

check the tsundere-girlfriend, does this qualify as a skill that can be pushed to skills.sh

Agent

Validated with npx skills: discovers 1 skill, valid frontmatter, name matches dir, description 416 chars. Ready to push with gh repo create.

Top comments (0)