claude-skills/engineering-team/skills/senior-fullstack/profiles/internal-tool.json
Claude 2c5a793128
feat(engineering): apply karpathy-coder + Matt Pocock to fullstack/frontend/backend
Audit findings:
- senior-fullstack / senior-frontend / senior-backend SKILL.md files were
  generic role catalogs with no opinionated workflow, no customization
  surface, and no cross-agent invocation contract.
- A 4-person SaaS startup and a 200-engineer enterprise read identical
  recommendations.
- Other agents/skills had no typed surface to orchestrate fullstack /
  frontend / backend lenses.

Per-skill additions (21 new files: 7 x 3 skills):
- scripts/<role>_decision_engine.py - stdlib-only deterministic profile
  picker. Refuses to recommend without Karpathy-#1 core assumptions.
  Surfaces kill criteria. Names human approver chain (never auto-approves).
- profiles/*.json x 4 per skill (12 total) - JSON customization surface.
  Users copy one to <your-org>.json to override defaults.
- references/forcing_questions.md - 7 Matt Pocock forcing questions per
  skill (21 total) with recommended answer + canon citation + kill criterion.
- references/composition_map.md - explicit routing into POWERFUL-tier
  specialists (api-design-reviewer, database-designer, slo-architect,
  performance-profiler, a11y-audit, epic-design, apple-hig-expert, etc.).

Three orchestrator agents (context: fork):
- agents/engineering/cs-fullstack-engineer.md
- agents/engineering/cs-frontend-engineer.md
- agents/engineering/cs-backend-engineer.md
Invokable by other agents via Agent(subagent_type="cs-<role>-engineer", ...).

Four slash commands:
- /cs:fullstack-review, /cs:frontend-review, /cs:backend-review
- /cs:engineer-grill - cross-role 21-question forcing-question runner

Augmented SKILL.md files (additive only - Karpathy #3 surgical):
Each gained 5 new sections: Assumptions & Verifiable Success Criteria
(Karpathy #1+#4), Customization profiles, Composition map, Forcing-question
library, Invocation from other agents and skills.

Verification:
- 12/12 profile JSON files parse cleanly
- 3/3 decision engines pass --help and --sample, exit 0
- 3/3 cs-* agents have valid YAML + context: fork
- 3/3 agent paths resolve from agents/engineering/
- 3/3 commands reference the correct cs-* agent
- 69/69 plugin.json files pass check_plugin_json.py
- Existing SKILL.md content unchanged (additive edits only)

Versions: engineering-team plugin 2.2.3 -> 2.8.1; marketplace entry 2.8.1.

https://claude.ai/code/session_01UyWs4rKccdxUWFcWi6Y8Ly
2026-05-20 07:24:21 +00:00

60 lines
2.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft-07/schema#",
"profile_name": "internal-tool",
"description": "Internal-only application (admin panel, ops dashboard, employee tool). Auth-walled, low traffic (< 100 DAU), no SEO, no public a11y requirements. Goal: ship features fast, not engineer for scale.",
"version": "1.0.0",
"constraints": {
"team_size_max": 5,
"deployment_cadence": "weekly-or-on-demand",
"cloud_budget_monthly_usd_ceiling": 500,
"user_facing": false,
"data_sensitivity_tier": "internal-or-pii-only"
},
"stack_recommendations": {
"primary": "internal-tool-platform-or-thin-stack",
"consider_no_code_first": [
"retool",
"appsmith-self-host",
"budibase-self-host",
"tooljet-self-host"
],
"if_custom_required": {
"frontend": "next-pages-router-or-vite-react-with-shadcn",
"backend": "next-api-routes-or-fastapi-or-django-admin",
"database": "postgresql-shared-with-prod-via-read-replica-OR-supabase",
"auth": "okta-saml-or-google-workspace-sso"
}
},
"anti_recommendations": {
"design-system-investment": "kill — four-user audience does not measure design polish",
"wcag-aaa-compliance": "kill — auth-walled means screen-reader audience is known and small",
"edge-cdn-for-mobile-4g": "kill — internal users are on corporate networks",
"feature-flags": "warn — usually unnecessary at this scale, push-and-pray is fine for non-customer-facing changes",
"kubernetes": "kill — single container on Fly.io / Render / EC2 t3.small is overkill already",
"microservices": "kill — full-stop"
},
"success_thresholds": {
"p50_api_latency_ms": 300,
"p95_api_latency_ms": 1000,
"p99_api_latency_ms": 3000,
"frontend_lcp_ms_corporate_network": 3000,
"uptime_target": 0.99,
"deployment_time_minutes_max": 30,
"test_coverage_min": 0.3
},
"ci_cd": {
"platform": "github-actions-minimal",
"stages": ["lint", "test", "build", "deploy"],
"gates": ["tests-pass"]
},
"named_approver_chain": {
"stack_change": "tech-lead",
"production-data-migration": "tech-lead",
"external-service-add": "tech-lead"
},
"canon_references": [
"Donald Reinertsen, Principles of Product Development Flow (2009) — minimize WIP and ceremony",
"Basecamp / 37signals, REWORK (2010) — under-engineer internal tools",
"Retool internal benchmarks (2024) — 80% of internal-tool teams over-invest in a custom build"
]
}