HARNESTS
Today£0.00
← all sections
Section

💻Software Engineering

Commit messages, READMEs, regex explainers, cron-to-English, JSON/Markdown/slug helpers — engineering utilities for £1 each. No subscription.

20 jobs · 1 subcategory · £1 each

Featured in Software Engineering12

£1.00
API Mock Response Generator
Software Engineering
·
£1.00
Dockerfile Optimizer Review
Software Engineering
·
£1.00
Database Schema Explainer
Software Engineering
·
£1.00
User Story Writer
Software Engineering
·
£1.00
Test Case Generator
Software Engineering
·
£1.00
API Documentation Generator
Software Engineering
·
£1.00
Acceptance Criteria Generator
Software Engineering
·
£1.00
Jira Ticket Splitter
Software Engineering
·
£1.00
Pull Request Reviewer
Software Engineering
·
£1.00
Legacy Code Summary
Software Engineering
·
£1.00
Kubernetes YAML Reviewer
Software Engineering
·
£1.00
Technical Debt Report
Software Engineering
·

General20

£1.00
Architecture Diagram Description
Software Engineering
·
Free
Regex Builder
Software Engineering
·
£1.00
Database Schema Explainer
Software Engineering
·
£1.00
Error Log Root Cause Analyzer
Software Engineering
·
£1.00
Legacy Code Summary
Software Engineering
·
£1.00
Pull Request Reviewer
Software Engineering
·
£1.00
ADR Generator from Notes
Software Engineering
·
£1.00
API Documentation Generator
Software Engineering
·
Free
Commit Message Rewriter
Software Engineering
·
£1.00
Sprint Planning Board
Software Engineering
·
£1.00
Jira Ticket Splitter
Software Engineering
·
£1.00
Acceptance Criteria Generator
Software Engineering
·
£1.00
API Mock Response Generator
Software Engineering
·
£1.00
Test Case Generator
Software Engineering
·
£1.00
User Story Writer
Software Engineering
·
£1.00
Kubernetes YAML Reviewer
Software Engineering
·
£1.00
Dockerfile Optimizer Review
Software Engineering
·
£1.00
Security Risk Summary
Software Engineering
·
£1.00
Technical Debt Report
Software Engineering
·
£1.00
Release Notes Builder
Software Engineering
·

Single-purpose dev utilities for the small text jobs that take 10 minutes to bash out manually. The commit message writer follows Conventional Commits (feat / fix / chore / refactor). The README generator produces hero copy + install + usage sections optimised for GitHub indexing. The regex explainer walks through your pattern token-by-token. The cron-to-English tool tells you exactly when a schedule fires, including edge cases (DST shifts, leap days).

Software Engineering — frequently asked

How do I write a good commit message?
Use Conventional Commits: a type prefix (feat, fix, chore, refactor, docs), an optional scope, and a short imperative subject under 72 characters. The Commit Message Writer follows this format.
What does this regex do?
Paste the pattern into the Regex Explainer and you get a plain-English walkthrough token-by-token, plus an example match and common edge cases the pattern might trip on.
What does this cron expression mean?
The Cron to English tool turns "0 9 * * 1-5" into "every weekday at 9am UTC" with notes on DST shifts and what fires on the 1st of the month.
Can I use these for a README?
Yes — the README generator returns hero copy, install steps, usage examples, and a contributing section that scores well in GitHub search and reads like a project people would star.
How much do these dev tools cost?
Every dev utility is £1 per use. Cheaper than ChatGPT Plus for one-off tasks; on par with crontab.guru / regex101 in usefulness but with a paste-ready output.
AI for engineers — commits, READMEs, regex — £1 each - End of the string.\n9. `i` - Flag for case-insensitive matching.\n\n**Worked Examples:**\n1. Input: \"SW1A 1AA\" → Match: \"SW1A 1AA\"\n2. Input: \"M1 1AE\" → Match: \"M1 1AE\"\n3. Input: \"sw1a1aa\" → Match: \"sw1a1aa\" \n\nNote: The case-insensitive flag (`i`) allows the regex to match postcodes regardless of the case used in the input string."},"createdAt":"2026-06-28 11:47:36.596823+00"},{"id":456,"slug":"database-schema-explainer","name":"Database Schema Explainer","niche":"engineering","description":"A plain-English walkthrough of a SQL schema — what each table holds, key relationships, gotchas.","inputFields":[{"key":"ddl","type":"textarea","label":"Schema DDL (CREATE TABLE statements)","required":true,"maxLength":6000,"placeholder":"CREATE TABLE users (id uuid PRIMARY KEY, ...);\\nCREATE TABLE orders (id uuid PRIMARY KEY, user_id uuid REFERENCES users(id), ...);"}],"systemPrompt":"You explain SQL schemas like a senior engineer onboarding a new joiner. Sections: Per-table walkthrough (2–3 sentences each), Relationships (FK map), Things to watch (1–3 gotchas — soft deletes, denormalisation, surprising defaults, ON DELETE CASCADE). Refer only to tables/columns present in the DDL. Banned: \"appears to\", \"might\". Example — Bad: \"The orders table appears to reference users.\" Good: \"`orders.user_id` is a FK to `users.id` with no ON DELETE — deleting a user will fail if orders exist.\" Before responding: confirm every named column exists in the DDL.","userPromptTemplate":"Schema:\n{ddl}\n\nReturn the walkthrough in the structure above.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The explanation includes a per-table walkthrough, key relationships, and potential gotchas such as soft deletes and denormalisation. The walkthrough is approximately 2-3 sentences per table and is delivered in a plain-English format.","q":"what is included in the database schema explanation?"},{"a":"You provide your SQL schema by copying and pasting your DDL (CREATE TABLE statements) into a textarea. The system will then generate a personalised explanation based on your schema.","q":"how do i provide my sql schema?"},{"a":"The database schema explanation costs £1. This is a one-time payment and you will receive your explanation immediately after payment.","q":"how much does the database schema explanation cost?"},{"a":"The explanation is delivered in a plain-English text format, with each section clearly labelled and easy to understand. The format is designed to be easy to read and understand, even for those without extensive technical knowledge.","q":"what format is the explanation delivered in?"}],"useCases":["Trying to understand a database schema for a new project","Debugging a database issue and needing to review the schema","Onboarding to a new team and needing to learn the database structure","Reviewing a legacy codebase and needing to understand the database design","Preparing for a technical interview and wanting to review database concepts"],"whoItsFor":["Junior developers onboarding to a new project","Data analysts trying to understand a complex database","DevOps engineers debugging database issues","Backend engineers reviewing a legacy codebase"],"whatYouGet":"Get a plain-English explanation of your SQL schema in a personalised walkthrough, including key relationships and potential gotchas, all for £1.","sampleOutput":"### Per-table walkthrough\nThe `users` table has a primary key `id` of type `uuid`, which uniquely identifies each user. This table stores information about the users in the system. The `users` table does not reference any other tables.\n\nThe `orders` table has a primary key `id` of type `uuid`, which uniquely identifies each order, and a `user_id` column that references the `id` column in the `users` table. This establishes a relationship between orders and the users who made them. \n\n### Relationships\nThe relationships between tables can be summarized as follows:\n- `orders.user_id` is a foreign key (FK) to `users.id`, indicating that each order is associated with a user.\n\n### Things to watch\n- `orders.user_id` is a FK to `users.id` with no ON DELETE action specified, so deleting a user will fail if orders exist for that user, as this would violate the foreign key constraint."},"createdAt":"2026-06-28 11:47:35.825386+00"},{"id":469,"slug":"error-log-root-cause-analyzer","name":"Error Log Root Cause Analyzer","niche":"engineering","description":"An analysis of your error log — likely root cause, ranked hypotheses, next debugging steps.","inputFields":[{"key":"log","type":"textarea","label":"Error log or stack trace","required":true,"maxLength":4000,"placeholder":"TypeError: Cannot read properties of undefined (reading \\\"customerId\\\")\\n at settleInvoice (billing.ts:48)\\n ..."},{"key":"context","type":"textarea","label":"Recent context (deploys, traffic, related changes)","required":false,"maxLength":1000,"placeholder":"Deployed billing-svc 1f4a yesterday. Spike correlated with the start of EU business hours."}],"systemPrompt":"You analyse error logs to find a likely root cause. Sections: Most likely cause (1 paragraph, with evidence), Ranked alternative hypotheses (2–3), Next debug steps (numbered, 3–5, with specific commands or queries). Cite log lines as evidence. Banned: \"could be anything\", silent guessing. Example — Bad: \"It could be anything from a typo to a server issue.\" Good: \"Most likely: the customerId is null because invoice 8f2a was created before customer enrolment. Evidence: line 48 dereferences invoice.customer.id; no null guard.\" Before responding: confirm the most likely cause cites a specific log line.","userPromptTemplate":"Log:\n{log}\nContext:\n{context}\n\nReturn the analysis.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"You'll get a report with the most likely root cause of the error, 2-3 ranked alternative hypotheses, and 3-5 next debugging steps with specific commands or queries. The report cites log lines as evidence to support the analysis.","q":"what will i get from the error log analysis"},{"a":"You'll provide context through a textarea where you can describe recent changes, deploys, or related events that may have contributed to the error. This helps the analysis focus on the most relevant factors.","q":"how do i provide context for the error log analysis"},{"a":"The analysis is performed immediately, and you'll receive your report for £1. The report is generated based on the error log and context you provide, with no waiting time.","q":"how long does the error log analysis take"},{"a":"The analysis is based on the specific error log and context you provide, making it tailored to your situation. You'll receive a unique report outlining the most likely cause and next steps for your particular error.","q":"can i get a personalised error log analysis"}],"useCases":["When an unexpected error occurs in your application","After a recent deployment causes issues","While trying to reproduce an intermittent bug","When analysing a stack trace from a crash report","During a debugging session to identify the root cause"],"whoItsFor":["DevOps engineers debugging production issues","Software developers troubleshooting code errors","QA testers analysing test failures","Technical support specialists resolving customer complaints"],"whatYouGet":"Get a detailed analysis of your error log in a formatted report, including the most likely root cause, ranked hypotheses, and next debugging steps for £1.","sampleOutput":"Most likely cause: the `customerId` is null or undefined because an invoice was created without a valid customer association. Evidence: line 48 in `billing.ts` attempts to access `invoice.customerId`, indicating that the `customerId` property is being dereferenced, but the error message suggests it does not exist. Specifically, the error log line \"TypeError: Cannot read properties of undefined (reading \\\"customerId\\\")\" at `settleInvoice (billing.ts:48)` implies that the `customerId` is not present in the `invoice` object, likely due to an incomplete or missing customer association when the invoice was created.\n\nRanked alternative hypotheses:\n1. **Data corruption**: It is possible that the data in the invoice or customer database is corrupted, leading to missing or null `customerId` values.\n2. **API integration issue**: The error might be caused by an issue with the API that provides customer information, resulting in incomplete or missing customer data being passed to the billing service.\n3. **Deployment-related configuration issue**: The recent deployment of `billing-svc 1f4a` might have introduced a configuration issue that affects how customer data is handled or retrieved.\n\nNext debug steps:\n1. **Inspect the invoice data**: Run a query to retrieve the invoice data for the specific invoice that triggered the error (e.g., `SELECT * FROM invoices WHERE id = 8f2a`) to verify if the `customerId` is indeed null or missing.\n2. **Check customer association**: Investigate the customer association logic to ensure that invoices are being created with valid customer associations (e.g., `SELECT * FROM customers WHERE id IN (SELECT customer_id FROM invoices)`).\n3. **Review deployment changes**: Compare the changes introduced in the `billing-svc 1f4a` deployment with the previous version to identify any potential issues related to customer data handling or API integrations (e.g., `git diff .. billing.ts`)."},"createdAt":"2026-06-28 11:47:36.552169+00"},{"id":457,"slug":"legacy-code-summary","name":"Legacy Code Summary","niche":"engineering","description":"An onboarding-friendly summary of a legacy file — what it does, who calls it, where the dragons are.","inputFields":[{"key":"path","type":"text","label":"File path (optional)","required":false,"maxLength":200,"placeholder":"src/billing/invoiceWorker.ts"},{"key":"code","type":"textarea","label":"Paste the code","required":true,"maxLength":6000,"placeholder":"export async function settleInvoice(invoiceId: string) { ... }"}],"systemPrompt":"You summarise legacy code for a new joiner who has 10 minutes. Sections: Purpose (≤2 sentences), Key functions/exports (bulleted), External callers (only if visible from imports/exports), Dragons (≤3 things that look suspicious — silent catches, magic numbers, race conditions). Do not invent callers you cannot see. Banned: \"appears to handle some kind of\". Example — Bad: \"This file appears to handle some kind of invoice processing.\" Good: \"Purpose: Charges pending invoices nightly via Stripe. Dragon: `try { ... } catch {}` at line 47 swallows all errors silently.\" Before responding: confirm every Dragon cites a line number from the input.","userPromptTemplate":"File: {path}\nCode:\n{code}\n\nReturn the summary.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The summary includes the purpose of the code, key functions or exports, external callers if visible, and up to three potential issues or 'dragons'. It is designed to be concise and easy to understand for new joiners.","q":"what is included in the legacy code summary"},{"a":"You can either provide the file path or paste the code directly into the textarea. This allows for flexibility in how you share the code with Harnests.","q":"how do i provide the code for summarisation"},{"a":"The legacy code summary costs £1.00, providing a cost-effective way to understand complex legacy code.","q":"how much does the legacy code summary cost"},{"a":"The summary is delivered in a text format, divided into clear sections for purpose, key functions, external callers, and potential issues, making it easy to read and understand.","q":"what format is the summary delivered in"}],"useCases":["Onboarding new developers to a legacy project","Reviewing unfamiliar codebases for potential issues","Preparing for a code review of a legacy system","Assessing technical debt in a legacy codebase","Introducing new team members to a complex codebase"],"whoItsFor":["New software engineers joining a project","DevOps engineers reviewing legacy systems","Technical leads onboarding new team members","Code reviewers assessing legacy code quality"],"whatYouGet":"A concise summary of legacy code in a format suitable for new joiners, covering purpose, key functions, and potential issues.","sampleOutput":"Purpose: The invoiceWorker module settles invoices. It exports a function to settle an invoice by its ID.\n\nKey functions/exports:\n* `settleInvoice(invoiceId: string)`: an asynchronous function to settle an invoice\n\nExternal callers: None visible from the provided code.\n\nDragons: None visible from the provided code."},"createdAt":"2026-06-28 11:47:35.871109+00"},{"id":453,"slug":"pull-request-reviewer","name":"Pull Request Reviewer","niche":"engineering","description":"An honest PR review — high/medium/low findings with line refs, plus a one-line verdict.","inputFields":[{"key":"title","type":"text","label":"PR title","required":true,"maxLength":200,"placeholder":"feat(billing): retry failed invoices with exponential backoff"},{"key":"diff","type":"textarea","label":"Paste the diff","required":true,"maxLength":8000,"placeholder":"diff --git a/billing.ts b/billing.ts\\n@@ -32,6 +32,18 @@ ..."}],"systemPrompt":"You review pull requests like a senior engineer who values the author's time. Output: 1-line verdict (ship / request changes / discuss), then three sections — High / Medium / Low. Each finding: `file:line`, what, why it matters, suggested fix. Skip nits unless explicitly asked. Banned: \"consider whether\", \"might want to\". Example — Bad: \"Consider whether you might want to handle errors here.\" Good: \"billing.ts:48 — uncaught exception on Stripe.invoices.retry() will crash the worker. Wrap in try/catch and re-queue on 5xx.\" Before responding: confirm each finding cites a file:line and proposes a concrete fix.","userPromptTemplate":"PR: {title}\nDiff:\n{diff}\n\nReturn the verdict + findings.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The PR review includes a one-line verdict and findings in High, Medium, and Low sections, with specific file and line references, what the issue is, why it matters, and suggested fixes.","q":"what does the pr review include"},{"a":"The PR review costs £1.00, providing a cost-effective way to get feedback on your code.","q":"how much does the pr review cost"},{"a":"The PR review is in a text format, with a one-line verdict followed by High, Medium, and Low sections, each with specific findings and suggestions.","q":"what format is the pr review in"},{"a":"The PR review is generated based on the provided title and diff, and you can ask for specific feedback by including it in the diff or title, but the output format is standard.","q":"can i get a custom pr review"}],"useCases":["When you need a second opinion on a complex code change","Before merging a pull request into your main branch","To ensure code quality in your open-source project","When reviewing code from a new contributor","Before releasing a critical update to your software"],"whoItsFor":["Senior software engineers reviewing code","Dev team leads evaluating pull requests","Open-source project maintainers","Code reviewers at tech startups","Engineering managers overseeing code quality"],"whatYouGet":"Get a concise PR review with a one-line verdict and findings in High, Medium, and Low sections, all for £1.00."},"createdAt":"2026-06-28 11:47:35.680668+00"},{"id":455,"slug":"adr-from-notes","name":"ADR Generator from Notes","niche":"engineering","description":"An Architecture Decision Record written from your meeting or Slack notes.","inputFields":[{"key":"decision","type":"text","label":"Decision in one sentence","required":true,"maxLength":200,"placeholder":"Use SQLite (Turso) instead of Postgres for the billing service"},{"key":"notes","type":"textarea","label":"Discussion notes (Slack, meeting, async doc)","required":true,"maxLength":4000,"placeholder":"Concerns: write throughput. Mitigations: only one writer per billing row. Considered: Postgres (Aurora), MySQL (PlanetScale)."}],"systemPrompt":"You write Architecture Decision Records that survive team turnover. Sections: Title, Status (Proposed), Context, Decision, Consequences (positive AND negative), Alternatives considered (with reason for rejection). Be honest about trade-offs. Banned: \"should be fine\", \"we'll cross that bridge\". Example — Bad: \"Postgres should be fine, we'll cross that bridge if scale becomes an issue.\" Good: \"Negative: write contention at >200 writes/sec on a single billing row. Mitigation: shard by tenant in phase 2.\" Before responding: confirm Consequences includes at least one negative.","userPromptTemplate":"Decision: {decision}\nNotes:\n{notes}\n\nReturn the ADR.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"An Architecture Decision Record is a document that captures a decision made during a project, including the context, consequences, and alternatives considered. It typically follows a standard format.","q":"what is an architecture decision record"},{"a":"You'll receive your Architecture Decision Record for £1.00 immediately after providing the required inputs, including a one-sentence decision and discussion notes.","q":"how long does it take to generate"},{"a":"The Architecture Decision Record is generated in a standard format, including Title, Status, Context, Decision, Consequences, and Alternatives considered, to ensure clarity and consistency.","q":"can i customise the output format"},{"a":"You can provide any relevant discussion notes, such as Slack conversations or asynchronous documentation, to generate your Architecture Decision Record.","q":"what if i dont have meeting notes"}],"useCases":["Documenting a new database schema after a team meeting","Recording the reasoning behind a recent infrastructure change","Creating a knowledge base for onboarding new team members","Justifying a technical debt payoff strategy to stakeholders","Preserving institutional knowledge during team turnover"],"whoItsFor":["Software architects documenting design decisions","Technical leads writing meeting notes","Engineering managers reviewing project trade-offs","DevOps teams maintaining asynchronous documentation"],"whatYouGet":"Get a written Architecture Decision Record in a standard format, including Title, Status, Context, Decision, Consequences, and Alternatives considered.","sampleOutput":"**Title:** Replace Postgres with SQLite for Billing Service\n**Status:** Proposed\n\n**Context:** The billing service requires a database to store and manage billing information. Initially, we considered using Postgres (Aurora) or MySQL (PlanetScale) due to their high scalability and performance. However, after re-evaluating our requirements, we are considering using SQLite (Turbo) as a simpler and more lightweight alternative.\n\n**Decision:** We will use SQLite (Turbo) instead of Postgres for the billing service. This decision is based on the fact that our billing service will have a limited number of writers, with only one writer per billing row, which reduces the concern of write contention.\n\n**Consequences:**\n* Positive: Reduced complexity, easier setup and maintenance, and lower operational costs.\n* Negative: Write contention may still occur at high write volumes (>200 writes/sec on a single billing row), potentially leading to performance issues. Additionally, SQLite may not scale as well as Postgres or MySQL for very large datasets.\n\n**Alternatives considered:**\n* Postgres (Aurora): Rejected due to increased complexity and higher operational costs. While Postgres provides high scalability and performance, it may be overkill for our current billing service requirements.\n* MySQL (PlanetScale): Rejected due to similar concerns as Postgres, including higher operational costs and increased complexity. Additionally, MySQL may require more maintenance and tuning to achieve optimal performance.\n\nMitigation strategies for the potential write contention issue include sharding by tenant in phase 2, which will help distribute the write load and reduce contention. We will monitor the performance of the billing service and adjust our strategy as needed to ensure optimal performance and scalability."},"createdAt":"2026-06-28 11:47:35.774351+00"},{"id":452,"slug":"api-documentation-generator","name":"API Documentation Generator","niche":"engineering","description":"Clean OpenAPI-flavoured docs for a single endpoint — purpose, params, response, errors, example.","inputFields":[{"key":"endpoint","type":"text","label":"Method + path","required":true,"maxLength":120,"placeholder":"POST /v1/payments/refunds"},{"key":"details","type":"textarea","label":"Raw spec, handler code, or notes","required":true,"maxLength":4000,"placeholder":"Body: paymentId (string, required), amount (int, minor units, optional — defaults to full refund), reason (enum: duplicate, fraudulent, requested_by_customer)."}],"systemPrompt":"You write API docs that a backend engineer can implement against without asking questions. Sections: Purpose (1–2 sentences), Method+URL, Path/query/body params (markdown table), Response shape (JSON example), Error codes (table), curl example. Use only fields/values present in the input — never invent. Banned: \"appropriate\", \"as needed\". Example — Bad: \"Send an appropriate amount as needed.\" Good: \"`amount` (integer, minor units, optional). If omitted, refunds the full original payment.\" Before responding: confirm every documented field appears in the input.","userPromptTemplate":"Endpoint: {endpoint}\nDetails:\n{details}\n\nReturn the documentation in the structure above.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The API documentation is generated in a clean OpenAPI-flavoured format, including sections such as purpose, method and URL, path and query parameters, response shape, error codes, and a curl example.","q":"what format is the api documentation in"},{"a":"The API documentation generator costs £1.00 per use, providing a cost-effective solution for generating high-quality API documentation.","q":"how much does the api documentation generator cost"},{"a":"To generate the API documentation, you need to provide the endpoint details, including the method and path, as well as any additional information such as raw spec, handler code, or notes.","q":"what information do i need to provide to generate the api documentation"},{"a":"The generated API documentation is based on the input you provide, and you can customise it by including specific details such as parameters, response shapes, and error codes in your input.","q":"can i customise the generated api documentation"}],"title":"API Documentation Generator — Free","useCases":["When creating API documentation for a new endpoint","When updating existing API documentation","When onboarding new developers to an API project","When preparing API documentation for a code review","When generating documentation for a legacy API"],"whoItsFor":["Backend engineers","API developers","Software architects","Technical writers","DevOps engineers"],"whatYouGet":"Get clean OpenAPI-flavoured API documentation for a single endpoint, including purpose, params, response, errors, and example, all in a clear format.","description":"Generate clear API documentation from your endpoints in seconds — parameters, responses, and examples. Free to preview, £1 for the doc.","sampleOutput":"### Purpose\nThe endpoint is used to create a refund for a payment. It requires a payment ID and optionally an amount and reason for the refund.\n\n### Method+URL\nPOST /v1/payments/refunds\n\n### Path/query/body params\n| Parameter | Type | Required | Description |\n| --- | --- | --- | --- |\n| paymentId | string | required | The ID of the payment to refund |\n| amount | int | optional | The amount to refund in minor units. If omitted, refunds the full original payment |\n| reason | enum | optional | The reason for the refund. One of: duplicate, fraudulent, requested_by_customer |\n\n### Response shape\nNo specific response shape is provided in the input.\n\n### Error codes\nNo specific error codes are provided in the input.\n\n### curl example\n```bash\ncurl -X POST \\\n /v1/payments/refunds \\\n -H 'Content-Type: application/json' \\\n -d '{\"paymentId\": \"payment_123\", \"amount\": 100, \"reason\": \"requested_by_customer\"}'\n```"},"createdAt":"2026-06-28 11:47:35.637178+00"},{"id":454,"slug":"commit-message-rewriter","name":"Commit Message Rewriter","niche":"engineering","description":"Three Conventional Commit message variants for your change.","inputFields":[{"key":"change","type":"textarea","label":"What changed (and the why, if it isn't obvious from the change)","required":true,"maxLength":1500,"placeholder":"Added retry with exponential backoff to the invoice settle worker. Prevents spurious failures during Stripe's rate-limit windows."}],"systemPrompt":"You write Conventional Commit messages that future-you will thank present-you for. Output 3 numbered variants: type(scope): subject. Subject ≤72 characters, imperative mood. Include a body only if the \"why\" is non-obvious. Banned: \"update stuff\", \"fix bug\" without naming the bug. Example — Bad: \"fix: update the thing.\" Good: \"fix(billing): retry settle worker on Stripe 429s\\n\\nUntil now the worker died on rate-limits; this adds 3 retries with exponential backoff.\" Before responding: confirm each subject ≤72 characters.","userPromptTemplate":"Change: {change}\n\nReturn 3 numbered commit messages.","model":"claude-haiku-4-5-20251001","maxTokens":400,"priceGbp":0,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"A Conventional Commit message follows a specific format, 'type(scope): subject', making it easy for others to understand the purpose of your code change. Our service provides three variants of these messages.","q":"what is a conventional commit message"},{"a":"You will receive three numbered variants of Conventional Commit messages, each following the 'type(scope): subject' format, to choose the one that best fits your change.","q":"how many commit messages will i get"},{"a":"Yes, our service is designed to handle complex changes by including a body in the commit message if the reason for the change isn't immediately obvious from the change itself.","q":"can i get a commit message for a complex change"},{"a":"Each set of three Conventional Commit message variants costs £1.00, providing you with a selection of well-structured messages to use for your code changes.","q":"how much does it cost to get commit messages"}],"useCases":["When making a pull request to a shared repository","After resolving a complex bug that needs explanation","Before pushing new features to a live production environment","When refactoring code for better readability and maintainability"],"whoItsFor":["Software engineers working on collaborative projects","Development team leaders managing code repositories","Open-source contributors needing clear commit messages"],"whatYouGet":"Get three Conventional Commit message variants for your code change in the format 'type(scope): subject' with a subject of 72 characters or less, written in the imperative mood.","sampleOutput":"Here are three conventional commit message variants:\n\n1. **fix(invoicing): add retry on Stripe 429s**\n2. **fix(billing): retry settle worker**\n3. **fix(invoice): retry on rate limits**"},"createdAt":"2026-06-28 11:47:35.7286+00"},{"id":461,"slug":"sprint-planning-board","name":"Sprint Planning Board","niche":"engineering","description":"A 2-week sprint board: capacity check, must-haves, stretch, parking lot.","inputFields":[{"key":"team","type":"text","label":"Team size and roles","required":true,"maxLength":200,"placeholder":"4 engineers, 1 designer, 1 PM. 2 engineers on call rotation."},{"key":"velocity","type":"text","label":"Recent velocity (avg points/sprint)","required":true,"maxLength":60,"placeholder":"Avg 32 points/sprint over last 3"},{"key":"backlog","type":"textarea","label":"Backlog items (title — points)","required":true,"maxLength":2000,"placeholder":"Invoice retry — 5\\nAdmin export CSV — 3\\nBilling email separate — 5\\nDark mode — 8\\nWebhooks v2 — 13"}],"systemPrompt":"You plan sprints honestly. Sections: Capacity (numbered math — total days, minus oncall/leave, in points), Must-do (numbered, sum within capacity), Stretch (numbered, accept only if Must-do finishes early), Parking lot, Risks. Numbers must add up; show the arithmetic. Banned: \"pushing through\", \"stretch goals\" without limits. Example — Bad: \"We'll push through and aim for all of it.\" Good: \"Capacity: 4 eng × 8 working days − 8 oncall days = 24 dev-days ≈ 32 points (velocity).\" Before responding: confirm the Must-do total ≤ velocity.","userPromptTemplate":"Team: {team}\nVelocity: {velocity}\nBacklog:\n{backlog}\n\nReturn the sprint board.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"A sprint planning board is a tool used to plan and organise work for a short period, typically 2 weeks. It helps teams prioritise tasks, estimate capacity, and identify potential risks.","q":"what is a sprint planning board"},{"a":"Velocity is calculated by averaging the number of points completed per sprint. For example, if your team completed 30 points in the last sprint, and 35 points in the sprint before that, your average velocity would be around 32.5 points per sprint.","q":"how do i calculate my team's velocity"},{"a":"Must-haves are essential tasks that must be completed within the sprint, while stretch goals are additional tasks that can be completed if time and resources allow. Stretch goals should only be considered if the must-haves are likely to be completed early.","q":"what is the difference between must-haves and stretch goals"},{"a":"The sprint planning board costs £1.00 and is available for purchase on Harnests.","q":"how much does the sprint planning board cost"},{"a":"To get a sprint planning board, you need to provide your team size and roles, recent velocity, and a list of backlog items with points. This information will be used to create a personalised sprint plan.","q":"what information do i need to provide to get a sprint planning board"},{"a":"The sprint planning board is generated instantly after you provide the required information and make the payment of £1.00 on Harnests.","q":"how long does it take to get a sprint planning board"}],"useCases":["Planning a new sprint with a changing team","Re-estimating velocity after a team member leaves","Prioritising backlog items for an upcoming release","Coordinating with stakeholders on sprint goals","Adjusting sprint scope due to unexpected leave or oncall days","Creating a personalised sprint plan for a distributed team"],"whoItsFor":["Scrum masters","Agile team leaders","Engineering managers","Product owners","Development team coordinators"],"whatYouGet":"Get a 2-week sprint board with capacity check, must-haves, stretch, and parking lot in a concise format.","sampleOutput":"**Sprint Board**\n\n### Capacity\nTotal days: 4 engineers × 8 working days = 32 days\nOncall/leave: 2 engineers on call rotation, assuming 4 days on call per engineer (average) = 8 oncall days\nAvailable days: 32 days - 8 oncall days = 24 days\nVelocity: 32 points/sprint (average over last 3 sprints)\nCapacity in points: 24 days × (32 points / 24 days) = 32 points (using historical velocity as a proxy)\n\n### Must-do\n1. Invoice retry — 5 points\n2. Admin export CSV — 3 points\n3. Billing email separate — 5 points\nTotal Must-do points: 5 + 3 + 5 = 13 points\n**Must-do total is within capacity: 13 points ≤ 32 points**\n\n### Stretch\n1. Dark mode — 8 points\n2. Webhooks v2 — 13 points\n**Accept only if Must-do finishes early**\n\n### Parking lot\nNone (all items are either Must-do or Stretch)\n\n### Risks\n* Oncall rotation may impact velocity\n* Design and PM resources may be bottlenecks for certain tasks\n\nThe Must-do total is within the team's capacity, leaving room for Stretch tasks if time allows."},"createdAt":"2026-06-28 11:47:36.116125+00"},{"id":462,"slug":"jira-ticket-splitter","name":"Jira Ticket Splitter","niche":"engineering","description":"A large ticket broken into 3-5 sub-tickets with titles, scope, and dependencies.","inputFields":[{"key":"title","type":"text","label":"Ticket title","required":true,"maxLength":200,"placeholder":"Rebuild onboarding flow"},{"key":"description","type":"textarea","label":"Ticket description","required":true,"maxLength":2500,"placeholder":"Replace 6-step modal with a 3-step flow. Includes new design, copy, telemetry, A/B test wiring, and rollback toggle."}],"systemPrompt":"You split big tickets into ones that can ship independently. 3–5 sub-tickets. Each: title (imperative), 1-paragraph scope, dependencies (which sub-ticket blocks it). End with \"Order of execution\" — a numbered list with reasoning. Banned: \"do everything in parallel\" without dependency analysis. Example — Bad: \"1. Frontend. 2. Backend. 3. Design.\" Good: \"1. Add telemetry hooks on existing flow (unblocks A/B measurement). Depends on: nothing. 2. Build new 3-step components. Depends on: 1.\" Before responding: confirm dependencies match the execution order.","userPromptTemplate":"Ticket: {title}\nDescription:\n{description}\n\nReturn the sub-tickets + execution order.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"You will get 3-5 sub-tickets, each with a title, scope, and dependencies. The exact number depends on the complexity of your original ticket.","q":"how many sub-tickets will i get"},{"a":"The output will be in a text format, with each sub-ticket including a title, a 1-paragraph scope, and dependencies.","q":"what format will the output be in"},{"a":"This Jira ticket splitter is designed for software development and engineering projects, but can be adapted for other complex tasks with multiple dependencies.","q":"can i use this for any type of project"},{"a":"The sub-tickets will be ordered with a numbered list, including reasoning for the order of execution, to ensure that dependencies are clearly identified and prioritized.","q":"how will the sub-tickets be ordered"}],"useCases":["When a large ticket needs to be split into smaller, manageable tasks","Before assigning tasks to team members to ensure clarity","During sprint planning to identify dependencies and priorities","When a project requires multiple stakeholders with different responsibilities","To improve team productivity by reducing complexity"],"whoItsFor":["Software development team leads","Project managers handling complex tasks","Engineering managers overseeing multiple projects","Product owners breaking down large features"],"whatYouGet":"You get 3-5 sub-tickets with titles, scope, and dependencies for £1.00, delivered in a text format.","sampleOutput":"Here are the sub-tickets for the \"Rebuild onboarding flow\" ticket:\n\n1. **Design new 3-step flow**: Redesign the onboarding flow to condense the existing 6-step modal into a more streamlined 3-step process, including new copy and visual design. Dependencies: none.\n2. **Add telemetry hooks on existing flow**: Implement telemetry hooks on the current 6-step onboarding flow to collect data that will be used for A/B testing and measurement. Dependencies: none.\n3. **Build new 3-step components**: Develop the new 3-step onboarding flow components, incorporating the new design and copy. Dependencies: 1 (Design new 3-step flow).\n4. **Implement A/B test wiring**: Set up the A/B testing framework to measure the effectiveness of the new 3-step onboarding flow. Dependencies: 2 (Add telemetry hooks on existing flow).\n5. **Add rollback toggle and deploy**: Implement a rollback toggle to easily switch between the old and new onboarding flows, and deploy the new 3-step flow. Dependencies: 3 (Build new 3-step components), 4 (Implement A/B test wiring).\n\nOrder of execution:\n1. **Design new 3-step flow**: This sub-ticket has no dependencies and should be completed first to provide a clear direction for the rest of the work.\n2. **Add telemetry hooks on existing flow**: This sub-ticket also has no dependencies and can be worked on concurrently with the design sub-ticket, but it's essential to complete it before implementing the new flow to ensure data collection.\n3. **Build new 3-step components**: This sub-ticket depends on the design sub-ticket, so it should be completed after the design is finalized.\n4. **Implement A/B test wiring**: This sub-ticket depends on the telemetry hooks sub-ticket, as it relies on the data collected by those hooks.\n5. **Add rollback toggle and deploy**: This sub-ticket depends on the completion of the new 3-step components and A/B test wiring, so it should be completed last to ensure a smooth deployment and rollback process.\n\nThe dependencies match the execution order, ensuring that each sub-ticket is completed before the ones that depend on it."},"createdAt":"2026-06-28 11:47:36.160155+00"},{"id":460,"slug":"acceptance-criteria-generator","name":"Acceptance Criteria Generator","niche":"engineering","description":"5 acceptance criteria for your user story, written as Given/When/Then.","inputFields":[{"key":"story","type":"textarea","label":"User story","required":true,"maxLength":800,"placeholder":"As a customer, I want to update my billing email separately from my login email, so that finance receipts go to my accounts team."}],"systemPrompt":"You write acceptance criteria that QA can run unmodified. Output exactly 5 GWT criteria. Each independently testable. Cover at least one happy path, one edge case, one error case. Banned: \"should work\", \"the user can perform actions\". Example — Bad: \"1. The system should work for billing emails.\" Good: \"1. Given my billing email differs from my login email, When an invoice generates, Then the invoice PDF is sent to my billing email only.\" Before responding: confirm exactly 5 numbered criteria, all in Given/When/Then form.","userPromptTemplate":"Story: {story}\n\nReturn 5 numbered Given/When/Then criteria.","model":"claude-haiku-4-5-20251001","maxTokens":400,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"You'll receive 5 acceptance criteria in Given/When/Then format, each independently testable. The criteria cover at least one happy path, one edge case, and one error case.","q":"what is the format of the acceptance criteria"},{"a":"You'll get exactly 5 numbered acceptance criteria, each written in a clear and concise Given/When/Then format.","q":"how many acceptance criteria will i get"},{"a":"Yes, the acceptance criteria are written in a way that QA can run them unmodified, making it easy to test your software features.","q":"can i use the acceptance criteria for testing"},{"a":"Generating acceptance criteria with Harnests costs £1.00, providing a cost-effective way to refine your user stories and test cases.","q":"how much does it cost to generate acceptance criteria"}],"title":"Acceptance Criteria Generator (Gherkin)","useCases":["Defining test cases for a new software feature","Refining user stories for an agile sprint","Creating test scripts for a critical software component","Validating software behaviour against user requirements","Developing acceptance criteria for a complex system integration"],"whoItsFor":["Software developers writing user stories","QA engineers testing software features","Product owners defining acceptance criteria","Agile team members refining user stories"],"whatYouGet":"Get 5 acceptance criteria for your user story in Given/When/Then format, covering happy paths, edge cases, and error cases.","description":"Turn a user story into clean Given/When/Then acceptance criteria in seconds, ready for your backlog. Free to preview, £1 for the set.","sampleOutput":"1. Given my billing email differs from my login email, When an invoice generates, Then the invoice PDF is sent to my billing email only.\n2. Given my billing email is the same as my login email, When I update my billing email to a new address, Then the new billing email is saved and displayed in my account settings.\n3. Given I have not provided a billing email, When I attempt to generate an invoice, Then an error message is displayed prompting me to enter a valid billing email.\n4. Given my billing email contains a typo, When I update my billing email, Then an error message is displayed indicating that the email address is invalid and cannot be saved.\n5. Given I have successfully updated my billing email, When I reset my login email, Then my billing email remains unchanged and invoices continue to be sent to the billing email address."},"createdAt":"2026-06-28 11:47:36.072373+00"},{"id":468,"slug":"api-mock-response-generator","name":"API Mock Response Generator","niche":"engineering","description":"A realistic mock JSON response matching your endpoint spec.","inputFields":[{"key":"endpoint","type":"text","label":"Endpoint description","required":true,"maxLength":200,"placeholder":"GET /v1/orders/{id}"},{"key":"fields","type":"textarea","label":"Field list (name, type, notes)","required":true,"maxLength":2000,"placeholder":"id: uuid\\ncustomer: { id: uuid, name: string, email: string }\\nitems: [{ sku: string, qty: int, price_cents: int }]\\ntotal_cents: int\\ncreated_at: ISO date\\nstatus: enum (pending, paid, refunded)"}],"systemPrompt":"You generate realistic JSON mock responses. Output ONE JSON object, no surrounding prose. Realistic values: UUIDs that look like UUIDs, ISO-8601 dates, plausible names/emails (not \"string1\"), money in stated units. Include nullable fields with reasonable defaults. Banned: placeholder strings like \"TODO\", \"example value\". Example — Bad: { \"name\": \"string\", \"email\": \"user@example.com\" } Good: { \"name\": \"Aisha Patel\", \"email\": \"aisha.patel@ravenhall.co.uk\" }. Before responding: confirm the JSON parses and every field listed is present.","userPromptTemplate":"Endpoint: {endpoint}\nFields:\n{fields}\n\nReturn the mock JSON only.","model":"claude-haiku-4-5-20251001","maxTokens":500,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The mock response is in JSON format, with realistic values such as UUIDs, ISO-8601 dates, and plausible names and emails. The response is a single JSON object.","q":"what format is the mock response in"},{"a":"You can customise the mock response by providing your endpoint spec, including the fields you want to include, and we'll generate a realistic JSON mock response based on that. You can provide the endpoint description and field list, including names, types, and notes.","q":"can i customise the mock response"},{"a":"The API Mock Response Generator costs £1.00 per use, and you'll receive a realistic JSON mock response matching your endpoint spec.","q":"how much does it cost"},{"a":"You can use the API Mock Response Generator multiple times, each time generating a new realistic JSON mock response based on your endpoint spec, for £1.00 per use.","q":"what if i need multiple mock responses"}],"useCases":["Testing API integrations with a third-party service","Mocking API responses for a proof-of-concept demo","Debugging API issues in a development environment","Creating automated tests for API endpoints","Simulating real-world API data for testing purposes","Developing a prototype with mock API data"],"whoItsFor":["Backend developers testing API integrations","Frontend developers mocking API responses","QA engineers testing API behaviour","Full-stack developers debugging API issues"],"whatYouGet":"Get a realistic JSON mock response matching your endpoint spec, including UUIDs, ISO-8601 dates, and plausible names and emails, for £1.00.","sampleOutput":"{\n \"id\": \"f47ac10b-58cc-475f-94a2-54a3bbd80f3a\",\n \"customer\": {\n \"id\": \"9b6d1e4c-5a2a-42b2-8f2a-1624a3447644\",\n \"name\": \"Eleanor Patel\",\n \"email\": \"eleanor.patel@marchant.io\"\n },\n \"items\": [\n {\n \"sku\": \"PROD-12345\",\n \"qty\": 2,\n \"price_cents\": 1999\n },\n {\n \"sku\": \"PROD-67890\",\n \"qty\": 1,\n \"price_cents\": 499\n }\n ],\n \"total_cents\": 4497,\n \"created_at\": \"2022-07-22T14:30:00Z\",\n \"status\": \"paid\"\n}"},"createdAt":"2026-06-28 11:47:36.44041+00"},{"id":458,"slug":"test-case-generator","name":"Test Case Generator","niche":"engineering","description":"A set of test cases for a function or feature — happy path, edges, errors.","inputFields":[{"key":"subject","type":"textarea","label":"Function signature or feature description","required":true,"maxLength":2000,"placeholder":"function applyDiscount(price: number, code: string): { total: number, applied: boolean }. Codes: SAVE10 (10%), FREESHIP (5GBP off), SUMMER (expired May 31)."}],"systemPrompt":"You design test cases that catch real bugs. Output 3 sections: Happy path (2–3 tests), Edge cases (3–5), Error/invalid (2–4). Each test: name + 1-line description + given/when/then in plain English. Framework-agnostic — describe behaviour, not syntax. Banned: \"test that it works\", \"should work correctly\". Example — Bad: \"1. Test that the discount works.\" Good: \"1. SAVE10 on 100 GBP gives 90 GBP. Given price=100 and code=\\\"SAVE10\\\". When applyDiscount runs. Then total=90 and applied=true.\" Before responding: confirm every test has Given/When/Then.","userPromptTemplate":"Subject:\n{subject}\n\nReturn the test cases by section.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"You'll get 3 sections of test cases: happy path, edge cases, and error/invalid, with 2-4 tests in each section, all in plain English. Each test includes a name, description, and given/when/then conditions.","q":"what is included in the test cases?"},{"a":"You'll get a total of 7-12 test cases, divided into happy path, edge cases, and error/invalid sections. The exact number of tests will depend on the complexity of the function or feature being tested.","q":"how many test cases will i get?"},{"a":"Yes, the test cases are framework-agnostic, focusing on describing behaviour rather than syntax. This means you can apply them to your specific testing framework or programming language.","q":"are the test cases framework-agnostic?"},{"a":"The test cases cost £1.00, providing a cost-effective way to get started with testing your software or feature.","q":"how much do the test cases cost?"}],"title":"Test Case Generator — From Requirements","useCases":["When you need to test a new function or feature quickly","Before deploying code changes to production","To ensure your software handles edge cases correctly","When reviewing pull requests from team members","To identify and fix bugs early in the development cycle"],"whoItsFor":["Software developers writing unit tests","Quality assurance engineers testing new features","Technical leads reviewing code changes","DevOps engineers ensuring system reliability","Test engineers creating validation scripts"],"whatYouGet":"You'll get a set of test cases in plain English, including happy path, edge cases, and error/invalid tests, all for £1.00.","description":"Turn requirements into clear, structured test cases in seconds — positive, negative, and edge cases covered. Free to preview.","sampleOutput":"### Happy Path\n1. SAVE10 on 100 GBP gives 90 GBP. Given price=100 and code=\"SAVE10\". When applyDiscount runs. Then total=90 and applied=true.\n2. FREESHIP on 100 GBP gives 95 GBP. Given price=100 and code=\"FREESHIP\". When applyDiscount runs. Then total=95 and applied=true.\n3. SUMMER on 100 GBP gives 100 GBP as it's expired. Given price=100 and code=\"SUMMER\" and current date is after May 31. When applyDiscount runs. Then total=100 and applied=false.\n\n### Edge Cases\n1. Zero price with SAVE10. Given price=0 and code=\"SAVE10\". When applyDiscount runs. Then total=0 and applied=true.\n2. Negative price with FREESHIP. Given price=-100 and code=\"FREESHIP\". When applyDiscount runs. Then total=-100 and applied=false, or an error is thrown.\n3. Unknown code. Given price=100 and code=\"UNKNOWN\". When applyDiscount runs. Then total=100 and applied=false.\n4. Empty code. Given price=100 and code\"\". When applyDiscount runs. Then total=100 and applied=false.\n5. SUMMER on 100 GBP before expiration. Given price=100 and code=\"SUMMER\" and current date is before May 31. When applyDiscount runs. Then a specific discount is applied and applied=true.\n\n### Error/Invalid\n1. Non-numeric price with SAVE10. Given price=\"abc\" and code=\"SAVE10\". When applyDiscount runs. Then an error is thrown.\n2. Null price with FREESHIP. Given price=null and code=\"FREESHIP\". When applyDiscount runs. Then an error is thrown.\n3. Null code. Given price=100 and code=null. When applyDiscount runs. Then total=100 and applied=false, or an error is thrown.\n4. Very large price. Given price=1e309 and code=\"SAVE10\". When applyDiscount runs. Then an error is thrown or total is correctly calculated if the system can handle large numbers."},"createdAt":"2026-06-28 11:47:35.914392+00"},{"id":459,"slug":"user-story-writer","name":"User Story Writer","niche":"engineering","description":"Three user stories for a feature in the As a / I want / So that format, with acceptance criteria.","inputFields":[{"key":"feature","type":"textarea","label":"Feature description","required":true,"maxLength":1000,"placeholder":"Let admins export the customer list to CSV from the dashboard."}],"systemPrompt":"You write user stories that a developer can estimate from. Output 3 numbered stories. Each: title, \"As a [persona] I want [capability] so that [outcome]\" sentence, and 3 acceptance criteria in Given/When/Then. Each criterion independently testable. Banned: \"the system should\", \"user can do stuff\". Example — Bad: \"1. Export. As a user I want to export. So that I can export.\" Good: \"1. Admin exports filtered customer list. As an admin, I want to export the customer list filtered by plan, so that finance can reconcile by tier. Given I have filtered to \\\"Pro plan\\\", When I click Export CSV, Then I receive a download with only Pro plan rows.\" Before responding: confirm every story has 3 GWT criteria.","userPromptTemplate":"Feature: {feature}\n\nReturn the 3 user stories with acceptance criteria.","model":"claude-haiku-4-5-20251001","maxTokens":500,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The user stories are delivered in a text format, with each story including a title, As a / I want / So that sentence, and three acceptance criteria in Given/When/Then format.","q":"what format do the user stories come in"},{"a":"You get three user stories, each with a title, As a / I want / So that sentence, and three acceptance criteria.","q":"how many user stories do i get"},{"a":"You can provide a feature description as input, which will be used to generate the user stories. The output will be three user stories tailored to your feature.","q":"can i customise the user stories"},{"a":"The User Story Writer service costs £1.00, providing you with three user stories in the As a / I want / So that format with acceptance criteria.","q":"how much does it cost"}],"useCases":["Defining a new login feature for your web application","Gathering requirements for a mobile app's payment gateway","Planning a sprint for a new e-commerce website's development","Estimating tasks for a software development project","Creating a product backlog for an agile development team"],"whoItsFor":["Product owners defining new features","Business analysts gathering requirements","Scrum masters planning sprints","Software developers estimating tasks"],"whatYouGet":"You get three user stories in the As a / I want / So that format with acceptance criteria, helping developers estimate your feature's requirements. Delivered in a text format.","sampleOutput":"Here are three user stories for the feature:\n\n1. Admin exports entire customer list.\nAs an admin, I want to export the entire customer list to a CSV file, so that I can analyze customer data in bulk.\nGiven I am on the dashboard page, When I click the Export CSV button, Then I receive a download with all customer rows.\nGiven the customer list has over 100 rows, When I click the Export CSV button, Then the download contains all customer rows without truncation.\nGiven I have no filters applied, When I click the Export CSV button, Then the download includes all columns for each customer.\n\n2. Admin exports filtered customer list.\nAs an admin, I want to export the customer list filtered by plan, so that finance can reconcile by tier.\nGiven I have filtered to \"Pro plan\", When I click Export CSV, Then I receive a download with only Pro plan rows.\nGiven I have filtered to multiple plans, When I click Export CSV, Then I receive a download with rows from all selected plans.\nGiven a filter is applied to a specific date range, When I click Export CSV, Then the download only includes customers within that date range.\n\n3. Admin exports customer list with custom columns.\nAs an admin, I want to export the customer list with custom columns, so that I can select the specific data I need.\nGiven I have selected specific columns to export, When I click Export CSV, Then the download only includes the selected columns.\nGiven I have added a custom column for \"Customer Notes\", When I click Export CSV, Then the download includes the \"Customer Notes\" column.\nGiven the custom columns are in a specific order, When I click Export CSV, Then the download reflects the same column order."},"createdAt":"2026-06-28 11:47:36.027637+00"},{"id":465,"slug":"kubernetes-yaml-reviewer","name":"Kubernetes YAML Reviewer","niche":"engineering","description":"A safety + resilience review of a Kubernetes manifest with prioritised findings.","inputFields":[{"key":"yaml","type":"textarea","label":"Paste the manifest","required":true,"maxLength":6000,"placeholder":"apiVersion: apps/v1\\nkind: Deployment\\nmetadata:\\n name: payments-api\\nspec:\\n replicas: 3\\n ..."}],"systemPrompt":"You review Kubernetes manifests for safety and resilience. Findings sorted High / Medium / Low. Each: kind/name + line ref, what's wrong, suggested fix. Cover: resource limits, liveness/readiness probes, image tag pinning, secrets handling, security context, replica strategy. Skip cosmetic nits. Banned: \"consider\", \"might want to\". Example — Bad: \"Consider adding resource limits.\" Good: \"Deployment/payments-api (no limits) — pod can consume the node. Fix: set resources.limits.memory: 512Mi, resources.limits.cpu: 500m.\" Before responding: confirm every finding names the kind/name and a concrete fix.","userPromptTemplate":"YAML:\n{yaml}\n\nReturn the review by severity.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The review includes findings on resource limits, liveness and readiness probes, image tag pinning, secrets handling, security context, and replica strategy. You'll receive a prioritised list of issues, each with a suggested fix.","q":"what does the kubernetes yaml review include"},{"a":"The Kubernetes YAML review costs £1.00, providing a cost-effective way to ensure your manifest is safe and resilient.","q":"how much does the kubernetes yaml review cost"},{"a":"The review is delivered in a concise format, with each finding including the kind and name of the affected resource, a description of the issue, and a suggested fix.","q":"what format is the review delivered in"},{"a":"Yes, you'll need to provide your Kubernetes manifest in YAML format. Simply paste the manifest into the provided textarea, and the review will be generated based on that input.","q":"do i need to provide any information for the review"}],"useCases":["When deploying a new application to a Kubernetes cluster","Before migrating existing infrastructure to a cloud-based environment","After making significant changes to a Kubernetes manifest","When troubleshooting performance issues in a Kubernetes deployment","As part of regular security audits and compliance checks","Before handing over a project to a new team or contractor"],"whoItsFor":["DevOps engineers","Kubernetes administrators","Cloud infrastructure managers","Containerisation specialists","Engineering team leads"],"whatYouGet":"A prioritised review of your Kubernetes manifest with findings on safety and resilience, delivered in a concise format.","sampleOutput":"**High**\n1. Deployment/payments-api (line 5) — no resource limits set, pod can consume the node. Fix: add `resources: { limits: { memory: \"512Mi\", cpu: \"500m\" } }` to the container spec.\n2. Deployment/payments-api (line 5) — no liveness probe configured, deployment may not detect and restart failed pods. Fix: add `livenessProbe: { httpGet: { path: /health, port: 80 }, initialDelaySeconds: 15, periodSeconds: 15 }` to the container spec.\n3. Deployment/payments-api (line 5) — no readiness probe configured, deployment may send traffic to pods before they are ready. Fix: add `readinessProbe: { httpGet: { path: /health, port: 80 }, initialDelaySeconds: 5, periodSeconds: 10 }` to the container spec.\n\n**Medium**\n1. Deployment/payments-api (line 5) — replica strategy is fixed to 3 replicas, may not scale with demand. Fix: use a HorizontalPodAutoscaler (HPA) to scale replicas based on CPU utilization: `apiVersion: autoscaling/v2, kind: HorizontalPodAutoscaler, metadata: { name: payments-api-hpa }, spec: { selector: { matchLabels: { app: payments-api } }, minReplicas: 3, maxReplicas: 10, metrics: [ { type: Resource, resource: { name: cpu, target: { type: Utilization, averageUtilization: 50 } } } ] }`.\n2. Deployment/payments-api (line 5) — no security context configured, pod may run with elevated privileges. Fix: add `securityContext: { runAsUser: 1000, fsGroup: 1000 }` to the container spec.\n\n**Low**\n1. Deployment/payments-api (line 5) — no image tag pinning, may pull latest image which could introduce breaking changes. Fix: specify a fixed image tag, e.g. `image: payments-api:1.2.3`.\n2. Deployment/payments-api (line 5) — no secrets handling, sensitive data may be exposed. Fix: use Kubernetes secrets to store sensitive data, e.g. `env: [ { name: DB_PASSWORD, valueFrom: { secretKeyRef: { name: db-credentials, key: password } } } ]`."},"createdAt":"2026-06-28 11:47:36.301903+00"},{"id":466,"slug":"dockerfile-optimizer-review","name":"Dockerfile Optimizer Review","niche":"engineering","description":"Concrete improvements to a Dockerfile — layer order, cache hits, image size, security.","inputFields":[{"key":"dockerfile","type":"textarea","label":"Paste your Dockerfile","required":true,"maxLength":4000,"placeholder":"FROM node:20\\nWORKDIR /app\\nCOPY . .\\nRUN npm install\\nCMD [\"node\", \"server.js\"]"}],"systemPrompt":"You optimise Dockerfiles concretely. Numbered list of changes. Each: line ref in the original, what to change, why (cache / image-size / security / reproducibility). End with an estimated image-size delta if obvious. Banned: \"best practice\", \"consider switching\". Example — Bad: \"Consider switching to a smaller base for best practice.\" Good: \"Line 1 — change `FROM node:20` to `FROM node:20-alpine` (saves ~700MB).\" Before responding: confirm every change cites a line and a quantifiable benefit.","userPromptTemplate":"Dockerfile:\n{dockerfile}\n\nReturn the optimisation review.","model":"claude-haiku-4-5-20251001","maxTokens":500,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"You'll get a numbered list of concrete improvements to your Dockerfile, including changes to layer order, cache hits, image size, and security, with estimated image-size deltas where applicable. Each change will be justified with a specific reason, such as cache, image-size, security, or reproducibility.","q":"what will i get from this dockerfile optimiser"},{"a":"The cost to optimise your Dockerfile is £1.00. You'll get a list of improvements with line references and quantifiable benefits for this price.","q":"how much does it cost to optimise my dockerfile"},{"a":"You need to provide your Dockerfile by pasting it into the textarea. Our system will then generate a list of concrete improvements for you.","q":"what do i need to provide to get my dockerfile optimised"},{"a":"The optimiser will suggest changes to your Dockerfile, including alternative base images, where it can provide a quantifiable benefit, such as reducing image size by a specific amount, e.g., 'change `FROM node:20` to `FROM node:20-alpine` (saves ~700MB)'.","q":"will the optimiser suggest alternative base images"}],"useCases":["When deploying a new application and needing to reduce Docker image size","While troubleshooting slow container startup times due to inefficient Dockerfiles","Before releasing a critical security patch to ensure Dockerfile security","After noticing increased storage costs due to large Docker images","When migrating applications to a new cloud provider with strict image size limits"],"whoItsFor":["DevOps engineers optimising containerised applications","Cloud architects reducing image sizes","Software developers improving Dockerfile security","Containerisation specialists enhancing cache hits"],"whatYouGet":"Get a list of concrete improvements to your Dockerfile, including layer order, cache hits, image size, and security. You'll receive a numbered list of changes with line references and quantifiable benefits.","sampleOutput":"Here's the optimization review:\n\n1. Line 1 — change `FROM node:20` to `FROM node:20-alpine` (saves ~700MB, image-size).\n2. Line 3 — change `COPY . .` to `COPY package*.json ./` (improves cache, reduces unnecessary file copying).\n3. Line 4 — change `RUN npm install` to `RUN npm ci` (improves reproducibility, ensures consistent dependencies).\n4. No change to Line 5, as it's a simple command to run the application.\n\nEstimated image-size delta: -700MB (due to the smaller base image)."},"createdAt":"2026-06-28 11:47:36.346204+00"},{"id":467,"slug":"security-risk-summary","name":"Security Risk Summary","niche":"engineering","description":"A short security risk summary for a change or feature — assets, threats, top mitigations.","inputFields":[{"key":"change","type":"textarea","label":"Feature or change description","required":true,"maxLength":1500,"placeholder":"Adding public CSV export of customer order history accessible to admins via the dashboard."},{"key":"data","type":"textarea","label":"Data touched","required":true,"maxLength":600,"placeholder":"Customer name, email, postcode, order total, payment-method last4."}],"systemPrompt":"You write security risk summaries for non-security engineers. Sections: Assets at risk, Threats (each tagged S/T/R/I/D/E from STRIDE), Top 3 mitigations, Open questions. ≤300 words. Concrete; no theatre. Banned: \"hackers\", \"data breach\" without scenario. Example — Bad: \"Hackers could cause a data breach.\" Good: \"Information disclosure (I) — CSV exports could be opened by support staff, exposing card last4 to roles that shouldn't see it. Mitigation: redact last4 in the support role.\" Before responding: confirm each threat is tagged with a STRIDE letter and paired with a mitigation.","userPromptTemplate":"Change: {change}\nData touched: {data}\n\nReturn the security risk summary.","model":"claude-haiku-4-5-20251001","maxTokens":500,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"A security risk summary is a concise document that outlines the potential security risks associated with a change or feature, including assets at risk, threats, and recommended mitigations. It's typically ≤300 words and focuses on concrete, scenario-based threats.","q":"what is a security risk summary"},{"a":"The security risk summary is ≤300 words, making it a quick and easy read for non-security engineers and other stakeholders.","q":"how long is the security risk summary"},{"a":"The security risk summary includes sections on assets at risk, threats (tagged with S/T/R/I/D/E from STRIDE), top 3 mitigations, and open questions, providing a comprehensive overview of the security risks associated with a change or feature.","q":"what is included in the security risk summary"},{"a":"The security risk summary costs £1.00, providing a cost-effective way to assess and mitigate security risks in your project or feature.","q":"how much does the security risk summary cost"}],"useCases":["When introducing a new feature that touches sensitive data","Before deploying a change that affects user authentication","When assessing the security impact of a third-party library","During code reviews for high-risk components","When creating a security plan for a new project","Before releasing a patch for a known vulnerability"],"whoItsFor":["Non-security engineers","Development team leads","Product owners","Engineering managers","Technical architects"],"whatYouGet":"A concise security risk summary in ≤300 words, covering assets at risk, threats, and top 3 mitigations, in a concrete and scenario-based format.","sampleOutput":"**Assets at risk**: Customer personal and financial information, including name, email, postcode, order total, and payment method last4.\n\n**Threats**:\n* Information disclosure (I): CSV exports could be opened by unauthorized admins or roles that shouldn't see sensitive customer information, such as support staff, exposing customer personal and financial data.\n* Elevation of privilege (E): Admins may attempt to use the exported data to gain unauthorized access to customer accounts or payment information.\n* Tampering (T): Malicious admins could modify the exported data, potentially altering customer information or order history for malicious purposes.\n\n**Top 3 mitigations**:\n1. Redact sensitive fields: Remove or redact the last4 field from the CSV export to prevent exposure of sensitive payment information.\n2. Role-based access control: Restrict access to the CSV export feature to only authorized admin roles that require it, and limit the scope of data accessible to each role.\n3. Audit and monitoring: Implement logging and monitoring to track access to and modifications of the CSV exports, detecting potential misuse or tampering.\n\n**Open questions**:\n* What additional measures can be taken to ensure the secure storage and transmission of the exported CSV files?\n* How will access to the CSV export feature be reviewed and updated to ensure it aligns with changing business requirements and admin roles?"},"createdAt":"2026-06-28 11:47:36.394367+00"},{"id":471,"slug":"technical-debt-report","name":"Technical Debt Report","niche":"engineering","description":"A short report identifying top technical debt items with severity and payoff.","inputFields":[{"key":"context","type":"textarea","label":"Codebase + team context","required":true,"maxLength":1000,"placeholder":"4-eng team on a 6-year-old Node monolith. 30% of incidents trace to one legacy module."},{"key":"debt","type":"textarea","label":"Suspected debt items (notes are fine)","required":true,"maxLength":2000,"placeholder":"Legacy billing module — no tests, owns refunds. ORM mixed (Sequelize + raw SQL). Hand-rolled auth. ESM/CJS mixed imports."}],"systemPrompt":"You report technical debt with the directness of a senior engineer who has to estimate it. 5 items max. Each: title, what it costs today (concrete: hours/incidents/blockers), severity (H/M/L), suggested payoff move, rough effort (S/M/L). Don't pad — 3 well-defined items beats 5 vague ones. Banned: \"tech debt is a problem\", \"legacy code\". Example — Bad: \"Legacy code is a problem.\" Good: \"Hand-rolled auth (severity H). Cost: 4 of last 6 incidents traced here, 2 weeks of contractor time on a CVE last quarter. Payoff: migrate to Auth.js. Effort: M.\" Before responding: confirm each item names a concrete cost.","userPromptTemplate":"Context: {context}\nSuspected debt:\n{debt}\n\nReturn the ranked debt report.","model":"claude-haiku-4-5-20251001","maxTokens":600,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"Technical debt refers to the cost of implementing quick fixes or workarounds that need to be revisited later. This report helps you identify and prioritise these items. You'll receive a list of up to 5 key debt items, including title, cost, severity, suggested payoff move, and rough effort required.","q":"what is technical debt"},{"a":"The report is concise and to the point, listing up to 5 key technical debt items. Each item includes title, cost, severity, suggested payoff move, and rough effort required, providing you with a clear understanding of the technical debt in your codebase.","q":"how long is the technical debt report"},{"a":"You'll need to provide context about your codebase and team, as well as any suspected technical debt items you've noted. This will help the report identify the most critical technical debt items. You can provide this information in the context and debt text areas.","q":"what information do i need to provide for the report"},{"a":"The technical debt report costs £1.00. For this price, you'll receive a concise report identifying up to 5 key technical debt items, including title, cost, severity, suggested payoff move, and rough effort required.","q":"how much does the technical debt report cost"}],"useCases":["When onboarding to a new codebase and needing to prioritise technical debt","Before a major release to identify and address critical technical debt items","During code reviews to identify potential technical debt","When experiencing recurring incidents or blockers in the codebase","When planning a refactor or major overhaul of the codebase"],"whoItsFor":["Senior software engineers","Technical team leads","DevOps engineers","Engineering managers","Technical architects"],"whatYouGet":"A concise report identifying top technical debt items with severity and payoff, delivered in a straightforward format. You'll receive a list of up to 5 key debt items, including title, cost, severity, suggested payoff move, and rough effort required.","sampleOutput":"Here's a ranked technical debt report:\n\n1. **Hand-rolled auth (severity H)**: Cost: 4 of last 6 incidents traced here, 2 weeks of contractor time on a CVE last quarter. Payoff: migrate to Auth.js. Effort: M.\n2. **Legacy billing module (severity H)**: Cost: 30% of incidents (approx. 12 hours/month of eng time), 1 week of eng time last month on a refund issue. Payoff: refactor to use a testing framework and consider a dedicated billing service. Effort: L.\n3. **Mixed ORM usage (severity M)**: Cost: 2 incidents last quarter due to Sequelize and raw SQL inconsistencies, 4 hours of eng time spent on debugging. Payoff: standardize on Sequelize and remove raw SQL queries. Effort: S.\n\nI excluded the ESM/CJS mixed imports as it's not directly tied to a concrete cost, and while it's an issue, it's not as severe as the other three. If you'd like to include it, here's a possible addition:\n\n4. **ESM/CJS mixed imports (severity L)**: Cost: 1 incident last quarter due to import issues, 2 hours of eng time spent on resolving. Payoff: migrate to a consistent import style (e.g., ESM). Effort: S.\n\nNote that the effort and payoff for each item are rough estimates and may vary depending on the specifics of your project."},"createdAt":"2026-06-28 11:47:36.639658+00"},{"id":463,"slug":"release-notes-builder","name":"Release Notes Builder","niche":"engineering","description":"Customer-facing release notes from your changelog or PR list.","inputFields":[{"key":"version","type":"text","label":"Release version / tag","required":true,"maxLength":60,"placeholder":"v2.4.0 — 12 August 2026"},{"key":"changes","type":"textarea","label":"Raw changes (PR titles, commit messages, or notes)","required":true,"maxLength":4000,"placeholder":"feat(billing): retry invoices on Stripe 429\\nfix(login): mobile keyboard covers password field\\nchore(deps): bump react to 19.0.0"}],"systemPrompt":"You write release notes that customers actually read. Three sections marked exactly: ✨ New, 🛠 Improved, 🐛 Fixed. Each entry ≤1 line, customer-language (not the commit message). Skip internal-only (deps bumps, refactors) unless customer-visible. No other emoji. Banned: \"various improvements\", \"miscellaneous fixes\". Example — Bad: \"🛠 Improved: various improvements.\" Good: \"🐛 Fixed: mobile keyboard no longer covers the password field on the login screen.\" Before responding: confirm the three section markers exist (with the exact emoji).","userPromptTemplate":"Version: {version}\nChanges:\n{changes}\n\nReturn the release notes.","model":"claude-haiku-4-5-20251001","maxTokens":500,"priceGbp":1,"isActive":true,"outputType":"text","imageSize":null,"subcategory":"General","seo":{"faq":[{"a":"The release notes come in a plain text format with three sections marked: New, Improved, and Fixed. Each entry is one line or less, written in customer-friendly language.","q":"what format do the release notes come in"},{"a":"You get your release notes instantly for £1, as soon as you provide the required version and changes information.","q":"how long does it take to get the release notes"},{"a":"The release notes are generated based on the version and changes you provide, following a standard three-section format, with no additional customisation options available.","q":"can i customise the release notes"},{"a":"Include changes that are customer-visible, such as new features, improvements, and fixes, and exclude internal-only changes like dependency bumps and refactors.","q":"what kind of changes should i include"}],"useCases":["Releasing a new feature to customers","Documenting bug fixes for a software update","Informing users about changes to a mobile app","Creating release notes for a web application update","Notifying customers of security patches and improvements"],"whoItsFor":["Software developers releasing new versions","Product managers updating customers on changes","Engineering teams documenting fixes and improvements"],"whatYouGet":"Get customer-facing release notes in a three-section format, including New, Improved, and Fixed changes, for £1.","sampleOutput":"## ✨ New\nNo new features in this release.\n\n## 🛠 Improved\nNo improvements in this release.\n\n## 🐛 Fixed\nMobile keyboard no longer covers the password field on the login screen."},"createdAt":"2026-06-28 11:47:36.204398+00"}]}