Faq Shortcuts logo

Faq Shortcuts

Community
kishormorol
faq-shortcuts

Turn the questions and instructions a user keeps typing into a project into short slash-command skills, mined from their real Claude Code, Codex and Cursor session history and git log. The shortcuts load in Claude Code, Codex and Cursor. Use when the user says they ask the same things every day, wants an FAQ or shortcuts or abbreviations for a project, wants to "stop writing the whole command", or asks what they repeat most.

Overview

Publisherkishormorol
Repositorycli-faq-shortcuts
Skill namefaq-shortcuts
Stars
132
Forks
5
Bundled files
11
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 11 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by kishormorol on GitHub. Read the source before you install it.

Installation

Install the Faq Shortcuts AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/kishormorol/cli-faq-shortcuts/tree/main
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/kishormorol/cli-faq-shortcuts.git \
  .claude/skills/faq-shortcuts
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Faq Shortcuts in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Faq Shortcuts on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Faq Shortcuts is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

FAQ shortcuts from your own history

People working with an agent on one project type the same asks over and over: "how many signed up", "did it go out?", "send a reminder to those who haven't…". Each time the agent starts cold and has to relearn the traps. This skill mines what was actually asked and turns the most repeated asks into short project skills (/joined, /sent, /remind…). Each one records the right tool and the mistakes already made on that path.

Build from evidence, not from guesses about what might be useful.

1. Collect the asks

bash
python3 scripts/extract_asks.py <project_dir> [--source all|claude|codex|cursor] [--since YYYY-MM-DD] > asks.tsv

On Windows, run it with python instead of python3. This prints every prompt typed in that project's sessions, oldest first, as date<TAB>source<TAB>prompt. It reads Claude Code (~/.claude/projects/, plus ~/.claude/history.jsonl for sessions older than the 30 days Claude Code keeps transcripts), Codex (~/.codex/sessions/, or $CODEX_HOME) and Cursor (its state.vscdb SQLite store) by default, and skips subagent turns and scripted runs such as codex exec, because nobody typed those. An ask repeated across tools counts as one cluster. Cursor chats opened without a folder belong to no project, so they are not read.

Write the output to a scratch location, not into the repo, because prompts can contain names, emails and tokens.

Also read the commit subjects (git log --format='%ad %s' --date=short). Commits show which operations recur, like repeated send-*, sync-* and import-* scripts. Prompts show how the user phrases them.

2. Cluster by intent, then count

Read the whole list. Group prompts that want the same outcome whatever their wording ("how many joined", "how many confirmed", "how many members now" → one head-count ask). Count each cluster and keep 2–3 verbatim phrasings, which become the description's triggers.

A cluster earns a shortcut when:

  • it recurs (roughly 5+ times, or on most working days), and
  • it takes more than one lookup to answer properly, or it has already gone wrong at least once. Look for follow-ups like "you did it wrong", "why did you…", "did you check…".

Drop one-offs and anything a single command already answers.

3. Check what already exists

List .claude/skills/, .claude/commands/, .agents/skills/ and the project's CLAUDE.md and AGENTS.md. Extend an existing skill instead of adding a near-duplicate. Then find the project's existing tools for each cluster, such as scripts, CLI commands and API routes. A shortcut should point to the tool that exists. Don't write a new one.

Read those tools' headers and the commits that fixed them. The traps you find there are the most valuable part of each skill.

4. Propose before writing

Show the user a short table with shortcut name, the ask it replaces, and how often it appeared. Let them pick. Short names beat descriptive ones here, because the point is less typing. Use one lowercase word, and never shadow a built-in command.

5. Write each skill

.claude/skills/<name>/SKILL.md, committed with the project so it travels. Claude Code and Cursor load skills from .claude/skills/. Codex loads them from .agents/skills/, so link each one there as well:

bash
mkdir -p .agents/skills && ln -s ../../.claude/skills/<name> .agents/skills/<name>

Link each skill folder, not .agents/skills itself: Codex follows a symlinked skill folder but does not scan a symlinked .agents/skills.

The skill file itself:

markdown
---
name: <short>
description: <what it does>. Use for "<verbatim phrasing 1>", "<phrasing 2>", "<phrasing 3>".
argument-hint: "[optional arg]"
---
# <What it answers>

Report only / Dry run first — **never <write/send> from this skill without a yes.**

## Query / tool       ← the existing script or query, with its real flags
## Traps              ← only ones that actually happened, each with the consequence
## Report             ← exactly what to print, then ask

Rules:

  • Split reading from acting. Question skills only report. Action skills dry-run, show the list with every exclusion and its reason, then apply only after a yes.
  • Point to the source for every trap, like the script header, commit or incident. If you can't trace a trap to something that happened, leave it out.
  • Verify every field, flag and file name against the code before you write it down. A shortcut that cites a wrong column fails silently on the day it's needed.
  • Keep a skill short enough to read in a minute. Leave out history, keep the lesson.
  • Quote the frontmatter description if it contains : or #, or YAML will truncate it.

6. Make them findable

Add a table to the project's CLAUDE.md (and AGENTS.md, if the project has one) that maps each shortcut to the sentence it replaces. It serves as both documentation and a reminder to use it.

Report

The shortcuts added, the ask each replaces with its count, and any frequent cluster you deliberately left out and why.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Faq Shortcuts AI skill do?

Turn the questions and instructions a user keeps typing into a project into short slash-command skills, mined from their real Claude Code, Codex and Cursor session history and git log. The shortcuts load in Claude Code, Codex and Cursor. Use when the user says they ask the same things every day, wants an FAQ or shortcuts or abbreviations for a project, wants to "stop writing the whole command", or asks what they repeat most.

Why use Faq Shortcuts on TypingMind?

Because you install it once and use it with any model. Faq Shortcuts is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Faq Shortcuts in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kishormorol/cli-faq-shortcuts/tree/main. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Faq Shortcuts?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Faq Shortcuts?

As many as you like. As long as a model supports skills, you can use Faq Shortcuts with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Faq Shortcuts AI skill free?

Yes. It is published on GitHub by kishormorol under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇