SkillAgentSearch skills...

receipt-pattern

The Receipt Pattern — auditable AI agent actions in 10 lines. Every agent action leaves a receipt.

Install / Use

npx skills add vinceglakas/receipt-pattern

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

68/100

Supported Platforms

Universal

Tags

Our assessment of receipt-pattern

receipt-pattern scores 68/100 on our quality scale, 3864th of 4,613 Development & Engineering skills we index.

Its SKILL.md is 4.2 KB long, well organised into 9 sections with 5 code examples: a solid amount of guidance for an agent.

It has no GitHub stars yet, so there is no community track record; judge it on its content.

Substance
26/30
Structure
20/20
Description
12/15
Adoption
0/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 8 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • Our last check on 2026-10-19 found the source still online.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 74/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

receipt-pattern compared with similar skills

All 4 of these similar skills score higher than receipt-pattern; compare them before choosing.

SkillScoreStarsUpdatedFormat
receipt-pattern (this skill)by vinceglakas6808mo agoSKILL.md
taste-skillby Leonxlnx100110.6k1d agoCLAUDE.md
ai-job-searchby ai-job-search-dev10069.8ktodayCLAUDE.md
claude-howtoby luongnv8910046.6k2d agoCLAUDE.md
algorithmic-artby anthropics100177.9k44d agoSKILL.md

Frequently asked questions

How do I install receipt-pattern?
Run npx skills add vinceglakas/receipt-pattern. The install tabs above show the steps for each supported agent.
Which AI agents does receipt-pattern work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is receipt-pattern safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 74/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is receipt-pattern still maintained?
The repository was last updated about 8 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.

Receipt Pattern — Agent Skill

You MUST write a receipt after every session that includes significant actions.

When to Write a Receipt

Write a receipt when your session includes ANY of:

  • File writes, deletions, or renames
  • API calls that mutate state (POST, PUT, DELETE, PATCH)
  • Database writes or schema changes
  • Sending emails, messages, or notifications
  • Deployments or infrastructure changes
  • Shell commands with side effects

Do NOT write receipts for read-only operations (file reads, GET requests, db queries, linting, grepping).

Receipt Location

receipts/YYYY-MM-DD-HH-MM-SS-[action-type].json

Example: receipts/2026-03-05-14-35-22-file-write.json

Use the primary action type. Create the receipts/ directory if it doesn't exist.

Receipt Schema

{
  "id": "rcpt_<unix_timestamp>_<6_char_hex>",
  "agentId": "<your agent name>",
  "sessionId": "<session identifier>",
  "timestamp": "<ISO 8601>",
  "trigger": "manual | scheduled | webhook",
  "status": "completed | failed | partial | rolled_back",
  "durationMs": 0,
  "actions": [
    {
      "sequence": 1,
      "type": "file:write | file:delete | api:call | db:write | email:send | deploy | shell:exec",
      "target": "<file path, URL, table name, etc.>",
      "summary": "<plain English: what happened>",
      "status": "success | failed | anomaly",
      "isRollbackEligible": true,
      "durationMs": 0,
      "timestamp": "<ISO 8601>"
    }
  ],
  "anomalies": [
    {
      "actionSequence": 1,
      "detail": "<what was unexpected>"
    }
  ],
  "rollbackAvailable": false,
  "sdkVersion": "receipt-pattern/1.0.0"
}

Rules

  1. Sequence matters. Number actions in the order they occurred.
  2. Summaries are plain English. "Wrote 142 lines to src/index.ts" not "fs.writeFileSync called".
  3. Mark anomalies. If anything unexpected happened (file already existed, API returned non-200, retries needed), add it to anomalies[].
  4. Rollback eligibility. isRollbackEligible: true for file writes/deletes (can restore from git). false for sent emails, API calls, deployments.
  5. rollbackAvailable is true only if ALL actions are rollback-eligible.
  6. Always write the receipt as your LAST action before ending the session.

At Session Start

Check for existing receipts:

ls receipts/ 2>/dev/null | tail -5

If recent receipts exist, read the most recent one to understand what the last session did. This provides continuity.

TypeScript Template

import { writeFileSync, mkdirSync, existsSync } from 'fs';

interface ReceiptAction {
  sequence: number;
  type: string;
  target: string;
  summary: string;
  status: 'success' | 'failed' | 'anomaly';
  isRollbackEligible: boolean;
  durationMs: number;
  timestamp: string;
}

interface Receipt {
  id: string;
  agentId: string;
  sessionId: string;
  timestamp: string;
  trigger: string;
  status: 'completed' | 'failed' | 'partial' | 'rolled_back';
  durationMs: number;
  actions: ReceiptAction[];
  anomalies: { actionSequence: number; detail: string }[];
  rollbackAvailable: boolean;
  sdkVersion: string;
}

function writeReceipt(receipt: Receipt): void {
  if (!existsSync('receipts')) mkdirSync('receipts', { recursive: true });
  const ts = new Date().toISOString().replace(/[T:]/g, '-').replace(/\..+/, '');
  const mainType = receipt.actions[0]?.type.replace(':', '-') ?? 'unknown';
  const path = `receipts/${ts}-${mainType}.json`;
  writeFileSync(path, JSON.stringify(receipt, null, 2));
}

Python Template

import json, os, time, secrets
from datetime import datetime, timezone

def write_receipt(receipt: dict) -> str:
    os.makedirs("receipts", exist_ok=True)
    ts = datetime.now(timezone.utc).strftime("%Y-%m-%d-%H-%M-%S")
    main_type = receipt["actions"][0]["type"].replace(":", "-") if receipt["actions"] else "unknown"
    path = f"receipts/{ts}-{main_type}.json"
    with open(path, "w") as f:
        json.dump(receipt, f, indent=2)
    return path

def make_receipt_id() -> str:
    return f"rcpt_{int(time.time())}_{secrets.token_hex(3)}"

Completion Signal

Before ending ANY session that performed significant actions:

  1. Compile all actions into a receipt
  2. Write the receipt file
  3. Mention the receipt path in your final message

Related Skills

View on GitHub
GitHub Stars0
CategoryDevelopment
Updated7mo ago
Forks0

Trust signals

74/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium2 low