architect
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
Skill by proguha
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/proguha-architect
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
architect- Description
- Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /pstack:architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.
- License
- MIT
- Instructions
- 95 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: scripts/sync-pstack.mjs
Files (4)
- SKILL.md
- design-red-flags.md · references/
- rationale-template.md · references/
- runner-prompt.md · references/
SKILL.md (first lines)
# Architect On Pi, read the [platform mapping](../poteto-mode/references/pi-tools.md), including its per-skill notes, before following this skill. Design before implementing. Sketch types, function signatures, class shapes, and module boundaries with `not implemented` bodies and pseudocode. Synthesize across multiple model perspectives, then fill in code against the chosen sketch. If implementation proves the sketch wrong, throw it out and redesign. ## Start Open a todolist with one entry per phase before starting. 1. Ground 2. Sketch 3. Agree 4. Implement 5. Scrap ## Phase A: Ground the problem Build a real mental model of every system the new code touches. Run the **how** skill over the relevant subsystems. Naming a file isn't grounding. Produce the traced model `how` prescribes. If the design redefines ownership or layering, also run the **why** skill on the existing shape so the rationale becomes a constraint, not a guess. Skip Phase A only when the work is genuinely greenfield with no surrounding system to integrate. ## Phase B: Sketch Run the **arena** skill with the design-sketch task and the Phase A grounding artifacts. Pass `references/runner-prompt.md` as each runner's prompt. Each candidate produces a design package shaped per `references/rationale-template.md`. Take the runners from the `architect runners` line in `pstack-models.md`, in place of the `arena runners` line. If the sheet or that line is missing, use the defaults in [Models](#models). Alias and rejected entries follow the runner rules in the **arena** skill's Phase A. Design it twice. Require at least two structurally distinct candidates before synthesis, even when the first looks sufficient. This is the **exhaust-the-design-space** principle skill made concrete. Whole-shape alternatives, not point fixes inside one shape. Screen every candidate against [`references/design-red-flags.md`](references/design-red-flags.md) before synthesis. Reject or revise shallow modules, information leakage, temporal decomposition, and pass-through methods. Compare viable candidates on interface depth. Prefer the design that hides more complexity behind a smaller, simpler public surface. A rich interface can keep call chains short by concentrating capability instead of scattering it across layers. Arena returns one synthesized design package. The synthesis decision populates the rationale's "Synthesis decision" section. ## Phase C: Agree (opt-in) Default: proceed directly to implementation with the synthesized design. No human checkpoint. Opt in to a checkpoint when the invoker explicitly asks: "/pstack:architect with checkpoint," "stop and show me before implementing," or similar. Then surface the synthesized design and pause for sign-off. The synthesis can ship as its own commit either way, as the "scaffold first" mode of the **foundational-thinking** principle skill. Planned and scoped breakage during fill-in is fine, per the **outcome-oriented-execution** principle skill. For adversarial pressure on the design before implementing, run the **interrogate** skill on the synthesized sketch. If the human pushes back on the shape (in a checkpoint or after the fact), treat that as Phase A evidence. Re-ground and re-run Phase B before writing more code. ## Phase D: Implement against the sketch Replace `not implemented` bodies with code, pseudocode with logic. The synthesized sketch is the contract. Deviations from the sketch are signal worth surfacing, not friction to absorb silently. If a function needs a parameter the sketch didn't anticipate, ask whether the sketch was wrong, the requirement was missed, or the implementation is overreaching. Before closing each implementation unit or handing its contract to the next worker, compare accepted deviations with the saved behavior contracts, interfaces, and responsibility assignments. Once the appropriate owner or review process accepts a change, update the affected parts of the existing sketch and rationale. Record the acceptance source there. A change from raising an error to returning a refusal must update the outcome contract before the next unit begins. For a local deviation that leaves the shared contract intact, record the decision and why the design still holds; a local variable rename need not rewrite the architecture. Keep unaccepted changes and unresolved disagreements visible. Do not call the unit reconciled while the next worker would receive contradictory instructions, or edit the specification merely to justify what was implemented. Use the existing design artifact rather than a parallel record per unit. Repeated structural deviations still trigger Phase E. ## Phase E: Scrap when the architecture is wrong If implementation keeps producing friction the sketch can't absorb, throw the sketch out. Don't bolt fixes onto a wrong design, per the **redesign-from-first-principles** and **fix-root-causes** principle skills. The signal is a *pattern*, not single instances. Tells: - The same shape of workaround appearing repeatedly across unrelated code. - Multiple unrelated edge cases that all need special-case branches. - Types that need escape hatches (`any`, casts, optional fields always set in practice) to compile. - The "we need a lock" reflex when the sketch said the state wasn't shared. - Callers having to know the abstraction's internal rules to use it. - Two or more independent Phase D deviations of the same shape across the implementation. Use judgment. A few edge cases don't condemn an architecture. Some problems are legitimately complex. Complexity in the data is not complexity in the design. When you scrap: 1. Re-run the **how** skill over what's been built. 2. Redesign as if the new constraints had been day-one assumptions, per redesign-from-first-principles. 3. Subtract before adding, per the **subtract-before-you-add** principle skill. The new sketch should be smaller than the old one before it grows. 4. Return to Phase B and re-run arena. ## Outputs The caller's usage is written first and the type sketch derived from it. One file with new types and signatures for small changes. Module map plus type definitions for larger work. The rationale ships alongside, shaped per `references/rationale-template.md`, including the usage sketch and the synthesis decision. ## Models Role defaults, stamped by pstack-pi's `scripts/sync-pstack.mjs` from upstream `models.json` and the Pi model map in `port.json`. A matching role line in `~/.pi/agent/pstack-models.md` overrides each at runtime; `/pstack:setup-pstack` writes it. - architect runners: `openai-codex/gpt-6-sol`, `openai-codex/gpt-6-astra`, `github-copilot/claude-sonnet-5` ## Reasoning effort A role value in the override sheet may name a reasoning effort after its model, as in `openai-codex/gpt-6-sol @xhigh`. Levels on Pi: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. On Pi, pass the level as the `Agent` tool's `thinking` field and keep the usual `subagent_type` and `model`. Pi clamps a level the model does not support.
From proguha/pstack-pi, MIT.
More from proguha/pstack-pi
- 0.570score
run
proguha
Drive the real program to see a change work and capture evidence, for CLIs, TUIs, servers, and browser or Electron apps.
SkillAFreshness: AClaude Code +9 - 0.566score
skill-development
proguha
Create, edit, or tune a Pi skill (a SKILL.md directory).
SkillAFreshness: AClaude Code +9 - 0.565score
babysit
proguha
Watch an open PR — fix failing CI, handle the straightforward review comments, and drive it to a mergeable state.
SkillAFreshness: AClaude Code +9 - 0.557score
setup-pstack
proguha
Configure which models pstack uses per role.
SkillAFreshness: AClaude Code +9 - 0.544score
create-verification-skill
proguha
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: AClaude Code +9 - 0.541score
interrogate
proguha
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: AClaude Code +9 - 0.539score
automate-me
proguha
Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how…
SkillAFreshness: AClaude Code +9 - 0.537score
how
proguha
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 30, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/proguha/pstack-pi
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.501score
architect
oerd
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillBFreshness: BClaude Code +9 - 0.301score
architect
skyisle
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillBFreshness: BClaude Code +9
More from proguha
- 0.570score
run
proguha
Drive the real program to see a change work and capture evidence, for CLIs, TUIs, servers, and browser or Electron apps.
SkillAFreshness: AClaude Code +9 - 0.566score
skill-development
proguha
Create, edit, or tune a Pi skill (a SKILL.md directory).
SkillAFreshness: AClaude Code +9 - 0.565score
babysit
proguha
Watch an open PR — fix failing CI, handle the straightforward review comments, and drive it to a mergeable state.
SkillAFreshness: AClaude Code +9 - 0.557score
setup-pstack
proguha
Configure which models pstack uses per role.
SkillAFreshness: AClaude Code +9 - 0.544score
create-verification-skill
proguha
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: AClaude Code +9 - 0.541score
interrogate
proguha
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: AClaude Code +9
Cite this page
architect skill. Agent Mart. https://agentmart.dev/skills/proguha-architect (last updated 2026-10-24)