From hiring-skills
Evaluate a single capstone submission against the rubric. Use when someone provides a student name, git URL, or submission path and wants it graded, scored, or assessed. Trigger phrases: grade arpit, evaluate duy, score ext/khang, assess this submission, how did [name] do. Supports --deep-dive flag for detailed technical analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hiring-skills:grade-submissionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are evaluating a single capstone submission for the agent-transparent chat application challenge. Follow these steps exactly.
You are evaluating a single capstone submission for the agent-transparent chat application challenge. Follow these steps exactly.
The user can provide submissions in any of these formats:
grade "Hong Dao" https://github.com/HONG-DAO/Deep-Analyst-Research-Intelligence-Platformgrade ext/duygrade arpitgrade-all with a list of name: url pairs--deep-dive — Show detailed technical deep dive per candidate with per-dimension evidence, grilling questions, and the full scorecard. Default is OFF (summary table only).Resolve the submission path:
ext/[name] if a name is provided. Use git clone --depth=1 for speed.ext/[name] relative to the capstone repo root. Check main branch and origin/develop (some repos have code on develop only).hitesh → use ext/hitesh (contains two subdirs: deep-analyst-api/ and deep-analyst-app/)If the path does not exist and no URL was provided, ask the user for the git URL.
If the user specified a rubric name:
${CLAUDE_PLUGIN_ROOT}/rubrics/.If the user did not specify a rubric:
${CLAUDE_PLUGIN_ROOT}/rubrics/.Read these files if they exist:
README.md — setup instructions, architecture overview, known limitationsDESIGN.md / docs/design-doc.md / DESIGN_DOC.md — 1-pager design documentNote: whether a design doc exists, which Amazon sections it covers, and whether setup instructions are complete.
Inspect package.json, pyproject.toml, requirements.txt, uv.lock, server.js, main.py, or equivalent.
Critical SDK identification — read actual imports, do not infer:
claude_agent_sdk or claude-agent-sdk in imports and dependency files@anthropic-ai/sdk (raw Messages API — different from Agent SDK)@google/generative-ai, langchain, langgraph, openai (wrong SDK)ClaudeSDKClient, AgentDefinition, HookMatcher, ClaudeAgentOptionsAlso identify:
Find where agents are defined. Look for:
AgentDefinition objects with description, prompt, tools, model fields.claude/plugins/).txt, .md) in a prompts directoryallowed_tools, allowed_plugins on ClaudeAgentOptionsHookMatcher registrations for PreToolUse, PostToolUse, SubagentStart, SubagentStopNote how the orchestration is driven: by the LLM (via Task tool in the prompt) or by code (hardcoded function call sequence).
Find the file responsible for routing normalized events to state. Common names: decoder.ts, normalizer.py, eventDecoder.ts, stream-parser.ts, eventDispatcher.js, event_decoder.py.
Read it fully. For each required event type from the rubric, check:
any)?Find the logic that constructs the nested agent trace tree from flat events. Common names: tree-builder.ts, agentTreeStore.js, trace-store.ts, buildAgentTree.
Check:
parent_tool_use_id used to link sub-agent events to their parent node?Find the backend SSE endpoint.
Check:
ask_user pause (not close and reconnect)?ask_user answer submitted via a separate HTTP POST?Find and read the trace panel, chat panel, and any parallel visualization components.
Check:
ask_user UI: visually prominent? Keyboard-accessible?Find all test files (__tests__/, tests/, *.test.ts, test_*.py).
For each test file, note what it covers and whether it includes edge cases (nested contexts, parallel agents, error events).
For each dimension in the rubric (D1–D7 plus D8 stretch):
Read the auto-reject rules from the rubric. If any trigger:
Use the formula from the rubric. Round to one decimal place. Total capped at 4.0.
Convert to /100 scale for the summary table: score_100 = total × 25.
Use the decision rules table from the rubric.
2–3 sentences. Specific. Reference dimension scores and code evidence.
If --deep-dive is NOT set: skip this step entirely.
If --deep-dive IS set, produce a detailed technical analysis covering:
ClaudeAgentOptions is constructed (every field)parent_tool_use_id routing logic (the lookup maps, resolution sequence)Generate probing technical questions specific to THIS submission. Include:
If verdict is REJECT (including auto-reject): skip this step entirely.
If advancing, generate two sets:
Set 1 — HR Screen Questions (3 questions)
Set 2 — Technical Interview Questions (3 questions)
.env.example but app requires API keysIf none: "None identified."
Use the format from ${CLAUDE_PLUGIN_ROOT}/skills/grade-submission/scorecard-template.md.
Output as formatted markdown directly in the chat. Fill every section. Do not skip sections. Omit interview questions only if verdict is REJECT. Include technical deep dive only if --deep-dive was set.
npx claudepluginhub accelerate-data/hiring-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.