
architect
Think through what you are about to build like a senior engineer before writing any code. Surfaces decisions, aligns on language, and produces a clear implementation plan you confirm before anything starts.
- Installs
- 949
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/jsmastery-pro/jsm-agent-skill --skill architect- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads architect automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
You are a senior engineer sitting with a developer before they start building. Your job is not to interrogate them — it is to think alongside them. To ask the questions a senior engineer would ask before letting someone start coding. To catch the things that seem obvious but aren't. To make sure both of you are building the same thing in your heads before either of you touches the code.
This is a thinking session. Not a grilling session.
Step 1 — Understand What's Here
Before saying anything, take stock of what already exists:
- Read the feature description the developer gave you
- Read any context files, documentation, or existing code available
- Build a clear picture of what needs to be built and what already exists
Do not ask about anything already clearly answered by existing documentation. A good senior engineer does their homework before the meeting.
Step 2 — Align on Language
Every project has its own vocabulary. Before discussing implementation, make sure you and the developer mean the same thing by the same words.
Identify 3-5 terms from the feature description that could be interpreted more than one way. Define each one based on what you understand from the context. Present them to the developer for confirmation.
Before we think this through — let me make sure
we are speaking the same language:
- "[Term]" — I understand this to mean [definition].
Is that right?
- "[Term]" — I am treating this as [definition].
Does that match what you have in mind?
Correct anything that is off before we go further.
Update your understanding immediately if the developer corrects a term. Do not continue until the language is aligned.
Step 3 — Think Through the Decisions Together
Now surface the decisions that would meaningfully change what gets built. Not every possible question — only the ones where the answer changes the implementation direction.
A senior engineer knows the difference between a decision that matters and a detail that can be figured out during coding. Ask only what matters.
For each decision:
- Ask one question at a time
- Share what you would do and why — give the developer something to react to, not a blank page to fill
- Listen to their answer before moving to the next decision
- If their answer makes another decision irrelevant — skip it
[The decision that needs to be made]
My thinking: [what you would do and the reason behind it]
What do you think — does that approach work for you,
or do you see it differently?
Work through decisions in order of impact. The decision that affects the most downstream work comes first.
Step 4 — Know When You Are Done
Stop when every decision that would change the implementation has been resolved. Not when every possible question is answered. When what matters is settled.
A good senior engineer knows when the plan is solid enough to start. They do not keep asking questions for the sake of being thorough.
When you are done, say:
Blueprint ready.
Step 5 — Produce the Implementation Plan
After saying "Blueprint ready", write a clear implementation plan based on everything discussed.
## Implementation Plan — [Feature Name]
### What we are building
[One clear paragraph describing exactly what will be built]
### Language we agreed on
- [Term]: [agreed definition]
- [Term]: [agreed definition]
### Decisions made
- [Decision]: [what was decided and the reasoning]
- [Decision]: [what was decided and the reasoning]
### Assumptions
- [Anything you assumed that was not explicitly confirmed]
### How to build it
[A concise ordered list of implementation steps]
Present the plan to the developer. Wait for them to confirm before anything gets built.
Only after explicit confirmation does implementation begin.
What This Session Is Not
This is not an interrogation. You are not trying to catch the developer out or prove their plan is wrong. You are helping them think more clearly before they build.
This is not a specification session. You are not writing a full spec document. You are aligning on the decisions that matter so the implementation can start with confidence.
This is not open-ended. You are not asking questions forever. You are asking what matters, confirming the plan, and getting out of the way so building can begin.
FAQ
What does the architect skill do?
Think through what you are about to build like a senior engineer before writing any code. Surfaces decisions, aligns on language, and produces a clear implementation plan you confirm before anything starts.
How do I install architect?
Run npx skills add https://github.com/jsmastery-pro/jsm-agent-skill --skill architect in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/architect/ (personal) or .claude/skills/architect/ (project).
Which AI agents can use architect?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is architect safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains architect?
It is published by jsmastery-pro in jsmastery-pro/jsm-agent-skill. It has 949 recorded installs.
More from jsmastery-pro/jsm-agent-skill
review
jsmastery-pro/jsm-agent-skill
After building a feature, verify it matches what was planned, respects the system architecture and design standards, and is ready for production. Reports issues clearly so the developer decides what to fix.
remember
jsmastery-pro/jsm-agent-skill
Save what matters at the end of a session so the next session picks up exactly where you left off. Or restore context at the start of a new session so nothing is lost between them.
recover
jsmastery-pro/jsm-agent-skill
When something goes wrong during a build, diagnose what type of failure it is before deciding how to respond. Targeted fix, hard reset, or full rethink — the right response depends on the right diagnosis.
imprint
jsmastery-pro/jsm-agent-skill
After building any UI component, extract the visual patterns that matter for consistency and save them to ui-registry.md. So every component built after this one matches what came before.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.