Agent skill

Add Feature

by AlphaLab-USTC in AlphaLab-USTC/OhMyCode

Guide for adding a new feature to OhMyCode. An agent skill from AlphaLab-USTC/OhMyCode.

MITAuto-check passedTesting & QA

Install Add Feature

skills CLI
$ npx skills add AlphaLab-USTC/OhMyCode --skill add-feature -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AlphaLab-USTC/OhMyCode add-feature --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AlphaLab-USTC/OhMyCode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-feature .claude/skills/add-feature && rm -rf skills-src

Use ~/.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/

Facts

Skill name
add-feature
GitHub stars
131
Token cost
~995 tokens
SKILL.md length
453 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Guide for adding a new feature to OhMyCode. An agent skill from AlphaLab-USTC/OhMyCode.

  • Works in 6 steps: Understand the Request → Design the Architecture → Implement with TDD → …
  • User wants to add functionality that goes beyond existing extension points (tools/providers)
  • SKILL.md covers When to Use, IMPORTANT: Read First, Step-by-Step Guide and Architecture Constraints, plus 2 more sections
  • Calls python3

What it does

Add Feature is an agent skill from AlphaLab-USTC/OhMyCode. Guide for adding a new feature to OhMyCode. Use when user wants to add functionality that goes beyond existing extension points (tools/providers). Always start by reading docs/DEVELOPMENTGUIDE.md.

Its SKILL.md is about 1000 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA. The repository describes itself as: Minimal and Customizable CC-Style Coding Agent. The licence is MIT.

When your agent uses it

  • User wants to add functionality that goes beyond existing extension points (tools/providers)

Example prompts

  • “/add-feature”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Understand the Request
  2. Design the Architecture
  3. Implement with TDD
  4. Integrate
  5. Update Documentation
  6. Final Verification

What it can do on your machine

Read from SKILL.md and the folder at commit 4d1bb28. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add Feature loads about 995 tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 453 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~995

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from AlphaLab-USTC/OhMyCode at commit 4d1bb28, republished under its MIT licence (© AlphaLab-USTC). 453 words, ~995 tokens.

Download SKILL.mdSave it as .claude/skills/add-feature/SKILL.md (or your agent's skills folder).
name
add-feature
description
Guide for adding a new feature to OhMyCode. Use when user wants to add functionality that goes beyond existing extension points (tools/providers). Always start by reading docs/DEVELOPMENT_GUIDE.md.

Add a New Feature to OhMyCode

Add a major new capability that isn't covered by existing extension points (add-tool, add-provider).

Examples: hook system, MCP support, multi-session management, plugin architecture, new CLI commands, new compression strategy.

When to Use

  • User wants a feature that requires new modules or modifying core modules
  • User says "add hook support", "add MCP", "add plugin system", etc.
  • The feature doesn't fit into the existing tool/provider/config pattern

IMPORTANT: Read First

Before doing anything, read docs/DEVELOPMENT_GUIDE.md — it contains:

  • Project architecture and module dependency graph
  • Code conventions (file size limits, naming, async patterns)
  • Testing conventions
  • Commit conventions

Step-by-Step Guide

Step 1: Understand the Request

Ask the user:

  1. What does the feature do?
  2. Who uses it? (end users via CLI? developers extending OhMyCode? both?)
  3. What existing modules does it interact with?
Step 2: Design the Architecture

Based on docs/DEVELOPMENT_GUIDE.md, determine:

  1. Where does the code go?

    • New module under ohmycode/? (e.g., ohmycode/hooks/)
    • Extends an existing module? (e.g., add to ohmycode/core/)
    • Both?
  2. What interfaces does it expose?

    • New Protocol/ABC?
    • New config options?
    • New CLI commands/flags?
    • New slash commands in REPL?
  3. What existing code needs to change?

    • Check the dependency graph in DEVELOPMENT_GUIDE.md
    • Minimize changes to existing modules
    • Never introduce circular imports
  4. Propose the design to the user before writing code.

Step 3: Implement with TDD

For each component:

  1. Write failing test in tests/<module>/test_<component>.py
  2. Run test to confirm it fails
  3. Implement the minimal code to pass
  4. Run ALL tests to ensure no regressions: python3 -m pytest tests/ -v
  5. Commit incrementally
Show full SKILL.md (194 more words)Show less
Step 4: Integrate

If the feature requires changes to existing modules:

  • Keep changes minimal and surgical
  • Prefer adding new functions over modifying existing ones
  • Use feature flags in config if the feature should be optional
Step 5: Update Documentation

Update docs/DEVELOPMENT_GUIDE.md if the feature:

  • Adds a new module to the architecture diagram
  • Creates a new extension point
  • Changes the module dependency graph
  • Adds new config options
Step 6: Final Verification
bash
python3 -m pytest tests/ -v                # All tests pass
ohmycode -p "Test the new feature" --mode auto  # End-to-end works

Architecture Constraints

From docs/DEVELOPMENT_GUIDE.md:

  • Single file < 500 lines — split if larger
  • Single function < 50 lines — extract helpers
  • No circular imports — check the dependency graph
  • Async-first — use async/await for I/O operations
  • Errors as values — return error results, don't raise exceptions in tool/provider code
  • Config for behavior — use config.json for user-facing settings, not hardcoded values

Module Dependency Rules

cli.py → core/loop.py → providers/base.py
                       → tools/base.py
                       → core/context.py
                       → core/system_prompt.py

New modules should fit into this hierarchy. Leaf modules (no dependencies on other ohmycode modules) are safest. Modules that need to touch core/loop.py require extra care.

Common Mistakes

  • Modifying core/loop.py without understanding the async generator pattern
  • Adding imports to permissions.py from tools/base.py (circular dependency)
  • Not updating DEVELOPMENT_GUIDE.md after adding a new module
  • Implementing without tests first
  • Making a feature mandatory when it should be optional (use config flags)

© AlphaLab-USTC, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/add-feature of AlphaLab-USTC/OhMyCode.

Open the folder on GitHubat commit 4d1bb28

Compare with similar skills

Add Feature 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.

Add Feature compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Feature this skillAlphaLab-USTC/OhMyCode131—~995Automated safety check: PassMIT
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
Diagnosing Bugsfossasia/eventyay-interpretation1.6k32 repos~2.1kAutomated safety check: PassApache-2.0
TDDpietheinstrengholt/rssmonster56430 repos~906Automated safety check: PassMIT
TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph11211 repos~2.4kAutomated safety check: PassNone
TDDsanity-io/sanity6.4k20 repos~1kAutomated safety check: PassMIT

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Diagnosing Bugs

    fossasia/eventyay-interpretation

    Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.

    1.6k GitHub starsUsed in 32 repos~2.1k tokens
    Testing & QAAuto-check passed
  • TDD

    pietheinstrengholt/rssmonster

    Test-driven development. An agent skill from pietheinstrengholt/rssmonster.

    564 GitHub starsUsed in 30 repos~906 tokens
    Testing & QAAuto-check passed
  • TDD Workflow

    hellangleZ/burn-in-cceverywhere-ralph

    A skill your agent uses when writing new features, fixing bugs, or refactoring code.

    112 GitHub starsUsed in 11 repos~2.4k tokens
    Testing & QAAuto-check passed
  • TDD

    sanity-io/sanity

    Official

    Test-driven development with red-green-refactor loop. An agent skill from sanity-io/sanity.

    6.4k GitHub starsUsed in 20 repos~1k tokens
    Testing & QAAuto-check passed
  • Context Driven Development

    Ibrahim-3d/orchestrator-supaconductor

    A skill your agent uses when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md…

    381 GitHub starsUsed in 9 repos~2.9k tokens
    Testing & QAAuto-check passed

More from AlphaLab-USTC/OhMyCode

All 10 skills in this repo
  • Add Provider

    AlphaLab-USTC/OhMyCode

    Guide for adding a new LLM provider to OhMyCode. An agent skill from AlphaLab-USTC/OhMyCode.

    131 GitHub stars~888 tokensUpdated 6 mo ago
    Auto-check passed
  • Add Tool

    AlphaLab-USTC/OhMyCode

    Guide for adding a new tool to OhMyCode. An agent skill from AlphaLab-USTC/OhMyCode.

    131 GitHub stars~758 tokensUpdated 6 mo ago
    Auto-check passed
  • Bench

    AlphaLab-USTC/OhMyCode

    Run OhMyCode benchmarks — score any provider/model with token tracking.

    131 GitHub stars~941 tokensUpdated 6 mo ago
    Auto-check passed
  • Customize Response Style

    AlphaLab-USTC/OhMyCode

    Guide for customizing OhMyCode's terminal output style and rendering.

    131 GitHub stars~1.1k tokensUpdated 6 mo ago
    Auto-check passed
  • Customize System Prompt

    AlphaLab-USTC/OhMyCode

    Guide for customizing OhMyCode's AI personality and behavior via system prompt.

    131 GitHub stars~819 tokensUpdated 6 mo ago
    Auto-check passed
  • Debug Ohmycode

    AlphaLab-USTC/OhMyCode

    Guide for debugging OhMyCode issues. An agent skill from AlphaLab-USTC/OhMyCode.

    131 GitHub stars~1.3k tokensUpdated 6 mo ago
    Auto-check passed

Categories

Questions about Add Feature

What does Add Feature do?

Guide for adding a new feature to OhMyCode. An agent skill from AlphaLab-USTC/OhMyCode. Add Feature is an agent skill from AlphaLab-USTC/OhMyCode. Guide for adding a new feature to OhMyCode.

When should I use Add Feature?

Add Feature fits situations like: user wants to add functionality that goes beyond existing extension points (tools/providers).

How do I install Add Feature in Claude Code?

Run `npx skills add AlphaLab-USTC/OhMyCode --skill add-feature -a claude-code`. Or copy the skill folder (.agents/skills/add-feature in AlphaLab-USTC/OhMyCode) into .claude/skills/add-feature in your project. Claude Code loads it when a task matches its description.

How do I install Add Feature in Codex?

Run `npx skills add AlphaLab-USTC/OhMyCode --skill add-feature -a codex`. Or copy the skill folder (.agents/skills/add-feature in AlphaLab-USTC/OhMyCode) into .agents/skills/add-feature in your project. Codex loads it when a task matches its description.

Can I use Add Feature in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AlphaLab-USTC/OhMyCode --skill add-feature -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-feature, .gemini/skills/add-feature, .github/skills/add-feature and .opencode/skills/add-feature in your project.

What does Add Feature need to run?

Going by SKILL.md and its folder, Add Feature needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Add Feature access the network?

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.

Is Add Feature safe to install?

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. Review the folder before installing.

What licence does Add Feature use?

Add Feature is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Feature use?

About 995 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Feature?

Skills that share tags, products or a category with Add Feature: Web Application Testing (anthropics/skills, 180k stars), Diagnosing Bugs (fossasia/eventyay-interpretation, 1.6k stars), TDD (pietheinstrengholt/rssmonster, 564 stars) and TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Feature?

AlphaLab-USTC (a GitHub user) maintains it in AlphaLab-USTC/OhMyCode, which has 131 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on April 2, 2026.

Source: AlphaLab-USTC/OhMyCode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.