invoice SKILL.md skillB
invoice from jikig-ai/soleur is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add jikig-ai/soleur/invoice@git:20261027.11c23a4Pins git:20261027.11c23a4 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- B, 16 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- jikig-ai/soleur
- Path
plugins/soleur/skills/invoice/SKILL.md- Versions recorded
- 4
- Latest version
- git:20261027.11c23a4, committed Oct 27, 2026
- First version recorded
- Jul 9, 2026
- Size
- 15,624 bytes
- Repository stars
- 21
- License
- a license file GitHub does not identify
This skill should be used when the founder wants to get paid through their own Stripe: list who owes them, create and send an invoice behind a human-approval preview, or chase an overdue one. Test-mode only.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
<!-- grok-harness-invoke:start --> **Grok Build (`plugins/soleur/lib/harness.ts` `invokeSkill()`):** Read this SKILL.md in this process and run it to completion. A one-segment `soleur:<name>` in this document names a SKILL — on Grok Build, Read `plugins/soleur/skills/<name>/SKILL.md` in this process; it is not a nested tool_use. A multi-segment id such as `soleur:<domain>:<name>` names an AGENT: spawn it, never Read it, and on Grok Build spawn_subagent takes the id with its colons replaced by hyphens (`agentIdToGrokSubagentType`). **Claude Code:** Skill tool for a skill (`soleur:<name>`), Task tool with `subagent_type` for an agent. Forbidden is executing a subset, not the Read. <!-- grok-harness-invoke:end --> # Invoice — get paid via your own Stripe This skill is the Finance domain's get-paid workflow. It drives the **hosted Stripe MCP** (`mcp.stripe.com`, OAuth) to see who owes the founder money, create + send an invoice behind a human-approval preview, and chase overdue ones. It acts on the founder's **own** Stripe account — whichever account completed the OAuth — and **must never** touch Soleur's product billing credential …
Read the whole file at its exact version.
How to install
mdr add jikig-ai/soleur/invoice@sha256:1669b6579f6f2a45The line at the top of this page pins the label git:20261027.11c23a4, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_x23pp3xznrkyzsrq)
6 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Jul 9, 2026 and Oct 27, 2026, about one every 36 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261027.11c23a4 latest | 2026-10-27 | 11c23a4 | 15,624 B | B | view · diff |
| git:20260924.a44cf8f | 2026-09-24 | a44cf8f | 15,638 B | B | view · diff |
| git:20260909.ae44051 | 2026-09-09 | ae44051 | 14,914 B | B | view · diff |
| git:20260709.10d564f | 2026-07-09 | 10d564f | 14,907 B | B | view |
Audit of the latest version
- fail: No instruction to read or print local credentials (matched: Read('.env)
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (15624 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Starting a new one? Use a template for SKILL.md on mdpantry, which passes every one of these checks and says what to change in it.
Source
jikig-ai/soleur · 21 stars · license a license file GitHub does not identify · pushed 2026-11-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_x23pp3xznrkyzsrq GET https://markdownregistry.com/api/v1/resolve?ref=jikig-ai/soleur/invoice GET https://markdownregistry.com/api/v1/blob/1669b6579f6f2a45c4f5728e30370d7fe75e4ff4ab5d9a8a75c3fa9cd8b81566
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.