Log a Thing You Did
Walk the user through capturing a professional experience with enough depth and structure to be useful for resumes, interviews, and blog posts later. When the user provides rich context (pasted transcript, decision summary, or detailed description), extract fields automatically and confirm before writing. When context is sparse, fall back to a full guided interview that adapts based on the evidence type.
Steps
1. Load Configuration
Read .claude/i-did-a-thing.local.md to get the user's settings. If the file doesn't exist, tell the user:
No configuration found. Please run
/i-did-a-thing:setupfirst.
Then stop.
2. Load Professional Context
Read <things_path>/targets/profile.md to understand the user's professional goals. This context shapes which follow-up questions to ask and how to tag the entry.
3. Assess Available Context
Determine whether there is enough context to take a fast path (extract and confirm) or whether a full interview is needed.
3a. Check for Interview Flag
If $ARGUMENTS starts with --interview or -i, strip the flag and jump to Step 4 (full interview). Use any remaining text after the flag as the brief description / starting point.
3b. Gather Context
Collect context from two sources:
- •
$ARGUMENTS: The text the user passed directly to the skill - •Conversation history: Prior messages in the current session that describe a professional experience
If both sources are empty or contain nothing relevant to a professional experience, jump to Step 4 (full interview).
Important — what counts as relevant context:
- •Descriptions of work done, decisions made, problems solved, lessons learned, expertise applied, influence exercised, or patterns observed
- •Project/task specifics — codebase names, team context, stakeholder interactions, timelines, outcomes
What does NOT count:
- •Code debugging sessions or casual chat that isn't about a professional experience
- •Prior skill runs (like
/what-did-you-do:practice) — these are not themselves loggable events - •Generic greetings or unrelated conversation
3c. Extract Log Fields
Attempt to extract all log fields from the combined context:
Required fields — must be present or inferrable for the fast path:
- •
title— descriptive title for the entry - •
evidence_type— accomplishment, lesson, expertise, decision, influence, or insight - •
impact— major, notable, solid, or learning - •
category— technical, leadership, communication, problem-solving, process, growth, expertise, decision-making, or influence - •
skills_used— cross-reference against the user'sbuilding_skillsandaspirational_skillsfrom profile - •Body section content — the narrative sections for this evidence type (see the table in Step 9)
Optional fields — extract if present, skip if not:
- •
description— 1-2 sentence summary - •
tags— searchable tags - •
skills_developed— new skills learned or grown - •
target_alignment— which professional targets this supports (from profile) - •
role_at_time— the user's role when this happened - •
team_or_org— team or organization context - •
duration— how long this took - •
metrics— quantifiable outcomes
Project/task context preservation: When the context references a specific project, codebase, tool, or task, capture that specificity in the body sections, in team_or_org, and in tags. Don't generalize away the details — "redesigned bivvy's prompt routing system" is better than "improved a system."
Classify each field as:
- •confident — clearly stated or directly quotable from the context
- •inferrable — reasonably derivable from the context
- •missing — not enough information to determine
3d. Decision Gate
Take the fast path (continue to 3e) if:
- •
evidence_typeis confident or inferrable, AND - •At least 3 of the evidence type's body sections have confident content
Otherwise, jump to Step 4 (full interview), carrying whatever was extracted as a head start so the user doesn't repeat themselves.
3e. Present Summary for Confirmation
Show the user everything extracted using AskUserQuestion. Format as a structured summary:
- •Title, evidence type, impact, category
- •Each body section with a preview (first 1-2 sentences)
- •Skills used/developed
- •Tags (auto-generated)
- •Any optional fields that were extracted
Options:
- •"Looks good" — proceed to 3f (fill gaps if any) or directly to tag review (Step 8)
- •"Some changes needed" — the user provides corrections via free text, then re-present the updated summary
- •"Full interview instead" — jump to Step 4 with the extracted title as starting point
3f. Fill Genuine Gaps
For each required field or body section still classified as missing, ask ONE focused question — reuse the question text from the evidence-type interview in Step 5. Do not ask situational follow-ups on the fast path. After gaps are filled, proceed to Step 8 (tag review).
Multiple loggable events: If the context contains several distinct professional experiences, identify the primary one and mention the others. Offer to log the rest afterward (by running the skill again).
4. Start the Interview
This is the full interview path — used when context is sparse, when the user passes --interview, or when the user opts out of the fast path at the summary step.
If context assessment (Step 3) produced a partial extraction, use it as the starting point. Acknowledge what you already know: "I have some context already — let me fill in the details." Skip questions whose answers are already confident.
If no context was extracted, ask the opening question:
What's on your mind? Could be something you built, a lesson you learned, a topic you went deep on, a decision you shaped — anything worth remembering.
5. Classify the Evidence Type
After the user describes the headline, determine the type. Use AskUserQuestion:
What kind of thing is this?
- •Something I accomplished — built, shipped, fixed, improved, delivered
- •A lesson I learned — failure, surprise, mistake, hard-won insight
- •Expertise I developed — went deep on a topic, became the go-to person
- •A decision I made — weighed options, chose an approach, can explain why
- •Something I influenced — changed someone's mind, drove adoption, mentored
- •A pattern or insight I noticed — observation, thesis, perspective
Map the selection to an evidence_type value: accomplishment, lesson, expertise, decision, influence, or insight.
If context assessment already determined the evidence type confidently, skip this step.
6. Conduct the Deep-Dive Interview
Ask follow-up questions one at a time using AskUserQuestion. Adapt questions based on previous answers and the evidence type. The goal is to extract a rich, specific log entry. Skip any questions whose answers are already known from context assessment.
Accomplishment
- •Context: "What was the situation or problem that led to this?"
- •Action: "What specifically did you do? Walk me through your approach."
- •Result: "What was the outcome? Be as specific as possible — numbers, feedback, changes."
- •Skills Used: Present a multi-select based on their
building_skills+aspirational_skillsfrom profile, plus an "Other" option: "Which skills did you use or develop?"
Situational follow-ups:
- •If the result mentions a team: "What was your specific role vs. the team's contribution?"
- •If it sounds like a first-time thing: "Was this the first time you did something like this? What did you learn?"
- •If it involved a decision: "What alternatives did you consider? Why did you choose this approach?"
- •If it had measurable impact: "Can you quantify the impact? (time saved, revenue, users affected, etc.)"
- •If it involved leadership: "Who did you influence or lead? How?"
- •If it involved technical work: "What was the technical approach? Any interesting challenges?"
Lesson
- •Situation: "What was the situation? Set the scene."
- •Attempt: "What did you try? What was the plan or approach?"
- •What went wrong: "What went wrong, or what surprised you?"
- •What you'd do differently: "Knowing what you know now, what would you do differently?"
- •Takeaway: "What did you take from this? How has it changed how you work?"
- •Skills: Present skill multi-select: "Which skills does this lesson touch?"
Situational follow-ups:
- •If it sounds costly: "How costly was the mistake? Time, money, trust, momentum?"
- •If they mention applying the lesson: "Where have you applied this lesson since?"
- •If the lesson is technical: "What was the technical root cause?"
- •If it involved others: "How did the team handle it? Was there a post-mortem?"
Expertise
- •Domain: "What's the topic or domain?"
- •How developed: "How did you develop this expertise? What was the journey?"
- •Application: "How do you apply this knowledge day-to-day?"
- •Teaching: "How have you shared or taught this to others?"
- •Non-obvious: "What's something non-obvious about this area that most people get wrong?"
- •Skills: Present skill multi-select: "Which skills are central to this expertise?"
Situational follow-ups:
- •If they teach others: "What questions do people most often come to you with?"
- •If it's deep: "What resources or experiences were most valuable in building this?"
- •If it's evolving: "How is this area changing? What's your current edge?"
Decision
- •Problem: "What was the problem or question you needed to resolve?"
- •Options: "What options did you consider?"
- •Evaluation: "How did you evaluate them? What were the tradeoffs, constraints, and priorities?"
- •Choice: "What did you choose and why?"
- •Outcome: "How did it play out? Would you make the same call again?"
- •Skills: Present skill multi-select: "Which skills did this decision exercise?"
Situational follow-ups:
- •If the stakes were high: "What was the blast radius if you got it wrong?"
- •If others disagreed: "Was there pushback? How did you handle it?"
- •If it was reversible: "Did you build in a way to reverse course if needed?"
- •If data was involved: "What data or evidence informed your choice?"
Influence
- •Status quo: "What was the existing state or direction before you got involved?"
- •Your position: "What was your position or what change were you advocating for?"
- •Advocacy: "How did you make your case? What tactics or approach did you use?"
- •Outcome: "What happened? Did the change stick?"
- •Reflection: "What would you do differently if you had to advocate for this again?"
- •Skills: Present skill multi-select: "Which skills did you draw on?"
Situational follow-ups:
- •If they had no authority: "Did you have formal authority here, or was this influence without authority?"
- •If it involved data: "Did you use data, a prototype, or a pilot to make your case?"
- •If it took time: "How long did the change take to land? Was it gradual or a single moment?"
- •If it involved mentoring: "How did the person or team grow from this?"
Insight
- •Observation: "What did you observe or notice?"
- •Where and how often: "Where did you see this? Was it a one-off or a pattern?"
- •Thesis: "What's your thesis? What do you think is going on?"
- •Evidence: "What evidence supports your thinking?"
- •Recommendation: "What do you recommend based on this? Have you acted on it?"
- •Skills: Present skill multi-select: "Which skills does this insight draw on?"
Situational follow-ups:
- •If it's actionable: "Has anyone acted on this yet? What happened?"
- •If it's contrarian: "Do others see this differently? What's the conventional view?"
- •If it spans systems: "Does this pattern show up in other contexts too?"
7. Classify the Entry
If coming from the fast path (Step 3), impact and category are already set — skip this step.
Use AskUserQuestion to ask:
What's the impact level?
- •
major— significant outcome, career-defining, or organization-wide impact - •
notable— meaningful result, team-level impact, or skill breakthrough - •
solid— good work, worth remembering, builds on a pattern - •
learning— didn't go perfectly but taught you something valuable
Category?
- •
technical— built, fixed, or improved something technical - •
leadership— led, mentored, influenced, or organized people - •
communication— presented, wrote, advocated, or facilitated - •
problem-solving— diagnosed, analyzed, or resolved a complex issue - •
process— improved workflow, created standards, or drove efficiency - •
growth— learned something new, stretched into unfamiliar territory - •
expertise— built deep domain knowledge, became a resource - •
decision-making— evaluated tradeoffs, made judgment calls - •
influence— shaped others' decisions, advocated for change
8. Generate Tags
If coming from the fast path, tags are already generated — present them for review rather than generating from scratch.
Otherwise, auto-generate tags by combining:
- •User's
default_tagsfrom config - •Skills mentioned in the interview
- •Category from classification
- •Evidence type
- •Any technologies or tools mentioned
- •Professional target alignment (from profile)
Present the generated tags and let the user add, remove, or modify them.
9. Compose the Log Entry
Create the log file at <things_path>/logs/<date>-<slugified-title>.md using the format defined in references/log-format.md.
The log must include:
- •Complete YAML frontmatter with all metadata (including
evidence_type) - •Structured body sections adapted to the evidence type (see below)
- •A "Resume Bullets" section with 2-3 pre-written bullet points in the type-appropriate format
- •An "Interview Talking Points" section with key points structured for the type
- •A "Blog Seed" section with a 1-2 sentence hook tailored to the type
Body sections by evidence type:
| Type | Sections |
|---|---|
| Accomplishment | Context, Action, Result, Reflection |
| Lesson | Situation, What I Tried, What Went Wrong, What I'd Do Differently, What I Took From It |
| Expertise | The Domain, How I Developed It, How I Apply It, How I've Shared It, What's Non-Obvious |
| Decision | The Problem, Options Considered, How I Evaluated Them, What I Chose and Why, How It Played Out |
| Influence | The Status Quo, My Position, How I Advocated, What Happened, What I'd Do Differently |
| Insight | What I Observed, Where and How Often, My Thesis, The Evidence, My Recommendation |
Resume bullets by evidence type:
| Type | Format |
|---|---|
| Accomplishment | ACTION VERB <what you did> by <how>, resulting in <measurable outcome> |
| Lesson | Learned <X> from <Y>, now apply <Z> to <outcome> |
| Expertise | Deep expertise in <X>, demonstrated through <Y>, enabling <Z> |
| Decision | Evaluated <X, Y, Z>; chose <Z> based on <A, B, C>, resulting in <outcome> |
| Influence | Drove adoption of <X> by <method>, resulting in <Y> |
| Insight | Identified <pattern X>, proposed <Y>, leading to <Z> |
Interview talking points by evidence type:
| Type | Structure |
|---|---|
| Accomplishment | Situation - Task - Action - Result - Lessons |
| Lesson | Situation - Mistake/Surprise - Learning - Application |
| Expertise | Domain - Depth - Application - Teaching |
| Decision | Problem - Options - Tradeoffs - Choice - Outcome |
| Influence | Status Quo - Position - Advocacy - Outcome |
| Insight | Observation - Evidence - Thesis - Recommendation |
Blog seed hooks by evidence type:
| Type | Hook style |
|---|---|
| Accomplishment | Current engaging hook style |
| Lesson | "The time I learned..." hook |
| Expertise | "Everything I know about..." hook |
| Decision | "Why I chose X over Y..." hook |
| Influence | "How I convinced my team to..." hook |
| Insight | "A pattern I keep seeing..." hook |
10. Update the Index
Read <things_path>/index.md and update it:
- •Increment
total_entriesin frontmatter - •Add the new entry under "By Date" (most recent first)
- •Add/update tags under "By Tag"
- •Add under the appropriate impact level
- •Add under the appropriate evidence type (create the grouping if it doesn't exist yet)
11. Update the Arsenal
Read <things_path>/arsenal/ and check if a summary file exists for each skill used. If not, create one. If it exists, append this entry as supporting evidence.
Arsenal files live at <things_path>/arsenal/<skill-slug>.md:
--- skill: "<Skill Name>" evidence_count: <n> last_demonstrated: <date> proficiency_trend: "building" | "established" | "expert" --- # <Skill Name> ## Evidence ### <date> — <log title> - <1-line summary of how this skill was demonstrated> - Impact: <impact level> - Type: <evidence type> - [Full log](../logs/<filename>)
12. Handle Git Workflow
Based on the git_workflow config setting:
- •
ask: Use AskUserQuestion — "Would you like to commit and push this log entry?" - •
auto: Automaticallygit add,git commit -m "log: <title>", andgit push - •
manual: Tell the user the file has been saved and they can commit when ready
13. Celebrate
End with an encouraging summary:
Logged! Here's what you captured:
<Title> (
<impact>,<evidence_type>) Tags:<tags>Skills:<skills>This is your <nth> logged entry. <encouraging message based on count/streak>
Resume bullets are ready in the log. Run
/what-did-you-do:practiceto practice talking about it in an interview.