Skip to content

Commit 1195d26

Browse files
rodion-mclaude
andcommitted
Initial release: FPF simple skill with 20 section files
Split FPF-Spec.md by top-level headings into navigable sections with auto-generated TOCs. SKILL.md provides an INDEX mapping each section to its use case. Based on the First Principles Framework by Anatoly Levenchuk: https://github.com/ailev/FPF Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 parents  commit 1195d26

25 files changed

Lines changed: 59039 additions & 0 deletions

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "FPF"]
2+
path = FPF
3+
url = https://github.com/ailev/FPF.git

FPF

Submodule FPF added at 3f88103

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 CodeAlive-AI
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

SKILL.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
name: fpf-simple-skill
3+
description: "First Principles Framework (FPF) — transdisciplinary reasoning architecture for systems engineering, knowledge coordination, and mixed human/AI teams. Use when the user mentions FPF, first principles, bounded contexts, SoTA packs, concept unification, assurance calculus, or FPF Parts A-K. Not for general philosophy or Agile unrelated to FPF."
4+
license: MIT
5+
---
6+
7+
# First Principles Framework (FPF)
8+
9+
An "Operating System for Thought" — a rigorous, transdisciplinary architecture for reasoning,
10+
written in human- and machine-readable pseudo-code. FPF turns raw intelligence (human or machine)
11+
into organisationally usable reasoning: explicit bounded contexts, auditable artefacts, multi-view
12+
descriptions, and disciplined hand-offs between specialised actors.
13+
14+
## How to use
15+
16+
1. Find the relevant section(s) from the INDEX below.
17+
2. Read the corresponding file from `sections/` into context.
18+
3. Apply FPF patterns using plain language; introduce FPF-internal names only when they add precision.
19+
20+
FPF is not a narrative textbook — it is source code for an evolvable reasoning architecture.
21+
Treat it as a design kit: ask for bounded-context maps, decision criteria, option portfolios,
22+
hand-off contracts, and publication surfaces for the user's domain, then iterate.
23+
24+
## Starter prompt
25+
26+
> You have the FPF specification loaded.
27+
> Help me structure your project / problem / programme.
28+
> Use plain language for an engineer-manager.
29+
> Propose: (1) bounded contexts / specialisations, (2) decision criteria, (3) key alternatives,
30+
> (4) hand-offs, and (5) missing evidence or tests before commitment.
31+
> Introduce internal FPF names only when they add precision.
32+
33+
## Section INDEX
34+
35+
Load the section file that matches the user's need:
36+
37+
| # | File | When to use |
38+
|---|------|-------------|
39+
| 01 | [Title page](sections/01-first-principles-framework-core-conceptual-specification.md) | Need the document's authorship, version date, or top-level identity. |
40+
| 02 | [Table of Content](sections/02-table-of-content.md) | Navigate the spec, locate a specific pattern, or understand inter-section dependencies. |
41+
| 03 | [Preface](sections/03-preface.md) | Onboarding to FPF; choosing a reading path for a specific role (project user, pattern author, language-state work). |
42+
| 04 | [Part A — Kernel Architecture](sections/04-part-a-kernel-architecture-cluster.md) | Understand or apply FPF's core ontological building blocks: holons, bounded contexts, roles, transformers, method/work separation, generative search/portfolio vocabulary. |
43+
| 05 | [Cluster A.IV.A — Signature Stack & Boundary Discipline](sections/05-cluster-a-iv-a---signature-stack-boundary-discipline.md) | Model system boundaries, APIs, protocols, or any interface where statements must be classified as definitions, gates, duties, or evidence. |
44+
| 06 | [Cluster A.V — Constitutional Principles / Strict Distinction](sections/06-cluster-a-v---constitutional-principles-of-the-kernel.md) | Prevent category errors: role vs. function, method-description vs. method vs. work, holon vs. system vs. episteme, episteme vs. carrier. |
45+
| 07 | [Part B — Trans-disciplinary Reasoning](sections/07-part-b-trans-disciplinary-reasoning-cluster.md) | Compose or roll up subsystem properties, trust scores, or any cross-scale aggregation (Gamma algebra). Explicit invariants and weakest-link bounds. |
46+
| 08 | [Part C — Kernel Extensions (CALs, LOGs, CHRs)](sections/08-part-c-kernel-extensions-specifications.md) | Formally characterize, compose, or compare knowledge artifacts (theories, specs, proofs, datasets). Epistemic scoring on Formality, ClaimScope, Reliability. |
47+
| 09 | [Part D — Multi-scale Ethics & Conflict-Optimisation](sections/09-part-d-multi-scale-ethics-conflict-optimisation.md) | Ethical trade-offs across scales, conflict resolution between stakeholders, bias auditing, or safety-evidence overriding utility. |
48+
| 10 | [Part E — Constitution & Authoring (header)](sections/10-part-e---fpf-constitution-and-authoring-cluster.md) | Entry point for Part E subsections (constitution, pillars, authoring protocols, lexical rules). |
49+
| 11 | [Section E-I — FPF Constitution](sections/11-section-e-i---the-fpf-constitution.md) | Understand FPF's foundational purpose, vision/mission ("OS for Thought"), the 11 Pillars, guard-rails, and the Multi-View Publication Kit (MVPK). |
50+
| 12 | [Part F — Unification Suite (header)](sections/12-part-f-the-unification-suite-concept-sets-sensecells-contextual-role-assignment.md) | Entry point for Part F subsections (Concept-Sets, SenseCells, Contextual Role Assignment). |
51+
| 13 | [Cluster F.I — Context of Meaning & Raw Material](sections/13-cluster-f-i-context-of-meaning-raw-material.md) | Semantic drift, homonym collisions, cross-domain vocabulary alignment. Contextual Lexicon Principles and Alignment Bridges. |
52+
| 14 | [UTS Layout A — Cross-context unification table](sections/14-block-fpf-u-type-unified-tech-name-unified-plain-name-plain-twin-governance-twin.md) | Build or read a cross-context unification table mapping concepts across standards or frameworks (BPMN, PROV-O, ITIL, etc.). |
53+
| 15 | [UTS Layout B — Base-concept pivot](sections/15-block-base-concept-scale-map.md) | Build a discipline-oriented concept unification table mapping unified concepts across discipline columns (operations, physics, math). |
54+
| 16 | [Part G — Discipline SoTA Patterns Kit](sections/16-part-g-discipline-sota-patterns-kit.md) | Author, extend, or refactor discipline-specific patterns. Harvest competing schools of thought, build SoTA Packs, TraditionCards, OperatorCards, selector-ready portfolios. |
55+
| 17 | [Part H — Glossary & Definitional Pattern Index](sections/17-part-h-glossary-definitional-pattern-index.md) | Look up canonical definitions, four-register naming, or cross-references for any FPF term. |
56+
| 18 | [Part I — Annexes & Extended Tutorials](sections/18-part-i-annexes-extended-tutorials.md) | Deprecated aliases, step-by-step walkthroughs, change log, external standards mappings (ISO 15926, BORO, CCO, Constructor Theory). |
57+
| 19 | [Part J — Indexes & Navigation Aids](sections/19-part-j-indexes-navigation-aids.md) | Find which pattern or example addresses a known concept or principle (concept-to-pattern, pattern-to-example, principle-trace indexes). |
58+
| 20 | [Part K — Lexical Debt](sections/20-part-k-lexical-debt.md) | Mandatory terminology replacements and migration debt for deprecated scope terms. Consult when authoring or editing normative FPF text. |

scripts/split_spec.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/usr/bin/env python3
2+
"""Split FPF-Spec.md into separate files by top-level (#) headings."""
3+
4+
import re
5+
import sys
6+
from pathlib import Path
7+
8+
SCRIPT_DIR = Path(__file__).resolve().parent
9+
PROJECT_ROOT = SCRIPT_DIR.parent
10+
SPEC_FILE = PROJECT_ROOT / "FPF" / "FPF-Spec.md"
11+
OUTPUT_DIR = PROJECT_ROOT / "sections"
12+
13+
14+
def heading_to_filename(index: int, heading: str) -> str:
15+
"""Convert a heading line into a clean filename like '01-part-a-kernel-architecture-cluster.md'."""
16+
# Remove markdown formatting: **, *, backticks
17+
clean = heading.lstrip("# ").strip()
18+
clean = re.sub(r"[*`]", "", clean)
19+
# Remove content inside parentheses
20+
clean = re.sub(r"\(.*?\)", "", clean)
21+
# Replace special chars with spaces, collapse whitespace
22+
clean = re.sub(r"[^a-zA-Z0-9\s-]", " ", clean)
23+
clean = re.sub(r"\s+", " ", clean).strip()
24+
# Convert to kebab-case, truncate
25+
slug = clean.lower().replace(" ", "-")[:80].rstrip("-")
26+
return f"{index:02d}-{slug}.md"
27+
28+
29+
def split_spec():
30+
if not SPEC_FILE.exists():
31+
print(f"Error: {SPEC_FILE} not found. Did you init the submodule?", file=sys.stderr)
32+
sys.exit(1)
33+
34+
lines = SPEC_FILE.read_text(encoding="utf-8").splitlines(keepends=True)
35+
36+
# Find all top-level heading positions (lines starting with exactly '# ')
37+
heading_positions = []
38+
for i, line in enumerate(lines):
39+
if re.match(r"^# ", line):
40+
heading_positions.append(i)
41+
42+
print(f"Found {len(heading_positions)} top-level sections")
43+
44+
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
45+
46+
files_created = []
47+
for idx, start in enumerate(heading_positions):
48+
end = heading_positions[idx + 1] if idx + 1 < len(heading_positions) else len(lines)
49+
heading_text = lines[start].rstrip("\n")
50+
filename = heading_to_filename(idx + 1, heading_text)
51+
content = "".join(lines[start:end])
52+
out_path = OUTPUT_DIR / filename
53+
out_path.write_text(content, encoding="utf-8")
54+
line_count = end - start
55+
files_created.append((filename, line_count, heading_text))
56+
print(f" {filename} ({line_count} lines)")
57+
58+
print(f"\nWrote {len(files_created)} files to {OUTPUT_DIR}")
59+
return files_created
60+
61+
62+
if __name__ == "__main__":
63+
split_spec()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# First Principles Framework (FPF) — Core Conceptual Specification
2+
by Anatoly Levenchuk and assortment of LLMs.
3+
March 2026
4+
5+
Pattern and headers templates are explained in pattern E.8.
6+

0 commit comments

Comments
 (0)