agentleFS
kings0527kings0527/pi-harness/skills/distill/SKILL.md

distill

Skill9 starsChanged 3 months agoMITView on GitHub

Distill topic conclusions into long-term knowledge. Use after `board close` to elevate findings.

75 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use layout, shape and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • owshq-mecSkill

    layout

    Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.

    Also in 8 projects that use this

  • HAR5HA-7663Skill

    shape

    Plan the UX and UI for a feature before writing code. Runs a structured discovery interview, then produces a design brief that guides implementation. Use during the planning phase to establish design direction, constraints, and strategy before any code is written.

    Also in 11 projects that use this

  • ReScienceLabSkill

    archive

    Archive session learnings, debugging solutions, and deployment logs to .archive/yyyy-mm-dd/ as indexed markdown with searchable tags. Use when completing a significant task, resolving a tricky bug, deploying, or when the user says \"archive this\". Maintains .archive/MEMORY.md index for cross-session knowledge reuse.

    Also in 3 projects that use this

  • klauswgSkill

    ckm:design-system

    Token architecture, component specifications, and slide generation. Three-layer tokens (primitive→semantic→component), CSS variables, spacing/typography scales, component specs, strategic slide creation. Use for design tokens, systematic design, brand-compliant presentations.

    Also in 3 projects that use this

  • iovisorSkill

    evolve

    Evolve uBPF through a gated spec-first workflow that propagates approved changes through requirements, design, validation, implementation, and RFC alignment artifacts.

    Also in 3 projects that use this

  • termdockSkill

    recall

    Retrieves cross-session memories about past decisions, lessons, and patterns. Use when user asks about prior work, past decisions, or mentions a feature. Triggers include check memory, what did we decide, how did we solve.

    Also in 5 projects that use this

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 71 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After a topic is closed (board close <topic>), use this skill to systematically evaluate each finding and decide whether to preserve it in …

    line 7
  2. Very specific:

    Read the topic's summary.md and decisions.md from .pi-board/topics/archive/<topic>.summary.md and …

    line 12
  3. Distinctive:

    Read the archive files:

    line 18
  4. Distinctive:

    Follow existing structure if the domain already has entries

    line 42
  5. Distinctive:

    Create new subdirectories as needed (only INSIDE the root)

    line 43
  6. Distinctive:

    Check for conflicts: If the new finding contradicts an existing entry in the SAME root:

    line 51
  7. Distinctive:

    DO NOT modify or overwrite the existing entry

    line 52
  8. Very specific:

    Instead, mark it as CONFLICT (the board tool's distill-conflict action — it only appends a CONFLICT block, never rewrites):

    line 53
  9. Very specific:

    溯源 (Traceability) is mandatory: Every entry MUST include 来源: topic-<id>#seq-<N> linking back to the original evidence.

    line 65
  10. Distinctive:

    NEVER silently overwrite: When new knowledge contradicts existing entries, ALWAYS mark the conflict explicitly.

    line 69
  11. Distinctive:

    Preserve original wording: Don't over-summarize. The entry should be detailed enough to be useful without re-reading the original topic.

    line 73

“Common” is measured: kept by at least 6 in 10 of the 71 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Distill: Elevate Topic Conclusions to Knowledge

After a topic is closed (board close <topic>), use this skill to systematically evaluate each finding and decide whether to preserve it in the long-term knowledge base.

Prerequisites

  • The topic MUST be closed (check with board list — status should be "closed")
  • Read the topic's summary.md and decisions.md from .pi-board/topics/archive/<topic>.summary.md and .pi-board/topics/archive/<topic>.decisions.md

Process

Step 1: Review Closed Topic

Read the archive files:

read .pi-board/topics/archive/<topic>.summary.md
read .pi-board/topics/archive/<topic>.decisions.md

Step 2: Identify Candidates

For each finding/decision in the topic, evaluate:

  • Is this reusable knowledge? (Would it help in a future similar situation?)
  • Is it specific enough to be actionable? (Vague observations don't qualify)
  • Does it have supporting evidence? (Which seq numbers support it?)

Step 3: For Each Candidate — Distill or Discard

For each candidate that passes Step 2:

  1. Choose the tier (ADR-0014 — fixed placement):
    • scope=project (default) → <project-root>/knowledge/ at the pi session root. Use for the active subproject only.
    • scope=workspace → <workspace-root>/knowledge/ at the nearest Git root. Use only when at least two related subprojects share the conclusion.
    • scope=global → ~/.pi-harness/knowledge/. Use across unrelated workspaces.
    • Context loads the active project + workspace + global with root deduplication; sibling projects stay out.
  2. Choose a path within the chosen root: {domain}/{subdomain}/{filename}.md
    • Follow existing structure if the domain already has entries
    • Create new subdirectories as needed (only INSIDE the root)
  3. Write the entry with mandatory source link (the board tool's distill action):
    board action=distill path=<entry-path> content="<full entry markdown>" source="topic-<id>#seq-<N>,seq-<M>" description="<one-line for index>" scope=project|workspace|global
    Entries without a source are rejected by the runtime.
  4. Check for conflicts: If the new finding contradicts an existing entry in the SAME root:
    • DO NOT modify or overwrite the existing entry
    • Instead, mark it as CONFLICT (the board tool's distill-conflict action — it only appends a CONFLICT block, never rewrites):
    board action=distill-conflict path=<existing-path> source="topic-<id>#seq-<N>" description="<what contradicts>" scope=project|workspace|global
    • Then add the new finding as a separate entry (action=distill with a different path)

Step 4: Update Index

The distill action automatically updates index.md in the chosen root. Verify the index after completion.

Rules (MUST)

  1. 溯源 (Traceability) is mandatory: Every entry MUST include 来源: topic-<id>#seq-<N> linking back to the original evidence. Entries without source links are REJECTED.
  2. Fixed placement (ADR-0014): Subproject knowledge uses project, related-repo knowledge uses workspace, unrelated cross-repo knowledge uses global; handoffs stay at <project-root>/handoff/.
  3. NEVER silently overwrite: When new knowledge contradicts existing entries, ALWAYS mark the conflict explicitly. Use the CONFLICT workflow above.
  4. Quality over quantity: It's better to distill 2 high-quality entries than 10 vague ones. Discard anything that doesn't meet the "reusable + specific + evidenced" bar.
  5. Preserve original wording: Don't over-summarize. The entry should be detailed enough to be useful without re-reading the original topic.
  6. Retiring, not deleting (ADR-0026): When an entry is superseded, mark its index row with a leading tag — [SUPERSEDED], [ARCHIVED], or [DEPRECATED] — e.g. [SUPERSEDED] qnr/foo/bar.md | .... Retired rows fold out of the injected catalog into a demoted "retired" section (still cite-able as history) instead of sitting beside current knowledge. Never delete the row or the file; re-distilling the same path reactivates it (drops the tag). Dead links (missing files) are auto-excluded from injection and reported as health issues — repair the path or remove the row deliberately.

Example

Topic ghidra-crash-investigation closed with findings:

  • seq #3: "Ghidra < 10.1 misaligns XOR patterns in ARM Thumb mode"
  • seq #7: "Workaround: force 32-bit disassembly first, then re-analyze"
  • seq #12 (human critical): "Focus on ARM, ignore x86 for now"

Distill decision:

  • ✅ Distill seq #3 + #7 → reverse-engineering/ghidra/arm-thumb-xor-misalignment.md with scope=global (cross-project tool limitation)
  • ❌ Discard seq #12 (project-specific direction, not reusable knowledge)

Result in knowledge:

# Ghidra ARM Thumb XOR Pattern Misalignment

Ghidra versions < 10.1 misalign XOR patterns when disassembling ARM Thumb mode binaries.

## Workaround

Force 32-bit disassembly analysis first, then re-analyze in Thumb mode. This forces Ghidra to establish correct alignment boundaries before Thumb interpretation.

---

来源: topic-ghidra-crash-investigation#seq-3,seq-7

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.