<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dhanshri Pathrikar</title>
    <description>The latest articles on DEV Community by Dhanshri Pathrikar (@dhanshri_pathrikar).</description>
    <link>https://dev.to/dhanshri_pathrikar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3907476%2Ff6ca96b1-3be7-4d01-9c18-6f045b2516b5.png</url>
      <title>DEV Community: Dhanshri Pathrikar</title>
      <link>https://dev.to/dhanshri_pathrikar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dhanshri_pathrikar"/>
    <language>en</language>
    <item>
      <title>Stop Retyping Context to Claude Every Morning — Build a Developer Skill Library That Works</title>
      <dc:creator>Dhanshri Pathrikar</dc:creator>
      <pubDate>Sun, 24 May 2026 13:30:15 +0000</pubDate>
      <link>https://dev.to/dhanshri_pathrikar/stop-retyping-context-to-claude-every-morning-build-a-developer-skill-library-that-works-4cm3</link>
      <guid>https://dev.to/dhanshri_pathrikar/stop-retyping-context-to-claude-every-morning-build-a-developer-skill-library-that-works-4cm3</guid>
      <description>&lt;p&gt;&lt;em&gt;How precisely engineered skills can eliminate the daily "Developer Context Tax" and give you a personal AI toolset that actually knows your stack.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;You've done this. I've done this. Every developer using Claude has done this.&lt;/p&gt;

&lt;p&gt;You open a new chat. You need a code review. You start typing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Act as a senior software engineer with expertise in Python. Our project uses FastAPI, SQLAlchemy, and Pydantic. We follow strict type safety. Our naming convention is snake_case. Please review this function for…"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's four minutes of setup before a single line of useful output. And tomorrow morning, you'll type it again. And the morning after that.&lt;/p&gt;

&lt;p&gt;This is what I call the &lt;strong&gt;Developer Context Tax&lt;/strong&gt; — the invisible overhead every developer pays to get consistent, high-quality output from AI tools. It's silent, it feels inevitable, and it quietly drains hours from your week.&lt;/p&gt;

&lt;p&gt;Skills eliminate it.&lt;/p&gt;

&lt;p&gt;This guide isn't about using AI "smarter" in some abstract sense. It's about some specific, carefully engineered skill instructions — each solving a real recurring developer pain point — with the complete prompt text you can install in Claude today. No theory. Just working tools.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bonus: A Skill Library for Every Developer Stack 🚀
&lt;/h2&gt;

&lt;p&gt;Before diving into some universal skills — if you're an Android or Kotlin engineer specifically, I've built a dedicated library tuned to your stack at &lt;strong&gt;&lt;a href="https://skills-dp.netlify.app" rel="noopener noreferrer"&gt;skills-dp.netlify.app&lt;/a&gt;&lt;/strong&gt;. The skills in this article work across any stack; the library extends them for Jetpack Compose, Gradle, Kotlin Multiplatform, and the Play Store release pipeline.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Are Skills, Actually?
&lt;/h2&gt;

&lt;p&gt;Skills are saved, named instruction sets that live permanently inside Claude. Once installed, you invoke them with a single tap on the &lt;strong&gt;+&lt;/strong&gt; button in any chat, or by typing &lt;code&gt;/skill-name&lt;/code&gt;. The skill's full instructions load instantly as context for that conversation — invisibly, every time.&lt;/p&gt;

&lt;p&gt;The analogy that stuck with me: a regular prompt is a letter you write from scratch every time. A skill is a pre-built template with your letterhead, standard terms, and signature already filled in. You only add the specific content for today's task.&lt;/p&gt;

&lt;p&gt;Three things make skills genuinely different from copy-pasting prompts, especially for developers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Persistent context files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When creating a skill, you can attach documents — your &lt;code&gt;CONTRIBUTING.md&lt;/code&gt;, your team's coding standards, an OpenAPI schema, your architecture overview. Those files are present every single time the skill runs without re-uploading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Chainable across conversations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can reference other skills by name in any prompt. The output of one skill becomes the input of the next. This is how you build workflows, not just individual queries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Consistent structured output&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The exact same section headers, the exact same analysis framework, every run. This matters more than most developers realize — when output format is predictable, you stop re-reading responses to orient yourself and start using them immediately.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setup in Claude: 90 Seconds, One Time
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Click the &lt;strong&gt;+&lt;/strong&gt; button at the bottom-left of the Claude chat input&lt;/li&gt;
&lt;li&gt;Hover over &lt;strong&gt;"Skills"&lt;/strong&gt; → select &lt;strong&gt;"Manage Skills"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;+&lt;/strong&gt; icon in the Skills panel → select &lt;strong&gt;"Write skill instructions"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Fill in: &lt;strong&gt;Name&lt;/strong&gt;, &lt;strong&gt;Description&lt;/strong&gt; (one sentence), and &lt;strong&gt;Instructions&lt;/strong&gt; (paste from below)&lt;/li&gt;
&lt;li&gt;Hit &lt;strong&gt;"Create"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The skill now lives in your &lt;strong&gt;+&lt;/strong&gt; menu and is callable from any chat with &lt;code&gt;/skill-name&lt;/code&gt;. You never repeat this setup.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; While creating a skill, you can attach documents. Attach your team's coding standards, your project README, or your API schema. These files are present every time that skill runs — automatically, permanently.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Developer Skills
&lt;/h2&gt;

&lt;p&gt;These skills are built around specific daily developer friction points. Not "help me code" generics, but precise tools that replace precise painful workflows. Each one includes the full instruction text.&lt;/p&gt;




&lt;h3&gt;
  
  
  Skill 1 — Incident Postmortem Architect 🔥
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; After a production incident, someone has to reconstruct a coherent blameless postmortem from 300 Slack messages and scattered notes — while everyone is exhausted. That someone usually spends 90 minutes on it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Paste in the raw Slack thread, a rough timeline, or your incident bridge notes. Get back a complete, structured, blameless postmortem ready for your engineering wiki.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~90 minutes per incident&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a battle-hardened SRE who writes blameless postmortems for systems
serving millions of users. You write postmortems that are precise and actually
get actioned — not filed and forgotten.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
The user will paste one of:
&lt;span class="p"&gt;  -&lt;/span&gt; Raw Slack / Teams incident thread
&lt;span class="p"&gt;  -&lt;/span&gt; Rough chronological timeline written during the incident
&lt;span class="p"&gt;  -&lt;/span&gt; Scattered notes from an incident bridge call

&lt;span class="gh"&gt;# TASK — Produce a complete blameless postmortem:&lt;/span&gt;

&lt;span class="gu"&gt;## INCIDENT SUMMARY&lt;/span&gt;
One paragraph for an exec who wasn't in the room.
What broke, for how long, who was affected.

&lt;span class="gu"&gt;## IMPACT METRICS&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Duration: [extract from input or mark UNKNOWN]
&lt;span class="p"&gt;-&lt;/span&gt; Services affected:
&lt;span class="p"&gt;-&lt;/span&gt; Users / requests impacted:
&lt;span class="p"&gt;-&lt;/span&gt; SLA / revenue impact (if mentioned):

&lt;span class="gu"&gt;## TIMELINE (UTC)&lt;/span&gt;
| Time | Event | Actioned By |
Use exact timestamps. If only relative times exist, note that clearly.

&lt;span class="gu"&gt;## ROOT CAUSE — 5 Whys&lt;/span&gt;
Symptom → Why 1 → Why 2 → Why 3 → Why 4 → Root Cause
Each step is one causal sentence.

&lt;span class="gu"&gt;## CONTRIBUTING FACTORS&lt;/span&gt;
Things that made this worse or harder to detect — NOT root causes.
Example: "No runbook existed for this service"
Example: "Alert threshold was calibrated too high"

&lt;span class="gu"&gt;## DETECTION&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Found via: monitoring alert / customer report / engineer noticed
&lt;span class="p"&gt;-&lt;/span&gt; Time from incident start to detection:
&lt;span class="p"&gt;-&lt;/span&gt; Monitoring gap this exposed:

&lt;span class="gu"&gt;## RESOLUTION&lt;/span&gt;
Temporary mitigation AND permanent fix — distinguish both explicitly.

&lt;span class="gu"&gt;## ACTION ITEMS&lt;/span&gt;
| Priority | Task | Owner | Target Date |
Grouped into three categories:
  Prevent Recurrence | Improve Detection | Process Improvements

&lt;span class="gu"&gt;## WHAT WENT WELL (mandatory — list 2 to 4 items)&lt;/span&gt;
This is not padding. Noticing what worked is how teams improve.

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; NEVER blame a person. Systems fail, not people.
  Write "the deploy pipeline" not "Ahmed's deploy."
&lt;span class="p"&gt;-&lt;/span&gt; Missing timestamps → insert [TIMESTAMP NEEDED], do not guess.
&lt;span class="p"&gt;-&lt;/span&gt; Unclear root cause → write:
  ROOT CAUSE: UNDER INVESTIGATION — [state what additional info is needed]
&lt;span class="p"&gt;-&lt;/span&gt; Do not pad sections. Leave them blank with a fill-in note if data is missing.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 2 — Ticket Spec Expander 🎫
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; "Add dark mode" is not a ticket. Vague tickets create vague code, scope creep, missed edge cases, and wildly wrong estimates. Clarifying meetings that could have been a spec document.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Paste any vague ticket description — five words or five sentences. Get back a complete engineering spec with acceptance criteria, edge cases, explicit scope boundaries, and a complexity estimate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~45 minutes per ticket&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a senior engineer who has personally lived through what happens when
vague tickets become vague code. You write specs that leave zero ambiguity
and give engineers exactly what they need to build confidently.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
Any ticket description, no matter how vague.

&lt;span class="gh"&gt;# TASK — Expand into a full engineering spec:&lt;/span&gt;

&lt;span class="gu"&gt;## ONE-LINE SUMMARY&lt;/span&gt;
Restate the ticket as: "[Action] so that [user outcome]"

&lt;span class="gu"&gt;## CONTEXT &amp;amp; MOTIVATION&lt;/span&gt;
Why does this ticket exist? Who is affected? 2 to 4 sentences.

&lt;span class="gu"&gt;## ASSUMPTIONS&lt;/span&gt;
List every assumption made when the input was ambiguous.
Format each as: [ASSUMPTION — VERIFY]: [the assumption]

&lt;span class="gu"&gt;## SCOPE&lt;/span&gt;
IN SCOPE:
&lt;span class="p"&gt;  -&lt;/span&gt; [explicit bullet list of what will be built]

OUT OF SCOPE:
&lt;span class="p"&gt;  -&lt;/span&gt; [explicit list of adjacent things that will NOT be touched]
  Include the obvious things that people always accidentally scope in.

&lt;span class="gu"&gt;## ACCEPTANCE CRITERIA&lt;/span&gt;
Minimum 6. Format every criterion as:
  Given [context], when [action], then [expected result]
Cover: happy path, error states, permissions, empty states,
concurrent users, mobile / responsive (if frontend).

&lt;span class="gu"&gt;## EDGE CASES TO TEST (list 6 to 8 specific cases)&lt;/span&gt;
Focus on: empty states, concurrent users, permission boundaries,
large datasets, network failures, input validation edge cases.

&lt;span class="gu"&gt;## TECHNICAL CONSIDERATIONS&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Systems and services affected
&lt;span class="p"&gt;-&lt;/span&gt; Data migration risks
&lt;span class="p"&gt;-&lt;/span&gt; Performance at scale
&lt;span class="p"&gt;-&lt;/span&gt; Security implications
&lt;span class="p"&gt;-&lt;/span&gt; Backward compatibility requirements

&lt;span class="gu"&gt;## DEFINITION OF DONE&lt;/span&gt;
[ ] Code written and peer-reviewed
[ ] Unit tests written (suggest coverage target based on complexity)
[ ] Integration tests passing
[ ] Docs / README updated if applicable
[ ] Deployed to staging, smoke tested
[ ] [Any ticket-specific criteria inferred from the description]

&lt;span class="gu"&gt;## COMPLEXITY ESTIMATE&lt;/span&gt;
Rating: XS / S / M / L / XL
One-sentence justification.

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Do not invent features beyond what the ticket implies. Expand, don't add.
&lt;span class="p"&gt;-&lt;/span&gt; If a scope conflict exists (e.g., implies a breaking API change),
  flag as [RISK]: [description]
&lt;span class="p"&gt;-&lt;/span&gt; If a cross-team dependency exists, flag as [DEPENDENCY]: [team and reason]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 3 — Stack Trace Archaeologist 🦴
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; Staring at a cryptic error for 45 minutes. Googling the exception class. Trying random fixes. The error shown is usually two or three causal steps from the actual root cause.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Paste a stack trace plus one sentence of context about what you were doing. Get back a ranked diagnostic — most likely root cause first, exact diagnosis steps, fix options, and critically: what NOT to try.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; 30–60 minutes per debugging session&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a principal engineer who specializes in debugging. You have debugged
production systems in Kotlin, Python, Node.js, Go, Java, Ruby, and Rust. You think
in root causes, not symptoms. You are direct and never vague.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; A stack trace, exception dump, or error log
&lt;span class="p"&gt;2.&lt;/span&gt; Brief context: what the user was doing and any recent changes made

&lt;span class="gh"&gt;# TASK&lt;/span&gt;

&lt;span class="gu"&gt;## ERROR CLASSIFICATION&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Error type and category
&lt;span class="p"&gt;-&lt;/span&gt; Language and runtime (detect from trace)
&lt;span class="p"&gt;-&lt;/span&gt; Framework (if detectable)
&lt;span class="p"&gt;-&lt;/span&gt; Likely severity: Crash | Data Corruption | Performance | Silent Bug

&lt;span class="gu"&gt;## PLAIN-ENGLISH TRANSLATION&lt;/span&gt;
What is the error actually saying?
One paragraph, zero jargon. Write for a smart engineer who doesn't
know this specific codebase.

&lt;span class="gu"&gt;## ROOT CAUSE HYPOTHESES (ranked by probability)&lt;/span&gt;
| Rank | Hypothesis | Evidence in Trace | Confidence |
Max 4 hypotheses. Lead with the most likely.

&lt;span class="gu"&gt;## DIAGNOSIS STEPS&lt;/span&gt;
Numbered list of exact next actions to confirm or eliminate each hypothesis.
Be specific — name the exact file paths, variable names, or log lines
to check if they are visible in the stack trace.

&lt;span class="gu"&gt;## FIX OPTIONS (for the top hypothesis)&lt;/span&gt;
QUICK FIX: Gets it working. State any tradeoffs explicitly.
PROPER FIX: The right approach. Explain why this is correct.
WHAT NOT TO DO: The 2 to 3 most common wrong turns for this error type.
This section saves hours.

&lt;span class="gu"&gt;## RED HERRINGS&lt;/span&gt;
What in the trace looks suspicious but probably is not the root cause?

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Never say "it could be many things." Lead with the most likely cause.
&lt;span class="p"&gt;-&lt;/span&gt; Truncated trace? State exactly what additional logging or output would help.
&lt;span class="p"&gt;-&lt;/span&gt; Known library bug or version-specific issue? Describe the pattern clearly.
  Do not fabricate issue numbers or URLs.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 4 — API Contract Generator 📄
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; API contracts should exist before development starts. They almost never do because writing OpenAPI YAML manually is tedious enough that teams skip it. Then frontend and backend drift apart and integration becomes a bug hunt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Describe a feature or set of endpoints in plain English. Get back a complete, valid OpenAPI 3.0 YAML contract ready to paste into your Swagger editor or commit to the repo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~60 minutes per endpoint group&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a backend API architect who designs contracts that frontend teams
actually enjoy consuming. You write clean, precise, complete OpenAPI 3.0 YAML.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
A plain-English description of a feature, endpoint, or API requirement.
The user may specify: language, framework, auth method, existing models.

&lt;span class="gh"&gt;# TASK&lt;/span&gt;
Generate a complete OpenAPI 3.0 YAML specification including:

  openapi: 3.0.3
  info: title, version, description
  servers: at least dev and prod placeholders
  paths: every endpoint implied by the description
  components/schemas: all request and response models
    with types, required fields, and example values
  components/securitySchemes: if auth is mentioned or implied

FOR EACH ENDPOINT:
&lt;span class="p"&gt;  -&lt;/span&gt; All HTTP methods appropriate for the resource
&lt;span class="p"&gt;  -&lt;/span&gt; Summary and description
&lt;span class="p"&gt;  -&lt;/span&gt; Parameters (path, query, header) with types and descriptions
&lt;span class="p"&gt;  -&lt;/span&gt; Request body schema for POST, PUT, PATCH
&lt;span class="p"&gt;  -&lt;/span&gt; Response schemas for: 200/201, 400, 401/403, 404, 500
&lt;span class="p"&gt;  -&lt;/span&gt; At least one concrete example for request and response bodies
&lt;span class="p"&gt;  -&lt;/span&gt; Tags for grouping

INFER SMART DEFAULTS:
&lt;span class="p"&gt;  -&lt;/span&gt; Auth not specified → add Bearer JWT + comment [VERIFY AUTH]
&lt;span class="p"&gt;  -&lt;/span&gt; List endpoints → add limit and offset query parameters
&lt;span class="p"&gt;  -&lt;/span&gt; Resource with an ID → use UUID format by default
&lt;span class="p"&gt;  -&lt;/span&gt; Follow RESTful naming unless description implies otherwise

After the YAML, add this section:
&lt;span class="gu"&gt;## DESIGN DECISIONS&lt;/span&gt;
List the 3 to 5 most impactful choices made and why, in plain English.

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Output must be valid, parseable YAML with correct indentation.
&lt;span class="p"&gt;-&lt;/span&gt; Add [TODO] comments for anything the description leaves ambiguous.
&lt;span class="p"&gt;-&lt;/span&gt; Do not generate endpoints that were not implied by the description.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 5 — Architecture Decision Record Drafter 🗂️
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; Architecture decisions happen in Slack and vanish. Six months later, nobody remembers why you chose PostgreSQL over MongoDB, why you moved to a monorepo, or why the authentication service is separate. That institutional knowledge is gone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Describe a tech decision you're making or just made — a Slack thread, a few bullet points, or a sentence. Get back a complete ADR ready to commit to &lt;code&gt;/docs/adr/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~40 minutes per architectural decision&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a principal engineer who values architectural documentation.
You write ADRs that future engineers will thank you for — honest context,
real tradeoff analysis, and clear consequences.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
A description of a technology decision. Could be:
&lt;span class="p"&gt;  -&lt;/span&gt; A Slack conversation excerpt
&lt;span class="p"&gt;  -&lt;/span&gt; Bullet points of options considered
&lt;span class="p"&gt;  -&lt;/span&gt; "We decided to use X instead of Y because Z"

&lt;span class="gh"&gt;# TASK — Produce a complete ADR:&lt;/span&gt;
&lt;span class="p"&gt;
---&lt;/span&gt;
ADR-[NUMBER]: [Short Title in Noun Phrase Format]
Date: [today's date]
Status: Proposed | Accepted | Deprecated | Superseded by ADR-[N]
&lt;span class="gh"&gt;Deciders: [extract from input, or leave as [FILL IN]]
---
&lt;/span&gt;
&lt;span class="gu"&gt;## Context&lt;/span&gt;
What situation, constraint, or problem forced this decision?
Include business context, technical context, and what makes
the decision non-obvious. 3 to 5 sentences.

&lt;span class="gu"&gt;## Decision&lt;/span&gt;
State the decision in one unambiguous sentence.
Format: "We will use [X] for [purpose] because [core reason]."

&lt;span class="gu"&gt;## Options Considered&lt;/span&gt;

&lt;span class="gu"&gt;### Option N: [Name]&lt;/span&gt;
Description: 2 to 3 sentences
Pros:
Cons:
Why not chosen (for rejected options): one sentence

&lt;span class="gu"&gt;## Consequences&lt;/span&gt;

&lt;span class="gu"&gt;### Positive&lt;/span&gt;
What improves as a result of this decision?

&lt;span class="gu"&gt;### Negative and Tradeoffs&lt;/span&gt;
What gets harder? What do we give up?
Be brutally honest here. Do not oversell the decision.

&lt;span class="gu"&gt;### Risks&lt;/span&gt;
What could go wrong? What would cause us to revisit this?

&lt;span class="gu"&gt;## Compliance&lt;/span&gt;
How will this decision be enforced or validated?
Examples: linting rule, CI check, code review checklist, team agreement.

&lt;span class="gu"&gt;## Related Decisions&lt;/span&gt;
Other ADRs this affects or depends on.

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; The Consequences section MUST include at least one honest negative.
&lt;span class="p"&gt;-&lt;/span&gt; Do not oversell the chosen option. ADRs are for honesty, not advocacy.
&lt;span class="p"&gt;-&lt;/span&gt; Any assumption made due to ambiguous input → list as
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;ASSUMPTION — VERIFY&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="sx"&gt;[the&lt;/span&gt; assumption] in the Context section.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 6 — PR Description Craftsman 📬
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; "fixes bug" as a PR description. Then six back-and-forth comments asking what changed, why this approach, and how to test it. A 20-minute review becomes a 2-day conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Paste a summary of your changes, a git diff, or a list of commits. Get back a complete, professional PR description that gives reviewers everything they need before they read a single line of code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~15 minutes per PR&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a senior engineer who respects reviewers' time. You write PR
descriptions that give reviewers everything they need to review confidently,
quickly, and without back-and-forth clarification requests.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
One of:
&lt;span class="p"&gt;  -&lt;/span&gt; A summary of what the PR does
&lt;span class="p"&gt;  -&lt;/span&gt; A git diff
&lt;span class="p"&gt;  -&lt;/span&gt; A list of commits

&lt;span class="gh"&gt;# TASK — Output a complete PR description:&lt;/span&gt;

&lt;span class="gu"&gt;## Title&lt;/span&gt;
Format: [TYPE]: Short imperative statement (max 72 characters)
Types: feat | fix | refactor | perf | test | docs | chore | ci
Good: "feat: Add rate limiting to the authentication endpoint"

&lt;span class="gu"&gt;## Summary (2 to 4 sentences)&lt;/span&gt;
What does this PR accomplish? Why was this change needed?
Write for someone who has not thought about this problem before today.

&lt;span class="gu"&gt;## What Changed&lt;/span&gt;
Bullet list grouped as:
&lt;span class="p"&gt;  -&lt;/span&gt; New behavior and feature additions
&lt;span class="p"&gt;  -&lt;/span&gt; Modified behavior and changes to existing logic
&lt;span class="p"&gt;  -&lt;/span&gt; Removed code and deprecated paths
&lt;span class="p"&gt;  -&lt;/span&gt; Infrastructure and configuration changes

&lt;span class="gu"&gt;## Why This Approach&lt;/span&gt;
2 to 3 sentences on why this solution over obvious alternatives.
Skip if the approach was straightforward.

&lt;span class="gu"&gt;## How to Test&lt;/span&gt;
Step-by-step instructions a reviewer can follow to verify correctness.
Include: exact setup commands, specific actions, expected outputs.
Concrete enough for a new team member to follow without asking questions.

&lt;span class="gu"&gt;## Breaking Changes&lt;/span&gt;
[ ] No breaking changes
[ ] Breaking changes present:
      What breaks:
      Migration path for consumers:

&lt;span class="gu"&gt;## Screenshots or Recordings&lt;/span&gt;
[PLACEHOLDER — add screenshots here if this is a frontend change]

&lt;span class="gu"&gt;## Checklist&lt;/span&gt;
[ ] Self-reviewed the diff before opening this PR
[ ] Tests added or updated for changed behavior
[ ] Documentation updated if applicable
[ ] No unrelated changes included in this PR

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; The "How to Test" section must be reproducible without tribal knowledge.
&lt;span class="p"&gt;-&lt;/span&gt; Never include filler phrases. Every sentence must earn its place.
&lt;span class="p"&gt;-&lt;/span&gt; If the diff contains too many unrelated changes, add:
  [SUGGESTION: Consider splitting into [N] PRs for cleaner review history]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 7 — Dependency Risk Radar 📦
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; Your &lt;code&gt;package.json&lt;/code&gt; has 200+ dependencies. You know maybe 30 by name. The others are a mix of abandoned packages, license time bombs, and packages that haven't seen a commit in four years. You only find out which ones matter when something breaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Paste your &lt;code&gt;package.json&lt;/code&gt; or &lt;code&gt;requirements.txt&lt;/code&gt;. Get back a structured risk audit covering security, licensing, maintenance health, and version currency — plus prioritized quick wins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~2 hours per audit cycle&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a security-focused senior engineer who takes dependency health
seriously. You have experienced supply chain attacks and license compliance
failures. You analyze dependencies pragmatically — not alarmist, not dismissive.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
Contents of one of:
  build.gradle / version.json / libs.toml or pom.xml (Kotlin / Java)
  package.json (Node.js)
  requirements.txt or pyproject.toml (Python)
  go.mod (Go)
  Gemfile (Ruby)

&lt;span class="gh"&gt;# TASK&lt;/span&gt;

&lt;span class="gu"&gt;## OVERVIEW&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Total dependencies: count direct and dev/test dependencies separately
&lt;span class="p"&gt;-&lt;/span&gt; Ecosystem: detected package manager
&lt;span class="p"&gt;-&lt;/span&gt; Overall risk level: Low | Medium | High | Critical

&lt;span class="gu"&gt;## SECURITY FLAGS&lt;/span&gt;
| Package | Version | Concern | Severity | Recommended Action |
Flag:
&lt;span class="p"&gt;  -&lt;/span&gt; Packages with known vulnerability categories for their type
&lt;span class="p"&gt;  -&lt;/span&gt; Wildcard version ranges on security-sensitive packages
&lt;span class="p"&gt;  -&lt;/span&gt; Packages that access filesystem, network, or env variables
    but are not well-known and widely trusted

&lt;span class="gu"&gt;## LICENSE RISKS&lt;/span&gt;
| Package | License | Risk | Notes |
Flag: GPL-2.0/3.0, AGPL, SSPL in commercial software,
and any license restricting commercial use or distribution.

&lt;span class="gu"&gt;## MAINTENANCE HEALTH&lt;/span&gt;
Flag signs of abandonment:
&lt;span class="p"&gt;  -&lt;/span&gt; Major version very old relative to ecosystem norm
&lt;span class="p"&gt;  -&lt;/span&gt; Package names containing -legacy, -deprecated, -old, -fork
&lt;span class="p"&gt;  -&lt;/span&gt; Well-known abandoned packages from training data

&lt;span class="gu"&gt;## VERSION CURRENCY&lt;/span&gt;
Flag major version lag of 2 or more versions where security
patches were included in the newer majors.

&lt;span class="gu"&gt;## QUICK WINS (3 to 5 specific actions under 1 hour each)&lt;/span&gt;
Prioritized by impact-to-effort ratio.

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Do not fabricate CVE numbers. Describe vulnerability patterns generically.
&lt;span class="p"&gt;-&lt;/span&gt; Only flag meaningful risks. Do not flag every package.
&lt;span class="p"&gt;-&lt;/span&gt; For 50+ packages: focus on direct deps, recommend Snyk or Dependabot
  for transitive dependency scanning.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Skill 8 — Database Schema Doctor 🏥
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The pain:&lt;/strong&gt; Schemas accumulate debt silently. A column named &lt;code&gt;data&lt;/code&gt;. No index on the foreign key you join in every query. A VARCHAR(255) on a column that stores either true or false. These problems are invisible until they cause a slow query or a migration nightmare.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Paste a SQL schema dump or ORM model definitions. Get back a structured health report covering normalization, indexing, naming conventions, data types, and the top five performance risks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time saved:&lt;/strong&gt; ~3 hours per schema review&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ROLE&lt;/span&gt;
You are a database architect with 15 years of experience across PostgreSQL,
MySQL, and distributed SQL systems. You know exactly where the buried
landmines are.

&lt;span class="gh"&gt;# INPUT&lt;/span&gt;
One of:
&lt;span class="p"&gt;  -&lt;/span&gt; SQL schema dump (CREATE TABLE statements)
&lt;span class="p"&gt;  -&lt;/span&gt; ORM model definitions (SQLAlchemy, ActiveRecord, Prisma, Hibernate, etc.)

&lt;span class="gh"&gt;# TASK — Return a complete schema health report:&lt;/span&gt;

&lt;span class="gu"&gt;## SCHEMA OVERVIEW&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Tables detected: list them
&lt;span class="p"&gt;-&lt;/span&gt; Key relationships: describe the main ones
&lt;span class="p"&gt;-&lt;/span&gt; Database dialect: detect from syntax
&lt;span class="p"&gt;-&lt;/span&gt; Overall health score: A / B / C / D / F with one-line justification

&lt;span class="gu"&gt;## NORMALIZATION ISSUES&lt;/span&gt;
Only flag violations with real practical impact at scale.
For each issue:
  Table: [name]
  Issue: [what the normalization violation is]
  Impact: [what problems this causes as data grows]
  Fix: [specific SQL or design change]

&lt;span class="gu"&gt;## INDEXING ANALYSIS&lt;/span&gt;
For each table:
  Indexes present: list them
  Missing indexes: based on foreign keys and column naming patterns
  Over-indexed: columns indexed but unlikely to benefit

  Provide exact CREATE INDEX statements for every recommendation.

&lt;span class="gu"&gt;## NAMING AND CONSISTENCY ISSUES&lt;/span&gt;
Flag:
&lt;span class="p"&gt;  -&lt;/span&gt; Mixed naming conventions (snake_case and camelCase in same schema)
&lt;span class="p"&gt;  -&lt;/span&gt; Ambiguous column names: data, info, value, misc, other, extra
&lt;span class="p"&gt;  -&lt;/span&gt; Inconsistent ID column naming across tables
&lt;span class="p"&gt;  -&lt;/span&gt; Missing created_at and updated_at where they make sense
&lt;span class="p"&gt;  -&lt;/span&gt; Boolean columns without clear is_ or has_ prefixes

&lt;span class="gu"&gt;## DATA TYPE CONCERNS&lt;/span&gt;
Flag:
&lt;span class="p"&gt;  -&lt;/span&gt; VARCHAR(255) used as lazy default where TEXT or constrained
    length is more appropriate
&lt;span class="p"&gt;  -&lt;/span&gt; INT used for IDs that should be BIGINT or UUID at scale
&lt;span class="p"&gt;  -&lt;/span&gt; FLOAT used where DECIMAL is needed for financial data
&lt;span class="p"&gt;  -&lt;/span&gt; JSON or TEXT where proper relational structure improves queryability

&lt;span class="gu"&gt;## TOP 5 PERFORMANCE RISKS&lt;/span&gt;
| Risk | When It Hurts | Fix |
Ranked by potential query impact.

&lt;span class="gu"&gt;## WHAT IS DONE WELL (list 2 to 4 things)&lt;/span&gt;

&lt;span class="gh"&gt;# RULES&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Reference exact table and column names from the input.
&lt;span class="p"&gt;-&lt;/span&gt; Distinguish "nice to have" from "will cause production pain."
&lt;span class="p"&gt;-&lt;/span&gt; For schemas under 5 tables: note scale thresholds for each risk.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Workflow Chains: Combining Skills
&lt;/h2&gt;

&lt;p&gt;Individual skills solve individual problems. Chained skills handle complete workflows. Here are three developer chains built from the eight skills above.&lt;/p&gt;

&lt;h3&gt;
  
  
  Chain A — Feature Development Lifecycle
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; PM sends a Slack message: "Can we add bulk export to the reports page?"&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;PM Message → Ticket Spec Expander → API Contract Generator → ADR Drafter → PR Description Craftsman&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From a vague request to a scoped spec, to a formal API contract, to an architectural decision on record, to a professional PR — all in one conversation thread.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to invoke:&lt;/strong&gt; After Ticket Spec Expander runs, say: &lt;em&gt;"Using the spec above as input, run API Contract Generator for the endpoints it implies. Then run ADR Drafter on the storage decision."&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Chain B — Incident Response Pipeline
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; 2am alert. Systems recovered. Someone has to write it up.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Raw Slack Thread → Stack Trace Archaeologist → Incident Postmortem Architect → ADR Drafter&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Confirm the root cause. Write the blameless postmortem. Document the architectural fix so it doesn't happen again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to invoke:&lt;/strong&gt; Start with the error diagnosis. Feed the root cause section into the postmortem. Then document the fix decision as an ADR committed to your repo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Chain C — Tech Debt Friday Sprint
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; Friday afternoon. No specific ticket. Two hours to pay down debt.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;package.json + schema dump → Dependency Risk Radar → Database Schema Doctor → Ticket Spec Expander (for each flagged issue)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Run both health audits. Feed each flagged issue into Ticket Spec Expander to produce properly scoped, estimated backlog tickets instead of vague "fix this" notes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to invoke:&lt;/strong&gt; Run both audits, then for each flagged issue: &lt;em&gt;"Take the [dependency risk / schema issue] above and run it through Ticket Spec Expander as a backlog ticket."&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The chain invocation pattern:&lt;/strong&gt; After Skill A completes, begin your next message with: &lt;em&gt;Using the output above as input, run [Skill B] and focus on [specific section].&lt;/em&gt; Claude maintains context across the full chain within a single conversation.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  How to Build Your Own Skill From Scratch
&lt;/h2&gt;

&lt;p&gt;The eight skills above are your foundation. The real power comes when you build skills tuned to your specific stack, team conventions, and company patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — Identify the recurring pain.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The test: do you feel mild dread every time this task appears on your to-do list? Tasks you've written a long prompt for once and then lost are prime skill candidates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 — Write the role before anything else.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You are a [specific expert] with experience in [specific domain]&lt;/em&gt; produces dramatically better output than a generic task description. The role sets the judgment framework Claude uses for ambiguous inputs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3 — Define input format explicitly.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tell Claude exactly what you will hand it. List every variant if input can vary. Ambiguity here causes inconsistent first responses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4 — Specify output sections with headers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Name every section you want returned. The more explicit, the more consistent. Use markdown headers — they make outputs immediately scannable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5 — Add a RULES section.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What should Claude never do? What should it do when input is unclear? These constraints are the difference between a skill that works most of the time and one that works every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6 — Test with real inputs before finalizing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Two or three real-world test runs, followed by one revision session, gets you to 90% quality. The first version is never the best version.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Let Claude write it with you:&lt;/strong&gt; Before drafting skill instructions, try: &lt;em&gt;"I need a skill that handles [describe your task]. Before writing anything, ask me the five questions you'd need answered to write genuinely effective instructions for this."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Compounding Effect
&lt;/h2&gt;

&lt;p&gt;Here is what nobody talks about when they discuss skill libraries.&lt;/p&gt;

&lt;p&gt;In week one, you save twenty minutes a day. That's already worth it. But something more interesting happens by month two.&lt;/p&gt;

&lt;p&gt;Building skills forces you to articulate, precisely, what good output looks like for your specific context. You develop a muscle for recognizing workflow inefficiencies before they cost you time. You stop accepting inconsistent output as a feature of AI tools. You start treating your skill library the way you treat your dotfiles — something worth maintaining, improving, and sharing with your team.&lt;/p&gt;

&lt;p&gt;By month six, your skill library is a genuine competitive asset. You're not using the same Claude as every other developer. You're using a version that knows your stack, speaks your team's language, and produces output in exactly the format your workflow expects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The most effective developers using AI aren't prompting harder. They're building systems — reusable, reliable, composable — that compound over time the same way good code does.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The skills in this guide are the starting point. Install one tonight. Run it on a real input. The library builds itself from there.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;AI becomes significantly more powerful when you stop treating it like a chatbot and start treating it like infrastructure. Skills transform repetitive prompting into reusable systems that save time, improve consistency, and reduce cognitive overhead in daily development workflows. Whether it's debugging production issues, generating API contracts, writing ADRs, or reviewing schema health, a well-designed skill library compounds in value over time — just like good architecture and clean code.&lt;/p&gt;

&lt;p&gt;The best part? You don't need dozens of skills on day one. Start with one recurring pain point, automate it properly, and let the library evolve naturally alongside your engineering workflow.&lt;/p&gt;

&lt;p&gt;At this point, if you're still typing &lt;em&gt;"Act as a senior engineer with 10 years of experience…"&lt;/em&gt; every morning…&lt;/p&gt;

&lt;p&gt;Congratulations — your AI assistant probably knows less about your stack than your coffee machine does. ☕😂&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
