@opendirectory.dev/skills 0.1.44 → 0.1.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendirectory.dev/skills",
3
- "version": "0.1.44",
3
+ "version": "0.1.45",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "bin": {
package/registry.json CHANGED
@@ -217,6 +217,14 @@
217
217
  "version": "0.0.1",
218
218
  "path": "skills/npm-downloads-to-leads"
219
219
  },
220
+ {
221
+ "name": "oss-launch-kit",
222
+ "description": "Higher-level OSS launch orchestrator that analyzes repos, selects channels, and coordinates launch plans.",
223
+ "tags": [],
224
+ "author": "OpenDirectory",
225
+ "version": "0.2.0",
226
+ "path": "skills/oss-launch-kit"
227
+ },
220
228
  {
221
229
  "name": "outreach-sequence-builder",
222
230
  "description": "Takes a buying signal and generates a personalized multi-channel outreach sequence across email, LinkedIn, and phone.",
@@ -0,0 +1,2 @@
1
+ # GitHub API access for repo context fetching
2
+ GITHUB_TOKEN=
@@ -0,0 +1,122 @@
1
+ # oss-launch-kit PRD
2
+
3
+ ## Overview
4
+ `oss-launch-kit` is an advanced OpenDirectory skill that turns a public GitHub repo URL into a grounded launch package for open-source projects.
5
+
6
+ The v1 output is a single Markdown document containing:
7
+ - executive summary & launch readiness
8
+ - Launch Readiness Fix Plan
9
+ - soft launch strategy (for medium readiness)
10
+ - coordinated launch timeline (for medium/high readiness)
11
+ - channel strategy hooks (Show HN, PH, Reddit, X)
12
+ - explicit handoffs to specialized skills ([!TIP])
13
+ - full confidence notes & assumptions
14
+
15
+ ## Problem Statement
16
+ Open-source maintainers often know how to build and ship the product, but not how to package it for launch. The hardest part is not writing generic marketing copy; it is translating a repo’s real signal into channel-specific content that is honest, specific, and usable.
17
+
18
+ This skill solves that by taking one repo URL and generating launch assets that a maintainer can post or adapt with minimal editing.
19
+
20
+ ### Why a repo URL is enough for v1
21
+ A GitHub repo already exposes the highest-signal inputs for launch copy:
22
+ - repository name and description
23
+ - README content
24
+ - topics and homepage
25
+ - primary language
26
+ - stars, forks, license
27
+ - optional release metadata
28
+
29
+ That is enough to infer what the project is, who it is for, what problem it solves, and what makes it worth announcing. V1 does not need deeper scraping or user-provided briefs.
30
+
31
+ ### Why this is better scoped than the previous FAQ attempt
32
+ The closed `api-error-to-faq-builder` idea tried to infer support content from noisy inputs and broad product repos, which made hallucination and generic output more likely.
33
+
34
+ `oss-launch-kit` is narrower in three ways:
35
+ - input is a single public repo with structured metadata
36
+ - output is a bounded launch kit, not open-ended support material
37
+ - the skill can stay grounded in the repo’s own README and metadata
38
+
39
+ That makes the challenge more mergeable and easier to validate.
40
+
41
+ ## Goals
42
+ - Analyze repo context to determine appropriate launch channels and project maturity.
43
+ - Act as a Phase 0 orchestrator: decide *if* and *how* to launch, not to write every post.
44
+ - Provide a prioritized, actionable Launch Readiness Fix Plan for missing signals.
45
+ - Generate strategic hooks and positioning for key channels.
46
+ - Provide a coordinated, day-by-day launch strategy.
47
+ - Minimize hallucinations and unsupported claims.
48
+ - Explicitly flag low-confidence areas when the README or metadata is sparse.
49
+
50
+ ## Non-Goals
51
+ - No direct posting to Product Hunt, Reddit, HN, or X.
52
+ - No scraping of private sites.
53
+ - No invented traction, testimonials, users, or metrics.
54
+ - No attempt to infer hidden business strategy or audience beyond available evidence.
55
+
56
+ ## User Input Contract
57
+ ### Required CLI input
58
+ - `--repo-url <url>`: public GitHub repository URL.
59
+
60
+ ### Optional CLI inputs
61
+ - `--output <path>`: write Markdown to a file instead of stdout.
62
+ - default: `launch-kit.md`
63
+
64
+ ### Environment variables
65
+ - `GITHUB_TOKEN`: optional, used to raise GitHub API rate limits.
66
+ - `OPENAI_API_KEY` or equivalent model credentials only if the implementation uses a hosted LLM.
67
+
68
+ ### Validation rules
69
+ - Repo URL must resolve to a public GitHub repository.
70
+ - Invalid or private repos should fail with a clear message.
71
+ - If README is missing, the skill should continue with lowered confidence and flag the gap.
72
+
73
+ ## Output Contract
74
+ The output must be a single Markdown document with stable headings.
75
+
76
+ ### Required structure
77
+ 1. `# Launch Orchestrator for <repo>`
78
+ 2. `## Executive Summary & Launch Readiness` (with readiness score and CAUTION nodes)
79
+ 3. `## Launch Readiness Fix Plan` (Condition: Readiness is LOW/MEDIUM)
80
+ 4. `## Soft Launch Strategy` (Condition: Readiness is MEDIUM)
81
+ 5. `## Coordinated Launch Timeline` (Condition: Readiness is MEDIUM/HIGH)
82
+ 6. `## Channel Strategy & Positioning` (Condition: Readiness is HIGH)
83
+ 7. `## Full Confidence Notes & Assumptions`
84
+
85
+ ### Content expectations
86
+ - Executive Summary cites only verified repo facts and computed project maturity.
87
+ - Fix Plan provides prioritized, actionable steps (e.g., "Add Quickstart", "Add License").
88
+ - Channel Strategy provides hooks, taglines, and niche community targets.
89
+ - Coordinated Launch Timeline is a practical, day-based coordination plan.
90
+ - Integration uses `[!TIP]` handoffs to specialized skills (`producthunt-launch-kit`, `show-hn-writer`, etc.).
91
+ - Low-confidence areas must explicitly list anything inferred rather than verified.
92
+
93
+ ## Data Sources
94
+ ### Essential
95
+ - repo name
96
+ - repo description
97
+ - README
98
+ - topics
99
+ - homepage
100
+ - primary language
101
+ - stars
102
+ - forks
103
+ - license
104
+
105
+ ### Optional
106
+ - latest release metadata
107
+ - release notes
108
+ - repo archived/fork status
109
+ - README badges if easily parsed
110
+
111
+ ### Priority order
112
+ 1. README
113
+ 2. repo description
114
+ 3. topics and homepage
115
+ 4. language, stars, forks, license
116
+ 5. optional release info
117
+
118
+ ## Success Criteria
119
+ - Launch assets feel specific to the repo, not generic.
120
+ - No fabricated claims.
121
+ - The user can use the drafts with light editing.
122
+ - Weak repos still produce honest output with confidence notes.
@@ -0,0 +1,27 @@
1
+ <img src="./hero.png" width="100%" alt="OSS Launch Kit Cover" />
2
+
3
+ # oss-launch-kit (Orchestrator)
4
+
5
+ The high-level **OSS Launch Orchestrator** for GitHub repositories. It serves as the strategic entry point that analyzes your repo and coordinates a multi-channel launch plan.
6
+
7
+ ## Features
8
+
9
+ - **Project Analysis**: Differentiates between CLI tools, libraries, apps, and templates.
10
+ - **Enhanced Readiness**: Checks for installation guides, usage examples, license, and metadata.
11
+ - **Channel Orchestration**: Recommends the best channels (PH, HN, Reddit, X) based on fitness.
12
+ - **Skill Hand-offs**: Provides hooks and pointers to `show-hn-writer`, `producthunt-launch-kit`, and `reddit-post-engine`.
13
+ - **Honest Feedback**: Explicitly flags low-readiness repos and recommends documentation sprints.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ # Generate a launch strategy and checklist for a repo
19
+ python scripts/run.py --repo-url https://github.com/owner/repo
20
+ ```
21
+
22
+ ## Differentiation
23
+
24
+ Unlike single-channel generators, `oss-launch-kit` acts as the **Root Strategy Layer**:
25
+ 1. It tells you **if and where** you should launch.
26
+ 2. It provides a **timed checklist** for coordination.
27
+ 3. It hands off to **specialized skills** for channel-specific drafting.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: oss-launch-kit
3
+ description: Higher-level OSS launch orchestrator that analyzes repos, selects channels, and coordinates launch plans.
4
+ compatibility: [claude-code, gemini-cli, github-copilot]
5
+ author: OpenDirectory
6
+ version: 0.2.0
7
+ ---
8
+
9
+ # OSS Launch Kit (Orchestrator)
10
+
11
+ The `oss-launch-kit` is the **root orchestration layer** for open-source launches in OpenDirectory. It turns a GitHub repository URL into a grounded, coordinated launch strategy.
12
+
13
+ Rather than just writing generic copy, this skill serves as the **Strategic Entry Point**: it evaluates readiness, determines channel fitness (Show HN vs. Product Hunt vs. Reddit), and provides the coordination logic needed to use specialized skills effectively.
14
+
15
+ ## How it works
16
+
17
+ - **Project Analysis**: Differentiates between CLI tools, libraries, apps, and templates.
18
+ - **Launch Readiness**: Stronger checks for installation guides, examples, and licenses.
19
+ - **Skill Orchestration**: Provides hooks and explicit handoffs to `show-hn-writer`, `producthunt-launch-kit`, and `reddit-post-engine`.
20
+ - **Coordinated Strategy**: A timed checklist for multi-channel launches.
21
+ - **Honest Feedback**: Proactively flags sparse READMEs and recommends documentation sprints.
22
+
23
+ ## When to use
24
+
25
+ - **Primary Entry Point**: Use this first to map out your launch strategy.
26
+ - **Readiness Assessment**: Determine if your repo is actually ready for high-friction channels.
27
+ - **Skill Orchestration**: Get hooks and handoffs to specialized skills:
28
+ - `show-hn-writer` (for technical deep-dives)
29
+ - `producthunt-launch-kit` (for PH assets and badges)
30
+ - `reddit-post-engine` (for community-specific variants)
31
+ - `tweet-thread-from-blog` (for Twitter/X threads)
32
+ - `linkedin-post-generator` (for LinkedIn posts)
33
+ - **Coordinated Strategy**: Get a realistic, timed checklist for multiple platforms.
@@ -0,0 +1,187 @@
1
+ # oss-launch-kit Technical Design
2
+
3
+ ## Architecture Summary
4
+ `oss-launch-kit` should follow the same advanced-skill pattern used elsewhere in this repo:
5
+ - `README.md` for public overview and usage
6
+ - `SKILL.md` for operational instructions
7
+ - `.env.example` for required environment variables
8
+ - `scripts/` for executable orchestration
9
+ - `references/` for design guides, templates, and frameworks (note: these are for design-time reference, the current scripts use hardcoded templates for maximum performance and stability).
10
+ - `evals/` for validation cases
11
+
12
+ The implementation should be a two-stage pipeline:
13
+
14
+ 1. repo context -> structured product brief
15
+ 2. product brief -> channel-specific launch assets
16
+
17
+ This mirrors the repo’s stronger launch skills and keeps the generation grounded.
18
+
19
+ ## Stage A: Repo Context -> Product Brief
20
+ ### Responsibility
21
+ Convert raw GitHub repo data into a normalized brief that captures only what can be supported by evidence.
22
+
23
+ ### Inputs
24
+ - repo metadata JSON
25
+ - README text
26
+ - optional release metadata
27
+
28
+ ### Output schema
29
+ ```json
30
+ {
31
+ "repo_name": "string",
32
+ "one_line_summary": "string",
33
+ "project_type": "string",
34
+ "launch_readiness": {
35
+ "score": "low | medium | high",
36
+ "signals": "object",
37
+ "fix_plan": "list"
38
+ },
39
+ "audience": "string",
40
+ "problem_solved": "string",
41
+ "value_proposition": "string",
42
+ "key_proof_points": "list",
43
+ "key_features": "list",
44
+ "links": "object",
45
+ "confidence": "low | medium | high",
46
+ "assumptions": "list",
47
+ "channel_fitness": "object"
48
+ }
49
+ ```
50
+
51
+ ### Failure cases
52
+ - README is sparse or missing.
53
+ - Repo description conflicts with README.
54
+ - Audience is implied, not explicit.
55
+
56
+ ### Hallucination controls
57
+ - Treat README and repo metadata as the only factual source.
58
+ - Allow `unknown` or empty values when evidence is missing.
59
+ - Store evidence alongside every major inference.
60
+
61
+ ## Stage B: Product Brief -> Launch Assets
62
+ ### Responsibility
63
+ Use the brief to generate channel-specific drafts with channel rules applied.
64
+
65
+ ### Inputs
66
+ - product brief JSON
67
+ - channel rules from `references/channel_rules.md`
68
+ - output template from `references/output_template.md`
69
+
70
+ ### Output
71
+ - final Markdown launch kit
72
+
73
+ ### Failure cases
74
+ - assets become generic
75
+ - channel tone drifts away from platform norms
76
+ - unsupported claims leak into drafts
77
+
78
+ ### Hallucination controls
79
+ - no new facts beyond the brief
80
+ - confidence notes carry through to final output
81
+ - use explicit `[!TIP]` handoffs to specialized skills
82
+ - suppress aggressive channels for unready repos
83
+
84
+ ## Channel Rules
85
+ ### Show HN
86
+ - direct and technical
87
+ - no hype language
88
+ - no fake performance claims
89
+ - plain title alternative only if useful
90
+
91
+ ### Product Hunt
92
+ - include tagline and description
93
+ - maker comment should sound human and specific
94
+ - avoid invented social proof
95
+ - do not exceed practical PH length constraints
96
+
97
+ ### Reddit
98
+ - generate niche suggestions based on repo tags and description
99
+ - include a warning to verify subreddit rules before posting
100
+ - prioritize feedback-first communities for early-stage repos
101
+
102
+ ### Twitter/X
103
+ - concise thread
104
+ - each tweet should carry one idea
105
+ - use evidence-based language only
106
+ - no spammy hashtags
107
+
108
+ ## File Structure
109
+ ```text
110
+ skills/oss-launch-kit/
111
+ ├── README.md
112
+ ├── SKILL.md
113
+ ├── .env.example
114
+ ├── PRD.md
115
+ ├── TECHNICAL_DESIGN.md
116
+ ├── evals/
117
+ │ └── evals.json
118
+ ├── references/
119
+ │ ├── launch_framework.md
120
+ │ ├── channel_rules.md
121
+ │ └── output_template.md
122
+ └── scripts/
123
+ ├── run.py
124
+ ├── fetch_repo_context.py
125
+ ├── build_product_brief.py
126
+ └── generate_assets.py
127
+ ```
128
+
129
+ ## Implementation Phases
130
+ ### Phase 1: Skeleton and docs
131
+ - Create folder structure and planning docs.
132
+ - Acceptance: skill folder exists with PRD, technical design, and reference stubs.
133
+ - Risk: too much upfront design before validation.
134
+
135
+ ### Phase 2: GitHub fetcher
136
+ - Implement repo URL parsing and GitHub API fetches.
137
+ - Acceptance: metadata and README resolve for public repos.
138
+ - Risk: API rate limits and README format variance.
139
+
140
+ ### Phase 3: Brief builder
141
+ - Turn repo context into structured brief JSON.
142
+ - Acceptance: evidence-backed fields and explicit confidence notes.
143
+ - Risk: over-inference from weak READMEs.
144
+
145
+ ### Phase 4: Asset generation
146
+ - Produce final channel drafts from the brief.
147
+ - Acceptance: all outputs obey channel rules and remain grounded.
148
+ - Risk: repetitive or generic copy.
149
+
150
+ ### Phase 5: Testing on 3 public repos
151
+ - Test on a dev tool repo, a library/package repo, and a weak README repo.
152
+ - Acceptance: all three produce usable outputs with honest low-confidence handling.
153
+ - Risk: one-size-fits-all messaging.
154
+
155
+ ### Phase 6: README polish and PR prep
156
+ - Align README with final behavior and usage.
157
+ - Acceptance: maintainer can review quickly and see the merge value.
158
+
159
+ ## Testing Strategy
160
+ ### Test set
161
+ - one dev-tool repo with strong README
162
+ - one library/package repo with clear positioning
163
+ - one repo with a weak README
164
+
165
+ ### Good output means
166
+ - factual repo summary
167
+ - specific audience and problem framing
168
+ - channel-appropriate tone
169
+ - no fabricated proof points
170
+ - explicit assumptions where evidence is thin
171
+
172
+ ## Risks and Mitigations
173
+ - Weak README: keep output short, honest, and confidence-tagged.
174
+ - Misleading repo description: prefer README over description.
175
+ - Unclear audience: provide one primary hypothesis and note ambiguity.
176
+ - Generic launch copy: require evidence fields before drafting assets.
177
+ - Wrong subreddit suggestions: mark them as suggestions, not endorsements.
178
+ - Hallucinated claims: final validation pass checks every claim against brief evidence.
179
+
180
+ ## PR Plan
181
+ - Branch: `skill/oss-launch-kit`
182
+ - PR title: `feat(skill): add oss-launch-kit`
183
+ - Commit sequence:
184
+ - `docs(skill): add oss-launch-kit prd and technical design`
185
+ - `docs(skill): add oss-launch-kit reference docs and scaffold`
186
+ - `feat(skill): implement repo context fetcher`
187
+ - `feat(skill): implement brief builder and launch asset generation`
@@ -0,0 +1,49 @@
1
+ # Launch Orchestrator for cli/cli
2
+
3
+
4
+
5
+ ## Executive Summary & Launch Readiness
6
+
7
+ **Project Maturity**: HIGH
8
+
9
+
10
+
11
+ ## Coordinated Launch Timeline
12
+
13
+ - [ ] Day 1: Show HN
14
+ - [ ] Day 3: Reddit
15
+ - [ ] Day 5: Product Hunt
16
+
17
+
18
+
19
+ This is identified as a **tool** with **High Launch Readiness**.
20
+ - **Show HN**: High fit. Technical communities appreciate technical tools and libraries.
21
+ - **Product Hunt**: Not recommended yet. Pure libraries or early-stage tools often struggle on PH without a UI/Demo.
22
+
23
+
24
+
25
+ ## Channel Strategy & Positioning
26
+ ### [Show HN] - Fit: HIGH
27
+ **Positioning**: Focus on technical implementation and 'why I built this'.
28
+ **Recommended Title**: `Show HN: cli/cli - GitHub’s official command line tool`
29
+ **Hook**: I built cli/cli because I wanted a clearer way to serve data/infra users who need github’s official command line tool.
30
+ > [!TIP]
31
+ > Use `show-hn-writer` for a full submission draft.
32
+
33
+ ### [Reddit] - Fit: MEDIUM
34
+ **Niche Strategy**: Engage r/devtools, r/opensource, r/commandline with feedback-first posts.
35
+ **Key Hook**: GitHub’s official command line tool
36
+ > [!TIP]
37
+ > Use `reddit-post-engine` to generate subreddit-specific variants.
38
+
39
+ ### [Twitter/X] - Fit: HIGH
40
+ **Thread Strategy**: Start with the problem of GitHub’s official command line tool.
41
+ **Hook**: I built `cli/cli` to solve github’s official command line tool.
42
+ > [!TIP]
43
+ > Use `tweet-thread-from-blog` or `linkedin-post-generator` to expand this hook.
44
+
45
+
46
+
47
+ ## Full Confidence Notes & Assumptions
48
+
49
+ - Confidence: high
@@ -0,0 +1,44 @@
1
+ [
2
+ {
3
+ "repo": "cli/cli",
4
+ "full": "cli-cli.full.md",
5
+ "description": "Strong CLI tool",
6
+ "expectations": [
7
+ "**Project Maturity**: HIGH",
8
+ "Show HN fitness is HIGH",
9
+ "Includes Channel Strategy & Positioning section",
10
+ "Timeline includes Show HN"
11
+ ]
12
+ },
13
+ {
14
+ "repo": "octocat/Hello-World",
15
+ "full": "octocat-hello-world.full.md",
16
+ "description": "Weak project",
17
+ "expectations": [
18
+ "**Project Maturity**: LOW",
19
+ "> [!CAUTION]",
20
+ "This project is not launch-ready yet",
21
+ "Show HN and Product Hunt are NOT recommended",
22
+ "Channel Strategy & Positioning section is absent",
23
+ "Coordinated Launch Timeline is absent"
24
+ ]
25
+ },
26
+ {
27
+ "repo": "pydantic/pydantic",
28
+ "full": "pydantic-pydantic.full.md",
29
+ "description": "Mature library",
30
+ "expectations": [
31
+ "**Project Maturity**: HIGH",
32
+ "Show HN fitness is HIGH"
33
+ ]
34
+ },
35
+ {
36
+ "repo": "vercel/next.js",
37
+ "full": "vercel-next-js.full.md",
38
+ "description": "Polished framework",
39
+ "expectations": [
40
+ "**Project Maturity**: HIGH",
41
+ "Product Hunt fitness is HIGH"
42
+ ]
43
+ }
44
+ ]
@@ -0,0 +1,53 @@
1
+ # Launch Orchestrator for octocat/Hello-World
2
+
3
+
4
+
5
+ ## Executive Summary & Launch Readiness
6
+
7
+ **Project Maturity**: LOW
8
+
9
+
10
+ > [!WARNING]
11
+
12
+ > **Launch Readiness is Low.** This project currently looks like a toy or template repo.
13
+
14
+ > Recommended next steps: improve README, add installation examples, and fix core metadata.
15
+
16
+
17
+
18
+ - Confidence: low
19
+ - Assumptions: Audience inferred from repo metadata only.; No clear installation instructions found in README
20
+ Edit before posting: this repo context is sparse, so tighten the copy after reviewing the README and repo signals.
21
+
22
+
23
+
24
+ ## Coordinated Launch Timeline
25
+
26
+ - [ ] Day 1-3: Documentation Sprint (Fix README, add examples)
27
+ - [ ] Day 4: Ask for feedback on Reddit (r/opensource or relevant niche)
28
+ - [ ] Day 5: Soft launch on Twitter/X to gathered followers
29
+ - [ ] Day 7+: Re-evaluate for Show HN/PH once README is robust
30
+
31
+
32
+
33
+ This is identified as a **project** with **Low Launch Readiness**.
34
+ - **Show HN**: Not recommended yet. Repository context might be too thin for Hacker News.
35
+ - **Product Hunt**: Not recommended yet. Pure libraries or early-stage tools often struggle on PH without a UI/Demo.
36
+ - **Reddit**: OK for feedback only. Avoid a 'launch' post; ask for specific technical reviews instead.
37
+
38
+
39
+
40
+ ## Channel Strategy & Positioning
41
+ ### [Twitter/X] - Fit: HIGH
42
+ **Thread Strategy**: Start with the problem of My first repository on GitHub!.
43
+ **Hook**: I built `octocat/Hello-World` to solve my first repository on github!.
44
+ > [!TIP]
45
+ > Use `tweet-thread-from-blog` or `linkedin-post-generator` to expand this hook.
46
+
47
+
48
+
49
+ ## Full Confidence Notes & Assumptions
50
+
51
+ - Confidence: low
52
+ - Assumptions: Audience inferred from repo metadata only.; No clear installation instructions found in README
53
+ Edit before posting: this repo context is sparse, so tighten the copy after reviewing the README and repo signals.