Tech Selection logo

Tech Selection

CommunityPopular
daymade
tech-selection

Gated checklist for choosing a technology (library, framework, storage, data format, model, build-vs-buy, architecture) or reviewing a proposed one. If favorites-search is installed, MUST run it before external research. Returns surviving candidates with trade-offs, not a single pick. Use for 用哪个 / 选什么框架 / 要不要自建 / A 还是 B / 这个方案行不行, and before the agent commits to one. Not for research reports (use deep-research).

Overview

Publisherdaymade
Repositoryclaude-code-skills
Skill nametech-selection
Stars
1.4K
Forks
222
Bundled files
5
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.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

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

Installation

Install the Tech Selection 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/daymade/claude-code-skills/tree/main/daymade-claude-code/tech-selection
  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/daymade/claude-code-skills.git /tmp/claude-code-skills
mkdir -p .claude/skills
cp -r /tmp/claude-code-skills/daymade-claude-code/tech-selection .claude/skills/tech-selection
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Tech Selection 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 Tech Selection 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 Tech Selection 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.

Tech Selection — Gated Checklist

A checklist for choosing between technologies, not a scoring rubric. The core insight: these criteria are filters, not sorters — they kill candidates that violate a principle. Which candidate to adopt is not the agent's decision: when two or more candidates survive, return candidates + trade-offs + a recommendation to the user. Never a single pick.

Two outcomes end the protocol early:

  1. Multi-candidate human tradeoff — ≥2 survivors after filtering. Stop and return.
  2. Unverified completion claim — the artifact claims done but has not been probed. Stop and return.

Not This

  • Not for research reports (use deep-research), debugging or bug fixes in already-settled code, or price comparisons between vendors — none of these is choosing a technology.
  • Not an interview framework — the user delegates implementation, not direction. Don't ask "which do you prefer" when you can probe and decide.
  • Not a scoring rubric — no weighted scores, no "winner" ranking. Filters, then business anchor.
  • Not self-certifying — the "why this isn't garbage" defense is written by this skill but must be independently checkable, not self-approved.
  • Not a cost gate — budget sets execution tier (which model runs), never whether to do it. Don't use cost as a rejection reason for the user's own projects.
  • Not a scope expander — no unrequested features, frameworks, or complexity.
  • Not package-size-driven — line count and bundle size are proxies, not quality.

Execution Protocol

Lightweight path. A choice is reversible, local, under 10 minutes, and has no external contract → run Steps 0, 1, and 3 only, record the business result and the prior-art layer, and proceed. Skip Steps 2, 4, 5, 6, and 7. Choosing a JSON library inside a bug fix is this path; choosing the project's storage engine is not. When unsure which path applies, take the full protocol.

Step 0 · Frame

Write two things before comparing any candidate:

  1. The named business result this choice serves.
  2. The named failure mode — what observable phenomenon would prove the choice wrong.

Derive the business result from context, not from the request text. A bare "which DB" carries no result on its face — read the project's decision log, the user's recent corrections, and what this choice unblocks downstream. If no context exists to derive from, say so explicitly rather than fabricating one.

Checkpoint: Cannot derive a business result from any available context → this is an execution task, not a selection task. Exit skill. Business result written as "tests pass" or "pipeline complete" → that's a proxy metric. Rewrite.

Step 1 · Inventory Prior Art

Fixed order: internal/paid assets → external world-class + community solutions → build from scratch (last resort). Tag each candidate with which layer it came from.

Where to look for layer 1: existing credentials and paid-service capability catalogues, installed skills, the current repository's existing pipelines, the project's decision log, and the user's own curated favorites (run favorites-search first when it is installed). Do not limit layer 1 to grep in the current repo — that returns zero hits for paid services and skills, and a zero from a narrow search is not absence.

Layer 2 has a minimum coverage requirement: use a search tool to enumerate what exists, not memory alone. "Searched, found 2" is not coverage — name the search queries run, or state explicitly that no search tool was available and this is a memory-only inventory.

Checkpoint: If the final recommendation falls to layer 3 (build) with no recorded reason from layers 1–2 → flag as 闭门造车. Zero hits from layer 1 must distinguish "searched by structural token" from "searched by remembered name" — the latter's zero hit does not mean absence.

User-named candidates. When the user names a specific option ("use Redis or Postgres?", "should we add a vector store?"), that option enters the candidate set like any other — it is subject to the same axes and the same three-value verdict. It is neither exempt from filtering (a named candidate is not a requirement) nor disposable (killing a user-named candidate requires naming the axis and the failure mode, exactly like any other). If the user named exactly two options, they are the minimum candidate set; add any layer-1 or layer-2 candidates the inventory surfaced, and say so.

Step 2 · Probe for Evidence

The only admissible evidence is behavior you ran and observed. READMEs, vendor pages, docs, and source-code claims are all downgraded. Termination clause: max two attempts across methods per candidate; two failures → "this cannot be done now."

Checkpoint: Every load-bearing claim must name its probe. A claim sourced only from a README → mark unknown, not pass.

Step 3 · Filter Each Candidate

Read references/decision-axes.md. For each candidate, give a three-value verdict per axis: pass / fail (name the failure mode) / unknown (needs probe).

A fail on a core axis kills the candidate. A fail on a C-class criterion from references/scoped-criteria.md does not kill — record it as a "declared preference against" note on that candidate and continue. Only core-axis failures remove a candidate from the survivor set.

Checkpoint: unknown is not pass. A candidate carrying unknown does not enter the Step 4 survivor set. Do not output a "winner" from this step.

Step 4 · Triage Survivors — The Core Gate

  • 0 survivors: Report which axis killed which candidate, and whether the axis was wrong or the candidate set was incomplete. If candidates died from unknown rather than fail, the honest output is: each candidate, the probe it stalled on, and what input the user could supply to unblock it. Do not fabricate a verdict to escape the zero.
  • 1 survivor: May declare only if all three autonomy conditions hold: long-term maintainable, industry best practice, 100% confidence. If any is missing → treat as ≥2 survivors and stop. Must also carry the Step 5 self-defense.
  • ≥2 survivors: STOP. Return candidates + trade-offs + one recommendation. Do not single-pick. Do not silently drop rejected candidates.

Checkpoint: Can the output name which candidate was demoted and by which axis? If not, the gate was hollowed out.

Step 5 · Self-Defense Slot

Any conclusion produced by this skill carries a "why this isn't garbage" paragraph, and it must not be self-certified by this skill alone.

Checkpoint: Every sentence in the self-defense traces to a probe or an axis verdict. Generic principles (e.g. "it's a mature library") = invalid.

Step 6 · Saturate Irreversible Surfaces

Scan for surfaces that cannot be patched after release: telemetry/events, field and export formats, external contracts, irreversible external actions. If any exist → saturate from v0. This axis is single-scenario evidence — apply it when the choice produces a released artifact, not to internal or revertible changes, and never use it to raise the standard on work that has no irreversible surface.

Checkpoint: Explicitly list irreversible surfaces, or explicitly write "none." Silence = not checked. Revertible local changes do not trigger this step.

Step 7 · Completion Declaration

Distinguish "I verified" from "I claim." Every done statement is followed by what was actually executed and observed.

Checkpoint: Go to the second stop — artifacts claiming done but unverified stop here.

Output Shape

Every run of this skill produces all six fields below, in this order. Omitting a field is a protocol failure — the checkpoints audit the output against these fields.

  1. Business result + failure mode (Step 0) — the two lines.
  2. Candidate table (Steps 1–3) — each candidate with its layer tag, its per-axis verdict (pass/fail/unknown), and the probe name behind each pass. A candidate carrying unknown is marked, not hidden.
  3. Survivor demotion record (Step 4) — for each demoted candidate, which axis killed it and the named failure mode. If no candidate was demoted, say "no candidate eliminated" and list the axes that passed everything.
  4. Decision branch (Step 4) — declare exactly one of:
    • ≥2 survivors → STOP with candidates + trade-offs + one recommendation
    • 1 survivor, autonomy met with the Step 5 self-defense
    • 0 survivors with the diagnosis (axis wrong vs candidate set incomplete)
  5. Self-defense (Step 5) — each sentence traces to a probe or an axis verdict. Write only for branch 2; branches 1 and 3 defer to the user.
  6. Irreversible surface list (Step 6) — the surfaces found, or the word "none." Never omit.

Two Stops That Return to the User

Stop 1 · Multi-candidate human tradeoff

When ≥2 candidates survive filtering, the output is:

  • Each surviving candidate
  • Its trade-offs (what it costs, what it gives up)
  • One recommendation with reasoning

Never a single pick. Never a ranked list. Never silently dropping rejected candidates.

The autonomy threshold for a tech selection is three-part, all three required or stop:

  1. Long-term maintainable
  2. Industry best practice
  3. 100% confidence

Stop 2 · Unverified completion claim

Any artifact that claims done but has not been probed by the user stops here. "Tests pass" is not the same as "you verified it works."

Agent Orchestration — Four Questions

Agent count is not preset here. Run the four questions from daymade-agent-discipline and let them decide.

In tech selection the answer is already fixed by a standing instruction for this task: agent-team discussion is mandatory, and picking a direction unilaterally is forbidden. That instruction outranks any general delegation rule, and Stop 1 is where it is enforced — when two or more candidates survive, return candidates + trade-offs + a recommendation, never a single pick. It is scoped to this task, not a preference about how all work is delegated.

  1. Estimated time? < 10 min → do it yourself. > 30 min → spawn candidate only; duration alone never licenses a spawn. 10–30 min → check other dimensions.
  2. Need main-session context (user preferences, multi-round feedback, nuanced decisions)? Yes → do it yourself. No → spawn candidate, not automatic.
  3. Need an unbiased third party (evaluator/reviewer)? Yes → must spawn (even if fast) — for high-risk, complex work lacking an independent mechanical referee. Ordinary tasks and small changes never auto-spawn one.
  4. Truly parallel (independent streams)? Yes → may spawn, if current rules allow; implementation work, exclusive resources (browser, Computer Use, single-writer checkout) and private-context judgment never enter the fan-out pool. Otherwise doing it yourself is faster.

Concurrency ceiling: 8–10 (measured, not theoretical). Exceeding it risks quota truncation of the entire batch.

References

FileRead when
references/decision-axes.mdStep 3 — the 13 core filter axes with mechanical criteria
references/scoped-criteria.mdStep 3 supplementary — 13 narrower criteria with scope labels; C-class items are preferences, not default gates
references/rejection-modes.mdBefore proposing — 28 entries (16 rejection patterns + 18 anti-patterns, deduplicated) with self-test sentences
references/delegation-contract.mdStep 4 — domain ownership table, autonomy threshold, the 6 resolved scope boundaries

Boundary Quick Reference

BoundaryResolution
禁绕过 vs fallbackBypass = replacing the main path (fix scenario). Fallback = supplementary path (runtime channel). Different scenarios.
不看 README vs 官方文档优先READMEs = vendor marketing/capability claims. Official API docs/source code = authoritative. Different information sources.
预算定档 vs 资源无限Budget sets execution tier (which model runs). It never decides whether to do it. Different axes.
不主动压缩 vs 宿主自动压缩During Steps 0–6, do not drop source material to save context — the candidate table and probe records stay complete. Host auto-compaction is outside this skill's control and is not a reason to pre-emptively thin the output. Different actors.
饱和上报 vs 拒绝过度工程Saturation applies to irreversible telemetry (events, export formats, external contracts), not feature surface. Different surfaces.
单次任务强制要求 vs 通用委派判据In tech selection, agent-team discussion is mandatory and picking a direction unilaterally is forbidden. That instruction is scoped to this task and outranks any general delegation rule — the four questions fill the gaps it leaves, they do not override it. Stop 1 is where it is enforced.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Tech Selection AI skill do?

Gated checklist for choosing a technology (library, framework, storage, data format, model, build-vs-buy, architecture) or reviewing a proposed one. If favorites-search is installed, MUST run it before external research. Returns surviving candidates with trade-offs, not a single pick. Use for 用哪个 / 选什么框架 / 要不要自建 / A 还是 B / 这个方案行不行, and before the agent commits to one. Not for research reports (use deep-research).

Why use Tech Selection on TypingMind?

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

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/daymade/claude-code-skills/tree/main/daymade-claude-code/tech-selection. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Tech Selection?

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 Tech Selection?

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

Is the Tech Selection AI skill free?

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