Replies: 7 comments
-
Update: Implementation ProgressThe ideas discussed here have been developed into concrete implementations:
PR #189 implements the SpecFirst skill methodology outlined in this discussion, while PR #190 demonstrates the methodology in practice by building the Jira skill using spec-driven development. Feedback welcome on both! |
Beta Was this translation helpful? Give feedback.
-
How It Came TogetherThe development of these PRs demonstrates the methodology in action: Foundation: PR #183 (Context Skill)
Dogfooding: Parallel Development
The Pattern: This validates the core principle: "If you can't specify it, you can't test it. If you can't test it, you can't trust it." The Jira skill serves as living proof that the SpecFirst methodology works — it was built using the methodology while the methodology itself was being formalized. |
Beta Was this translation helpful? Give feedback.
-
The Full Workflow: Context Skill → Research → DevelopmentWhat made this possible was using PR #183 (Context Skill) as the knowledge foundation: 1. Research Phase
2. Context Loading
3. Development
The Loop: This demonstrates PAI's Knowledge Layer principle in action: capture anything from anywhere, retrieve it with natural language, use it to build. |
Beta Was this translation helpful? Give feedback.
-
@danielmiessler — Your 13 Principles in Action 🚀Just wanted to share some excitement here. I've been putting PAI's principles to work this week and the results have been incredible. The journey:
What emerged:
Here's how the 13 founding principles showed up:
Food for thought: What I did use heavily was a Knowledge Layer — ingesting external research, specs, and principles into the vault, then loading them as context during development. That felt like a distinct capability from History (which captures your work). Maybe there's a 14th principle here? 🤔 The investment in Context Skill paid off — once the building blocks were solid, the 4-hour sprint to build SpecFirst + Jira was the payoff. Well done on laying the foundation — this is becoming genuinely powerful. Excited to see where it goes! |
Beta Was this translation helpful? Give feedback.
-
|
Hey,
Thank you so much for the positive support here. Really appreciate you, and I'm glad it's working great for you! And we're only just getting started.
…On Thu, Dec 11, 2025 at 10:39 PM, mellanon < ***@***.*** > wrote:
@ danielmiessler ( https://github.com/danielmiessler ) — Your 13
Principles in Action 🚀
---------------------------------------------------------------------------------------
Just wanted to share some excitement here. I've been putting PAI's
principles to work this week and the results have been incredible.
*The journey:*
* Burned some midnight oil building the Context Skill (PR #183 (
#183 ) ) —
the knowledge layer, release framework, test patterns
* Used it to ingest research, specs, and architectural principles
(including yours) into my vault with proper tagging
* During SpecFirst + Jira development, loaded relevant context from the
vault on demand
* *Culmination:* Built two complete skills in parallel in ~4 hours using
those building blocks
*What emerged:*
PR #189 (
#189 ) -
SpecFirst PR #190 (
#190 ) -
Jira *What* The methodology Built using the methodology *Files* 24 files
(+4,965) 20 files (+5,724) *URL* PR #189 (
#189 ) PR
#190 (
#190 )
*Here's how the 13 founding principles showed up:*
Principle In Practice *1. Clear Thinking + Prompting* Researched SDD
approaches, ingested into vault, loaded context before building *2.
Scaffolding > Model* PAI itself is scaffolding. Then layered: OpenSpec +
release management + multi-branch propagation + test framework = robust
AI-powered dev process. (Learned the hard way — almost leaked private
config. Guardrails matter.) *3. Deterministic* APIs wrapped in CLI commands
(deterministic) → Skills compose into workflows → NLP routes to
deterministic outcomes. Natural language in, predictable execution out. *4.
Code Before Prompts* CLI tools ( ingest , obs , jira ) solve problems;
skills orchestrate them *5. Spec / Test / Evals First* PR #189 (
#189 ) is
this principle — codified as a reusable skill *6. UNIX Philosophy* Small
CLI tools + APIs underneath → Skills compose them → CORE routes between
skills. Pipes all the way down. *7. ENG / SRE Principles* Release
framework, change proposals, validation gates before merge *8. CLI as
Interface* Every operation scriptable: ingest , obs search , jira *9. Goal
→ Code → CLI → Prompts → Agents* Followed this pipeline exactly in
development *10. Meta / Self Update* SpecFirst improves how we build skills
— the system improving itself *11. Custom Skill Management* Three new
skills following the container pattern *12. Custom History System* (Not
directly used here — but could trace back how this was built)
*Food for thought:* What I did use heavily was a *Knowledge Layer* —
ingesting external research, specs, and principles into the vault, then
loading them as context during development. That felt like a distinct
capability from History (which captures your work). Maybe there's a 14th
principle here? 🤔
The investment in Context Skill paid off — once the building blocks were
solid, the 4-hour sprint to build SpecFirst + Jira was the payoff.
Well done on laying the foundation — this is becoming genuinely powerful.
Excited to see where it goes!
—
Reply to this email directly, view it on GitHub (
#187 (comment)
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AAAMLXTGGSGAFTEYRCK2H734BJPI5AVCNFSM6AAAAACOZTYYZ2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTKMRTG4ZDKMY
).
You are receiving this because you were mentioned. Message ID: <danielmiessler/Personal_AI_Infrastructure/repo-discussions/187/comments/15237253
@ github. com>
|
Beta Was this translation helpful? Give feedback.
-
|
Please refer to this major change coming to the repo that should address your issues. If it doesn't please resubmit. Thank you for the work! |
Beta Was this translation helpful? Give feedback.
-
|
@mellanon Just saw this, I'd say OpenSpec is spec-anchored rather than spec-first. We store specs and use them to guide creation of new specs and changes to the system. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Seeking guidance on spec-driven development approaches
The Question
PAI's Principle "Spec / Test / Evals First" states: "If you can't specify it, you can't test it. If you can't test it, you can't trust it."
This resonates deeply, but how do we actually implement it?
While working on PR #183: Context Skill, I experimented with spec-driven patterns—a release framework, change proposals, and a 4-layer test approach. It helped, but I'm curious: what methodology should PAI recommend for contributors?
There's an emerging ecosystem of tools addressing this exact problem. I'd love input on whether/how PAI should integrate any of them.
The Spec-Driven Development Ecosystem
Several tools have emerged to address the same problem: aligning humans and AI on intent before implementation.
specs/(truth) +changes/(proposals), SHALL/MUST formatHow They Compare
From Martin Fowler's analysis, SDD approaches range across a spectrum:
Tool Deep Dives
OpenSpec (Fission AI)
specs/(current truth) +changes/(proposals with deltas)/openspec:proposal,/openspec:apply,/openspec:archivespec-kit (GitHub)
specify init <project> --ai claudeKiro (AWS)
WHEN [condition] THE SYSTEM SHALL [behavior]Cline Memory Bank (Community)
One Possible Approach
Here's what I've been thinking—not a proposal, just ideas to react to:
1. Define the principle (in CORE/SKILL.md):
## Principle 6: Spec/Test/Evals First WHEN developing features or fixing bugs: → FOLLOW spec-first methodology → Specifications MUST exist before implementation → Tests MUST validate spec requirements2. Provide methodology as skill:
Real Examples from PR #183
The Context Skill contribution provides working examples:
workflows/RELEASE-FRAMEWORK.mdtemplates/RELEASE-vX.Y.Z.mddocs/test-pyramid.md3. Flexible on tooling, strict on release process:
Spec format (flexible): Choose what works for you:
openspec init)specify init)Release management (strict): Follow a defined process:
Why stricter releases matter with AI tools:
AI assistants are eager to help—they generate code quickly, add files liberally, and expand scope readily. This creates new risks:
The release process should be more controlled and more manual than development. Move fast during implementation (with test/eval frameworks providing confidence), but slow down at the release gate. The upfront investment in release discipline pays off—you ship faster with quality and without surprises.
The Core Pattern (Tool-Agnostic)
Regardless of tooling, the pattern is:
Real Example: --name Flag
The same requirement expressed across tools:
### Requirement: Filename OverrideThe system SHALL allow users to override filenames via --name flag.WHEN user provides --name "Custom-Name"THE SYSTEM SHALL use "Custom-Name" as output filename- WHEN user provides --name "X"- THEN filename SHALL be "X"All express the same intent—the format is secondary to the principle.
PAI Development Lifecycle: Tooling vs Specs
A key architectural question: where does test tooling live?
The Three Layers
Why Separate Tooling from Specs?
cli-runner.tscli-direct.spec.tsReal Example: pai-tooling Structure
What's Actually Sensitive?
framework/specs/fixtures/config/.envfile, gitignored, never committedBest practice: Design test fixtures to be non-sensitive from the start—use synthetic data or public documents. The only sensitive component should be config (API tokens, vault paths), which belongs in
.envfiles outside source control.Where This Fits in SpecFirst Skill
The SpecFirst skill would document this pattern but NOT contain the tooling:
The actual
pai-toolingrepo remains independent—it's infrastructure that implements the methodology, not the methodology itself.What I'd Love to Hear
Does PAI need a formal methodology? Or is the principle enough guidance on its own?
Tool-agnostic or tool-specific? Recommend one tool (OpenSpec? spec-kit?) or define patterns that work with any?
Where should this live? A dedicated skill? Part of CORE? Just contributor docs?
How much structure? Full
openspec initceremony, or lightweight markdown?What's worked for you? If you've implemented this principle, what approach did you take?
References
PAI Resources:
SDD Tools:
@mellanon | December 2025
Beta Was this translation helpful? Give feedback.
All reactions