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.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- check-consistencySkill
- adopt-brownfieldSkill
- atomic-designSkill
- code-reviewSkill
- deutschland-stack-apiSkill
- document-releaseSkill
- european-alternatives-apiSkill
- finish-branchSkill
- grillSkill
- handoff-sessionSkill
- init-projectSkill
- minimal-codeSkill
- office-hoursSkill
- plan-ceo-reviewSkill
- plan-eng-reviewSkill
- plan-milestoneSkill
- plan-taskSkill
- quick-taskSkill
- reassess-roadmapSkill
- reconcileSkill
- resume-sessionSkill
- retroSkill
- shipSkill
- slice-milestoneSkill
- software-craftsmanshipSkill
- spawn-milestone-teamSkill
- summarize-taskSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- using-ytstackSkill
- verification-before-completionSkill
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
- Very specific: line 77
All templates are in templates/ and use {{PLACEHOLDER}} syntax for project-specific values.
- Distinctive: line 100
Prefer a visual (screenshot, diagram, GIF) if the project has UI.
- Distinctive: line 160
Every AI agent starts here.
- Distinctive: line 168
Rule: If an agent can't orient itself from AGENTS.md alone, it's incomplete.
- Distinctive: line 205
Every architecture decision gets a structured entry:
- Distinctive: line 222
Rule: Every PR must declare decision impact (none / implements existing / proposes new).
- Distinctive: line 226
Every roadmap item must have:
- Distinctive: line 245
No manual verification steps.
- Very specific: line 275
Always include: primary language (e.g., typescript), framework (e.g., react), project type (e.g., cli, library, framework)
- Very specific: line 276
Add domain tags (e.g., ai, devtools, automation)
- Distinctive: line 277
Use lowercase, hyphenated format
- Distinctive: line 282
When running on an existing project, the skill checks for:
≈ “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.
Files
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
| Source | What | URL |
| dec0dOS/amazing-github-template | .github/ structure, community files, workflows | https://github.com/dec0dOS/amazing-github-template |
| othneildrew/Best-README-Template | README section conventions | https://github.com/othneildrew/Best-README-Template |
anthropics/skills doc-coauthoring | Documentation co-authoring workflow | https://github.com/anthropics/skills/tree/main/skills/doc-coauthoring |
| gitleaks/gitleaks-action | Secrets scanning workflow | https://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-projectWhat 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 releaseRules: 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.
| File | Purpose | Update Frequency |
AGENTS.md | Agent entry point | Every architecture change |
CONTEXT.md | Static background | Rarely (module map changes) |
DECISIONS.md | Living decision log | Every non-trivial decision |
ROADMAP.md | Priorities + acceptance criteria | When items change status |
CONTRIBUTING.md | Dev workflow + testing | When 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 agentAn 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 errorsbuild-- compiles cleantest-- 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:
- ❓ Missing
AGENTS.md→ Generate from source analysis - ❓ Missing
CONTEXT.md→ Generate architecture overview - ❓ Missing
DECISIONS.md→ Create with governance template - ❓ Missing
ROADMAP.md→ Create with priority template - ❓ Missing
CONTRIBUTING.md→ Generate from detected toolchain - ❓ Missing
CHANGELOG.md→ Generate from git history - ❓ Missing CI workflows → Generate based on language/framework
- ❓ Missing PR template → Add standard template
- ❓ Missing issue templates → Add bug + feature templates
- ❓ Missing
.editorconfig→ Add standard config - ❓ Missing
.gitattributes→ Add line-ending normalization
Language Support
Templates auto-detect and adapt to:
| Language | Build | Test | Lint | Package Manager |
| TypeScript | tsc | vitest | strict mode | pnpm |
| Python | uv build | pytest | ruff | uv |
| Rust | cargo build | cargo test | clippy | cargo |
| Go | go build | go test | golangci-lint | go 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
- Don't over-document -- A 50-line CLI doesn't need SECURITY.md and 4 issue templates. Scale documentation to project size.
- Real content only -- Never leave
[TODO]orLorem ipsum. Either fill it in from the codebase or skip the section. - Badges must work -- Only add badges for things that are actually set up (CI, npm, license).
- Match the project's voice -- A fun side project gets casual tone; an enterprise library gets professional tone.
- Git history is truth -- Populate CHANGELOG from actual commits, not imagination.
- Ask when uncertain -- License choice, project name, target audience -- ask the user rather than guessing.
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
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.

