💬 Prompt Engineering Workshop

💬 Prompt Engineering Workshop

Learn to design and iteratively improve prompts that make AI outputs more accurate, complete, and reusable.

By the end, participants will:

  • Understand core prompting techniques

  • See how each technique improves output quality

  • Build a single, evolving prompt that applies all techniques together

  • Apply those same techniques to a variety of use cases

  • Design their own prompt for a personal use-case

Duration: ~1 hour
Audience: Engineers and technical professionals


👉 Bitovi can help you integrate this into your own SDLC workflow: AI for Software Teams

 

Introduction

Prompt engineering is the skill of writing precise, structured instructions that guide AI models to produce consistent, high-quality results.

In this session, we’ll focus on building a prompt step-by-step, watching it evolve from basic commands into a refined, professional-grade tool. You’ll see how small changes in phrasing, structure, and context dramatically affect the AI’s performance.


Before we begin learning about prompt engineering, it will help to understand the basics of Large Language Models (LLMs) and what role prompting plays in AI:

https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1628209217

Training Overview

Throughout this session, you’ll learn to design reliable, reusable prompts by applying a series of core prompt engineering techniques. You won’t just hear concepts — you’ll build one prompt end-to-end, testing and refining it as you go.

How the session works

  • Pick a use case you care about (we provide example prompts, or you can choose your own).

  • As we introduce each concept, you’ll add it to your prompt, try it in your AI tool, and refine.

  • In parallel, we’ll walk through a shared example prompt that generates an instructions.md file for a codebase.

The shared example: instructions.md

To demonstrate these concepts, we’ll iteratively build a prompt that tells the AI to analyze a codebase and produce instructions.md describing:

  • Purpose and architecture

  • Key folders, entry points, and dependencies

  • Developer workflows (run/test/deploy)

  • Conventions, testing strategy, and gotchas

This file can then be fed back into the AI as it adds features or documentation to the codebase.

Why this example? It requires reasoning, benefits from structure, and is highly reusable—perfect for demonstrating every technique.

✏️ Setup

To follow along with this training, you’ll need a few things:

  • AI environment: Access to an AI chatbot/agent. For this training, we’ll use GitHub Copilot. Any comparable tool is fine.

  • Data/context for your prompt: Whatever your prompt will act on—e.g.,

    • For instructions.md: a codebase the AI can read.

    • For other prompts: a component file, PR diff, meeting notes, etc.

      • This will vary depending on the type of prompt you choose to write, but generally, you’ll need some context or information that the AI is acting on.


  1. Choose your personal use case

    • Pick from our list of ideas below or create your own.

  • README Refresher — Generate or improve a project README with clear setup, run, test, and deploy steps.

  • Commit Message Coach — Suggest Conventional Commit–style messages from a diff or bullet notes.

  • Code Comment Polisher — Rewrite messy inline comments into concise, accurate explanations (keep code unchanged).

  • Refactor Plan Sketch — Propose a small, incremental refactor plan for a specific file or function, with risks and rollback.

  • Function Docstring Writer — Add or improve docstrings (JSDoc/Python) for selected functions with parameter/return details.

  • Small Bug Repro Guide — Turn a rough bug report into reproducible steps, expected vs. actual behavior, and a minimal test case idea.

  • Simple Test Case Outliner — From a function signature, list key happy paths, edge cases, and error cases (no full code needed).

  • Component Props Table — From a React/Vue component, produce a props table with types, defaults, and usage notes.

  • Lightweight Release Notes — Turn a short list of merged PRs into human-friendly release notes for teammates.

  • PR Description Upgrader — Rewrite a draft PR description to include context, screenshots/links, risks, and test plan.

  • Sprint Ticket Grooming Helper — Convert messy backlog bullets into small, clear tickets with acceptance criteria.

  • Meeting Agenda & Notes — Create a focused agenda from goals; after the meeting, summarize decisions and action items.

  • Team Onboarding Checklist — Draft a one-page checklist for a new teammate (accounts, repos, environments, “first PR”).

  • FAQ from Slack Thread — Turn a Q&A thread into a short FAQ with questions, concise answers, and relevant links.

  • Contributing Guide Starter — Generate a CONTRIBUTING.md with branching, PR etiquette, code style, and commit rules.

  1. Prepare your context

    • If you’re doing instructions.md: pick a repo and ensure your AI tool can access it.

    • Otherwise, if relevant to your prompt, you’ll need access to the data the AI is operating on and working with.

      • In an environment like Copilot the AI should have access to your codebase/files automatically, for other cases you may need to add external context to the AI’s chat thread.

  2. Open your AI tool

    • Start a new chat/session.

    • Create a scratch doc in your text editor for your evolving prompt, you’ll paste and refine here.

  3. Define “success” up front

    • Write a sentence or two describing what you want the output of the prompt to look like. This will help you stay focused and give you something concrete to aim for.

  4. Start with a simple baseline prompt

    • Keep it to one or two sentences describing the task.

    • Example baseline for instructions.md:

      • Generate an instructions.md for this repository that explains the codebase.

    • Run it once to see the “before” output.

  5. Iterate concept-by-concept

    • As we go through each technique, integrate that piece into your prompt:

    • Re-run after each addition, compare outputs, and keep the improvements that help.

Prompt Engineering Concepts

In this section, we’ll outline 7 core prompt engineering concepts as we build a prompt from scratch. Read through each document and complete the exercises at the end. By the time you’re done you’ll have a fully functional prompt!

  1. https://bitovi.atlassian.net/wiki/pages/resumedraft.action?draftId=1619918861&draftShareId=0cc44cc6-0df5-4233-8b35-6e6247367f2c&atlOrigin=eyJpIjoiNGM2YzJmZDljZDY0NGY5ZmI0ODcxOGYyYWM5M2M3ODYiLCJwIjoiYyJ9

    1. Give the model a clear role and audience so its voice, priorities, and examples match the job you need.

  2. https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1620770840

    1. Show compact good (and bad) examples so the model mirrors your desired structure, tone, and level of detail.

  3. https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1620377674

    1. Ask for a brief plan before the answer to improve completeness, accuracy, and transparency. The AI is asked to think about what it’s doing.

  4. https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1621327964

    1. Generate a few distinct options, score them with a simple rubric, pick (or hybridize) the best, then draft.

  5. https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1620934728

    1. Turn the prompt into a reusable template with variables (format, tone, limits) and enforceable schemas.

  6. https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1620377701

    1. Have the model derive and update a short task list as it works so progress is visible and steps aren’t missed.

  7. https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1621327997

    1. Break a complex task into staged prompts with intermediate artifacts so you can debug, swap stages, and automate the pipeline.

Use the provided https://bitovi.atlassian.net/wiki/spaces/AIEnabledDevelopment/pages/1625587759 as a reference to see prompts that integrate these concepts effectively.

Conclusion

You’ve now built a powerful, flexible prompt, that uses all the techniques covered in this training.

More importantly, you’ve learned how to think like a prompt engineer: how to break problems down, steer the model’s behavior, and build prompts that are structured, testable, and easy to improve.

Whether you’re using AI to document code, review PRs, plan migrations, or automate repetitive tasks—these techniques give you a foundation to scale your work with more consistency and less guesswork.

✅ What to do next

  • Save your final prompt somewhere you can reuse and iterate on it

  • Try it on different inputs to see how it generalizes

  • Share it with teammates so they can benefit (and give feedback!)

  • Start new prompts using this one as a scaffold

Prompt engineering is never really “done”, but with the right structure in place, you’ll spend less time fixing bad outputs and more time solving real problems.

Go build something great.