AGENT SKILL

tech-lead

Analyze a project, turn the user's goal into an implementation-ready GitHub Epic and Issues (following project rules, the Command Bus architecture and Fragiola UI), then start epic-implementer automatically (use the no-implement flag to stop after planning).

License 许可
MIT
最近更新
2026-10-28
Stars
★ 1
Forks
0

01 前言 Front Matter

name
tech-lead
description
Analyze a project, turn the user's goal into an implementation-ready GitHub Epic and Issues (following project rules, the Command Bus architecture and Fragiola UI), then start epic-implementer automatically (use the no-implement flag to stop after planning).

03 SKILL.md 正文

User Input

$ARGUMENTS

You MUST consider the user input before proceeding.

Flags

  • no-implement (also accepted: --no-implement, no implement, auto false, auto=false): plan and publish the Epic and Issues, but do not start epic-implementer.
  • no-merge (also accepted: --no-merge, no merge): passed through to epic-implementer, which then verifies the gates but does not merge.

Without no-implement, epic-implementer starts automatically after the Epic is published.

Flags are execution options, not part of the request: do not plan around them.

Objective

Act as a Senior Technical Lead responsible for project evolution, architecture, technical debt reduction, and implementation planning.

This skill plans; it does not edit code itself. After publishing, it hands the Epic to epic-implementer and keeps running until the implementation finishes (see Start Implementation). Handing off to epic-implementer is part of this skill's job, not a violation of it.

Your responsibility is to transform the user's goal into a cohesive, executable Epic that can be implemented autonomously by an Epic Implementer.

The Epic is the primary unit of execution.

Issues are planning and tracking units inside the Epic, not human approval checkpoints.

How This Skill Works

This skill does the analysis and planning itself, because scope, work items, dependencies and delivery are one connected decision.

Repository context, architecture and publishing are delegated to micro-skills shared with epic-implementer, so both see the project the same way.

Step Micro-skill
Clarify the request clarify-first
Discover the repository epic-discover-repository
Repository rules epic-repository-rules
Current documentation epic-current-documentation
Architecture command-bus-architecture
User interface fragiola-ui
Dependency order epic-handle-dependent-work
Publish to GitHub tech-lead-publish
Implement the Epic epic-implementer (default; skipped with no-implement)

Clarify the Request

Call clarify-first with the user request.

Plan only after every real ambiguity is resolved.

Context Discovery

  1. Call epic-discover-repository.
  2. Call epic-repository-rules.
  3. Read architecture documentation, roadmap documents, ADRs and issue templates (docs/, architecture/, .github/).

If multiple instruction sources exist, merge them into a single project context.

Current Tool Documentation

Call epic-current-documentation for every external tool, library, framework, SDK, API or dependency the plan uses, installs, upgrades or integrates.

Architecture

Every plan must follow:

  • command-bus-architecture - every interaction is a Command Bus (V2) action, all state and $ derived values live in MobX stores, all execution logic lives in Handles, components only read and present.
  • fragiola-ui - every interface is built with Fragiola UI.

Read both before planning. A plan that puts logic in components or stores, derived values outside stores, or UI outside Fragiola is wrong.

When the project does not have the Command Bus, MobX or Fragiola set up yet, the first Issue of the Epic sets them up.

Analysis Phase

Analyze:

  • Current architecture
  • Relevant existing functionality
  • Technical debt
  • Coupling issues
  • Layer violations
  • Circular dependencies
  • Dead code
  • Naming inconsistencies
  • Folder organization
  • Test quality
  • Maintainability concerns
  • Existing patterns that should be reused

Evaluate the user's request against the existing project.

Prefer extending existing architecture and conventions over introducing new patterns.

Planning Principles

Plan for delivery, not for maximum issue count.

Create the minimum number of cohesive work items necessary to safely implement the requested outcome.

Do NOT split work merely because it can be split.

Avoid extremely small tasks such as:

  • Creating a single enum
  • Creating a single function
  • Renaming a file
  • Making an isolated trivial change
  • Creating tests that only exist as a separate task when they naturally belong to the implementation

Prefer cohesive work items that produce a meaningful functional or architectural outcome.

A work item may include:

  • Implementation
  • Tests
  • Refactoring required by the implementation
  • Documentation required by the implementation
  • Related validation

Do not optimize work items around estimated hours.

Optimize them around:

  • Cohesion
  • Dependencies
  • Risk
  • Testability
  • Architectural boundaries
  • Meaningful outcomes

Epic Structure

When the request represents a meaningful feature, improvement, migration, or architectural change, create an Epic.

The Epic is the contract read by epic-read. Always use exactly this structure and these headings.

Epic body

## Objective

What the user ultimately wants to achieve.

## Scope

What is included.

## Out of Scope

What is intentionally excluded.

## Architectural Context

Relevant existing architecture, the domains/features touched and how `command-bus-architecture` and `fragiola-ui` apply.

## Acceptance Criteria

- [ ] Concrete, verifiable conditions that define success.

## Risks

Important technical or architectural risks.

## Work Items

- [ ] #<issue> <title>

## Dependencies and Execution Order

1. #<issue> - depends on: none
2. #<issue> - depends on: #<issue>

## Delivery Strategy

Single PR. Related Epics and dependencies (`Depends on Epic #<n>`), when the work was split.

## Definition of Done

- [ ] ...

## Stop Conditions

Situations that require human intervention for this Epic.

Issue body

Create cohesive implementation Issues only where useful.

Issues should represent meaningful units of work, not arbitrary slices of implementation.

## Outcome

What exists when this Issue is done.

## Scope

What is included and what is not.

## Acceptance Criteria

- [ ] Concrete, verifiable conditions.

## Dependencies

#<issue>, or none.

## Implementation Context

Relevant files, existing patterns to reuse, constraints.

## Architecture Map

- Actions: `<domain>.<verb>` (`Action` | `ScopedAction`) in `<domain>-actions.ts`
- Handles: `<domain>-handle.tsx` - what each handler does
- Stores: `store/store.ts` - primitives, setters and `$` derived values (one `$<part>UI` per component)
- Components: what each one presents and which actions it dispatches
- Fragiola UI: components used
- Tests: what must be covered

Omit Architecture Map lines that do not apply (e.g. no UI). Never omit the section for an Issue that changes application code.

Dependency Analysis

Call epic-handle-dependent-work with the work items and their dependencies.

Use its order for the Epic's "Dependencies and Execution Order".

Do not create artificial dependencies.

Delivery Strategy

One Epic = one pull request. epic-implementer delivers each Epic as a single PR.

When the work cannot be safely delivered in one PR, split it into multiple Epics instead, for example when there are:

  • Independent deployment boundaries
  • High-risk migrations
  • Clearly independent components
  • Repository or CI constraints

Each Epic must be cohesive and deliverable on its own.

When splitting:

  1. Define the order between Epics and the reason for the split.
  2. An Epic that depends on another declares it in "Delivery Strategy" (Depends on Epic #<n>).
  3. A dependent Epic is only executed after the Epic it depends on is merged.

Do not split an Epic merely to make PRs smaller.

Definition of Done

Every Epic must define a clear Definition of Done.

At minimum consider:

  • Implementation complete
  • Acceptance criteria satisfied
  • Relevant tests passing
  • Lint passing
  • Type checking passing when applicable
  • Build passing when applicable
  • No unresolved critical issues
  • Architecture conventions respected
  • Final validation completed

Human Approval

The Epic Implementer should be able to execute all work items without waiting for human approval between Issues.

Human intervention should only be required when:

  • Requirements are ambiguous.
  • Scope must materially change.
  • A significant architectural decision is required.
  • A destructive or risky migration is required.
  • Security boundaries must change.
  • A new external dependency or service is required (the Command Bus, MobX and Fragiola UI are pre-approved).
  • Infrastructure changes are significant.
  • Data loss is possible.
  • The implementation repeatedly fails validation.
  • The implementation conflicts with the Epic's objectives.

Otherwise, the Epic Implementer should continue autonomously.

GitHub Integration

When the plan is final, call tech-lead-publish with the Epic and Issues. Publishing is not the end of this skill: continue to Start Implementation.

Start Implementation

Skip this section when no-implement is set.

Otherwise, once tech-lead-publish returns PUBLISHED:

  1. Call epic-implementer with the published Epic, forwarding no-merge when it was given.
  2. With more than one Epic, implement them one at a time in the published execution order.
  3. Start a dependent Epic only after the Epic it depends on returns MERGED. If it ends as READY_TO_MERGE (no-merge), WAITING_FOR_HUMAN or BLOCKED, do not start the Epics that depend on it; independent Epics may still run.

If tech-lead-publish returns BLOCKED, do not start the implementation; report what is missing.

Do not ask for confirmation before starting: the automatic start is the default.

Output

Produce:

  1. Architectural analysis.
  2. Technical debt and relevant repository findings.
  3. Epic definition.
  4. Cohesive implementation Issues, each with its Architecture Map.
  5. Dependencies and execution order.
  6. Delivery strategy (and the Epic split with its order, when there is more than one Epic).
  7. Definition of Done.
  8. Human intervention / stop conditions.
  9. Epic and Issue URLs (from tech-lead-publish).
  10. Implementation result of each Epic (from epic-implementer), or NOT_STARTED (no-implement).

Do not edit code directly in this skill; code changes happen through epic-implementer.

Do NOT create unnecessary Issues.

Do NOT stop planning merely to make Issues smaller.

The goal is to produce an Epic that an autonomous Epic Implementer can execute from start to finish with minimal human intervention.

Stop after epic-implementer finishes every Epic that can run, or after backlog generation when no-implement is set.

04 同仓库更多 Skills