architect

/architect — Design Interview

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "architect" with this command: npx skills add trevoke/org-gtd.el/trevoke-org-gtd-el-architect

/architect — Design Interview

Overview

Design the technical solution through conversation. Propose approaches with tradeoffs, let the user choose, then detail the chosen design.

Core principle: Lead with options, not answers. The user picks the direction.

When to Use

  • Requirements exist (from /define or provided by user)

  • Technical approach needs to be decided before coding

  • Multiple valid designs exist and tradeoffs matter

The Process

  1. Find Requirements

Look for the most recent *-requirements.md in docs/plans/ .

If none found or multiple exist, ask the user which to use. If no requirements exist at all, suggest /define first.

  1. Explore the Codebase

Before proposing anything, understand what exists:

  • How does the codebase handle similar features?

  • Which files will be touched?

  • What patterns are already established?

  • How are similar features tested?

Name specific files and patterns you found. Don't hand-wave about "the existing architecture."

  1. Propose 2-3 Approaches

For each approach:

Approach A: [Name] (Recommended)

Summary: One sentence. How it works: Key components and interactions. Pros: Why this is good. Cons: Why this might not be ideal. Risk: What could go wrong. Fits existing patterns: How it aligns with what's already in the codebase.

Lead with your recommendation but explain why the others exist.

  1. Interview — Let the User Choose

Use AskUserQuestion :

  • Which approach do they prefer?

  • Any constraints you missed?

  • Acceptable tradeoffs?

One question at a time. Don't dump all decisions at once.

  1. Detail the Chosen Design

Present in sections, validating each with the user before moving on:

Section Content

Overview What we're building and why this approach

Components Each new/modified module with its responsibility

Data Flow How data moves through the system

API Surface Public functions — signatures and behavior

Error Handling What can go wrong and how we handle it

Testing Strategy What to test, at what level

Design principles to consider:

  • Does the code model the domain naturally? (DDD)

  • Single responsibility — each module does one thing

  • Does it feel like idiomatic Emacs Lisp?

  • Are we building only what's needed? (YAGNI)

  1. Save and Commit

Derive name from requirements doc (same <name> slug).

docs/plans/YYYY-MM-DD-<name>-design.md

Commit: docs: add <name> design

  1. Next Step

Design saved. When ready, use /implement to plan and execute the implementation.

Common Mistakes

Mistake Fix

Presenting one design as "the answer" Always propose 2-3 approaches with tradeoffs

Not reading the codebase first Explore before proposing. Name specific files and patterns.

Designing without interviewing Ask the user which approach. They decide direction.

Including full implementation code Design describes WHAT and WHY. /implement handles HOW.

Producing the entire design in one shot Present section by section, validate each with user.

Hand-waving about "existing patterns" Be specific: "org-gtd-organize.el uses transient at line 42"

Not referencing next step Always end with: "use /implement when ready"

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

refactor

No summary provided by upstream source.

Repository SourceNeeds Review
General

test

No summary provided by upstream source.

Repository SourceNeeds Review
General

using-superpowers

No summary provided by upstream source.

Repository SourceNeeds Review
General

qa

No summary provided by upstream source.

Repository SourceNeeds Review