Skip to content

Feature: a framework for user overrides to han integration points and skills #112

Closed

Description

@taminomara

Idea

Introduce a framework for customizing han's behavior beyond custom instructions in CLAUDE.md.

Right now, the only way to customize han is by writing custom instructions into CLAUDE.md. Writing voice is baked directly into skills, and the work-item-to-skill routing being added in #111 has no way to take user-supplied direction. Han could benefit from a shared format mechanism for providing overrides to known integration points and skills.

Two concrete examples of where this would plug in:

Open questions

These are the decisions a feature spec would need to resolve:

  • Coverage. Which integration points and skills should the mechanism cover: only the two examples above, or every skill and agent with a known integration point?
  • Format and discovery. What does an override look like, where do override files live, and how does an agent find them (naming convention, location, file structure)?
  • Precedence. Does an override replace or augment the built-in behavior, and how does a partial override behave against the built-in default?
  • Success criteria. What must a user be able to override, and how do they confirm an override took effect?

Suspected areas

Suggested next step

Route to /plan-a-feature: the direction (build an override mechanism) is chosen and the job-to-be-done is clear, but the mechanism is not yet specified.

Activity

  1. mxriverlynn commented on Jul 10, 2026

    @mxriverlynn
    Collaborator

    Han could benefit from a shared format mechanism for providing overrides to known integration points and skills.

    i've been thinking about this for a while, as well! glad to see this put in here as a triaged issue 🙂

  2. mxriverlynn commented on Jul 10, 2026

    @mxriverlynn
    Collaborator

    some random(ish) thoughts:

    • having a .han/ folder where config and overrides could live
    • the ability to add or remove custom agents, from the agent swarm that gets deployed by various skills (per skill, over-all, etc)
    • ability to replace the writing-voice would be excellent! it's 100% my voice, and that's a very limiting factor - plugin: han-communication - extracting a new plugin from han-core, and consolidating guidance #114 really would benefit from this
    • a coworker recently showed off a skill that manages per-branch context and relevant info. having a .han/branch-context folder that could easily be ignored in a .gitignore file would be a great way to handle this (more details to come in a PR at some point, for that skill)
    • having a well documented structure and guidance for extending Han, allowing someone else to add the same extension structure to their own skills, etc, would be a great way to expand the overall Han ecosystem while also contributing something to the larger skills and plugin ecosystem of claude and other LLMs
    • 🤔 i wonder how much of this could be automated and enforced with custom hooks?
  3. taminomara commented on Jul 10, 2026

    @taminomara
    ContributorAuthor

    having a .han/ folder where config and overrides could live

    Would be nice to have, although not necessary: a !`-embedded resolver that walks up the directory tree searching for .han directory. We have a ton of repositories, and a tool that provisions VMs, sets up Claude Code plugins, and clones everything needed for a task. Having a single .han in home directory would spare us from committing the same files into every repo. But we can, of course, just symlink it into each repo root, so this is not a hard requirement.

  4. mxriverlynn commented on Jul 30, 2026

    @mxriverlynn
    Collaborator

    i forgot this issue ticket existed 😅 - FYI, though, this is largely implemented in the v5 alpha branch / build (#130). i'll do another pass on this ticket to make sure i got all the bits that were outlined here, though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions