Skip to content

Commit 7965edf

Browse files
authored
Align company-skeleton with vault-skeleton (Team/Agents/Decisions/Skills) + onboarding update (#2)
company-skeleton was missing Team/Agents/Skills as first-class folders, and had 'People/' instead of 'Team/' (schema mismatch with the personal vault). Aligned: - rename People/ → Team/ (with proper README + _template, same as vault) - add Agents/, Skills/ (new dirs, mirror vault-skeleton schema) - replace Decisions/.gitkeep with proper README + _template - keep Process/ (HR/ops, distinct from Skills/) - update company-skeleton/CLAUDE.md routing table Onboarding flow extended to cover the new folders (Team/Agents/Decisions/Skills) plus a Block 9 mentioning the optional --with-gstack flag. setup-company.sh print message lists the new folders as STEP 3 (seed entries).
1 parent 669a051 commit 7965edf

13 files changed

Lines changed: 221 additions & 7 deletions

File tree

company-skeleton/Agents/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Agents — the AI agents the company uses
2+
3+
> Same schema as `../Team/`, but for AI agents. Each agent is a first-class member of the team, not a hidden tool — name, runtime, skills, scope, track record. A new teammate (human or AI) discovers the team by browsing `Team/` + `Agents/`.
4+
5+
Pattern: `Agents/{{agent-name}}.md` per agent. Start from `_template.md`.
6+
7+
What goes in each file:
8+
- Runtime (claude-code, gstack, hermes, openclaw, custom)
9+
- Skills (cf `../Skills/`)
10+
- Scope / owner-of
11+
- Trigger phrases or slash commands to invoke
12+
- Recent successes/failures
13+
14+
If the company adopts **gstack**, its 23 specialists (CEO, eng manager, designer, reviewer, QA, CSO…) each get a small entry here pointing to the gstack skill file — they become known members of the team.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
type: agent
3+
runtime: "{{RUNTIME}}" # claude-code | hermes | openclaw | custom
4+
skills:
5+
- "{{SKILL_NAME_1}}"
6+
- "{{SKILL_NAME_2}}"
7+
owner-of:
8+
- "{{SCOPE_1}}"
9+
- "{{SCOPE_2}}"
10+
status: active # active | paused | retired
11+
---
12+
13+
# {{AGENT_NAME}}
14+
15+
## Runtime
16+
{{RUNTIME}} — {{RUNTIME_DETAILS}}
17+
18+
## Skills
19+
- {{SKILL_1}} — `Skills/{{slug}}.md`
20+
- {{SKILL_2}} — `Skills/{{slug}}.md`
21+
22+
## Scope
23+
- {{OWNED_THING_1}}
24+
- {{OWNED_THING_2}}
25+
26+
## How to invoke
27+
- Trigger phrases: {{TRIGGER_PHRASES}}
28+
- Slash command (if any): `/{{SLASH}}`
29+
30+
## Recent
31+
- {{YYYY-MM-DD}} — {{OUTCOME}}

company-skeleton/CLAUDE.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ Shared vault indexed as the `company` source in each member's GBrain.
66
| Folder | Content |
77
|---|---|
88
| `company.md` | Identity, stack, team, conventions |
9-
| `Decisions/` | Locked decisions (one file per decision, dated) |
10-
| `Process/` | Recurring procedures (onboarding, deploy, incident, reconcile…) |
9+
| `Team/` | Humans on the team — one file per person (replaces older `People/`) |
10+
| `Agents/` | AI agents the company uses — same schema as `Team/`, both first-class |
11+
| `Decisions/` | Locked decisions, one file per decision (`YYYY-MM-DD-<slug>.md`) |
12+
| `Skills/` | Procedures in [gstack SKILL.md format](https://github.com/garrytan/gstack) — invokable by any agent |
13+
| `Process/` | HR / ops / business processes (onboarding, vacation, expense) — distinct from `Skills/` |
1114
| `Projects/` | Active projects (status, roadmap, decisions) |
1215
| `Clients/` | Client/partner sheets |
13-
| `People/` | Who does what, internal contacts |
1416

1517
## Contributing (open contribution)
1618
Everyone can enrich:

company-skeleton/Decisions/.gitkeep

Whitespace-only changes.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Decisions — company-wide decisions, one file each
2+
3+
> Architectural, product, business, process. Anything you'll want to answer "why did we choose X?" for, six months from now, in one query. Both humans and agents read this folder before proposing changes that overlap an existing decision.
4+
5+
Pattern: `Decisions/YYYY-MM-DD-{{slug}}.md`. Start from `_template.md`.
6+
7+
**Company decisions** go here. **Personal decisions** stay in each member's `~/Documents/Brain/Decisions/`. The federated query surfaces both.
8+
9+
What makes a decision worth a file:
10+
- It locks in a trade-off (cost vs perf, build vs buy, simple vs flexible)
11+
- Reversing it would cost real time or money
12+
- You'd want anyone joining the company to find it
13+
14+
Status fields:
15+
- `active` — current truth
16+
- `superseded` — replaced by a newer decision (link in the file)
17+
- `reversed` — explicitly walked back
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
type: decision
3+
date: "{{YYYY-MM-DD}}"
4+
owner: "{{OWNER}}" # person or agent
5+
status: active # active | superseded | reversed
6+
revisit: "{{WHEN_OR_NULL}}" # e.g. "after 1st enterprise client" or null
7+
supersedes: "{{LINK_OR_NULL}}"
8+
---
9+
10+
# {{DECISION_TITLE}}
11+
12+
## Context
13+
{{WHAT_TRIGGERED_THIS}}
14+
15+
## Options considered
16+
1. **{{OPTION_A}}** — {{TRADE_OFFS}}
17+
2. **{{OPTION_B}}** — {{TRADE_OFFS}}
18+
3. **{{OPTION_C}}** — {{TRADE_OFFS}}
19+
20+
## Decision
21+
{{WHAT_WE_CHOSE}} — because {{PRIMARY_REASON}}.
22+
23+
## Trade-offs accepted
24+
- {{COST_OR_RISK_1}}
25+
- {{COST_OR_RISK_2}}
26+
27+
## How we'll know if this was right
28+
{{VERIFIABLE_SIGNAL_OR_DATE}}
29+
30+
## Superseded by
31+
{{LINK_IF_REVERSED}}

company-skeleton/People/.gitkeep

Whitespace-only changes.

company-skeleton/Skills/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Skills — invocable procedures for any agent in the company
2+
3+
> One file per skill. YAML frontmatter is the [gstack](https://github.com/garrytan/gstack) **SKILL.md** format — directly usable by gstack, Claude Code, and any agent stack that respects the convention.
4+
5+
**Skills are distinct from `../Process/`**:
6+
- `Skills/` — invocable procedures with YAML triggers (an agent detects a phrase and executes the workflow). For human + AI consumption.
7+
- `Process/` — HR / ops / business processes (onboarding flow, vacation policy, expense reimbursement). Mostly human consumption, descriptive not invocable.
8+
9+
Pattern: `Skills/{{slug}}.md`. Start from `_template.md`.
10+
11+
Frontmatter fields:
12+
- `name` — slug (matches filename)
13+
- `version` — semver, bump on behavior change
14+
- `description` — paragraph; agent reads it to decide whether to invoke
15+
- `allowed-tools` — security gate (which Claude Code tools the skill may use)
16+
- `triggers` — phrases that auto-route to this skill ("when in doubt, invoke")
17+
18+
A skill here is invokable by any team member's Claude Code via the trigger phrases or as a slash command. Federated with each member's personal `Skills/`.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: "{{SLUG}}"
3+
version: "1.0.0"
4+
description: |
5+
{{ONE_PARAGRAPH_DESCRIBING_WHAT_THE_SKILL_DOES_AND_WHEN_TO_USE_IT}}
6+
allowed-tools:
7+
- Bash
8+
- Read
9+
- Edit
10+
triggers:
11+
- "{{TRIGGER_PHRASE_1}}"
12+
- "{{TRIGGER_PHRASE_2}}"
13+
---
14+
15+
# {{SKILL_NAME}}
16+
17+
## When to invoke
18+
- {{CONDITION_1}}
19+
- {{CONDITION_2}}
20+
21+
## Workflow
22+
1. {{STEP_1}}
23+
2. {{STEP_2}}
24+
3. {{STEP_3}}
25+
26+
## Examples
27+
- **Input:** {{EXAMPLE_INPUT}}
28+
**Output:** {{EXAMPLE_OUTPUT}}
29+
30+
## Quality gates
31+
- {{GATE_1}}
32+
- {{GATE_2}}
33+
34+
## Failure modes
35+
- {{FAILURE_MODE_AND_WORKAROUND}}

company-skeleton/Team/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Team — the humans in the company
2+
3+
> One file per person on the team. Anyone (human or agent) can query this folder to answer "who knows X" or "who owns Y" across the whole team. Federated with each member's personal `Team/` → personal contacts + this shared roster surface in the same query.
4+
5+
Pattern: `Team/{{firstname-lastname}}.md` per person. Start from `_template.md`.
6+
7+
What lives in each file:
8+
- Role + one-liner
9+
- Focus areas
10+
- What they own (projects, components, processes)
11+
- Who they work with on what
12+
- Contact
13+
- Recent activity (accretes over time)
14+
15+
This is the **company roster** — every member sees it, every agent sees it. AI agents live next door in `../Agents/` with the same schema.

0 commit comments

Comments
 (0)