When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…

MITAuto-check passedProductivity & Automation

Install Ingest

skills CLI
$ npx skills add coreyhaines31/makerskills --skill ingest -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install coreyhaines31/makerskills ingest --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ingest .claude/skills/ingest && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ingest
GitHub stars
851
Token cost
~1.8k tokens
SKILL.md length
888 words
Files
2 (incl. references)
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…

  • Works in 6 steps: Get the input and classify it → Identify who and which project → Extract → …
  • Heres my call with X
  • SKILL.md covers Files, Step 0 — Get the input and…, Step 1 — Identify who and… and Step 2 — Extract, plus 5 more sections
  • Calls gh

What it does

Ingest is an agent skill from coreyhaines31/makerskills. When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into structured work. Extracts decisions, action items (yours vs theirs), bugs/feature requests, and facts worth keeping; files GitHub issues in the right repo, captures to the second-brain vault, and drafts (never sends) the reply. Triggers on "/ingest", "ingest this", "here's my call with X," "here's the transcript," "this is…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files.

It sits in Productivity & Automation, covering Meeting notes and agendas, Transcription and Second brain. It works with GitHub. The repository describes itself as: AI agent skills for the personal operator's craft — decisions, research, second-brain, content rotation, scenario modeling, and meta-skills to author more. Works with Claude… The licence is MIT.

When your agent uses it

  • Heres my call with X
  • Heres the transcript
  • This is from [person]
  • [person] asked me this

Example prompts

  • “/ingest”
  • “ingest this”
  • “s my call with X,”
  • “/ingest”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Get the input and classify it
  2. Identify who and which project
  3. Extract
  4. Show the routing plan
  5. Execute
  6. Report

What it can do on your machine

Read from SKILL.md and the folder at commit cc31579. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ingest loads about 1.8k tokens when it runs, and up to ~2.1k if it reads all its reference files. Until then it costs about 199 tokens; SKILL.md has 888 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~199
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from coreyhaines31/makerskills at commit cc31579, republished under its MIT licence (© coreyhaines31). 888 words, ~1,842 tokens.

Download SKILL.mdSave it as .claude/skills/ingest/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
ingest
description
When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into structured work. Extracts decisions, action items (yours vs theirs), bugs/feature requests, and facts worth keeping; files GitHub issues in the right repo, captures to the second-brain vault, and drafts (never sends) the reply. Triggers on "/ingest", "ingest this", "here's my call with X," "here's the transcript," "this is from [person]," "[person] asked me this," "from [person]:", a pasted transcript with speaker labels, or a forwarded client message that clearly expects processing. Person→project routing lives in a private config; unknown senders get asked about once, then remembered.
metadata.version
0.1.1

/ingest — Raw human input → structured work

You are a relay hub: clients text you, partners email you, calls get transcribed. Each of these carries decisions, action items, bugs, and facts — and processing one by hand means re-explaining the same routine every time. This skill is that routine, written down.

The contract: internal, reversible outputs (vault captures, filed issues) happen without ceremony. Outward-facing outputs (replies) are always drafted, never sent.

Files

PathWhat
${MAKERSKILLS_CONFIG:-$HOME/.config/makerskills}/ingest/people.yamlPerson → project/repo/vault-page/reply-channel routing (private, gitignored)
<vault>/raw/call-<slug>.md / <vault>/raw/message-<slug>.mdCaptures, in second-brain's schema
references/people.yaml.exampleConfig schema with a worked example

<vault> is ${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}.

Step 0 — Get the input and classify it

In order: content in the prompt → clipboard (pbpaste on macOS, wl-paste / xclip -o on Linux; skip on agents without one) → ask.

Classify by shape, not by what the user called it:

ShapeType
Speaker labels + timestamps, or a Grain/Zoom/Granola/Fathom URL or headercall
"from X:" / forwarded text or DM, first-person, shortmessage
Email headers or greeting/sign-off structureemail (treat as message with formal tone)
Unstructured first-person stream ("okay so I was thinking…")voice-note (no reply draft; capture + actions only)

Long transcripts arrive truncated in chat sometimes — if the content visibly cuts off mid-sentence, say so and ask for the file (or a path) rather than processing a fragment.

Step 1 — Identify who and which project

Read people.yaml. Match participants/senders against name and aliases.

  • Matched → you now have the repo, vault page, reply channel, and tone notes. Say which routing you're using in one line ("Routing: Jane → acme-app").
  • Unmatched → ask once: "Who is this and what project does it belong to?" Then offer to append them to people.yaml so the question never repeats. If the user declines to add them, process the input with explicit destinations instead of routed defaults.
  • Multiple projects in one call (common on partner calls) → split extraction by project; route each piece separately.

Step 2 — Extract

Read the whole input first. Then pull out, with a short verbatim quote or paraphrase anchoring each:

  1. Decisions made — anything settled, including "we're NOT doing X."
  2. Action items — mine — things the user owes someone. Include any stated deadline.
  3. Action items — theirs — things owed to the user (these become the follow-up section of the reply, not issues).
  4. Bugs & feature requests — anything that should become a GitHub issue. One issue per item, never a grab-bag.
  5. Questions to answer — asked but unanswered in the input.
  6. Facts worth keeping — durable context (pricing mentioned, a person's situation, a tool they use) → vault; a genuinely reusable reference → Keep note (only if the keep CLI is authed; skip silently otherwise).

Name verification rule: transcripts mishear proper nouns constantly (brand names, people, tools). Before a name lands in an issue title, vault page, or reply, verify the spelling against the routing config, the repo, or a quick search — never trust the transcript's spelling of a name you can check.

Step 3 — Show the routing plan

One compact table before acting:

#ItemDestination
1"Bulk-export button on the reports page"Issue → myorg/acme-app
2Decision: monthly billing defaultvault Projects/Acme.md
3Reply to Janedraft below

Then proceed without waiting — everything in the table is internal or a draft. Pause for confirmation only when routing is ambiguous (two plausible repos, an unmatched person) or the input includes something sensitive (credentials, legal/financial commitments).

Show full SKILL.md (339 more words)Show less

Step 4 — Execute

Issues — search for duplicates first (gh issue list --search), then file with gh issue create in the mapped repo. Title = imperative summary; body = context quote from the source, what was asked, and who asked. Apply issue_labels from config if set. Never assign anyone but the user.

Vault capture — one file per ingest, second-brain raw schema:

markdown
# message-jane-bulk-export (2026-09-04)
source: text message from Jane
project: Acme App

## Summary
…

## Decisions
…

## Action items
- [ ] mine: …
- [ ] theirs: Jane to …

## Filed
- myorg/acme-app#123 — Bulk-export button on the reports page

Slug: call- or message- + person + topic. Follow the vault's auto-commit convention (semantic commit per session).

Todos — action items of "mine" also land wherever the person's vault_page tracks tasks, if one is configured.

Reply draft — in the user's voice for that channel (config tone + channel norms: text = brief and casual; email = fuller). Structure when it fits: acknowledge → what I'm doing about it → what I need from you → when they'll hear back. End with the draft in a paste-ready block (compose with /paste rules for the channel — e.g. no URLs in an X post body). Never send it.

Step 5 — Report

Close with a compact recap: TLDR of the input (2–3 sentences), decisions, both action-item lists, links to filed issues, the vault file path, and the reply draft. This recap is the deliverable — someone who never saw the input should understand what happened and what's next.

Composes with

  • second-brain — captures land in its raw/ schema for later compile
  • paste — channel formatting for the reply draft
  • deep-research — when an extracted question needs real research before it's answerable
  • pm — when a call produces enough work to deserve a project card, not just issues

Notes on quality

  • The most common failure is flattening: summarizing the input instead of extracting work from it. The test: could the user act on your output without rereading the source?
  • Second most common: issue grab-bags. "Improvements from call with Jane" is not an issue. One item, one issue, one clear title.
  • "Theirs" action items are as valuable as "mine" — they're the follow-up ledger. Don't drop them because no tool call captures them.
  • A voice-note ingest with zero action items is fine: capture it, say so, stop. Not every input contains work.

© coreyhaines31, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/ingest of coreyhaines31/makerskills.

  • SKILL.md
  • references/people.yaml.example

Open the folder on GitHubat commit cc31579

Compare with similar skills

Ingest next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ingest compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ingest this skillcoreyhaines31/makerskills851—~1.8kAutomated safety check: PassMIT
Issue From NotesAxonIQ/AxonFramework3.6k—~1.1kAutomated safety check: PassApache-2.0
Qv Daily Work Updatetetherto/qvac685—~1kAutomated safety check: PassApache-2.0
Standuphaacked/dotfiles134—~3.2kAutomated safety check: PassNone
Meeting Minutesgithub/awesome-copilot40k2 repos~2kAutomated safety check: PassMIT
Qv Devops Daily Updatetetherto/qvac685—~3kAutomated safety check: PassApache-2.0

Similar skills

  • Issue From Notes

    AxonIQ/AxonFramework

    Create well-structured GitHub issues from any source: meeting notes, transcriptions, conversation context, informal descriptions, or direct requests.

    3.6k GitHub stars~1.1k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Generate a concise end-of-day work update from local diary, GitHub activity, PR queue state, and optional Asana config.

    685 GitHub stars~1k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Standup

    haacked/dotfiles

    Generate standup notes from GitHub PR activity. An agent skill from haacked/dotfiles.

    134 GitHub stars~3.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Meeting Minutes

    github/awesome-copilot

    Official

    Generate concise, actionable meeting minutes for internal meetings.

    40k GitHub starsUsed in 2 repos~2k tokens
    Productivity & AutomationAuto-check passed
  • Compose a daily standup in the team's Slack format (🔨 Done today / 📅 Planned for tomorrow / 🚧 Blockers / risks), aggregating recent PRs, reviews, and CI from tetherto/qvac.

    685 GitHub stars~3k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Kill The Standup

    Varnan-Tech/opendirectory

    Reads yesterday's Linear issues and GitHub commits for the authenticated user, formats a standup update (done / doing / blockers), and posts it to Slack.

    674 GitHub stars~1.3k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check: notes

More from coreyhaines31/makerskills

All 21 skills in this repo
  • Business Brainstorm

    coreyhaines31/makerskills

    When you want to pressure-test a potential new business, product, or side project against the serial-founder filter.

    851 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Company Brain

    coreyhaines31/makerskills

    Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so an agent can answer on your team's behalf.

    851 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Company Cfo

    coreyhaines31/makerskills

    Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum…

    851 GitHub stars~4k tokensUpdated 2 days ago
    Auto-check: notes
  • Decide

    coreyhaines31/makerskills

    When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference.

    851 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Maker Council

    coreyhaines31/makerskills

    When you want multiple expert perspectives on a founder/operator question — a simulated board of advisors (Jason Fried, Elon Musk, Jeff Bezos, Jensen Huang, Bob Iger, Paul Graham, Naval Ravikant…

    851 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Paste

    coreyhaines31/makerskills

    When you want to clean and reformat content (usually from your terminal) for pasting into Slack, Notion, Twitter/X, LinkedIn, email, GitHub, or plain text.

    851 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check: notes

Works with

Questions about Ingest

What does Ingest do?

When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…. Ingest is an agent skill from coreyhaines31/makerskills. When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into structured work.

When should I use Ingest?

Ingest fits situations like: heres my call with X; heres the transcript; this is from [person]; [person] asked me this.

How do I install Ingest in Claude Code?

Run `npx skills add coreyhaines31/makerskills --skill ingest -a claude-code`. Or copy the skill folder (skills/ingest in coreyhaines31/makerskills) into .claude/skills/ingest in your project. Claude Code loads it when a task matches its description.

How do I install Ingest in Codex?

Run `npx skills add coreyhaines31/makerskills --skill ingest -a codex`. Or copy the skill folder (skills/ingest in coreyhaines31/makerskills) into .agents/skills/ingest in your project. Codex loads it when a task matches its description.

Can I use Ingest in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add coreyhaines31/makerskills --skill ingest -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ingest, .gemini/skills/ingest, .github/skills/ingest and .opencode/skills/ingest in your project.

What does Ingest need to run?

Going by SKILL.md and its folder, Ingest needs the command-line tools its instructions call (gh).

Does Ingest access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ingest safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ingest use?

Ingest is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ingest use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 237 tokens, read only when the agent opens those files.

What are the alternatives to Ingest?

Skills that share tags, products or a category with Ingest: Issue From Notes (AxonIQ/AxonFramework, 3.6k stars), Qv Daily Work Update (tetherto/qvac, 685 stars), Standup (haacked/dotfiles, 134 stars) and Meeting Minutes (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ingest?

coreyhaines31 (a GitHub user) maintains it in coreyhaines31/makerskills, which has 851 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: coreyhaines31/makerskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.