agentleFS
FounderwithabsFounderwithabs/SOLIDSFORYOU/CLAUDE.md

SOLIDSFORYOU

CLAUDE.md1 starsChanged 19 days agoMITView on GitHub

A public toolkit of Claude tools for founders. README.md is the founder-facing guide; keep it accurate whenever anything here changes. Tagline: Make your Claude solid. Use the master skill for any task in this repo that needs SOLIDS FOR YOU tools (video, audio, social media, feedback, research). Any video you produce goes through its full video workflow (plugins/master/skills/master/workflows/video.md), even if the user did not ask for it. - Every tool is a Claude Code plugin in plugins/<tool>/, listed in .claude-plugin/marketplace.json.…

  • Reads credentials

The file

Show its rules and text

We split this CLAUDE.md into the rules it gives an agent

14 rules. About 0 are common, 3 are distinctive, and 11 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the master skill for any task in this repo that needs SOLIDS FOR YOU tools (video, audio, social media, feedback, research).

    line 10
  2. Very specific:

    Every tool is a Claude Code plugin in plugins/<tool>/, listed in .claude-plugin/marketplace.json.

    line 18
  3. Distinctive:

    Don't copy these files elsewhere.

    line 24
  4. Very specific:

    Create plugins/<tool>/.claude-plugin/plugin.json with name, displayName ("<Tool> by SOLIDS FOR YOU"), description (starting "SOLIDS FOR YOU …

    line 38
  5. Very specific:

    Add "license": "MIT" after homepage, and copy the root LICENSE.md into plugins/<tool>/.

    line 43
  6. Very specific:

    Put the skill in plugins/<tool>/skills/<tool>/SKILL.md.

    line 45
  7. Distinctive:

    Keep the description to 55 words or fewer (helper agents: 40): every installed description is paid for in every founder's session, and the …

    line 52
  8. Very specific:

    Add an entry to .claude-plugin/marketplace.json, a pointer in .claude/skills/<tool>/, a row in the README's tools table, and an install …

    line 59
  9. Very specific:

    Add the tool to SKILLS in scripts/build_skill_zip.py if it works on claude.ai, then run the script.

    line 62
  10. Very specific:

    Add the tool to the Master Skill: its registry in plugins/master/skills/master/master.md, the head or heads that should call it …

    line 64
  11. Very specific:

    Run claude plugin validate .

    line 72
  12. Very specific:

    Run python3 tests/run_tests.py and push only when it reports 0 failed.

    line 74
  13. Very specific:

    If you add a script, add a test for it in tests/run_tests.py.

    line 75
  14. Very specific:

    Every draft also goes through the humanizer on the linkedin channel.

    line 144

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

SOLIDS FOR YOU: Everything a Founder Needs

A public toolkit of Claude tools for founders. README.md is the founder-facing guide; keep it accurate whenever anything here changes.

Tagline: Make your Claude solid.

Use the Master Skill for tasks that need its tools

Use the master skill for any task in this repo that needs SOLIDS FOR YOU tools (video, audio, social media, feedback, research). Any video you produce goes through its full video workflow (plugins/master/skills/master/workflows/video.md), even if the user did not ask for it.

How the repo is built

  • Every tool is a Claude Code plugin in plugins/<tool>/, listed in .claude-plugin/marketplace.json. Founders install with /plugin marketplace add Founderwithabs/SOLIDSFORYOU and then /plugin install <tool>@solidsforyou.
  • plugins/<tool>/skills/<tool>/ is the single source of truth: SKILL.md, the full prompt (which doubles as the paste-in version), and any scripts. Don't copy these files elsewhere.
  • .claude/skills/<tool>/SKILL.md are short pointers so the tools also work in sessions opened inside this repo. Keep their frontmatter in step with the plugin's SKILL.md.
  • dist/<tool>-skill.zip are the claude.ai uploads, built by python3 scripts/build_skill_zip.py.
  • dist/master-full.md is the Master Skill, its toolbox and every tool in its registry (including the video workflow), in one paste-in file. It's generated by python3 scripts/build_bundle.py; never edit it by hand.
  • taste/motion/taste-notes.md holds SOLIDS FOR YOU's own motion taste. It's used when working in this repo; it isn't shipped to other founders.

Adding or changing a tool

  1. Create plugins/<tool>/.claude-plugin/plugin.json with name, displayName ("<Tool> by SOLIDS FOR YOU"), description (starting "SOLIDS FOR YOU <Tool>:"), author {"name": "SOLIDS FOR YOU"}, homepage and keywords. Leave out version, so founders get every update. Add "license": "MIT" after homepage, and copy the root LICENSE.md into plugins/<tool>/.
  2. Put the skill in plugins/<tool>/skills/<tool>/SKILL.md. Its frontmatter may only use name and description, so the claude.ai upload works. Refer to bundled files as being "next to this SKILL.md" and give the Claude Code path as ${CLAUDE_SKILL_DIR}/...; never use repo-root paths. Store anything a tool learns over time in the user's project or in ${CLAUDE_PLUGIN_DATA}, never inside the plugin folder (it is replaced on update). Keep the description to 55 words or fewer (helper agents: 40): every installed description is paid for in every founder's session, and the tests enforce the caps. If the full prompt is long, give it numbered ## N. sections and have the skill print only the sections a job needs with scripts/read_sections.py (copy it from the social-media skill).
  3. Where the tool can work outside Claude Code, include a self-contained prompt in the same folder and list it in prompts/README.md.
  4. Add an entry to .claude-plugin/marketplace.json, a pointer in .claude/skills/<tool>/, a row in the README's tools table, and an install line in its set-up section.
  5. Add the tool to SKILLS in scripts/build_skill_zip.py if it works on claude.ai, then run the script.
  6. Add the tool to the Master Skill: its registry in plugins/master/skills/master/master.md, the head or heads that should call it (heads/<head>.md: sub-skills table, workflow step, hand-offs), the head's row in toolbox.md, and, if videos should use it, plugins/master/skills/master/workflows/video.md (section 6 of master.md has the steps). After changing any of these or any tool in the registry, run python3 scripts/build_bundle.py (--check tells you if it's stale).
  7. Run claude plugin validate . (the only expected warnings are the missing versions) and test-install the plugin before pushing.
  8. Run python3 tests/run_tests.py and push only when it reports 0 failed. If you add a script, add a test for it in tests/run_tests.py.

Testing

tests/run_tests.py checks the whole toolkit: the catalog and manifests, claude.ai-safe frontmatter, pointer skills, every file a skill refers to, links in the docs, that dist/ is up to date, and every script run on synthetic audio and video it builds itself. --fast runs only the structure and docs checks. GitHub Actions (.github/workflows/tests.yml) runs the full suite on every push and pull request. A SKIP means a tool was missing on that machine, not that the check passed. tests/chaos.py (part of the full run) fires hostile inputs at every script: empty, binary, cp1252 and semicolon or tab files, nulls and huge values, odd paths, parallel writes, fake media and a machine without ffmpeg. A script may refuse an input with a plain message, never with a traceback or a hang; add your new script's hostile inputs there.

License

The repo is licensed under the MIT License (LICENSE.md), copyright (c) 2026 Solids for You Private Limited. Every plugin folder carries a copy of LICENSE.md, and the skill zips and the Master bundle include it, because MIT requires the notice to travel with every copy. Don't change the license or its wording without the owner's explicit decision.

Tool notes

  • Economy mode: routes low-importance work to the quick-task (Haiku) and standard-task (Sonnet) helpers in plugins/economy-mode/agents/. Once installed as a plugin they're named economy-mode:quick-task and economy-mode:standard-task. Turn it on with /economy-mode, off with "economy mode off".
  • Careful mode: three reviews (correctness, completeness, adversarial) before anything is submitted. Turn it on with /careful-mode, off with "careful mode off". The plugin's SKILL.md and careful-mode.md (the paste version) must stay in step. It can be combined with economy mode: the reviews are always done by the main model.
  • Audio review: analyze.py measures; designer_rubric.md judges; review.py runs it through the Claude API.
  • Motion design taste: scripts/inspect_video.py inspects; the prompt holds the rubric. Use it before delivering any video Claude made.
  • Harsh buyer review: needs web search for its competitor research.
  • Transcriber: transcribe.py installs faster-whisper and the solidsforyou-whisper-<size>-<n> PyPI packages, joins split files and trusts them only if every SHA-256 matches models.json; it tightens word timings to the audio and cuts captions at real pauses. Maintainers build and publish the packages with scripts/build_whisper_packages.py (official OpenAI checkpoint, checked against OpenAI's published SHA-256, converted, split under PyPI's size limit, uploaded with PYPI_TOKEN). Until they're published, models.json has published: false and the script falls back to faster-whisper's own download, then to phone instructions.
  • Humanizer: humanizer.md is the method (ground rules, process, pattern catalogue, rewriting moves, a guide per channel, Hindi and Hinglish, voice matching, examples, hand-back), read by section. patterns.json holds every phrase group, construction, opener and closer with weights, the per-channel limits and the claim words; edit it rather than the script. scripts/humanize.py: check (score and flags by line), compare (fails if a number, price, link or claim changed), voice (draft against the founder's samples), profile. The Marketing, Ecom, Design and Review heads call it on writing customers read. Its tests use the human and machine samples in tests/fixtures/humanizer/: human writing must score 85+ on every channel and machine writing under 50, so re-run them after editing the patterns. It changes how things are said, never the facts, and never promises to beat AI detectors.
  • LinkedIn: linkedin.md is the ghostwriter's method (rules, the founder's voice and memory in social/linkedin-samples.md, a job table, idea mining, post types, the hook and the fold, format, profile, comments and messages, the edit, planning, repurposing, examples, hand-back), read by section. scripts/linkedin_check.py checks posts (fold preview, limits, hook, broetry, bait, unicode bold), headlines, About, notes and comments. Every draft also goes through the humanizer on the linkedin channel; the Marketing head sends all LinkedIn work here. LinkedIn's limits are marked "check" because they change.
  • Clipper: clipper.md is the method (permission and brief rules, the campaign brief in clips/<campaign>/brief.md, finding moments, hook and words, cutting, hand-back, tracking in social/posts.csv). scripts/clip.py: find ranks transcript spans that stand alone (the score only sorts; Claude judges), render cuts them 9:16 (blurred fill or crop) with word-by-word captions from the transcriber's word timings, a hook line and -14 LUFS sound. It never posts, submits or logs in.
  • AI visuals: ai-visuals.md is the method (rules, brief, reading an image or video, prompt anatomy, fix ladder, scorecard, hand-back); purposes.md and generators.md are references read by section, and must be re-checked as tools change. Scripts: prompt_diff.py, score.py and the optional generate_openai.py (key from OPENAI_API_KEY only).
  • Ecom: ecom.md is the core (rules, module choice, store memory in the founder's ecom/ folder or ${CLAUDE_PLUGIN_DATA}/ecom/); modules/ holds listing, images, economics and operations, loaded only when needed; marketplaces.md says what to check per marketplace (never hard-coded fees). Scripts: economics.py (fee profiles, per-order profit with returns and ads, break-even and target prices, tier-cliff warnings), ops.py (ads, returns, reorder), listing_check.py, image_check.py (ffmpeg only) and render_image.cjs with templates/.
  • Competitor research: analysis only. competitor-research.md is the method, written so Haiku can follow it step by step. Four Haiku helpers in plugins/competitor-research/agents/ (scout, collector, verifier, analyst) do the work; the main conversation only coordinates. scripts/ledger.py checks, merges, samples and computes every table; scripts/fetch_page.cjs reads pages without getting around blocks. Research folders live in the user's project under research/.
  • Social media: social-media.md holds the whole method (strategy, calendar, creation, 100-point pre-publish scorecard, repurposing, trends, community, platform playbook, compliance); scripts/content_log.py analyses posts.csv against the account's own medians. Brand memory (brand-voice.md, strategy.md, learnings.md, posts.csv) lives in the founder's social/ folder or ${CLAUDE_PLUGIN_DATA}. Platform limits in its playbook must be re-checked when platforms change them.
  • Master skill: keeps every tool ready and routes each task to one of five heads in plugins/master/skills/master/heads/ (product, ecom, marketing, design, review), each a short workflow with five sections (when it runs, sub-skills, workflow, hand-offs, done when) that calls only the tools the task needs. Careful mode, economy mode and the memory sheet are the foundation every head uses, and the humanizer is always on for anything going public, head or no head (a rule in toolbox.md). Every tool must be called by at least one head (the tests check it), to save founders credits and raise quality. It is always-on by default: the SessionStart hook in plugins/master/hooks/hooks.json loads toolbox.md, a compact router, into every session. The same hook gives the one-time welcome in hooks/welcome.json (Claude opens its first reply after install with "Oh my god, this is gold."), remembered by a welcomed file in ${CLAUDE_PLUGIN_DATA}. Founders can switch to task-specific through the plugin's mode setting (userConfig in its plugin.json). toolbox.md is paid for in every session, so keep it short (the tests cap it) and put detail in master.md, which loads only when a tool is needed. Master's skill description is in every session too; keep it short. Video tasks run workflows/video.md, which chains economy mode, careful mode, motion design taste, audio review and harsh buyer review around a build stage (templates/scene-template.html, scripts/render_html_video.cjs, scripts/sfx_mix.py) and regenerates up to three times until the video meets its quality bar. Its registry is the one place to plug in new tools.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.