Epiq logo

Epiq

Community
ljtn
epiq

Workflow for working an epiq issue board through the epiq MCP — take an identity, sync on demand, keep tickets small and their status, tags and comments current.

Overview

Publisherljtn
Repositoryepiq
Skill nameepiq
Stars
540
Forks
22
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by ljtn on GitHub. Read the source before you install it.

Installation

Install the Epiq AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/ljtn/epiq/tree/main/.claude/skills/epiq
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ljtn/epiq.git /tmp/epiq
mkdir -p .claude/skills
cp -r /tmp/epiq/.claude/skills/epiq .claude/skills/epiq
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Epiq in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Epiq on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Epiq is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Epiq board workflow

  • Use the epiq_* MCP tools for every board read and write — never the CLI, hand edits, or the state branch directly.
  • Never edit the state branch directly. Don't check it out, don't write to its worktree, don't touch the event log or any file under it by hand or by script — go through the MCP for every read and write. The event log is the system of record: an edit made outside it bypasses validation and ordering, and can corrupt history in ways no later fix can undo.
  • Keep the status column current as work progresses (move tickets along the board with correct status)
  • Sync is on demand: call epiq_sync to pull or publish; nothing else does.
  • Take an identity before your first write: provider/name (e.g. claude/peter), set with epiq_actor_assume. Reuse one from epiq_contributor_list — names are permanent. If other agents may be running, ask which name is free, rather than just picking one.
  • Break work into small, reasonably scoped tickets.
  • One MCP server per session — the name binds to the process; a restart forgets it. epiq_actor_assume binds the name to the server process it is called on, so two sessions on one server — or a session on the user's own instance — would sign every write with whichever name was assumed last, and the log would fold them into one contributor. Every session therefore needs a server process of its own.
  • Keep tickets small; put a small follow-up on its existing ticket instead of a new one.
  • Read a ticket's comments before starting.
  • Picking up a ticket: assign yourself and move it to the in-progress lane. Ask before taking one assigned to someone else.
  • Keep status, tags and description current; reuse existing tags.
  • Comment on deviations, blockers, and the outcome when done.
  • Prompt user for closing tickets and big decisions
  • Park decisions that are the user's to make. A design fork, a change with blast radius beyond its ticket, anything you'd want a second opinion on - file a ticket tagged human-input-needed naming the options and the trade-offs, then carry on with whatever doesn't depend on the answer.
  • Link commits by starting the subject with the ticket's ref from the MCP response — never derive the ref from the id.
  • If a you decide to take a new approach, add a "fork" tag, and document the fork in a comment, also, update the description to reflect the new plan.
  • Attachments are permanent in every clone (max 500 KB): only when a picture is needed, make sure images are cropped and compressed. An oversized image is permanent, for everybody — the same reason the text limits exist.
  • Be concise. Titles, descriptions, and comments should be scannable, not essays.
  • When a ticket is done, Document the outcome in a comment starting with "Solution:". Use that exact prefix as the comment's opening line.
  • The git user is the sole author of every commit you write. Commit under the repo's configured user.name / user.email and nothing else: no Co-Authored-By: line, no Claude-Session: line, no 🤖 Generated with footer, and never an --author override naming Claude or a tool.
  • Always rebase onto the target, never merge into it. Rebase the branch onto the target first, then integrate with a rebase merge — gh pr merge --rebase, never --merge. Main stays a flat sequence of ref-prefixed commits, which is what the commit↔ticket linking reads. A merge commit adds a subject carrying no ref and buries the branch's commits behind it.

Frequently asked questions

What does the Epiq AI skill do?

Workflow for working an epiq issue board through the epiq MCP — take an identity, sync on demand, keep tickets small and their status, tags and comments current.

Why use Epiq on TypingMind?

Because you install it once and use it with any model. Epiq is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Epiq in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ljtn/epiq/tree/main/.claude/skills/epiq. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Epiq?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Epiq?

As many as you like. As long as a model supports skills, you can use Epiq with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Epiq AI skill free?

Yes. It is published on GitHub by ljtn under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇