Skip to content

Commit 60af5ea

Browse files
added example capability to website
1 parent 35912b7 commit 60af5ea

3 files changed

Lines changed: 103 additions & 47 deletions

File tree

.capabilities/docs/project/readme.capability.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ acceptance:
1818
after AI-assisted coding.
1919
- README explains capability diff, implementation coverage assessment, and
2020
dependency impact workflows.
21+
- Website shows the hierarchical nature of the .capabilities folder.
22+
- Website shows the main human-authored parts of a capability without the
23+
agent section.
2124
guidance:
2225
- Keep the docs CLI-first and repo-native.
2326
- Do not position the MVP as a cloud product.

website/index.html

Lines changed: 64 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,70 @@ <h2>What else may break?</h2>
181181
</div>
182182
</section>
183183

184+
<section class="section section-alt">
185+
<div class="container capability-structure-grid">
186+
<div>
187+
<p class="eyebrow">Repo-native structure</p>
188+
<h2>The capability map is hierarchical before it is a graph.</h2>
189+
<p>
190+
Capability files live in `.capabilities/` using folders that mirror ownership, product areas, or platform layers.
191+
The hierarchy gives reviewers a readable map before they inspect dependency edges.
192+
</p>
193+
</div>
194+
<pre class="tree-card" aria-label="Example .capabilities folder tree"><code>.capabilities/
195+
capabilitykit.yaml
196+
core/
197+
model/
198+
define-capability-format.capability.yaml
199+
validation/
200+
validate-capability-files.capability.yaml
201+
detect-verification-gaps.capability.yaml
202+
graph/
203+
compile-capabilities.capability.yaml
204+
diff-capabilities.capability.yaml
205+
analyze-capability-impact.capability.yaml
206+
assessment/
207+
assess-implementation-coverage.capability.yaml
208+
developer-experience/
209+
cli/
210+
skills/
211+
docs/
212+
project/
213+
reference/</code></pre>
214+
</div>
215+
</section>
216+
217+
<section class="section">
218+
<div class="container capability-structure-grid">
219+
<div>
220+
<p class="eyebrow">Capability anatomy</p>
221+
<h2>The human-facing fields describe the contract.</h2>
222+
<p>
223+
The top-level capability fields capture identity, current state, purpose, reviewer guidance, and acceptance criteria.
224+
Agent-maintained references and verification can live below this, but the first thing a reviewer should see is the
225+
product behavior being claimed.
226+
</p>
227+
</div>
228+
<pre class="code-card"><code>id: core/graph/diff-capabilities
229+
title: Diff capabilities
230+
status: implemented
231+
area: core
232+
summary: Compare current capability files with a Git base and summarize added,
233+
changed, and removed capabilities.
234+
intent: Help developers understand product and agent-facing intent changes
235+
without reading raw YAML diffs.
236+
acceptance:
237+
- Compares current capabilities against a configurable Git base ref.
238+
- Reports added, changed, and removed capabilities by capability ID.
239+
- Summarizes meaningful field changes such as status, intent, acceptance,
240+
dependencies, implementation references, verification, and ignore policy.
241+
- Includes downstream impact context for changed capabilities.
242+
guidance:
243+
- Compare normalized parsed capabilities, not raw YAML text.
244+
- Avoid raw JSON in the default human output.</code></pre>
245+
</div>
246+
</section>
247+
184248
<section class="section graph-section">
185249
<div class="container graph-grid">
186250
<div>
@@ -203,35 +267,6 @@ <h2>Small changes can have wide capability impact.</h2>
203267
</div>
204268
</section>
205269

206-
<section class="section section-alt">
207-
<div class="container example-grid">
208-
<div>
209-
<p class="eyebrow">Repo-native contract</p>
210-
<h2>A capability file carries intent and review evidence together.</h2>
211-
<p>
212-
CapabilityKit does not replace source code, tests, or architecture decisions. It keeps the capability contract close
213-
enough to the implementation that humans and agents can review whether the product behavior is still true.
214-
</p>
215-
</div>
216-
<pre class="code-card"><code>id: core/graph/diff-capabilities
217-
intent: Help developers understand product and agent-facing intent changes.
218-
acceptance:
219-
- Summarizes meaningful field changes.
220-
- Includes downstream impact context.
221-
agent:
222-
depends_on:
223-
- core/graph/compile-capabilities
224-
implementation:
225-
references:
226-
- packages/core/src/capabilityDiff.ts
227-
verification:
228-
automated:
229-
- command: npm test -- packages/core/tests/capabilityDiff.test.ts
230-
manual:
231-
- Confirm the diff explains intent better than git diff.</code></pre>
232-
</div>
233-
</section>
234-
235270
<section id="get-started" class="section final-cta">
236271
<div class="container cta-panel">
237272
<div>

website/styles.css

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ code {
336336

337337
.steps,
338338
.three-panel,
339+
.capability-structure-grid,
339340
.graph-grid,
340341
.example-grid,
341342
.split {
@@ -374,6 +375,7 @@ code {
374375
}
375376

376377
.split,
378+
.capability-structure-grid,
377379
.graph-grid,
378380
.example-grid {
379381
grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
@@ -424,6 +426,7 @@ li {
424426
}
425427

426428
.graph-visual {
429+
--graph-node-width: 10.8rem;
427430
position: relative;
428431
min-height: 430px;
429432
border: 1px solid var(--line);
@@ -437,7 +440,7 @@ li {
437440
z-index: 2;
438441
display: grid;
439442
place-items: center;
440-
width: 12.4rem;
443+
width: var(--graph-node-width);
441444
min-height: 4.2rem;
442445
padding: 0.8rem;
443446
border: 1px solid var(--line);
@@ -450,32 +453,33 @@ li {
450453
}
451454

452455
.foundation {
453-
left: 2rem;
454-
top: 10.5rem;
456+
left: 5%;
457+
top: 10.7rem;
455458
border-top: 4px solid var(--brand);
456459
}
457460

458461
.center {
459-
left: calc(50% - 6.2rem);
460-
top: 10.5rem;
462+
left: 50%;
463+
top: 10.7rem;
464+
transform: translateX(-50%);
461465
border-top: 4px solid var(--amber);
462466
}
463467

464468
.upper {
465-
right: 2rem;
466-
top: 3rem;
469+
right: 5%;
470+
top: 3.5rem;
467471
border-top: 4px solid var(--rose);
468472
}
469473

470474
.middle {
471-
right: 2rem;
472-
top: 10.5rem;
475+
right: 5%;
476+
top: 10.7rem;
473477
border-top: 4px solid var(--blue);
474478
}
475479

476480
.lower {
477-
right: 2rem;
478-
bottom: 3rem;
481+
right: 5%;
482+
top: 17.9rem;
479483
border-top: 4px solid var(--brand);
480484
}
481485

@@ -487,15 +491,15 @@ li {
487491
}
488492

489493
.edge-one {
490-
left: 14.4rem;
491-
right: calc(50% + 6.2rem);
492-
top: 12.6rem;
494+
left: calc(5% + var(--graph-node-width));
495+
right: calc(50% + (var(--graph-node-width) / 2));
496+
top: 12.8rem;
493497
}
494498

495499
.edge-two {
496-
left: calc(50% + 6.2rem);
497-
right: 14.4rem;
498-
top: 12.6rem;
500+
left: calc(50% + (var(--graph-node-width) / 2));
501+
right: calc(5% + var(--graph-node-width));
502+
top: 12.8rem;
499503
}
500504

501505
.edge-two::before,
@@ -504,7 +508,7 @@ li {
504508
position: absolute;
505509
right: 0;
506510
width: 2px;
507-
height: 7.5rem;
511+
height: 7.2rem;
508512
background: var(--line);
509513
}
510514

@@ -520,6 +524,19 @@ li {
520524
box-shadow: none;
521525
}
522526

527+
.tree-card {
528+
border: 1px solid var(--line);
529+
border-radius: 8px;
530+
background: #fff;
531+
color: var(--ink);
532+
box-shadow: 0 14px 34px rgba(20, 33, 28, 0.06);
533+
}
534+
535+
.tree-card code {
536+
color: var(--brand-dark);
537+
font-weight: 700;
538+
}
539+
523540
.final-cta {
524541
padding-bottom: 5.5rem;
525542
}
@@ -566,6 +583,7 @@ li {
566583
.hero-grid,
567584
.intro-grid,
568585
.split,
586+
.capability-structure-grid,
569587
.graph-grid,
570588
.example-grid,
571589
.cta-panel {

0 commit comments

Comments
 (0)