{"id":51451369,"url":"https://github.com/mk668a/fde-skills","last_synced_at":"2026-07-05T21:01:26.265Z","repository":{"id":369273307,"uuid":"1287909592","full_name":"mk668a/FDE-SKILLS","owner":"mk668a","description":"Claude Code skills for Forward Deployed Engineers: deliverable schemas that persist and pre-populate across client engagements. No hosted backend, client data never leaves your machine.","archived":false,"fork":false,"pushed_at":"2026-07-04T11:34:49.000Z","size":142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-04T13:13:04.340Z","etag":null,"topics":["claude-code","claude-code-skills","consulting","delivery","fde","forward-deployed-engineer","knowledge-base","local-first"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mk668a.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-03T05:35:52.000Z","updated_at":"2026-07-04T11:34:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mk668a/FDE-SKILLS","commit_stats":null,"previous_names":["mk668a/fde-skills"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mk668a/FDE-SKILLS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk668a%2FFDE-SKILLS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk668a%2FFDE-SKILLS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk668a%2FFDE-SKILLS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk668a%2FFDE-SKILLS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mk668a","download_url":"https://codeload.github.com/mk668a/FDE-SKILLS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk668a%2FFDE-SKILLS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35168795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","claude-code-skills","consulting","delivery","fde","forward-deployed-engineer","knowledge-base","local-first"],"created_at":"2026-07-05T21:01:25.140Z","updated_at":"2026-07-05T21:01:26.257Z","avatar_url":"https://github.com/mk668a.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# FDE-SKILLS\n\n**The forward-deployed engineer's toolbox: the repos you actually run an engagement with, plus four Claude Code skills that make your deliverables compound across clients.**\n\n\u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-green.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/badge/Claude_Code-skill_pack-d97757.svg\" alt=\"Claude Code skill pack\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/skills-4-blue.svg\" alt=\"4 skills\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/hosted_backend-none-brightgreen.svg\" alt=\"No hosted backend\"\u003e\n\nEnglish · [日本語](./docs/README.ja.md)\n\n\u003c/div\u003e\n\nYou're on your third client this year. The deliverables are the same *kinds* of\ndocument every time: a risk register, an integration spec, a stakeholder map.\nEach one starts from a blank page, even though the last two engagements already\ntaught you most of what belongs in them. And the tools that would help live in\ntwenty scattered repos you keep re-discovering.\n\nThis repo is both halves of the fix:\n\n1. **A curated toolbox** (below): the repositories worth installing for each\n   stage of an engagement, from discovery to handoff. Ordered by *when you\n   reach for them*, not by tool category.\n2. **Four skills of our own** for the one thing none of those repos ship:\n   **deliverables that remember.** Your deliverable schemas accumulate\n   evidence across engagements, and at the third recurrence a pattern is\n   *paved* into the schema itself. Install with one script, no marketplace, no\n   API key, no hosted backend:\n\n```bash\ngit clone https://github.com/mk668a/fde-skills\ncd fde-skills \u0026\u0026 ./install.sh     # plain cp under the hood; read it first\n```\n\n![The compounding wall](docs/dashboard.png)\n\n*The compounding wall (`.fde/dashboard.html`, rendered by plain shell): each\ncolumn is a client, each bar a deliverable. Green slots were inherited from\npast engagements, blue were filled fresh. Left to right, the green grows.\nThat's the product.*\n\n---\n\n## 🧭 The toolbox\n\nWhat to install for each stage of an engagement. Criteria for inclusion: the\nrepo exists and is maintained, and it earns its place in real client work.\n(Star counts drift, so we don't print them; every entry was verified live.)\n\n### Start here\n\n| Repo | What it is | Form |\n|---|---|---|\n| [anthropics/skills](https://github.com/anthropics/skills) | Anthropic's official Agent Skills collection. The document skills (`docx`, `pptx`, `xlsx`, `pdf`) write the actual files clients expect back. | plugin / copy skill dirs |\n\n### Discovery \u0026 scoping\n\n| Repo | What it is | Form |\n|---|---|---|\n| [github/spec-kit](https://github.com/github/spec-kit) | Spec-driven development: turn a fuzzy ask into an executable spec before you build. | CLI + slash commands |\n| [bmad-code-org/BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | Agile AI-driven development framework with PM- and architect-style planning agents. | npm framework |\n| [snarktank/ai-dev-tasks](https://github.com/snarktank/ai-dev-tasks) | A lightweight PRD → task-list markdown workflow for AI dev agents. | copy .md files |\n| [obra/superpowers](https://github.com/obra/superpowers) | Brainstorming, plan writing/execution, systematic debugging, TDD and code review as skills. Serves discovery and the build alike. | plugin |\n\n### Build with the client\n\n| Repo | What it is | Form |\n|---|---|---|\n| [wshobson/agents](https://github.com/wshobson/agents) | Multi-domain plugin marketplace: hundreds of expert agents, skills and commands (architecture, security, data, docs). | plugin marketplace |\n| [affaan-m/ECC](https://github.com/affaan-m/ECC) | Agent harness optimization: skills, instincts, memory, hooks, rules. (Formerly `everything-claude-code`.) | config collection |\n| [VoltAgent/awesome-claude-code-subagents](https://github.com/VoltAgent/awesome-claude-code-subagents) | 100+ specialized subagents to copy into `.claude/agents/`. | copy .md files |\n| [anthropics/claude-code-security-review](https://github.com/anthropics/claude-code-security-review) | Official AI security review Action: run it before anything ships to the client. | GitHub Action |\n| [dlt-hub/dlt](https://github.com/dlt-hub/dlt) | Python data-loading pipelines; the fastest honest way to a data quick win. | pip |\n\n### Client deliverables\n\n| Repo | What it is | Form |\n|---|---|---|\n| [jgm/pandoc](https://github.com/jgm/pandoc) | The universal markup converter: markdown in, `docx`/`pdf`/anything out. | CLI |\n| [quarto-dev/quarto-cli](https://github.com/quarto-dev/quarto-cli) | Technical publishing on top of Pandoc: reports, dashboards, books. | CLI |\n| [marp-team/marp-cli](https://github.com/marp-team/marp-cli) | Markdown to slide decks (PPTX/PDF/HTML) from the command line. | CLI |\n| [mermaid-js/mermaid-cli](https://github.com/mermaid-js/mermaid-cli) | Render Mermaid diagrams to images for docs and decks. | CLI |\n| [terrastruct/d2](https://github.com/terrastruct/d2) | Text-to-diagram language that makes architecture diagrams reviewable in git. | CLI |\n\n### Client data safety\n\n| Repo | What it is | Form |\n|---|---|---|\n| [microsoft/presidio](https://github.com/microsoft/presidio) | PII detection, redaction and anonymization. Run it before client data touches anything shared. | pip |\n\n### Engagement management \u0026 handoff\n\n| Repo | What it is | Form |\n|---|---|---|\n| [makeplane/plane](https://github.com/makeplane/plane) | Self-hosted Jira/Linear alternative when the client can't give you a seat in theirs. | self-hosted |\n\n### Going deeper\n\n| Repo | What it is |\n|---|---|\n| [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) | The canonical Claude Code resource list. |\n| [ComposioHQ/awesome-claude-skills](https://github.com/ComposioHQ/awesome-claude-skills) | Curated Claude skills across domains. |\n| [pierpaolo28/Awesome-FDE-Roadmap](https://github.com/pierpaolo28/Awesome-FDE-Roadmap) | The FDE *career* roadmap: learning resources, consulting frameworks, interview prep. Complements this list, which is about tooling. |\n\nMissing something you reach for every engagement? PRs welcome (see\n[Contributing](#-contributing)).\n\n---\n\n## 🔁 Our four skills: deliverables that remember\n\nNone of the repos above make engagement N easier than engagement N-1. That's\nthe gap these four skills fill. A deliverable here is not a document: it is a\n**typed schema of slots**, and the schema is a versioned prior that hardens\nwith evidence.\n\n| Skill | You say | It does |\n|---|---|---|\n| `/fde-init` | \"set up fde here\", \"new engagement with Acme\" | Scaffolds the `.fde/` spine (once) and one directory per client |\n| `/fde-draft` | \"draft the risk register for Acme\" | Fills the typed schema from this client's notes AND pre-fills from past engagements, then reports coverage |\n| `/fde-promote` | \"make these learnings reusable\" | Anonymizes, counts sightings, and paves at the third |\n| `/fde-recall` | \"what did we learn about pilots like this?\" | Surfaces anonymized priors, weighted by how often they recurred |\n\nYou don't memorize the commands; each skill has a precise trigger description,\nso describing the outcome fires the right one.\n\n### The Rule of Three, made mechanical\n\n\"Don't generalize from one example, extract on the third\" (Fowler,\n*Refactoring*) is usually advice. Here it's a counter in a shell script:\n\n| Sightings | Tier | What `/fde-draft` does with it |\n|---|---|---|\n| ×1 | candidate | offers it as `[candidate ×1: confirm]` (one engagement's opinion) |\n| ×2 | recurring | offers it as `[candidate ×2: confirm]` |\n| ×3 | **paved** | pre-fills it by default; if it's a new dimension, the schema itself gains the slot and bumps its version |\n\nThe pave moment is a real, git-diff-able change to your schema. Run the\n15-second proof yourself (no LLM involved, every number printed by the spine\nscripts):\n\n```console\n$ examples/demo.sh\n=== Engagement 1: Acme Corp: from scratch ===\nacme-corp: risk-register  ·  4/6 slots filled (66%) · 0 inherited · 4 new\n  candidate ×1: sso-auth-integration (technical_risks)\n  candidate ×1: rollback-plan (rollback_plan)\n\n=== Engagement 2: Globex: inherits Acme priors ===\nglobex: risk-register  ·  5/6 slots filled (83%) · 2 inherited · 3 new\n  sighting ×2: sso-auth-integration (technical_risks)\n\n=== Engagement 3: Initech: third sighting PAVES the schema ===\ninitech: risk-register  ·  6/6 slots filled (100%) · 5 inherited · 1 new\n  -\u003e near-complete on day one: 5 of 6 slots inherited, not retyped.\n  sighting ×3: sso-auth-integration (technical_risks)\nPAVED: risk-register v1 -\u003e v2: + rollback_plan (3 sightings)\n\n--- the schema itself just changed (git-diff-able expertise) ---\n  -version: 1\n  +version: 2\n  -evolved_slots: []\n  +evolved_slots:\n  +  - id: rollback_plan\n  +    label: Rollback plan\n  +    prompt: \"How do we return to the pre-pilot state if go-live fails?\"\n  +    paved_from: \"3 sightings, 2026-07-04\"\n\n=== Confidentiality check (shared layers must be client-anonymous) ===\nvalidate: OK: no client identifiers in corpus/ or research/\n```\n\nThree engagements in, `git diff .fde/schemas/` shows exactly what your clients\ntaught you, with no client in it. Run `examples/demo.sh --live` to watch the\nsame run on the auto-refreshing dashboard (that's how the screenshot above was\nmade).\n\n### Two layers, honestly divided\n\n| Layer | What it is | Examples |\n|---|---|---|\n| **LLM skills** (`skills/*`) | Read messy notes, fill slots, paraphrase client specifics away, decide what's durable | `/fde-draft`, `/fde-promote` |\n| **Deterministic spine** (`.fde/bin/*.sh`) | Count, redact, gate, pave, render. No LLM, reproducible, auditable | `fde-coverage.sh`, `fde-promote.sh`, `fde-validate.sh`, `fde-dashboard.sh` |\n\nThe coverage numbers, the sighting counters, the redaction gate and the\ndashboard are all plain shell. The judgment calls are all yours (via your own\nClaude Code). Nothing here calls an LLM at runtime and nothing is hosted.\n\n### Workspace layout\n\n```\n.fde/                          the spine (commit-safe: schemas + anonymized corpus)\n  config.yml                   deliverable types + paving threshold + extra identifiers\n  schemas/\u003ctype\u003e.schema.yml    slot definitions that evolve across engagements\n  corpus/\u003ctype\u003e.yml            anonymized priors with sighting counters\n  bin/*.sh                     the deterministic scripts\n  dashboard.html               the compounding wall (never commit)\nengagements/                   CONFIDENTIAL: one dir per client, never cross-read\n  acme-corp/\n    engagement.yml, notes/, deliverables/\n```\n\nEight deliverable schemas ship out of the box (discovery doc, integration\nspec, ontology map, delivery schedule, risk register, findings report,\nstakeholder map, enablement plan), each slot prompt anchored in a named method\n(pre-mortem, MEDDPICC, Pyramid Principle, Working-Backwards, ...).\n\n---\n\n## 🔒 Confidentiality: a gate, not a promise\n\nBeing precise about what is enforced and what is judgment:\n\n- **Enforced (deterministic):** `fde-validate.sh` fails if any engagement\n  slug, client-name token, or configured extra identifier appears in the\n  shared layers. `fde-promote.sh` builds the merged corpus in a temp file and\n  refuses to write it at all if the result would leak an identifier. Dollar\n  amounts and percentages are always stripped.\n- **Judgment (LLM + you):** person names, internal system names and \"you'd\n  know it's them\" phrasing are paraphrased away by the `/fde-promote` skill.\n  The scripts can't guess those, so anything you want *mechanically* guarded\n  forever goes into `anonymization.extra_identifiers` in `.fde/config.yml`.\n- The **only** path knowledge crosses engagements is `/fde-promote`. Skills\n  never read another client's `engagements/\u003cother\u003e/` directory.\n\n### Do not push client material to GitHub\n\n`/fde-init` adds `engagements/` and `.fde/dashboard.html` to `.gitignore`.\nKeep it that way: a push to a remote is effectively irreversible (clones,\nforks, caches, code-search indexes), and a private repo is not a safe haven\neither. Commit only the anonymized `.fde/corpus/` and `.fde/schemas/`, and\nonly after `fde-validate.sh` passes. For most engagements, a client name in a\nremote is a contract and NDA breach. The anonymized corpus exists precisely so\nthe *reusable structure* can survive without the client behind it.\n\n---\n\n## ❓ Why \"FDE\"?\n\nForward Deployed Engineer is the role this is shaped for: embedded,\nmulti-client, deliverable-heavy. But the toolbox and the compounding loop fit\nanyone who ships the same kinds of deliverable to different clients: delivery\nconsultants, embedded PMs, solutions architects, fractional CTOs. The name is\nthe wedge; the mechanism is general.\n\n---\n\n## 🤝 Contributing\n\n**Toolbox entries:** open a PR adding a row to the right stage. The bar:\nthe repo exists, is maintained, and you actually reach for it in engagements.\nOne line on what it does, no marketing copy.\n\n**Skills:** each skill is one `skills/\u003cname\u003e/SKILL.md`; the spine `/fde-init`\nscaffolds lives in `skills/init/templates/`. Test locally with `./install.sh`\nand `examples/demo.sh`. If a PR changes a skill or schema, update both READMEs\n(English and Japanese).\n\n---\n\n## 📄 License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk668a%2Ffde-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmk668a%2Ffde-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk668a%2Ffde-skills/lists"}