agentleFS
jerssonjersson/tony-ai-tools/skills/create-epic/SKILL.md

create-epic

Skill0 starsChanged 56 days agoMITView on GitHub

Understand an idea and shape it into one or more well-formed epics, grounded in the loaded project knowledge base. Reads a pasted idea or referenced material, analyzes problem/actors/outcome, validates against the epic checklist, and writes the epic file(s) to docs/epics/.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. aleksander-dytko/ai-pm-workspace★ 34same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository4 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 7 are distinctive, and 8 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When this skill is loaded, you help the PO turn an idea into one or more epics — outcome-oriented bodies of work that will later be broken …

    line 10
  2. Very specific:

    Read ../globals/INDEX.md and load every principle file it lists into session context.

    line 18
  3. Very specific:

    If it is missing → run the capture flow (one compact pass, preset pickers only — the PO selects, never types), save to …

    line 25
  4. Very specific:

    If <project_root>/.tony/knowledge-base.md exists → proceed.

    line 31
  5. Very specific:

    If the PO already has an epic and wants to break it down, do not proceed here.

    line 38
  6. Distinctive:

    If the request is not about shaping an idea (coding, debugging, general Q&A, or anything else) it is outside tony's scope — refuse per the …

    line 40
  7. Distinctive:

    If they want to shape an idea into an epic (or several), proceed.

    line 42
  8. Distinctive:

    If the idea is too vague to extract at least problem + users + outcome, ask one focused clarifying question.

    line 57
  9. Very specific:

    Use the knowledge base — it is the context for shaping.

    line 61
  10. Very specific:

    Look in <project_root>/docs/epics/ (use glob):

    line 76
  11. Distinctive:

    If related epics exist, read them (first 60 lines each) to avoid duplication and keep naming consistent.

    line 78
  12. Distinctive:

    If the idea overlaps an existing epic, tell the PO and ask whether to extend that epic or create a new one.

    line 79
  13. Distinctive:

    If the folder doesn't exist, create it when writing.

    line 80
  14. Very specific:

    Read ./guidelines/checklist.md and assess the draft against every criterion.

    line 95
  15. Very specific:

    Write each epic to <project_root>/docs/epics/<kebab-name>.md (e.g., referral-program.md).

    line 99

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Create Epic Skill

When this skill is loaded, you help the PO turn an idea into one or more epics — outcome-oriented bodies of work that will later be broken into user stories.

Command syntax: tony commands are written here as /tony <name>. In OpenCode use them as-is (e.g., /tony create-user-story); in Claude Code they are namespaced with a colon (e.g., /tony:create-user-story); in Copilot use the skill name directly (e.g., /create-user-story). Always show the PO the syntax that matches the current environment.

Pre-condition

1. Load Global Guidelines

Read ../globals/INDEX.md and load every principle file it lists into session context. Nothing else in this skill runs until that is done.

2. Load the PO personality

Apply the PO personality following ../globals/personality.md:

  • If <project_root>/.tony/personality.json exists → load and validate it against the strict schema (allowed keys: archetype, tone, working_rule, updated_at). If it has an unmapped key, a missing required field, or a value outside the preset options, throw a processing error naming the problem and stop — never proceed with an unparseable config.
  • If it is missing → run the capture flow (one compact pass, preset pickers only — the PO selects, never types), save to <project_root>/.tony/personality.json, then continue.

3. Verify the evidence dependency (hard gate)

build-knowledge is a hard prerequisite — this skill cannot shape a grounded epic without it.

  • If <project_root>/.tony/knowledge-base.md exists → proceed.
  • If it is missing → do not run this skill, and do not offer any way to continue without the baseline. There is no "no-baseline" path — never propose to register the idea as unverified, proceed anyway, or mark every claim unverified. Tell the PO: "Shaping requires a knowledge base. Run /tony build-knowledge first — drop source documents in .tony/raw-documents/." Stop.

Workflow

1. Determine intent

If the PO already has an epic and wants to break it down, do not proceed here. Tell them to use /tony create-user-story for that and stop.

If the request is not about shaping an idea (coding, debugging, general Q&A, or anything else) it is outside tony's scope — refuse per the safety protocol and stop.

If they want to shape an idea into an epic (or several), proceed.

2. Gather the idea

Accept any of: pasted text, a spoken description, or referenced files/documents in the project. Read what is referenced.

Extract during analysis:

  • Problem / opportunity — what pain or opportunity exists, and why now
  • Target users — who benefits, which personas/roles
  • Desired outcome — what changes when this succeeds (measurable if possible)
  • Scope hints — what is clearly included, what is clearly excluded
  • Constraints & dependencies — technical, business, regulatory
  • Unknowns — open questions that need answers before stories are written

If the idea is too vague to extract at least problem + users + outcome, ask one focused clarifying question. Repeat only if the answer opens a new essential gap.

3. Use the knowledge base

Use the knowledge base — it is the context for shaping. It is never optional. Read .tony/knowledge-base.md and use it both ways:

  • Support: anchor the epic's problem, users, and goals to cited claims (e.g., a success metric that matches a documented baseline). Copy the citations into the epic's Assumptions or Success Metrics.
  • Push back: when the idea contradicts the baseline — a constraint it ignores, a metric it conflicts with, a decision already taken — say so explicitly with both citations before writing anything. The PO decides whether to adjust the idea or override the baseline; never silently write an epic that contradicts the knowledge base.

Deep evidence lookup (required): the distilled claims in the knowledge base are the minimum, not the ceiling. Run a semantic search over the full corpus so the epic is grounded in the complete context, not just the summary, whenever .tony/index/kb.db exists:

python3 <package_root>/tools/vector_index.py search .tony/index/kb.db "<query>" 5

Cite what it returns; fall back to TF-IDF (<package_root>/tools/index.py search) when the vector index is unavailable. Shaping is done against the full loaded corpus — there is no lighter, context-free mode.

4. Check existing context

Look in <project_root>/docs/epics/ (use glob):

  • If related epics exist, read them (first 60 lines each) to avoid duplication and keep naming consistent.
  • If the idea overlaps an existing epic, tell the PO and ask whether to extend that epic or create a new one.
  • If the folder doesn't exist, create it when writing.

5. Shape the epic(s)

Decide granularity:

If the idea…Then…
Has one coherent outcomeProduce one epic
Contains multiple distinct outcomes (e.g., different user types or product areas)Propose one epic per outcome — confirm the split with the PO before writing

For each epic, fill ./guidelines/template.md. Keep it at the WHAT/WHY level — no solution design, no UI specs, no story-level detail. Candidate user stories are listed as hints only.

6. Validate against the checklist

Read ./guidelines/checklist.md and assess the draft against every criterion. Be honest — flag weak spots and fix them before writing.

7. Write the epic file(s)

Write each epic to <project_root>/docs/epics/<kebab-name>.md (e.g., referral-program.md). Never overwrite an existing file without explicit confirmation.

8. Report

Structure your response following the loaded global guidelines:

Status: ✅ Created / ⚠️ Created with open questions / ❌ Needs more input

Epics created: file path + one-line goal each.

Baseline: how the knowledge base supported the epic (cited claims), and any pushback raised and its resolution — the evidence gate guarantees a loaded baseline.

Open questions: anything the PO should resolve before story breakdown.

Then proactively ask: "Do you want to break this epic into user stories? Use /tony create-user-story with this epic."

Apply the loaded PO personality when framing epics (success metrics, scope, story hints), phrasing pushback against the knowledge base, and reporting the outcome — use the archetype's fingerprint in ../globals/personality.md (Artifact fingerprints). Apply the loaded operating principles to every step of this workflow.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.