diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 828dbd9..24f5d5a 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -33,15 +33,15 @@ export default defineConfig({ srcExclude: ['discovery/**', 'tmp_cv/**', 'tmp_prompt.forge/**', 'draft/**'], head: [ ['meta', { name: 'author', content: 'Martin Haberfellner' }], - ['meta', { name: 'keywords', content: 'behaviour priming, AI, prompt engineering, semantic fields, systems thinking, LLM' }], + ['meta', { name: 'keywords', content: 'behaviour priming, prompt engineering, LLM, semantic fields, prompt design, AI prompting, prompt architecture, Martin Haberfellner' }], ['meta', { property: 'og:type', content: 'website' }], - ['meta', { property: 'og:site_name', content: 'neoncode.systems' }], - ['meta', { property: 'og:title', content: 'neoncode.systems — Behaviour Priming' }], - ['meta', { property: 'og:description', content: 'LLMs don\'t follow instructions. They resonate with fields. Behaviour Priming by Martin Haberfellner.' }], + ['meta', { property: 'og:site_name', content: 'NEONCODE!' }], + ['meta', { property: 'og:title', content: 'NEONCODE! — Martin Haberfellner' }], + ['meta', { property: 'og:description', content: 'Behaviour Priming: a method for designing semantic fields instead of scripting LLM instructions. What do you resonate with?' }], ['meta', { property: 'og:locale', content: 'en_US' }], ['meta', { name: 'twitter:card', content: 'summary_large_image' }], - ['meta', { name: 'twitter:title', content: 'neoncode.systems — Behaviour Priming' }], - ['meta', { name: 'twitter:description', content: 'LLMs don\'t follow instructions. They resonate with fields. Behaviour Priming by Martin Haberfellner.' }], + ['meta', { name: 'twitter:title', content: 'NEONCODE! — Martin Haberfellner' }], + ['meta', { name: 'twitter:description', content: 'Behaviour Priming: design semantic fields instead of scripting LLM instructions. What do you resonate with?' }], ['link', { rel: 'canonical', href: 'https://neoncode.systems/' }], ['link', { rel: 'icon', href: '/favicon.ico' }] ], diff --git a/behaviour.priming/index.md b/behaviour.priming/index.md index 41d4e73..4e6a377 100644 --- a/behaviour.priming/index.md +++ b/behaviour.priming/index.md @@ -1,6 +1,25 @@ --- layout: home -title: //behaviour.priming +title: "//behaviour.priming — NEONCODE!" +head: + - - meta + - name: description + content: "Behaviour Priming replaces step-by-step LLM instructions with a designed semantic field. Stable behaviour, no drift, minimal prompts. See the method and live examples." + - - meta + - name: keywords + content: "behaviour priming, LLM behaviour design, prompt architecture, semantic field, stable prompts, autonomous agent, prompt method" + - - meta + - property: og:title + content: "//behaviour.priming — NEONCODE!" + - - meta + - property: og:description + content: "Replace instruction lists with designed semantic fields. The LLM finds the path. No duct tape." + - - meta + - name: twitter:title + content: "//behaviour.priming — NEONCODE!" + - - meta + - name: twitter:description + content: "Replace instruction lists with designed semantic fields. The LLM finds the path." hero: name: "//behaviour:priming" @@ -98,7 +117,9 @@ hero: + +

A cast with scripts performs. Characters with depth find the play.

@@ -178,7 +199,8 @@ Both work. This one works harder. -->
-

Try it yourself on //prompt.forge

-

Submit a real use case. Get a prompt built with Behaviour Priming.

+

See if it works for you.

+

Submit a use case. I'll build a prompt with Behaviour Priming. You test both — you decide.

+

//prompt.forge →

diff --git a/draft/nc_vhs_v4_tilt.html b/draft/nc_vhs_v4_tilt.html new file mode 100644 index 0000000..5313be3 --- /dev/null +++ b/draft/nc_vhs_v4_tilt.html @@ -0,0 +1,358 @@ + +
+ +
+ + + + + 65% + + + -20° + +
+
loading...
+
+ + diff --git a/draft/prompt-diff.html b/draft/prompt-diff.html new file mode 100644 index 0000000..9cb5e80 --- /dev/null +++ b/draft/prompt-diff.html @@ -0,0 +1,733 @@ + + + + + +Prompt Diff Viewer + + + + +
+
+ Prompt Evolution +
+
+
+ +
+ +
+
+
+
+
+
+
+
+ gast-coach.pre-wspl.md + Pre-WSPL +
+
+
+
+
+
+
+
+
+
+
+
+ gast-coach.wspl.md + WSPL +
+
+
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/index.md b/index.md index 85326a0..609dcd8 100644 --- a/index.md +++ b/index.md @@ -1,10 +1,30 @@ --- layout: home +title: Martin Haberfellner — NEONCODE! +head: + - - meta + - name: description + content: "Martin Haberfellner builds semantic prompt fields instead of instruction lists. Explore Behaviour Priming — a method for stable, drift-resistant LLM behaviour." + - - meta + - name: keywords + content: "behaviour priming, prompt engineering, LLM semantic fields, prompt design, Martin Haberfellner, AI prompting, designed prompts" + - - meta + - property: og:title + content: "Martin Haberfellner — NEONCODE!" + - - meta + - property: og:description + content: "Build semantic fields instead of instruction lists. Stable LLM behaviour without duct tape." + - - meta + - name: twitter:title + content: "Martin Haberfellner — NEONCODE!" + - - meta + - name: twitter:description + content: "Build semantic fields instead of instruction lists. Stable LLM behaviour without duct tape." hero: name: "Martin Haberfellner" text: "LLMs don't follow instructions. They resonate with fields." - tagline: The field is always there. The question is whether you designed it. + tagline: What do you resonate with? actions: - theme: brand text: Behaviour Priming @@ -41,14 +61,14 @@ hero:

Emerges from instructions

Noisy — every word is potential interference

Unstable under unexpected input

-

Drift = more instructions

+

More rules. More problems.

Designed field

Built from values and principles

Dense — every word earns its place

Stable — handles what you didn't anticipate

-

Drift disappears

+

No more duct tape.

The difference is not whether a field exists. It's whether it was designed or happened by accident. Designed fields hold. Accidental fields eventually break.

@@ -116,8 +136,9 @@ hero:

Once you see the field, you can't unsee it.

-

This is not a framework. It's not a methodology to adopt. It's a shift in how you see the thing. Once you see it, the prompts write themselves differently. The results hold differently. The drift disappears.

-

See for yourself

+

This is not a framework. It's not a methodology to adopt. It's a shift in how you see the thing. Once you see it, the prompts write themselves differently. The results hold differently. The prompt became stable.

+

The method exists. It has a name.

+

Behaviour Priming →

diff --git a/martin-haberfellner.md b/martin-haberfellner.md index f4b8ebe..21dd27c 100644 --- a/martin-haberfellner.md +++ b/martin-haberfellner.md @@ -1,6 +1,25 @@ --- layout: page -title: Martin Haberfellner +title: Martin Haberfellner — NEONCODE! +head: + - - meta + - name: description + content: "Martin Haberfellner — prompt architect and organizational engineer. Creator of Behaviour Priming. Lean foundations, DevOps maturity, and the problem one level deeper." + - - meta + - name: keywords + content: "Martin Haberfellner, behaviour priming, prompt architect, organizational engineer, lean DevOps, AI maturity, neoncode" + - - meta + - property: og:title + content: "Martin Haberfellner" + - - meta + - property: og:description + content: "The interesting problem is never the feature — it's what made it possible in the first place." + - - meta + - name: twitter:title + content: "Martin Haberfellner" + - - meta + - name: twitter:description + content: "The interesting problem is never the feature." --- @@ -50,6 +69,12 @@ title: Martin Haberfellner
+
+
+

There are moments in life when you feel like Don Quijote. And sometimes, you just feel heard.

+
+
+

By the way.

If you ever need a votable Quake 3 server or a working stats tool — strikenet.com has been running since 1999. I bought the domain from my first employer when I left. The server still runs. The stats tool is dockerized and occasionally gets a fix. Some things are worth keeping alive.

diff --git a/prompt.forge/index.md b/prompt.forge/index.md index 8756d17..1622a09 100644 --- a/prompt.forge/index.md +++ b/prompt.forge/index.md @@ -1,10 +1,29 @@ --- layout: home +title: "//prompt.forge — NEONCODE!" +head: + - - meta + - name: description + content: "Submit a prompt use case — get a Behaviour Priming compiled version back. Test both, vote on what works better. Open research into prompt architecture." + - - meta + - name: keywords + content: "prompt forge, behaviour priming test, prompt comparison, compiled prompt, prompt architecture experiment, LLM prompt quality" + - - meta + - property: og:title + content: "//prompt.forge — neoncode.systems" + - - meta + - property: og:description + content: "The live test. Behaviour Priming — does it work for you? Submit a use case. Test both. You decide." + - - meta + - name: twitter:title + content: "//prompt.forge — neoncode.systems" + - - meta + - name: twitter:description + content: "The live test for Behaviour Priming. Submit a use case. Test both. You decide." hero: - name: "//prompt.forge" text: "Send me your prompt. I'll rebuild it." - tagline: I want to know if Behaviour Priming works for you the way it works for me. You test both. You decide. + tagline: You test both. You decide. actions: - theme: brand text: Join the Experiment @@ -16,7 +35,7 @@ hero: ## The Experiment -**[Behaviour Priming](/)** works for me. Through this experiment, I'm testing whether that's true for others too. +This is the live test. Behaviour Priming — does it work for you? ### How It Works diff --git a/proto.labs/index.md b/proto.labs/index.md index 0695f15..9cfdcd3 100644 --- a/proto.labs/index.md +++ b/proto.labs/index.md @@ -1,8 +1,27 @@ --- layout: home +title: "//proto.labs — NEONCODE!" +head: + - - meta + - name: description + content: "Experiments built on Behaviour Priming: a Jobs-to-be-Done interview prompt and a Learning Zone Mode for adaptive AI teaching. Try them, break them, share what works." + - - meta + - name: keywords + content: "behaviour priming prompts, Jobs-to-be-Done prompt, learning zone mode, AI teaching prompt, prompt experiments, jobs to be done" + - - meta + - property: og:title + content: "//proto.labs — neoncode.systems" + - - meta + - property: og:description + content: "Experiments built on Behaviour Priming. Take what's useful. Break what isn't." + - - meta + - name: twitter:title + content: "//proto.labs — neoncode.systems" + - - meta + - name: twitter:description + content: "Experiments built on Behaviour Priming. Running right now." hero: - name: "//proto.labs" text: '"I''ve never done it before, so I''m sure it''ll work."' tagline: You won't learn without trying. And you won't find out what's possible. actions: @@ -13,9 +32,7 @@ hero: ## Current Experiments {#experiments} -Built on **[Behaviour Priming](/behaviour.priming/)** — the method described in the [manifest](/). Some of these are polished enough to use. Some are still rough. All of them are real. - -Take what's useful. Break what isn't. +Built on **[Behaviour Priming](/behaviour.priming/)** — the method described in the [manifest](/). This is what's running right now. Take what's useful. Break what isn't. ### Job To Be Done Prompt diff --git a/proto.labs/job-to-be-done.md b/proto.labs/job-to-be-done.md index af111a3..7097e6c 100644 --- a/proto.labs/job-to-be-done.md +++ b/proto.labs/job-to-be-done.md @@ -1,5 +1,22 @@ --- layout: home +title: "Job To Be Done Prompt — //proto.labs — NEONCODE!" +head: + - - meta + - name: description + content: "A guided Jobs-to-be-Done interview prompt that uncovers the hidden context behind what you're trying to accomplish — then generates job documentation and an optimised prompt. Built on Behaviour Priming." + - - meta + - property: og:title + content: "Job To Be Done Prompt — NEONCODE!" + - - meta + - property: og:description + content: "You don't know how much context you're missing until something asks you for it. A Jobs-to-be-Done interview prompt built on Behaviour Priming." + - - meta + - name: twitter:title + content: "Job To Be Done Prompt — NEONCODE!" + - - meta + - name: twitter:description + content: "You don't know how much context you're missing until something asks you for it." hero: name: "Job To Be Done" @@ -28,7 +45,7 @@ Tried this prompt? [Tell me how it worked](https://github.com/evilru/prompt.forg ## The Prompt ::: tip Copy this prompt -Copy the prompt below and use it with your AI assistant to start a guided JTBD interview. +Copy the prompt below and use it with your AI assistant to start a guided Jobs-to-be-Done interview. ::: ````markdown diff --git a/proto.labs/learning-zone-mode.md b/proto.labs/learning-zone-mode.md index 6f7845c..8b7999a 100644 --- a/proto.labs/learning-zone-mode.md +++ b/proto.labs/learning-zone-mode.md @@ -1,5 +1,22 @@ --- layout: home +title: "Learning Zone Mode — //proto.labs — NEONCODE!" +head: + - - meta + - name: description + content: "An adaptive teaching prompt that keeps you learning instead of atrophying. Detects your zone — comfort, learning, or panic — and adjusts accordingly. Built on Behaviour Priming." + - - meta + - property: og:title + content: "Learning Zone Mode — NEONCODE!" + - - meta + - property: og:description + content: "AI can make you lazy. What if it asked instead of answered? An adaptive teaching prompt built on Behaviour Priming." + - - meta + - name: twitter:title + content: "Learning Zone Mode — NEONCODE!" + - - meta + - name: twitter:description + content: "AI can make you lazy. What if it asked instead of answered?" hero: name: "Learning Zone"