Skip to content

Claude/startup stack GitHub scraper mbp53h#2

Merged
fritzhand merged 6 commits into
mainfrom
claude/startup-stack-github-scraper-mbp53h
Jul 25, 2026
Merged

Claude/startup stack GitHub scraper mbp53h#2
fritzhand merged 6 commits into
mainfrom
claude/startup-stack-github-scraper-mbp53h

Conversation

@fritzhand

@fritzhand fritzhand commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features
    • Added portfolio programme guidance, templates, maturity scoring, company records, session records, and portfolio-wide scans.
    • Added workflows for converting coaching sessions into factual records and attributed assessments.
    • Added shared-folder exchange and manual-first automation guidance across common productivity platforms.
    • Expanded prompt library with portfolio preparation, session recording, and portfolio scanning workflows.
  • Documentation
    • Clarified tagging, privacy, audience controls, retention, safety, and stable knowledge-base organization.
    • Updated navigation and introductory materials to surface portfolio resources and workflows.

claude added 6 commits July 25, 2026 02:47
No prompt declared what it needed or checked whether it was there. Run the unit
economics prompt against an empty stack and it does its best rather than
stopping — which is the failure AGENTS.md warns about, reproduced one level up
in the tooling: a confident answer built on nothing.

Two additions, proven here on three prompts with deliberately different
dependency shapes:

- A **Requires** line outside the fence, for the person about to paste it.
- A **Step 0 — Check the ground** inside the fence: open the named files, check
  they hold content rather than [TBD], and if not, name what is missing, say
  which prompt fills it, and stop.

07 needs a filled stack and says so. 12 needs metrics defined but explicitly
tolerates an empty recaps folder, because the first recap has no predecessor.
14 needs only a transcript and carries on against an empty stack by design —
it is how a stack starts to fill. The convention has to survive all three or it
is dogma.

On length, a correction. Step 5 of prompt 14 was rewritten on the theory that
its meeting-type branch list was mostly noise; measured, it compressed 1.0x,
because nearly every line encodes judgement a model does not reach on its own —
objections verbatim, what is committed versus discussed, the reason they gave
for passing versus your read on the real one. That rewrite is reverted. Step 6
did compress 1.8x, because it restated rules AGENTS.md already carries and the
prompt already loads.

Across the library the pasted blocks run 476 to 1,474 words, median 894. Dense,
not bloated, and mostly load-bearing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014cLKVBJb2hPNi6QALTFPFk
`sensitivity` measures one thing — how far from the owner a file may travel —
and it holds while the founder is the author and everyone else is a reader. It
collapses the moment a coach writes something about a founder. By the current
definition that file is `restricted`, "never leaves the founder's machine", but
it was never on the founder's machine and the people who must read it are the
ones who wrote it.

Two fields, portfolio layer only, orthogonal to `sensitivity`:

  subject   a company slug, or a person   who the file is about
  audience  founder / coach-team / programme   who may read it

A session record is `internal` + `founder`. A coach's read of the same session
is `internal` + `coach-team` — same distance from the outside world, different
answer to whether its subject is a reader.

One tag, for the same reason. All four existing tags assume a checkable claim
with a locatable source. "Their pricing is 450" can be verified; "they take
feedback badly" cannot, has no action that resolves it, and two people
disagreeing about it is a difference of judgement rather than a discrepancy.
`[ASSESSMENT — name, date]` is attributed, dated, never promoted, never merged.
Two that disagree both stand.

The rule that makes any of this safe to write down: anything about a person is
written as though that person will read it. That is the subject-access posture
in most jurisdictions and it is also the quality rule — a judgement you would
not put in front of someone is one you have not finished thinking about.
safety.md gains the section on named-person records: the split between what
happened and what you concluded, and naming an owner, a retention period and a
deletion trigger before the first note rather than after the hundredth.

Also scopes the taxonomy proposal in knowledge-base.md. Letting the AI shape
what goes inside a section is right; letting it rename or renumber the ten is
what makes a portfolio view uncomputable, and it is wrong for a solo founder
too, six months later, comparing their own stack against itself.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014cLKVBJb2hPNi6QALTFPFk
The repo has served one reader — a founder building one knowledge base. A
second keeps appearing: the programme running a portfolio of them. Their
problems are structural rather than motivational. Coaches spend the first
third of every session on archaeology because nothing durable carried over.
The useful part of a session note is the coach's read, which is the part an AI
must not author alone. And programmes rarely hold equity, so any design that
depends on founder discipline is accurate for about three weeks.

The method, in docs/for-portfolios.md and docs/exchange.md:

- The founder owns their stack, on their storage, under their subscription.
  The programme never holds a copy — which keeps for-coaches.md's "do not read
  master stacks" architecturally rather than by policy.
- The programme owns a record per company, fed by what its own coaches already
  produce, so it costs nobody an extra task and does not depend on the founder.
- One shared folder per company connects them: from-founder/ carries the
  carved brief, from-programme/ carries session records, neither master lives
  there, each side treats the other's directory as read-only evidence exactly
  as _inbox/ already works.

Every session splits into two files. The record is factual, permanent, and the
founder receives it. The read is judgement, tagged, attributed, coach-team
only, and deleted when it stops being useful. They fail differently: a factual
record that quietly contains a judgement is unfair to its subject, and a
judgement recorded as fact hardens, gets repeated by people who never met them,
and outlives the thing it described.

portfolio/ holds the templates. rubric.md is the piece that earns its place
three times: it routes a company to a named specialist, it shows movement over
a quarter without inventing a metric, and several companies low on the same
function is next month's workshop rather than six coaching problems. It scores
the ten stack sections — not a parallel taxonomy — and describes what is
observably true, deliberately independent of money raised, revenue, headcount
and how impressive the founder is in a room.

Prompts 16, 17 and 18 are written to the preflight standard from the start.
16 asks the coach for their read and waits, rather than inferring one from the
transcript; a read nobody gave follows a founder around the programme for
years. 17 is the shortest prompt in the library and writes nothing, because it
runs two minutes before a session. 18 reads records and never reads/ —
aggregating attributed judgements across companies produces a portfolio-level
opinion no one author holds and no one can be asked about.

docs/automation.md carries the platform recipes as parallel columns: Microsoft
365, Google Workspace, Zoom, Slack, and none of them. Two honest notes belong
with it. There is no clean "the meeting ended" trigger anywhere — every route
is a poll, a webhook or a file-created event, and it is the fiddly part of any
build. And the approval step is not optional: it is where the coach's judgement
enters, and a flow that writes an assessment without a human confirming it has
automated the one thing that must not be automated.

Everything here is invented, per the README's standing promise: generic roles,
invented examples, no phrasing traceable to any programme, person or tool.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014cLKVBJb2hPNi6QALTFPFk
Completes the pass started in 170e322, which proved the convention on three
prompts. The remaining thirteen now carry it, and prompts/INDEX.md documents it
so new ones inherit it.

Each gets a Requires line outside the fence, for the person about to paste it,
and a Step 0 that opens the named files and stops when they are still [TBD] —
naming what is missing and which prompt fills it.

The tolerances differ per prompt, and that is the point of writing them down
rather than applying one rule:

- 00 stops on an empty _inbox/, and also on an inbox of files it cannot read.
  Bootstrapping from three readable files out of twenty produces a confident
  stack about a company it has mostly not seen.
- 01 stops when nothing is new, because a refresh with no new material touches
  hand-corrected files for no reason.
- 03 will not infer a customer from the product description — it asks the
  founder and tags the answer as belief rather than evidence.
- 06 wants a customer but tolerates an empty _inbox/, because most of what it
  needs has never been written down anywhere.
- 09 refuses outright without capacity and unit economics. It is the one prompt
  where proceeding on assumptions spends money daily rather than producing a bad
  document.
- 13 runs against an uncorrected stack but says so at the top: some of what it
  finds will be extraction errors rather than business problems, and the founder
  needs to know which kind of afternoon it is.
- 15 carries on with no stack at all. Output lands in _inbox/ and routes later.

On length, another measurement rather than an assumption. 15 was the library's
outlier at 1,474 words; cutting the five bullets that restated AGENTS.md —
tagging, citation, _inbox/ read-only, no marketing language — recovered 65
words, which is exactly what its new Step 0 costs. It is back where it started,
with a preflight it did not have. That is the honest size of the restatement
problem across the library: real, worth fixing, and not the reason any prompt is
long.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014cLKVBJb2hPNi6QALTFPFk
Ran prompt 16 by hand over an invented coaching transcript to check the
two-part split actually holds under pressure. It does, and it surfaced one case
the boundary rule did not answer.

A coach who says "you have a product people are buying, which most companies
here don't" has made a judgement out loud. Step 2 said nothing about the
founder's state belongs in the record, which would have moved it to reads/ —
but the founder heard it, and dropping it breaks the continuity the record
exists to provide. The line is now said-in-the-room versus thought-and-not-said,
which is checkable, and it is stated in both the prompt and the session
template.

The same run confirmed the rest composes: commitments made by the programme land
in the record alongside the founder's, the rubric's score-down-on-a-tie rule
resolves a spoken-but-unwritten unit cost to level 1 rather than 2, and the
material that must not travel — how the advice has been landing, an equity
conversation the founder is avoiding — falls out into reads/ without effort.

Also on the site: the home page said "sixteen prompts" in prose. It now reads
the count from the filesystem like the stat block above it does, so it cannot go
stale again, and there is a pointer from "where to start" to the portfolio
layer for the reader running many companies rather than a cohort.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014cLKVBJb2hPNi6QALTFPFk
…goes

Part 3 contained a contradiction after the last change. The new rule says the AI
may shape what goes inside a section but may not rename or renumber the ten; the
paragraph two screens below still said "adjust the names if your business needs
different ones". Both cannot be true, and the second one is the one that breaks
comparability.

Replaced with the honest version. The ten cover business functions and cover
them well; what they do not cover is the handful of things a particular industry
turns on — a regulatory pathway, an IP position, a landed cost per component,
field evidence, a licence. The answer is a sector overlay: two or three extra
files placed inside the section they belong to, never an eleventh section
alongside them.

The numbered folder is the address; the file inside is the business. Ten
addresses stay comparable — a founder's stack against itself six months later,
or ten companies against each other in a programme — and a company that invents
an eleventh has left the map. stack/10-pulse/ already demonstrates the pattern,
holding recaps/ and meetings/ that no rule prescribes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014cLKVBJb2hPNi6QALTFPFk
@fritzhand
fritzhand merged commit b9ad3b5 into main Jul 25, 2026
3 checks passed
@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d53ab46e-ae35-4905-be4e-4acf880ec6a8

📥 Commits

Reviewing files that changed from the base of the PR and between 6f6da9f and 2ebc6d0.

📒 Files selected for processing (38)
  • AGENTS.md
  • README.md
  • docs/automation.md
  • docs/exchange.md
  • docs/for-coaches.md
  • docs/for-portfolios.md
  • docs/front-matter.md
  • docs/knowledge-base.md
  • docs/safety.md
  • portfolio/INDEX.md
  • portfolio/README.md
  • portfolio/_company-template/profile.md
  • portfolio/_company-template/reads/_template.md
  • portfolio/_company-template/record.md
  • portfolio/_company-template/sessions/_template.md
  • portfolio/rubric.md
  • portfolio/themes.md
  • prompts/00-bootstrap-the-stack.md
  • prompts/01-refresh-the-stack.md
  • prompts/02-gap-scan.md
  • prompts/03-customer-and-problem.md
  • prompts/04-market-sizing.md
  • prompts/05-competitive-intelligence.md
  • prompts/06-product-and-roadmap.md
  • prompts/07-unit-economics.md
  • prompts/08-list-of-100.md
  • prompts/09-marketing-engine.md
  • prompts/10-pitch-deck.md
  • prompts/11-fundraise-readiness.md
  • prompts/12-weekly-recap.md
  • prompts/13-mentor-review.md
  • prompts/14-meeting-to-actions.md
  • prompts/15-scrape-a-site.md
  • prompts/16-session-to-record.md
  • prompts/17-pre-session-brief.md
  • prompts/18-portfolio-scan.md
  • prompts/INDEX.md
  • web/build.mjs

📝 Walkthrough

Walkthrough

The changes add a portfolio-programme layer with company records, session records, coach assessments, maturity scoring, exchange and automation guidance, three portfolio prompts, stricter prompt prerequisites, and generated-site navigation for the expanded documentation.

Changes

Portfolio governance and records

Layer / File(s) Summary
Governance and taxonomy contracts
AGENTS.md, docs/front-matter.md, docs/safety.md, docs/knowledge-base.md
Assessment tagging, portfolio-only subject/audience fields, named-person recording rules, and stable ten-section taxonomy guidance are added.
Portfolio records and rubric
portfolio/INDEX.md, portfolio/README.md, portfolio/_company-template/*, portfolio/rubric.md, portfolio/themes.md
Portfolio routers, company/session/read templates, ten-function maturity scoring, routing rules, and monthly themes structures are added.

Operational workflows

Layer / File(s) Summary
Exchange and automation operations
docs/for-portfolios.md, docs/for-coaches.md, docs/exchange.md, docs/automation.md
Portfolio ownership, shared-folder exchange, approval boundaries, platform recipes, retention, and verification procedures are documented.
Prompt prerequisite gates
prompts/00-15*.md, prompts/INDEX.md
Existing prompts gain prerequisite checks, Step 0 stop conditions, evidence requirements, conflict handling, and programme scheduling guidance.
Portfolio prompts and site delivery
prompts/16-session-to-record.md, prompts/17-pre-session-brief.md, prompts/18-portfolio-scan.md, web/build.mjs, README.md
Portfolio session, briefing, and monthly scan workflows are added; documentation, prompt groups, navigation, and homepage entries are registered.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Coach
  participant SessionToRecord
  participant CompanyRecord
  participant Founder
  participant SharedFolder
  Coach->>SessionToRecord: provide transcript, notes, and company slug
  SessionToRecord->>CompanyRecord: write facts and update portfolio metadata
  SessionToRecord->>Founder: request approval for the session record
  Founder->>SessionToRecord: approve or request changes
  SessionToRecord->>SharedFolder: copy only the approved session record
Loading

Possibly related PRs

  • fritzhand/startup-stack#1: Updates shared documentation-generation and scraping/tagging infrastructure used by this portfolio documentation.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/startup-stack-github-scraper-mbp53h

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants