agentleFS
Yesterday-AIYesterday-AI/ytstack/skills/oss-project/SKILL.md

oss-project

Skill2 starsChanged 29 days agoMITView on GitHub

Reference for scaffolding, polishing and publishing open-source projects with AI-first documentation, governance and CI. Use when starting an OSS package, polishing or publishing an existing repo, setting up AGENTS.md / CONTEXT.md / DECISIONS.md / ROADMAP.md, onboarding AI agents to a codebase, or creating community files (README, LICENSE, CONTRIBUTING, CHANGELOG, issue templates, CI). Not for day-to-day work inside a closed internal repo.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All templates are in templates/ and use {{PLACEHOLDER}} syntax for project-specific values.

    line 77
  2. Distinctive:

    Prefer a visual (screenshot, diagram, GIF) if the project has UI.

    line 100
  3. Distinctive:

    Every AI agent starts here.

    line 160
  4. Distinctive:

    Rule: If an agent can't orient itself from AGENTS.md alone, it's incomplete.

    line 168
  5. Distinctive:

    Every architecture decision gets a structured entry:

    line 205
  6. Distinctive:

    Rule: Every PR must declare decision impact (none / implements existing / proposes new).

    line 222
  7. Distinctive:

    Every roadmap item must have:

    line 226
  8. Distinctive:

    No manual verification steps.

    line 245
  9. Very specific:

    Always include: primary language (e.g., typescript), framework (e.g., react), project type (e.g., cli, library, framework)

    line 275
  10. Very specific:

    Add domain tags (e.g., ai, devtools, automation)

    line 276
  11. Distinctive:

    Use lowercase, hyphenated format

    line 277
  12. Distinctive:

    When running on an existing project, the skill checks for:

    line 282

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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
SKILL.md

OSS Project

Bootstrap, polish, and publish open-source projects with AI-first documentation and governance standard. Designed for AI-first development where documentation is the primary interface for agent contributors.

Origin: Extracted from a real AI-powered sprite restyling package and generalized as a reusable pattern for rapid PoC shipping.

Sources & Attribution

SourceWhatURL
dec0dOS/amazing-github-template.github/ structure, community files, workflowshttps://github.com/dec0dOS/amazing-github-template
othneildrew/Best-README-TemplateREADME section conventionshttps://github.com/othneildrew/Best-README-Template
anthropics/skills doc-coauthoringDocumentation co-authoring workflowhttps://github.com/anthropics/skills/tree/main/skills/doc-coauthoring
gitleaks/gitleaks-actionSecrets scanning workflowhttps://github.com/gitleaks/gitleaks-action

Usage

# Scaffold a new project
/oss-project init --name my-project --lang typescript

# Add missing docs to an existing project
/oss-project audit --path ./my-project

# Polish an existing repo for open-source publishing
/oss-project polish --path ./my-project

What It Creates

my-project/
├── AGENTS.md              # AI agent entry point (build, conventions, gotchas)
├── CONTEXT.md             # Static architecture overview + reading order
├── CONTRIBUTING.md        # Dev workflow, code style, testing philosophy
├── DECISIONS.md           # Architecture Decision Log (DEC-001, DEC-002, ...)
├── ROADMAP.md             # Priorities with acceptance criteria
├── README.md              # Product-level docs with badges
├── CHANGELOG.md           # Keep a Changelog format, populated from git history
├── CODE_OF_CONDUCT.md     # Contributor Covenant
├── SECURITY.md            # Vulnerability reporting
├── RELEASING.md           # Release runbook (Changesets)
├── LICENSE                # MIT (default)
├── .editorconfig          # Consistent formatting across editors
├── .gitattributes         # Line-ending normalization
├── .nvmrc / .node-version # Node.js version pinning (if applicable)
├── .github/
│   ├── workflows/
│   │   ├── ci.yml         # Build + typecheck + test + Gitleaks secret detection
│   │   └── release.yml    # Changesets auto-release + npm publish with provenance
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md  # Structured bug report (env, repro steps, logs)
│   │   └── feature_request.md  # Problem → solution → alternatives
│   └── pull_request_template.md  # Checklist + decision impact + contributor type
└── ...

All templates are in templates/ and use {{PLACEHOLDER}} syntax for project-specific values.

README Best Practices (Baked In)

The README template follows current OSS best practices:

  • Centered header with project name + one-line description
  • Badge row (npm version, license, TypeScript, CI status)
  • "How It Works" -- visual pipeline diagram before any details
  • Feature list with emoji markers for scannability
  • Install + Quick Start -- copy-pasteable within 30 seconds
  • Environment variables table -- not buried in prose
  • CLI reference table -- command + description, no walls of text
  • Programmatic usage -- import example for library consumers
  • CI & Security section -- signals trust and professionalism
  • Roadmap link -- points to ROADMAP.md (single source of truth)
  • Contributing link -- split by audience (AI agents → AGENTS.md, humans → CONTRIBUTING.md)
  • Footer with npm + GitHub + Issues links

README rules:

  • Lead with what, not how. First sentence = value proposition.
  • Badges: only include meaningful ones (CI status, version, license). No vanity badges.
  • Code examples must be copy-pasteable and working.
  • No "Table of Contents" for READMEs under 200 lines.
  • Prefer a visual (screenshot, diagram, GIF) if the project has UI.

CHANGELOG (Keep a Changelog)

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).

## [Unreleased]

### Added
- Initial public release

Rules: Populate from actual git history -- don't invent entries. Group by: Added, Changed, Deprecated, Removed, Fixed, Security. Link version headers to GitHub compare URLs when possible.

Additional Files (Always Include)

.editorconfig

root = true

[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

[*.{js,ts,jsx,tsx,json,yml,yaml,md}]
indent_style = space
indent_size = 2

[Makefile]
indent_style = tab

.gitattributes

* text=auto eol=lf

.nvmrc / .node-version (Node.js projects)

Pin the runtime version to match the project's target.

CI Pipeline (Security-First)

The CI template includes:

  • Build + Typecheck -- catches type errors before merge
  • Gitleaks secret detection -- scans full git history for leaked API keys, tokens, passwords
  • Release automation -- Changesets creates release PRs, publishes to npm with provenance
  • Branch protection ready -- designed for required status checks on main

Core Principles

1. AGENTS.md Is The Front Door

Every AI agent starts here. It must contain:

  • Build & test commands (copy-pasteable)
  • Architecture overview (10 files or less)
  • Code conventions (strict, no ambiguity)
  • Key decisions summary (with links to DECISIONS.md)
  • Gotchas (things that will waste an agent's time)
  • Reading order for deeper context

Rule: If an agent can't orient itself from AGENTS.md alone, it's incomplete.

2. Documentation As Interface

In AI-first development, docs are not afterthoughts -- they are the API.

FilePurposeUpdate Frequency
AGENTS.mdAgent entry pointEvery architecture change
CONTEXT.mdStatic backgroundRarely (module map changes)
DECISIONS.mdLiving decision logEvery non-trivial decision
ROADMAP.mdPriorities + acceptance criteriaWhen items change status
CONTRIBUTING.mdDev workflow + testingWhen process changes

Rule: Inline TSDoc in source files is the source of truth for implementation. Markdown docs are for orientation and decisions.

3. Lean Governance (Founder Mode)

For early-stage projects:

## Governance

- **Owner / decision authority**: @<founder>
- **AI implementation agent**: @<agent>

Decision rules:
- Non-trivial changes require a DEC-xxx entry in DECISIONS.md
- New decisions start as `Status: proposed`
- Only @<founder> marks decisions as `accepted`

Scale governance only when the project demands it. Don't cargo-cult.

4. Decision Log Format

Every architecture decision gets a structured entry:

## DEC-001: <Title>

- **Status**: proposed | accepted | superseded
- **Date**: YYYY-MM-DD
- **Owner**: @<founder>
- **Proposed-by**: @<agent-or-human>
- **Accepted-by**: (pending)
- **Decision**: <one sentence>
- **Rationale**: <why this over alternatives>
- **Supersedes**: DEC-00Y (optional)
- **Affected modules**:
    - `src/...`

Rule: Every PR must declare decision impact (none / implements existing / proposes new).

5. Roadmap With Teeth

Every roadmap item must have:

  • Priority (High / Medium / Low)
  • Status (Not started / In progress / Done)
  • Why -- the problem it solves
  • Constraints -- non-negotiable boundaries
  • Approach -- high-level how
  • Acceptance criteria -- measurable definition of done

Vague roadmap items ("improve performance") are not allowed.

6. Tests As Specification

Tests serve two purposes:
1. Verify correctness
2. Specify behavior for the next agent

An agent reading tests should understand what the code is supposed to do. No manual verification steps. Everything automatable.

7. PR Checklist (Enforced)

Every PR:

  • typecheck -- zero errors
  • build -- compiles clean
  • test -- all pass
  • Changeset added (unless docs-only)
  • TSDoc on new/changed public API
  • Tests for new/changed behavior
  • Decision impact declared

Phase 3: Repo Description & Tags

After all files are created, output (NOT as a file -- print to the user) a suggested:

Description: <one-liner, max 350 chars -- what it does + key differentiator>

Topics/Tags:
  - <tag1>
  - <tag2>
  - ...
  (6-12 tags: include language, framework, domain, and discoverability terms)

Website: <docs URL or homepage if applicable>

Tag rules:

  • Always include: primary language (e.g., typescript), framework (e.g., react), project type (e.g., cli, library, framework)
  • Add domain tags (e.g., ai, devtools, automation)
  • Use lowercase, hyphenated format
  • 6-12 tags total

Audit Mode

When running on an existing project, the skill checks for:

  1. ❓ Missing AGENTS.md → Generate from source analysis
  2. ❓ Missing CONTEXT.md → Generate architecture overview
  3. ❓ Missing DECISIONS.md → Create with governance template
  4. ❓ Missing ROADMAP.md → Create with priority template
  5. ❓ Missing CONTRIBUTING.md → Generate from detected toolchain
  6. ❓ Missing CHANGELOG.md → Generate from git history
  7. ❓ Missing CI workflows → Generate based on language/framework
  8. ❓ Missing PR template → Add standard template
  9. ❓ Missing issue templates → Add bug + feature templates
  10. ❓ Missing .editorconfig → Add standard config
  11. ❓ Missing .gitattributes → Add line-ending normalization

Language Support

Templates auto-detect and adapt to:

LanguageBuildTestLintPackage Manager
TypeScripttscviteststrict modepnpm
Pythonuv buildpytestruffuv
Rustcargo buildcargo testclippycargo
Gogo buildgo testgolangci-lintgo mod

Philosophy

"Es zählt nicht, wer den schönsten Code schreibt. Es zählt, wer die meisten Menschen inspiriert." -- a wise co-founder

This skill exists because shipping 10 well-documented PoCs beats one undocumented monolith. Every new project deserves a clean start with the right structure from day one.

Polish Principles

  1. Don't over-document -- A 50-line CLI doesn't need SECURITY.md and 4 issue templates. Scale documentation to project size.
  2. Real content only -- Never leave [TODO] or Lorem ipsum. Either fill it in from the codebase or skip the section.
  3. Badges must work -- Only add badges for things that are actually set up (CI, npm, license).
  4. Match the project's voice -- A fun side project gets casual tone; an enterprise library gets professional tone.
  5. Git history is truth -- Populate CHANGELOG from actual commits, not imagination.
  6. Ask when uncertain -- License choice, project name, target audience -- ask the user rather than guessing.

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.