f-card
Skill14 starsChanged 20 days agoMITView on GitHub
Create a single Logbook knowledge card from conversation context. Lightweight, no job required. Use when the user runs /f-card, says "capture this", "save this learning", "make a card for that", or when something just learned is worth persisting. One card from this conversation: not bulk extraction from completed jobs (f-catchup), and not promoting knowledge into the constitution (f-distill).
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/llms-full.txtllms.txt
- docs/llms.txtllms.txt
- adjudicateSkill
- agent-councilSkill
- converseSkill
- f-archive-searchSkill
- f-archiveSkill
- f-blueprintSkill
- f-boardSkill
- f-catchupSkill
- f-complySkill
- f-contextSkill
- f-distillSkill
- f-dreamSkill
- f-greploopSkill
- f-inspectSkill
- f-night-shiftSkill
- f-plancheckSkill
- f-scheduleSkill
- f-searchSkill
- f-setupSkill
- f-shiftSkill
- f-signoffSkill
- f-sketchSkill
- f-statusSkill
- f-surveySkill
- model-councilSkill
- orca-pi-connectSkill
- pack-reviewSkill
- speakSkill
- xreviewSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 8 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Create a single knowledge card from conversation context.
- Distinctive: line 44
If no arguments provided, analyze the conversation and suggest up to 3 candidates:
- Distinctive: line 57
Read the matching template:
- Distinctive: line 72
Check the first 5 results.
- Distinctive: line 130
Before showing the card, verify:
- Distinctive: line 167
Wait for confirmation. Do not write until approved.
- Distinctive: line 171
After approval, save to:
- Very specific: line 193
Add a row to the right table in foreman/logbook/logbook_index.md (| ID | Summary | Impact | Conf | Job |.
- Very specific: line 195
If the card names related cards (related:), add each edge to foreman/logbook/logbook_links.md (| From | Type | To |) and recount Total …
- Distinctive: line 205
Create multiple cards (run again for more)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Topping Out: Logbook quick card
Create a single knowledge card from conversation context. Lightweight, no job required.
Usage
/f-card <type> <description>Examples:
/f-card insight a re-aimed GREEN mutation probe hides a missing test/f-card method validated blueprint then execute/f-card build rate limiter for the login endpoint
Type: insight | method | build (case-insensitive; project is accepted as an old alias and written as BUILD)
One card per invocation. Run again for additional cards.
Instructions
You create a single Logbook knowledge card from the current conversation context. No session file needed. Fast and focused.
Step 1: Parse Arguments
Extract type (first word) and description (rest of the line).
If no arguments provided, analyze the conversation and suggest up to 3 candidates:
What should I capture? I see these candidates in our conversation:
1. [INSIGHT] [description of something learned]
2. [METHOD] [description of a reusable approach]
Pick one (run /f-card again for additional cards).Step 2: Read Template
Read the matching template:
- INSIGHT →
foreman/logbook/entries/insights/INSIGHT-TEMPLATE.md - METHOD →
foreman/logbook/entries/methods/METHOD-TEMPLATE.md - BUILD →
foreman/logbook/entries/builds/BUILD-TEMPLATE.md
Step 3: Check for Duplicates
Extract 2-3 distinctive keywords from the description. Grep each in foreman/logbook/entries/, excluding *TEMPLATE* (the templates contain every field name and example cluster):
Grep "keyword1" in foreman/logbook/entries/ (files_with_matches, glob "!*TEMPLATE*")
Grep "keyword2" in foreman/logbook/entries/ (files_with_matches, glob "!*TEMPLATE*")Check the first 5 results. If any match >80% of the card concept, warn:
Possible duplicate: INSIGHT_20260121_SIMILAR_NAME
- Read existing card to confirm overlap
- If confirmed: "This overlaps with [ID]. Add evidence to existing card instead? (y/n)"
- If not: proceed with new cardStep 4: Generate Card ID
TYPE_YYYYMMDD_SHORT_NAME- Date = today
- SHORT_NAME = 2-4 words from description, UPPER_SNAKE_CASE
- Examples:
INSIGHT_20260220_REAIMED_PROBE_HIDES_GAP,METHOD_20260220_BLUEPRINT_THEN_EXECUTE
Step 5: Generate Card Content
From the conversation context, fill in the template sections.
For INSIGHT cards:
- Overview, Impact (severity + evidence), Pattern Structure, Anti-Pattern, Evidence instances, Applications
- A ruled-out card (tag
ruled-out, title "Ruled out:<option>"): a deliberate "no" on an option that could plausibly come back. It must fill the template's Ruled out section (Why, Revisit if). Other cards leave that section out, and the quality gate doesn't count it. Don't write one for an option nobody would propose again - Set
confidencebased on evidence strength: 1 instance = 75%, 2+ instances = 85%, quantified = 95%
For METHOD cards:
- Overview, Impact (severity + evidence), Steps, Before/After Example, When to Use
- Set
success_ratebased on evidence: used once successfully = 100%, theoretical = 80%
For BUILD cards:
- Goal, Accomplished, Key Decisions, Methods Applied, Insights Discovered, Lessons Learned
- Set
scope: MAJOR (8+h), SIGNIFICANT (4-8h), MODERATE (2-4h), MINOR (<2h)
Frontmatter for all cards:
cluster: the repo's own list. Clusters emerge from this repo's cards: read the## Clusterssection oflogbook_index.mdand thecluster:lines of existing cards, and reuse a slug already in use when the card fits it. A new Logbook starts from a few generic starter clusters:
| Cluster | Topics |
development-workflow | Reviews, work orders, gates, iteration, tooling |
testing | Tests, probes, fixtures, flaky or slow suites |
security | Auth, secrets, vulnerabilities, permissions |
architecture | Module boundaries, data model, interfaces |
Add a new slug (lowercase, hyphenated, named after the product area, e.g. billing, search-index, db-migrations) only when no existing one fits, and list it under ## Clusters in logbook_index.md in the same pass as the card. When checking duplicates, search near-synonym slugs already in the corpus too (and array-valued clusters) rather than forcing a bad fit or minting a duplicate.
tags: 3-6 specific keywordsimpact: CRITICAL (2-10x improvement) | HIGH (significant measurable) | MEDIUM (moderate) | LOW (minor)session: Useconversation-YYYY-MM-DDif no session exists
Step 6: Quality Gate
Before showing the card, verify:
| Check | Requirement | If fails |
| All sections | Every template section has content | Fill from conversation or mark [needs evidence] |
| Confidence/success_rate | ≥ 70% (INSIGHT/METHOD; BUILD: n/a) | Needs more evidence, warn user |
| Concrete example | At least 1 specific instance | Add from conversation context |
| Actionable | Clear "when to use" / "applications" | Clarify |
Score (a heuristic to catch thin cards, not a measurement; the checks above are what matter):
Base: 50
+20 all sections filled
+15 evidence strength: INSIGHT `confidence` ≥ 80% · METHOD `success_rate` ≥ 80% · BUILD: Accomplished cites a PR, merge sha or commit
+10 has concrete example
+5 has counter-example (INSIGHT only)Minimum to create: 75/100. If below, show score and missing items, ask user whether to fix or force-create.
Step 7: Show Card and Confirm
Display the full card content to the user before writing:
## Card Preview: TYPE_YYYYMMDD_SHORT_NAME
[full card content]
---
Quality: 85/100
File: foreman/logbook/entries/{type}/TYPE_YYYYMMDD_SHORT_NAME.md
Create this card? (y/n)Wait for confirmation. Do not write until approved.
Step 8: Write Card File
After approval, save to:
foreman/logbook/entries/insights/INSIGHT_YYYYMMDD_NAME.md
foreman/logbook/entries/methods/METHOD_YYYYMMDD_NAME.md
foreman/logbook/entries/builds/BUILD_YYYYMMDD_NAME.mdConfirm:
Card created: TYPE_YYYYMMDD_SHORT_NAME
File: foreman/logbook/entries/{type}/TYPE_YYYYMMDD_SHORT_NAME.md
Cluster: [cluster] | Impact: [impact]
Run /f-distill to propose it for the constitution.Step 9: Update the index and links
A card isn't in the Logbook until the index lists it. In the same pass as the write:
- Add a row to the right table in
foreman/logbook/logbook_index.md(| ID | Summary | Impact | Conf | Job |; Conf isconfidenceorsuccess_rate; Job is the card'sjob:ornone), and bump that table's(n). - Recount from the files, never by adding one: count
[A-Z]*_20*.mdunder each ofentries/insights,entries/methods,entries/builds, excluding*TEMPLATE*, and write**Total Cards**: <sum> (<m> METHOD, <i> INSIGHT, <b> BUILD)and**Last Updated**. - If the card names related cards (
related:), add each edge toforeman/logbook/logbook_links.md(| From | Type | To |) and recount**Total Links**from the table rows.
If the live count is greater than 250, run /f-archive through to the end (its automatic mode, under its guards). Except during a close: when /f-signoff runs these steps (its Steps 2.4 and 3.2), don't start it; the close archives once, at the end of its Step 3.2a.
What This Does NOT Do
- Promote the card into the constitution (run
/f-distillfor that) - Require or update a session file
- Create multiple cards (run again for more)
Intentionally lightweight: one card, in the right folder, listed in the index.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

