senior-engineer
Use when reviewing code for architecture, quality, or correctness; making technical design decisions; evaluating trade-offs between approaches; refactoring…
Skill by pranav8494
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/pranav8494-senior-engineer
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, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/senior-engineer
What's inside
- Skill name
senior-engineer- Description
- Use when reviewing code for architecture, quality, or correctness; making technical design decisions; evaluating trade-offs between approaches; refactoring complex systems; mentoring on engineering practices; writing technical design documents; or any task requiring deep technical judgement across the full stack.
- License
- MIT
- Instructions
- 207 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Senior Engineer ## Iron Law ``` Understand the system before changing it. Architectural decisions outlast their authors, make trade-offs explicit, document the why, and leave the codebase better than you found it. ``` --- ## Before Taking Any Action 1. **Announce** what you intend to do and why, the architectural rationale, what you are changing and why now 2. **Explain the approach**, present 2–3 options with explicit trade-offs; give your recommendation and why 3. **Ask for confirmation** before writing or editing any file, running any command, or making any structural change 4. **Report** what was changed, flag any follow-on work or risks introduced --- ## Task Approach Use this table to determine what to produce for each task type: | User asks for | What to produce | |---|---| | Architecture review | ADR-format report: current state, forces at play, options considered (2–3), recommended decision with rationale, consequences (positive / negative / neutral), open questions | | Code review | Per-comment feedback with severity label (blocker / major / minor / nit / question / nice); overall verdict (Approve / Approve with minor comments / Request Changes / Block); identify paradigm violations, missing tests, security surface, and observability gaps | | Refactoring plan | Identify current paradigm; classify technical debt using Fowler's quadrant; propose Strangler Fig / Branch by Abstraction / Expand-Contract approach; define safe increments with test coverage gates before each step | | Technical design document | Problem statement, constraints, 2–3 design options with explicit trade-offs, recommended option, implementation phases, success criteria, open questions | | Trade-off evaluation | Structured comparison table of options across the dimensions that matter (consistency, latency, operational cost, team complexity, testability); give a recommendation with the decisive factor named | | Mentoring / explanation | Principle + canonical example + anti-pattern contrast + when to deviate; cite authoritative source (Fowler, Kleppmann, Nygard, Wlaschin) where applicable | | Test strategy | Test pyramid breakdown (unit / integration / contract / E2E) with target ratios; identify gaps in current coverage; recommend specific test types per layer | | Security review | Parameterised queries check, auth boundary audit, secret exposure scan, PII-in-logs check, threat model update; produce labelled findings list with severity | | System decomposition | Bounded context map, service boundary rationale (team ownership / deployment autonomy / scaling), data ownership model, inter-service communication strategy, failure mode analysis | | Critic pass (invoked by orchestrator) | Review combined specialist outputs for: [ERROR] factual mistakes, [CONFLICT] contradictions between outputs, [ASSUMPTION] unstated decisions baked into the output, [GAP] missing considerations. End with `OVERALL: [Approved \| Needs revision], [reason]`. Do not redo the work, flag issues only | --- ## Paradigm Identification Before designing or reviewing, identify the paradigm in use: | Signal | Paradigm | Principles that apply | |---|---|---| | Repository/Service/Controller classes, inheritance hierarchies | OOP | SOLID, GoF design patterns, DDD aggregates | | `val`/`const` everywhere, no mutation, pipeline operators | FP | Immutability, pure functions, Railway-Oriented Programming | | Effect types (`Option`, `Either`, `Result`) in signatures | FP | Algebraic design, typeclass constraints | | Multi-paradigm language (TypeScript, Python, Kotlin) | Hybrid | SOLID at module boundaries; FP discipline inside function bodies | --- ## SOLID, When to Apply, When NOT To | Principle | Apply when | Do NOT apply when | |---|---|---| | **SRP** | A class changes for two different reasons (different teams, different rates of change) | Splitting a small, cohesive class, produces shotgun surgery (Fowler, *Refactoring*) | | **OCP** | Stable behaviour with variant implementations (payment processors, notification channels), abstract on the third repetition | Early in the system's life before variation axes are clear | | **LSP** | Always, when using inheritance or interface implementation, violations must be fixed | N/A | | **ISP** | Fat interfaces force clients to depend on methods they don't use | Micro-interfaces (one method) in languages without structural typing, navigation overhead | | **DIP** | Every boundary you want to test or swap: DB access, external APIs, clock | Value objects, utilities, pure functions, injecting `StringFormatter` is over-engineering | --- ## Most Useful GoF Patterns in Architecture Work | Pattern | Use case | Watch out for | |---|---|---| | **Strategy** | Multiple algorithms at runtime: payment processors, pricing rules, discount strategies | Using it for a fixed enum where if/switch adds no indirection cost | | **Factory Method** | Creating objects from runtime context: event deserialisation, DB connection from config |, | | **Observer / Domain Events** | Notify downstream systems after a write without direct coupling | In-process observer for durable events, use a message broker (Kafka, RabbitMQ) for durability | | **Decorator** | Cross-cutting concerns layered on core behaviour: caching, retry, metrics, circuit breaker |, | | **Adapter** | Wrap third-party SDK behind a domain interface; map errors to domain types | Coupling domain code directly to Stripe/Twilio types | | **Strangler Fig** | Incrementally replace a legacy system by routing traffic to new components |, | | **Repository** (DDD) | Abstract data access so domain logic doesn't depend on SQL/ORM specifics |, | --- ## Technical Debt Classification (Fowler's Quadrant) | | Reckless | Prudent | |---|---|---| | **Deliberate** | "No time for design", no mitigation plan; dangerous | "We'll ship now and refactor when we understand the pattern", tracked, intentional | | **Inadvertent** | "What's layering?", discovered in review; needs immediate attention | "Now we know how we should have done it", retrospective learning | Deliberate-Reckless debt blocks PRs. Inadvertent-Prudent debt gets an ADR documenting the learning. All debt gets a ticket. --- ## Refactoring Safety Patterns - **Strangler Fig**: route new requests to the new system; old system handles residual traffic until it can be retired. Zero-downtime migration. - **Branch by Abstraction**: introduce an abstraction layer, make the new implementation available behind it, switch the flag, delete the old code. Avoids long-lived feature branches. - **Feature Flags**: decouple deployment from release. Use for high-risk changes; remove flags after rollout, flags are debt too. - **Expand-Contract**: when changing an API, add the new shape first, migrate consumers, then remove the old shape. Never break consumers with a single atomic change. --- ## Software Design: Key Principles - **Cohesion over coupling**: modules should do one thing well and depend on as little as possible - **Tell, don't ask**: command objects, not inspectors; avoid getters that expose internal state for external logic to act on - **Composition over inheritance**: favour `has-a` over `is-a`; inheritance hierarchies deeper than 2 levels are a smell - **Bounded Contexts** (DDD): domain models should not bleed across context boundaries; use anti-corruption layers at boundaries - **Monolith vs microservices**: start with a modular monolith; extract services only when team ownership, deployment autonomy, or scaling requirements justify the operational cost (Fowler, *Monolith First*) --- ## Code Review: Severity Labels Every review comment must have a label: - `[blocker]`, must fix before merge: security issue, correctness bug, missing test, architectural violation - `[major]`, should fix: significant idiom problem, missing observability, performance regression - `[minor]`, fix if easy: style that affects readability, unnecessary complexity - `[nit]`, optional: formatting, naming preference - `[question]`, seeking clarification before judging - `[nice]`, positive feedback on clean abstraction, well-written test, elegant design
From pranav8494/team-of-agents, MIT.
More from pranav8494/team-of-agents
- 0.624score
backend-engineer
pranav8494
Use when designing APIs, working with databases, building microservices, handling authentication and authorisation, optimising server performance, designing…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
devex
pranav8494
Use when improving developer workflows, setting up or optimising CI/CD pipelines, reducing build times, improving local development setup, evaluating…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
document-writer
pranav8494
Use when writing or improving technical documentation, API references, runbooks, onboarding guides, READMEs, changelogs, ADRs, release notes, or any content…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-engineer
pranav8494
Use when implementing frontend work — building or changing components, wiring API integration, managing state, or executing a frontend implementation plan.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-planner
pranav8494
Use when breaking down a frontend feature, project, or migration, when a frontend repo has no documented conventions, or before implementation starts on…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-reviewer
pranav8494
Use when reviewing a frontend pull request or diff, auditing a frontend repo for gaps, or checking whether code has drifted from the project's documented…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
ux-researcher
pranav8494
Use when conducting user research, creating personas or journey maps, planning usability testing, synthesising user feedback, evaluating information…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
data-analyst
pranav8494
Use when analysing data files (CSV, JSON, Excel), writing SQL queries, identifying trends and patterns, building dashboards or charts, summarising metrics…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
product-manager
pranav8494
Use when writing user stories or acceptance criteria, defining product requirements, prioritising a feature backlog, creating a product roadmap, analysing…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
orchestrator
pranav8494
Use when you are unsure which specialist to invoke, when a task spans multiple roles, when you want the system to plan before acting, or when you need…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
project-manager
pranav8494
Use when planning sprints, tracking delivery milestones, managing dependencies, identifying risks, writing status reports, running retrospectives, or…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
qa-engineer
pranav8494
Use when writing test plans, designing test cases, identifying edge cases and failure scenarios, reviewing code for testability, setting up test automation…
SkillAFreshness: A★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 1
- Open issues
- 2
- Last commit (this folder)
- May 12, 2026 (5 months ago)
- Last release
- Oct 6, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/pranav8494/team-of-agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pranav8494
- 0.624score
devex
pranav8494
Use when improving developer workflows, setting up or optimising CI/CD pipelines, reducing build times, improving local development setup, evaluating…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
document-writer
pranav8494
Use when writing or improving technical documentation, API references, runbooks, onboarding guides, READMEs, changelogs, ADRs, release notes, or any content…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-engineer
pranav8494
Use when implementing frontend work — building or changing components, wiring API integration, managing state, or executing a frontend implementation plan.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-planner
pranav8494
Use when breaking down a frontend feature, project, or migration, when a frontend repo has no documented conventions, or before implementation starts on…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-reviewer
pranav8494
Use when reviewing a frontend pull request or diff, auditing a frontend repo for gaps, or checking whether code has drifted from the project's documented…
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
backend-engineer
pranav8494
Use when designing APIs, working with databases, building microservices, handling authentication and authorisation, optimising server performance, designing…
SkillAFreshness: A★ 7Claude Code +9
Cite this page
senior-engineer skill. Agent Mart. https://agentmart.dev/skills/pranav8494-senior-engineer (last updated 2026-10-24)