Never miss the call that would have booked the table: 10 AI skills for the phone

call-log-and-missed-call-analysis

find which hour of the week your phone actually fails you, without keeping a pile of numbers to do it

How the two work together

Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.

Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.

No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.

Prompt for Claude

---
name: call-log-and-missed-call-analysis
description: Turns a raw call log into a pattern of when the phone actually goes unanswered, worked out on a lawful basis for looking at caller numbers at all, and checks the analysis itself does not become a new, unreviewed pile of personal data sitting on a laptop indefinitely. It works out which hours and days the line is actually missing calls, decides how long the raw log needs to be kept to do that, and keeps the finished analysis separate from the identifying detail once the pattern is found. Use whenever you want to know when your phone line is actually failing you, and before you keep a call log any longer than the analysis needs.
---

# Finding the pattern in the calls nobody answered

You give this your phone system's call log for a period: every call, when it happened, how long it rang, and whether it was answered. You get back the pattern of when calls go unanswered by hour and by day, the lawful basis for having looked at the numbers at all, a retention rule for the raw log once the pattern is extracted, and a note of whether this business is even required to keep a formal record of this kind of processing. It will not produce a spreadsheet of customer numbers that sits on a shared drive forever once the pattern has been found.

## What it does

1. **Know the lawful basis for looking at the numbers before you open the spreadsheet.** A call log is personal data, since a phone number can identify or help identify a person. Article 6(1)(f) of the UK GDPR permits processing that is "necessary for the purposes of the legitimate interests pursued by the controller or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject." Working out when your own phone line fails to answer calls is a legitimate interest of the business, and looking at the time and duration of calls to do that does not meaningfully intrude on the caller beyond what the call itself already revealed.

2. **Separate the pattern from the identity the moment the pattern is found.** The useful output of this analysis is "calls between 7pm and 8pm on Fridays go unanswered 40% more than any other slot," not a list of which specific numbers rang during that slot. Once the hourly and daily pattern is extracted, the finished report should not need the individual numbers attached to it at all.

3. **Decide how long the raw log is kept to do the analysis, and keep it no longer.** Article 5(1)(e) of the UK GDPR requires personal data to be "kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed." Once this period's pattern has been pulled out, the business needs a reason to keep the raw, number-level log beyond its own phone system's normal retention, not a default of keeping every export it has ever made.

4. **Check whether this business needs a formal record of the processing at all.** Article 30(5) exempts "an enterprise or an organisation employing fewer than 250 persons" from the detailed records of processing activities required by Article 30(1) and (2), unless "the processing it carries out is likely to result in a risk to the rights and freedoms of data subjects," "the processing is not occasional," or it involves special category or criminal offence data. A single hospitality venue analysing its own call pattern each month is occasional, low risk, and involves no special category data, so it is very likely exempt from a formal Article 30 register, though it should still be able to explain what it is doing and why if asked.

5. **Look for the pattern that actually changes a staffing decision, not every number that can be computed.** The point of the analysis is to answer one question: when does the phone fail, so you can put a second person on it then. A report with twelve charts and no answer to that question has not done the job, however accurate it is.

6. **Re-run the analysis on a schedule, not as a one-off.** A missed-call pattern shifts with the season, the menu, and the day's bookings, so a single analysis from three months ago is a snapshot, not a current answer, and the retention rule in step 3 should assume this will be repeated rather than kept forever on the assumption it will not be.

## Then it checks

1. The lawful basis for the analysis is stated, and the processing described matches what Article 6(1)(f) actually permits.
2. The finished pattern report does not carry individual caller numbers once the hourly and daily figures have been extracted.
3. A retention period for the raw, number-level log is written down and applied, separate from how long the phone system itself keeps call records by default.
4. The Article 30(5) exemption has been checked against the actual processing, rather than assumed, and the result is recorded.
5. The report answers the staffing question directly: which hour, which day, and by how much calls there go unanswered more than elsewhere.
6. A date for the next re-run of the analysis is set, rather than the report being treated as a permanent answer.

Any check fails: name it, redo that step once. Failed twice: say what is wrong and stop.

## Rules
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.
- Never keep individual caller numbers attached to the finished pattern report once the hourly and daily figures have been extracted from them.
- Never claim this business is exempt from Article 30's record-keeping duty without checking the three exceptions in Article 30(5) against the actual processing, since a business that does this analysis continuously rather than occasionally may not qualify.
- Never produce a report with a chart for every number that can be computed and no stated answer to which hour or day actually needs more staff.
- This output is a working document prepared for the owner to check against their own phone system's log format and retention settings, and for their data protection adviser to check where the Article 30 exemption or a longer retention period is in doubt. It applies the UK GDPR to a draft analysis; it is not legal advice and it is not confirmation that a given analysis or retention practice complies.

## Built from
- UK GDPR, Article 6(1)(f), https://www.legislation.gov.uk/eur/2016/679/article/6, read 4 November 2026: the legitimate interests basis behind step 1.
- UK GDPR, Article 5(1)(e), https://www.legislation.gov.uk/eur/2016/679/article/5, read 4 November 2026: the storage limitation principle behind step 3.
- UK GDPR, Article 30, https://www.legislation.gov.uk/eur/2016/679/article/30, read 4 November 2026: the small business exemption from formal records of processing behind step 4.

Prompt for Codex

# call-log-and-missed-call-analysis

## You are given
The raw call log for a stated period: one row per call with date, time, duration or ring time, and whether it was answered. The business's stated employee count (for the Article 30(5) check). Whether this analysis is run as a one-off or on a recurring basis. The phone system's own default retention period for call logs, if known.

## Produce
Write into a `./call-log-and-missed-call-analysis-output/` folder:

1. `hourly-pattern.csv` with columns: `day_of_week`, `hour_band`, `total_calls`, `answered_calls`, `unanswered_calls`, `unanswered_rate_percent`. `hour_band` is a one-hour window (e.g. `19:00-20:00`). `unanswered_rate_percent` is calculated to one decimal place from the counts in the same row, never estimated.
2. `top-gaps.csv` with columns: `rank`, `day_of_week`, `hour_band`, `unanswered_rate_percent`, `unanswered_calls`. The five day/hour combinations with the highest `unanswered_rate_percent`, ranked 1 to 5, requiring a minimum of 5 total calls in that combination to qualify (combinations below this are excluded and noted in `gaps.md`).
3. `lawful-basis-note.csv` with columns: `basis`, `purpose_stated`, `matches_stated_purpose`. One row recording the basis supplied (expected `legitimate interests`) and whether the actual processing described (hourly/daily pattern only, no retained number-level output) matches the stated purpose.
4. `article30-check.csv` with columns: `employee_count`, `processing_occasional`, `risk_to_data_subjects_likely`, `special_category_data_involved`, `exemption_applies`. The first is supplied; the next three are `yes`/`no` as supplied by the user's own assessment; `exemption_applies` is `yes` only where employee count is under 250 and all three following columns are `no`.
5. `retention-record.csv` with columns: `raw_log_retention_period`, `retention_period_days`, `next_rerun_date`.
6. `gaps.md` - a numbered list of: any `top-gaps.csv` combination excluded for too few calls; any `article30-check.csv` row where `exemption_applies` is `no`; a blank or missing `retention-record.csv` entry; and any finished report file found to still contain individual caller numbers rather than aggregated counts.

## Rules
- Codex counts, aggregates and records. It never invents a call record, never decides the lawful basis (that is supplied), and never recommends a staffing change beyond stating the measured pattern.
- Every percentage and count in `hourly-pattern.csv` and `top-gaps.csv` is calculated directly from the supplied log rows, never estimated or rounded beyond one decimal place.
- The finished `hourly-pattern.csv` and `top-gaps.csv` must never contain a caller number column; if the supplied log includes numbers, they are used only to count rows and are not carried into any output file.
- Never connect to a phone system or export a call log itself; work only from what is supplied.
- Use British English, GBP and DD Month YYYY dates. No em dashes in any file you write; flag rather than correct one in supplied text.
- Every file ends with this line: this is a working document prepared for the owner to check against their own phone system's log format and retention settings, and for their data protection adviser to check where the Article 30 exemption or a longer retention period is in doubt. It applies supplied rules to a draft analysis and is not confirmation that a given analysis or retention practice complies.

## Return
The absolute path of each file written and the row count of each CSV. The top five day/hour gaps from `top-gaps.csv`, stated in full with their unanswered rates. The `article30-check.csv` result. The retention period recorded and the next re-run date. The `gaps.md` item count in full.

Built from the best public work on this

Sources for call-log-and-missed-call-analysis

Everything below was opened and read on 4 November 2026.

1. UK GDPR, Article 6(1)(f)

https://www.legislation.gov.uk/eur/2016/679/article/6, Regulation (EU) 2016/679 as it forms part of UK law, read 4 November 2026.

Article 6(1)(f) permits processing "necessary for the purposes of the legitimate interests pursued by the controller or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject...in particular where the data subject is a child." Step 1 uses this as the basis for analysing a venue's own call log: working out when the phone line itself is failing is a legitimate interest of the business, and the intrusion on the caller, having the time and duration of their own call looked at in aggregate, is modest set against that interest, provided the analysis does not go further and build a profile of individual callers.

Where the skill departs: the article's reference to special protection for a child data subject is not relevant to analysing a business phone line's own performance and is not discussed further.

2. UK GDPR, Article 5(1)(e)

https://www.legislation.gov.uk/eur/2016/679/article/5, read 4 November 2026.

The storage limitation principle requires personal data to be "kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed." Step 3 applies this to the raw call log specifically: once the hourly and daily pattern has been extracted, the purpose that justified keeping the number-level detail has, in large part, been served, and a retention period for that raw detail should be set rather than left open-ended.

Where the skill departs: the article's carve-out for archiving, research and statistical purposes could, in principle, justify a longer retention of aggregated statistics, but this skill treats that carve-out as outside its scope, since it covers only the raw caller-level log, not the finished aggregate pattern, which this skill already keeps separate from individual identities under step 2.

3. UK GDPR, Article 30

https://www.legislation.gov.uk/eur/2016/679/article/30, read 4 November 2026.

Article 30(1) and (2) require controllers and processors above a certain scale to maintain a formal written record of their processing activities. Article 30(5) exempts "an enterprise or an organisation employing fewer than 250 persons" from this duty, unless one of three conditions applies: "the processing it carries out is likely to result in a risk to the rights and freedoms of data subjects," "the processing is not occasional," or the processing includes special category data under Article 9(1) or criminal conviction and offence data under Article 10.

Step 4 uses this to give a small hospitality venue a genuine, sourced answer to a question that otherwise sounds alarming, whether they need a formal GDPR register just to look at their own call times, while still flagging the one condition that matters in practice: if the analysis becomes a continuous, ongoing activity rather than an occasional monthly check, the "not occasional" exception in Article 30(5) may stop applying.

Where the skill departs: the precise boundary of "occasional" is not defined in the article itself and is a matter of guidance and judgement the skill does not attempt to settle; it records the business's own answer rather than deciding it.

Best public prompt we found for this job

The closest public artefact is the `team-pipeline` skill in Anthropic's `knowledge-work-plugins` repository, raw source at https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/sales/skills/team-pipeline/SKILL.md. The repository has 34,654 stars, read from api.github.com on 4 November 2026. It is a sales leadership rollup skill, not a telephony analytics skill, and it is the best comparison because both jobs take a large set of individual records and produce an aggregated, decision-useful view without exposing every underlying record in the final output.

The useful part is its stated boundary on what it does and does not change:

"The skill is read-only. Fixes hand off to other skills, and suggested changes are shown with evidence for the user to decide."

We took that same read-only discipline. This skill produces the hourly and daily pattern and nothing else; it does not recommend a specific rota change or a specific technology purchase, in the same way `team-pipeline` surfaces at-risk deals and coaching moments without itself rewriting a rep's pipeline.

We did not copy two things. `team-pipeline` is built to roll up by named individual, by rep, because in a sales context identifying the person behind each number is the entire point of a leader's view; this skill does the opposite on purpose, stripping the caller's identity out of the finished pattern the moment the aggregate figures are extracted, because the question a venue is answering is about its own phone line, not about any individual caller. And `team-pipeline` assumes a live, connected CRM it can query for current data at any time; a small venue's call log is a periodic export with no live connector behind it, which is why this skill treats retention of that raw export, not just analysis of it, as a question worth its own checklist item, a question a tool built around a permanently live data source does not need to ask in the same way.

Want this running in your business?

I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.