Architecture Sketching logo

Architecture Sketching

Community
andreaswasita
architecture-sketching

Defines types and boundaries before implementation.

Overview

Publisherandreaswasita
Repositorycopilot-agents-dojo
Skill namearchitecture-sketching
Stars
54
Forks
15
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 andreaswasita on GitHub. Read the source before you install it.

Installation

Install the Architecture Sketching 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/andreaswasita/copilot-agents-dojo/tree/main/skills/architecture-sketching
  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/andreaswasita/copilot-agents-dojo.git /tmp/copilot-agents-dojo
mkdir -p .claude/skills
cp -r /tmp/copilot-agents-dojo/skills/architecture-sketching .claude/skills/architecture-sketching
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Architecture Sketching 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 Architecture Sketching 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 Architecture Sketching 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.

Architecture Sketching Skill

Defines the data shapes, public signatures, module ownership, alternatives, and invalidation conditions for a cross-boundary change before implementation begins. It produces a small design contract that implementation can test and revise. It does NOT require architecture ceremony for a local change with an obvious existing pattern.

This workflow adapts architecture-exploration ideas from Lauren Tan's pstack project, licensed under MIT, to the dojo's verification and traceability model.

When to Use

  • A change crosses a function, module, service, process, or persistence boundary.
  • A new API, event, command, schema, or shared type is being introduced.
  • Several credible designs exist and choosing one would be expensive to reverse.
  • Implementation keeps adding casts, optional fields, locks, wrappers, or special cases.
  • The user asks to architect, design, model, or decide where behavior belongs.
  • NOT for a one-file change that follows a clear local pattern without changing a contract.

Prerequisites

  • An approved problem statement or requirements package.
  • A grounded view of affected code from view, grep, glob, or codebase-onboarding.
  • plan-before-code active for multi-step work.
  • subagent-strategy available when competitive design exploration is justified.
  • A writable design location chosen by repository convention.

How to Run

text
1. Ground the current flow, constraints, and ownership.
2. Name the data shapes and illegal states.
3. Sketch public signatures and module boundaries with no implementation.
4. Compare credible alternatives and select one with a written rationale.
5. Define verification and explicit signals that would invalidate the sketch.
6. Implement against the sketch; redesign when repeated friction disproves it.

Quick Reference

ArtifactRequired content
Problem frameGoal, scope, constraints, and success predicate
Data shapesInputs, outputs, state, identity, ownership, invalid states
Contract sketchPublic types, signatures, commands, events, or endpoints
Module mapWhich component owns each decision and dependency direction
AlternativesTwo or three credible shapes, or why only one is viable
Selection rationaleTradeoff that decided the shape and what was rejected
Verification planStatic checks plus real-artifact behavior
Invalidation signalsEvidence that requires redesign instead of another patch

Keep the sketch proportional. A small change may need one page. A cross-service design may need linked diagrams or an ADR.

Procedure

Step 1: Ground the Existing System

Trace the affected path from trigger to result. Identify:

  • The boundary where external or untrusted data enters.
  • The current owner of validation, state, policy, and side effects.
  • Contracts that existing callers depend on.
  • Concurrency, retry, compatibility, and failure constraints.

Reference concrete files, symbols, requirements, or runtime evidence. Do not infer ownership from directory names alone.

If the request provides no repository or product context, keep the sketch provider-neutral and label assumptions explicitly. Do not borrow names, files, technologies, or business rules from an unrelated workspace merely because they are visible.

Step 2: Name the Data Shapes

Write the core shapes before functions:

  • Inputs and outputs.
  • Stable identifiers.
  • Valid states and state transitions.
  • Errors that callers must handle.
  • Data that is external, validated, internal, persisted, or emitted.

Prefer shapes that make invalid states unrepresentable. Validate at system boundaries, then let internal code trust the validated type.

Step 3: Sketch Contracts Without Bodies

Define only the public contract:

  • Type or schema names.
  • Function signatures.
  • API endpoints, commands, or events.
  • Dependency direction.
  • Module or service ownership.

Use pseudocode or explicit placeholders where a body would distract from the shape. The sketch should let another engineer explain how data and control move without reading an implementation.

Step 4: Explore Alternatives

When the choice is consequential and precedent is weak, use the competition mode in subagent-strategy. Ask isolated candidates for whole-design alternatives, not small variations inside one design.

Compare candidates using criteria tied to the task:

  • Correctness and illegal-state prevention.
  • Reader load and number of layers.
  • Boundary clarity.
  • Retry and idempotency behavior.
  • Migration and deletion path.
  • Ease of verification on the real artifact.

Skip competitive exploration when repository conventions or platform constraints dictate the shape. Record that reason.

Step 5: Select and Record the Contract

Choose one coherent design. Record:

  1. The selected data and module shape.
  2. The deciding tradeoff.
  3. Rejected alternatives and why they lost.
  4. Consequences and migration steps.
  5. Verification commands and runtime checks.

Use an ADR when the decision affects multiple teams, services, or future extension points. Link requirements to the chosen contract when traceability applies.

Step 6: Define Invalidation Signals

Before implementation, list evidence that would disprove the sketch:

  • Two or more unrelated callers need the same new escape hatch.
  • Internal code repeatedly needs casts or partially valid objects.
  • Callers must understand hidden implementation rules.
  • Multiple edge cases require the same special-case branch.
  • Shared state or locking appears where the sketch assumed isolation.
  • The public contract changes repeatedly during implementation.

One awkward case may be local complexity. A repeated pattern means the architecture is wrong.

Step 7: Implement Against the Sketch

Treat deviations as evidence. Record them instead of silently extending the contract. If the invalidation signals fire:

  1. Stop adding patches.
  2. Re-ground with the new evidence.
  3. Remove accidental complexity.
  4. Revise or replace the sketch.
  5. Re-run verification against the updated contract.

The sketch is a hypothesis, not a promise. Preserving a disproven design is not consistency.

Pitfalls

  • DO NOT start with classes or services before naming the data they exchange.
  • DO NOT invent project-specific context. Cite the repository evidence or keep the design generic.
  • DO NOT call a file list an architecture. Show ownership and dependency direction.
  • DO NOT create wrappers, factories, or extension points without a current requirement.
  • DO NOT preserve legacy APIs indefinitely. Plan caller migration and deletion together.
  • DO NOT serialize shared writes before asking whether the state can be separated.
  • DO NOT average incompatible candidate designs into one incoherent result.
  • DO NOT hide implementation deviations. Repeated deviations are redesign evidence.
  • DO NOT block a reversible design on human approval unless the user requested a checkpoint.

Verification

  • The sketch names inputs, outputs, states, identifiers, and errors.
  • Every project-specific claim has evidence; otherwise assumptions are explicit and generic.
  • Public signatures and module ownership are explicit.
  • Alternatives were compared, or the reason to skip was recorded.
  • Rejected options and the deciding tradeoff are documented.
  • Static and real-artifact verification are defined.
  • Invalidation signals are concrete and observable.
  • Implementation deviations are recorded and reviewed before sign-off.

Frequently asked questions

What does the Architecture Sketching AI skill do?

Defines types and boundaries before implementation.

Why use Architecture Sketching on TypingMind?

Because you install it once and use it with any model. Architecture Sketching 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 Architecture Sketching in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/andreaswasita/copilot-agents-dojo/tree/main/skills/architecture-sketching. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Architecture Sketching?

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 Architecture Sketching?

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

Is the Architecture Sketching AI skill free?

Yes. It is published on GitHub by andreaswasita 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 👇