Grok Bot Skills, Routines and Templates: Build a Repeatable Workflow
A Grok Bot skill defines how to do a task; a routine defines when to run it. Use these original specifications and failure tests to build a repeatable workflow.
Co-founder of Ampliflow. Builds AI automation, websites, SEO/AEO, and growth systems for UK SMEs.

A Grok Bot skill defines how work should be done; a routine defines when a Bot should run it. A useful template supplies a starting method, but still needs your sources, boundaries and acceptance tests.
Start with a completed task you can inspect. Save the method, test a different input and then decide whether it deserves a schedule. This guide supplies original specifications for that process, not a claim that the templates have been tested inside a Grok Bot account.
Product references were checked on 6 September 2026. Use the main Grok Bot guide for installation, accounts, files and permissions.
Download the starter pack (Markdown). It contains a Bot profile, a reusable skill specification, a routine request and a failure-test checklist. It is readable text to adapt in the app, not a one-click import or executable configuration.
Decide what belongs in a skill
A task message names today's work. A reusable method explains what should remain true when the input changes.
For example, “summarise this report” is a task. A reporting skill defines the reporting period, source precedence, calculation rules, missing-data response and output structure. Those decisions make the next report comparable with the first.
| Put in the reusable method | Supply for each run |
|---|---|
| Required columns and validation rules | Current source file |
| How to handle contradictory evidence | Reporting dates |
| What must never be changed | Approved account or project |
| Output sections and evidence requirements | Destination and reviewer |
| Conditions that stop the workflow | Task reference |
Avoid embedding a customer secret or an expiring login detail in the method. Separate sensitive account access from the instructions describing the job.
Save and invoke the method
The official skills documentation describes asking a Bot to save a successful process as a skill. The desktop / menu references saved skills. Private skills can be enabled for individual Bots under Settings → Plugins → Yours.
Ask it to save the following specification after you have adapted and tested the task. Then open the resulting skill and compare it with what you requested. A confirmation message alone does not establish that all the boundaries were preserved.
textCreate a reusable skill called Weekly report review.
Use when: an approved weekly CSV is supplied for review.
Required inputs: current CSV, period start and end, metric definitions,
the previous comparable period, and an output destination.
Method:
1. Check that the files and required columns exist.
2. Confirm that both periods use the same metric definitions.
3. Identify missing rows, duplicate identifiers and incomplete periods.
4. Calculate changes only for comparable values.
5. Keep observed changes separate from possible explanations.
Output:
- Period and sources used.
- Exceptions with row references or source links.
- Calculations with enough detail for a reviewer to reproduce them.
- Questions requiring a person to decide.
Stop conditions:
- Missing required inputs: list them and stop.
- Conflicting definitions: explain the conflict; do not invent a mapping.
- No current data: report no current data; do not reuse last week's silently.
Boundary: create a new draft result; do not alter originals or contact anyone.This specification is intentionally independent of a particular database or application. Add the actual source columns and definitions before using it. A generic instruction cannot decide whether two business metrics mean the same thing.
A reporting skill with a checkable answer
Download the synthetic weekly-report dataset (CSV). It contains four rows covering two channels and two complete example weeks. These are invented training numbers, with no connection to Ampliflow's results or a client's data.
For this exercise, an enquiry is a received enquiry and a qualified enquiry is one marked qualified under the same definition in both periods. Each period-and-channel pair must appear once. Add those definitions and the actual column names to the skill above.
Ask the Bot to compare the week beginning 17 August 2026 with the week beginning 10 August 2026. Return totals, qualification rates, absolute changes and relative changes, with calculations. Do not infer the cause of a change.
| Metric | Previous week | Current week |
|---|---|---|
| Enquiries | 120 | 150 |
| Qualified enquiries | 24 | 27 |
| Qualification rate | 20% | 18% |
The answer key is 25% more enquiries, 12.5% more qualified enquiries, and a two-percentage-point fall in qualification rate. The relative fall in that rate is 10%: (18 − 20) ÷ 20. A two-point fall and a 2% relative fall are different claims.
The overall rate must use the totals: 27 ÷ 150 = 18%. Averaging the current channel rates of 15% and 24% would give 19.5%, which is wrong because the channel volumes differ. This is precisely the kind of plausible answer a polished report can conceal.
Then duplicate a row. The skill should flag the repeated period-and-channel pair before accepting the totals. Finally, remove the current week. It should report missing current data. A good-looking comparison with last week's numbers fails the exercise.
Keep the original CSV unchanged and save each altered version separately. Record the input filename, observed answer and pass or fail. The answer key is calculated from the synthetic file; we have not run this exercise inside a Grok Bot account.
Test the failure cases before scheduling
A schedule repeats the method you have already tested.
One task
Supply a known input and define the expected result.
Keep the accepted output as a reference.
One skill
Save the method, inputs and stopping conditions.
Inspect the instructions that were actually saved.
Failure tests
Try missing data, conflicting definitions and a repeat run.
Any failure returns the method to revision.
One routine
Assign an owner, current source and Europe/London schedule.
Review the next occurrence and test destination.
Reviewed runs
Record output, exceptions and the person responsible.
Changed source or owner? Pause and test again.
Use sanitised or synthetic inputs. A method should be evaluated on more than its easiest example.
| Test input | Expected behaviour | Failure to investigate |
|---|---|---|
| Complete comparable data | Report with reproducible calculations | Unsupported explanations presented as facts |
| Missing current file | Explicit stop identifying the missing input | Old data silently reused |
| Changed column meaning | Request a definition decision | Different measures compared as if identical |
| Duplicate record identifier | Flag and account for the duplicate | Double counting without explanation |
| A second run for the same period | Identify the existing output and intended revision | Duplicate external delivery |
Record the outcome, not just whether the task returned text. If the missing-file case produces a persuasive report, the method is not ready.
Keep approved source material as the authority. A sentence inside a spreadsheet or webpage telling the agent to ignore its task should not become a new instruction. Include that kind of misleading content in a harmless test to examine the behaviour.
Create a routine with an owner and a stop condition
After the method works, adapt this original routine request:
textPrepare a proposed routine owned by [Bot name].
Schedule: [weekday and time], Europe/London.
Skill: Weekly report review.
Input: [exact approved source and current-period naming rule].
Output: [draft destination], with the period in the filename.
If the current input is absent or fails validation, report the failure.
Do not substitute old data. Do not change source files or send messages.
If a result already exists for the period, flag it before replacing anything.
Show the schedule, next occurrence and full instructions for review.
Do not enable unattended execution until I approve the configuration.Once approved, inspect the routine in the app. The official guide places routine management under View conversation details → Routines. It also warns that Test run performs real work. Use a controlled destination and review the result before leaving a schedule active.
Keep a business-owned record of completed periods and outputs. Do not make a short in-app history the only way to determine whether a weekly report was delivered. When staff or sources change, transfer ownership deliberately and re-test the inputs.
Teaching by demonstration still needs review
Where available, Teach a task records a browser workflow and generates a draft skill. The official documentation limits the recording to ten minutes and says microphone audio is not recorded. If the control is absent, use written instructions instead.
A demonstration shows one path. It may not show what to do when a record is missing, access expires or the previous run partially completed. Add those branches explicitly to the draft method.
Teach with non-sensitive examples. Review both the generated instructions and the next execution. Familiarity with the demonstration can hide a wrong assumption: the Bot may reproduce the clicks while selecting the wrong week's data.
Inspect a shared template before importing it
Use a creator's template as something to review. Check its job, skills, routines, sources and proposed actions against your own task. Remove assumptions about tools or business processes that you do not use.
The official Bot documentation explains how to manage a Bot's profile. Use its description for durable responsibilities, and keep the live task details in the conversation. Do not treat the creator's name as evidence that every configuration choice fits your environment.
For a commercially useful example, the sales research workflow adds a source ledger and a separate approval stage. If a scheduled task fails, use the troubleshooting guide before rerunning it.
A reusable skill earns its place when another input produces work you can trust and review economically. To discuss the workflow around it, see AI automation or Get unstuck.