git clone --depth 1 https://github.com/testdouble/han /tmp/han-feedback && cp -r /tmp/han-feedback/han.feedback/skills/han-feedback ~/.claude/skills/han-feedbackSKILL.md
## Project Context
- Today's date: !`date +%Y-%m-%d`
# Capture Feedback
## Operating Principles
- **The whole han.* family is in scope.** Capture skills and agents from every Han plugin (`han.core`, `han.github`, `han.reporting`, `han.feedback`, and any future `han.*` plugin). Skills and agents from non-Han plugins are out of scope.
- **Invocations count, not completions.** A skill or agent is considered used if it appeared in the session, regardless of whether it finished or was cancelled. Feedback on a partial run is still feedback.
- **Agents count even when a skill dispatched them.** Most Han agents run because a skill dispatched them. Those agents are still in scope; record which ones contributed so the feedback names where specialist value came from.
- **Conservative defaults on posting.** The feedback directory is user-space. The posting target is a public GitHub repository. Ambiguous confirmation is treated as a stop, not a go.
- **One file per day per run.** Do not overwrite existing feedback for today. If a skill or agent is already covered by a file for today, skip it.
- **Compacted sessions limit visibility.** The skill can only see turns present in the context window. If the session was compacted before running this skill, earlier invocations may not be visible.
## Step 1: Identify Han skills and agents used this session
Look back through the conversation for any use of a Han plugin component. A component counts as used if it was invoked, regardless of whether it completed or was cancelled.
**Han skills.** Look for invocations of skills namespaced to any `han.*` plugin. The namespace is the plugin name followed by a colon: `han.core:`, `han.planning:`, `han.coding:`, `han.github:`, `han.reporting:`, `han.feedback:`, and the same shape for any future `han.*` plugin (treat a bare `han:` prefix as Han too). Watch for slash-command invocations (like `/han.planning:plan-a-feature`), messages showing a skill launching (like "Launching skill: han.planning:plan-a-feature"), and any output that identifies a specific Han skill ran.
**Han agents.** Look for dispatches of agents from any `han.*` plugin. For example, an `Agent` tool call whose `subagent_type` is `han.core:adversarial-security-analyst`, or skill output naming a Han agent it launched (`evidence-based-investigator`, `project-manager`, `risk-analyst`, and so on). Record each distinct Han agent that ran, whether a skill dispatched it or it was invoked directly.
Build one list of the Han skills used and one list of the Han agents used. Deduplicate each.
If no Han skill or agent invocations are visible in the current context window, ask the user before stopping: "No Han skill or agent invocations are visible in this context window. If you ran Han skills or agents earlier but the session was compacted, list what you used and I will generate feedback for them." If the user confirms none were used, stop without writing any file.
## Step 2: Create the feedback directory if it does not exist
Check whether `~/.claude/han-feedback/` exists by running `ls ~/.claude/han-feedback/ 2>/dev/null`. If the command fails (directory absent), run `mkdir -p ~/.claude/han-feedback/` before proceeding.
## Step 3: Check for existing feedback today
Run `ls ~/.claude/han-feedback/ 2>/dev/null` and identify any files whose name begins with today's date (from Project Context). A skill or agent that already has a feedback file for today is skipped in this run.
If everything used in this session already has a feedback file for today, report the existing file paths and stop.
## Step 4: Determine the filename
Compute the filename as `{TODAY}-{short-names}.md`, where:
- Each component's short name is its plugin namespace stripped (everything up to and including the colon). For example `han.planning:plan-a-feature` becomes `plan-a-feature`, `han.github:post-code-review-to-pr` becomes `post-code-review-to-pr`, and the agent `han.core:risk-analyst` becomes `risk-analyst`.
- Join the short names of the **skills** being processed in this run with hyphens. Skills name the file because they are the unit of work; the agents are recorded inside the file.
- When a session used Han agents directly with no Han skill, use the agent short names instead.
- `{TODAY}` is today's date from Project Context.
Example: a session with `han.planning:plan-a-feature` and `han.coding:code-review` on 2026-05-29 produces `2026-05-29-plan-a-feature-code-review.md`.
## Step 5: Read the format reference
Run `ls -t ~/.claude/han-feedback/ 2>/dev/null | grep '\.md$' | head -1` to identify the feedback file with the most recent modification time.
If a file is found, read it to confirm the current output structure before writing. If no `.md` files exist in the directory, skip this step and use the embedded template in Step 7.
## Step 6: Gather feedback
Think through the session for each qualifying skill and assess the following.
**What worked well:** Where did the skill do something noticeably better than doing it manually? Which dispatched Han agents added value, and how? Which findings or decisions from the skill or its agents changed the outcome?
**What didn't work:** Where did the skill or one of its agents ask a question the evidence could have answered? Where was the output disproportionately long for the decision at hand? Where did you redirect or correct the skill or an agent mid-run?
**Overall:** One paragraph summarizing the fit for this use case.
**Rating:** Score each dimension on a 1-to-5 scale. When the reference file from Step 5 exists, reuse its dimensions so ratings stay comparable across runs. When no reference file exists, use this default set, and add or drop a dimension only when the skill type clearly calls for it:
- **Output accuracy.** Was the produced artifact factually correct and internally consistent?
- **Evidence discipline.** Did the skill ground its claims in evidence and resolve questions before asking you?
- **Finding signal-to-noi>
>
>
>
>
>
Performs deep architectural analysis of a specified module, directory, or feature area by examining structural coupling, data flow, concurrency patterns, risk, and SOLID alignment. Use when the user wants to assess, evaluate, or review the architecture, design quality, dependency structure, coupling, cohesion, or technical debt of an existing part of the codebase. Not for investigating specific bugs, runtime errors, or failures — use investigate. Not for test planning — use test-planning. Not for file-level code review — use code-review. Not for researching open-ended options, prior art, or how something works — use research. Not for writing documentation or architectural decision records.
Run a comprehensive code review on local source files. Use this skill when the user asks to review, audit, inspect, evaluate, or check code, even if they never use the word \"review.\" Does not post comments to GitHub pull requests — use post-code-review-to-pr for that. Does not analyze architectural structure or module boundaries — use architectural-analysis for that. Does not capture feedback on Han's own skills — use han-feedback for that.