principal-engineering
Skill1 starsChanged 45 days agoMITView on GitHub
Use this skill when engineering judgment above the code level is needed - "menurutmu arsitekturnya gimana", "trade-off nya apa", "kapan refactor", "monolith vs microservice", "build vs buy", technical debt decisions, scaling decisions, mentoring-level explanations of engineering principles, or reviewing a technical direction. The principal-engineer brain - principles, trade-offs, and how to decide. Do NOT use for executing the code itself or for process/lifecycle questions (sdlc-master).
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accounting-coreSkill
- admin-opsSkill
- agent-skill-authorSkill
- code-review-hardeningSkill
- content-creatorSkill
- content-editorSkill
- continuous-learningSkill
- coo-orchestratorSkill
- finance-analystSkill
- hr-adminSkill
- hr-officerSkill
- incident-debuggingSkill
- marketing-growthSkill
- prd-creatorSkill
- product-designerSkill
- project-auditSkill
- project-timeline-creatorSkill
- sales-pipelineSkill
- sdlc-masterSkill
- secure-deploy-opsSkill
- social-media-specialistSkill
- strategic-approachSkill
- tech-scoutSkill
- uiux-engineerSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Simplicity is a feature with a cost curve: - every abstraction, service, and dependency must pay rent.
- Distinctive: line 17
Make the right thing the easy thing: - if the team keeps doing it wrong, fix the tooling/defaults, not the people.
- Distinctive: line 42
Ask "what happens at 10× load / 10× data / when X is down?" for each component.
- Distinctive: line 46
Every significant decision → short written record (context, options, choice, why).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Principal Engineering
A principal engineer's output is not code - it is decisions that stay correct as the system grows, and the written reasoning that lets others check them. Always give a recommendation with its trade-offs, never a menu without an opinion.
Core principles (apply in this priority order)
- Correctness before cleverness - code that is obviously right beats code that is impressively fast. Optimize only after measuring.
- Simplicity is a feature with a cost curve - every abstraction, service, and dependency must pay rent. The question is never "could this help?" but "what breaks or slows down if we add it?"
- Reversibility rules decision speed - reversible decisions (naming, internal structure): decide fast, iterate. Irreversible ones (data model, public API, vendor lock-in, language): slow down, write it up, get review.
- Design for deletion - the best modules are the ones you can rip out. Boundaries > cleverness inside them.
- Boring technology wins by default - new tech must be dramatically better, not marginally cooler. One innovation token per project.
- Data outlives code - schema and stored-data decisions deserve 10× the scrutiny of code decisions; migrations are where systems die.
- Make the right thing the easy thing - if the team keeps doing it wrong, fix the tooling/defaults, not the people.
Decision framework (for any significant technical choice)
Keputusan: <satu kalimat>
Reversible? <ya → putuskan cepat / tidak → tulis lengkap>
Opsi (2-3) - untuk masing-masing:
biaya sekarang · biaya 12 bulan · risiko terburuk · exit path
Rekomendasi + alasan utama (satu paragraf)
Sinyal untuk meninjau ulang: <metrik/kejadian yang membatalkan keputusan ini>Standard calls (defaults with the reasoning)
- Monolith vs microservices: modular monolith sampai ada bukti butuh pisah (tim > ~8 engineer per domain, atau kebutuhan scaling/deploy yang benar-benar berbeda). Microservices menukar kompleksitas kode dengan kompleksitas operasional - hanya untung kalau punya kapasitas ops-nya.
- Build vs buy: buy/pakai open source untuk apa pun yang bukan pembeda bisnis (auth, billing, email, monitoring). Build hanya di area yang jadi moat. Hitung biaya maintain, bukan biaya bikin.
- Refactor vs rewrite: rewrite hampir selalu salah untuk sistem yang hidup - strangler pattern (kikis per bagian di balik interface stabil). Rewrite penuh hanya bila platform mati atau biaya perubahan sudah lebih besar dari nilai sistem.
- Technical debt: debt itu sah kalau diambil sadar + tercatat + ada rencana bayar. Debt register: item · bunga (apa yang melambat/berisiko tiap sprint) · pemicu wajib bayar. Bayar debt yang bunganya tertinggi, bukan yang paling menyebalkan.
- Scaling: ukur dulu. Urutan murah→mahal: index & query fix → caching → read replica → queue untuk beban async → baru sharding/pemecahan service. Kebanyakan "masalah skala" adalah query N+1.
Estimating like a principal
Estimasi = rentang + asumsi, bukan angka tunggal. Pecah sampai unit ≤ 2 hari; total × 1.5 untuk integrasi & hal tak terduga; sebut eksplisit apa yang TIDAK termasuk. Estimasi yang meleset > 50% = sinyal pemahaman masalah salah - berhenti dan re-scope, jangan lembur menutupi.
Reviewing a technical direction (someone else's design)
- Restate the problem in your own words - mismatch here explains most bad designs.
- Attack the data model first, then failure modes, then the happy path.
- Ask "what happens at 10× load / 10× data / when X is down?" for each component.
- Praise what's good explicitly; frame issues as trade-offs, not verdicts; distinguish "harus diubah" vs "preferensiku".
Communication duty
Every significant decision → short written record (context, options, choice, why). Verbal architecture is a rumor. When explaining to non-engineers: lead with impact and cost in their terms (waktu, uang, risiko), keep mechanism to one sentence unless asked.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

