Claude/startup stack GitHub scraper mbp53h#2
Merged
Conversation
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
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (38)
📝 WalkthroughWalkthroughThe 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. ChangesPortfolio governance and records
Operational workflows
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
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary by CodeRabbit